In order to use a certificate, you must install it using the netsh tool in a Windows command prompt with administrator privileges.
If you use a certificate from a known certificate authority, it can be used directly by doing the following:
In order to run the makecert and certutil commands, you must download Windows SDK version 6.1 or later and install them. Use the SDK Command Prompt or CMD Shell to run the tools. To do so, click Start, hover over All Programs, then Microsoft Windows SDK, and click SDK Command Prompt or CMD Shell. |
If you generate and use a self-signed certificate, you must do the following:
makecert -n "CN=RootCA" -r -sv RootCA.pvk RootCA.cer
makecert -sk machinekey -iv RootCA.pvk -n "CN=machine" -ic RootCA.cer -sr localmachine -ss my -sky exchange -pe certutil -store my machine
netsh http add sslcert ipport=0.0.0.0:5345 certhash=8e853e4e2fcdbc70e35f38fb1659c55941d43e9c appid={c7263768-9bba-4efc-b851-07b1ea218b1e}
The port specified in the above example must match the configured server port, or SSL will not work correctly. |
Once the certificate is installed on the Windows head node correctly, the setup on the Linux side is minimal. If you use a common certificate signed by a real certificate authority (CA), it should work on its own. If you use a self-signed certificate or custom CA, you must install the CA certificate into the certificate store on the Linux head node by doing the following:
openssl x509 -in RootCA.crt -inform DER -out RootCA.pem -outform PEM
The openssl library is required for SSL configuration. |
The location is different for each platform. For CentOS it's at /etc/pki/tls/certs. |
# Set to the correct root CA PEM file if using a self-signed certificate $ENV{HTTPS_CA_FILE} = 'certs/RootCA.pem'; $ENV{HTTPS_CA_DIR} = 'certs/';
If you encounter problems using the certificate on the Linux side, uncomment the $ENV line in Moab/MSMHPC.pm in MSMHPC tools:
# Use for debugging HTTPS connections (openssl) #$ENV{HTTPS_DEBUG} = 1;
This will show what is occurring with openssl to allow troubleshooting.
Copyright © 2011 Adaptive Computing Enterprises, Inc.®