Knowledge Base
The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides

|
Configuring CA signed SSL certificates for vCenter Server SSO in vCenter Server 5.1 (2035011)
Purpose
This article guides you through the configuration of Certificate Authority (CA) certificates for the vCenter SSO service on vSphere 5.1. VMware has released a tool to automate much of the described process below. Please see Deploying and using the SSL Certificate Automation tool (2041600) before following the steps in the article.
In the case that you are unable to use the tool this article helps you eliminate common causes for problems during certificate implementation, including configuration steps and details, and helps avoid common misconfigurations in the implementation of custom certificates in your environment.
Note: This article is specifically for vSphere 5.1. If you are using vSphere 5.0, see Implementing CA signed SSL Certificates with vSphere 5.0 (2015383).
Resolution
Note: This article is part of a resolution path. See Implementing CA signed SSL certificates with vSphere 5.1 (2034833) before following the steps in this article.
Creating CA assigned certificates for vSphere is a complex task. In many organizations it is required to maintain proper security for regulatory requirements. There are several different work flows required for successful implementation:
- Creating the certificate request
- Getting the certificate
- Installation and configuration of the certificate for Single Sign on
These steps must be followed to ensure successful implementation of a custom certificate for vCenter server. Before attempting these steps ensure that:
- You have a vSphere 5.1 environment
- vCenter Server SSO has been installed and that all components configured
- You have completed the steps in Creating certificate requests and certificates for the vCenter 5.1 components (2037432).
Note: This article discusses generating the certificates and supporting files.
Installation and configuration of the certificate for vCenter SSO
After the certificate has been created, follow these steps to complete the installation and configuration of the certificate.
Note: If you are running vCenter Server in a virtual machine, it is a best practice to take a snapshot before starting this process to ensure that you can revert back to it if necessary. Remember to delete the snapshot after the process is complete.
Note: If you are running vCenter Server in a virtual machine, it is a best practice to take a snapshot before starting this process to ensure that you can revert back to it if necessary. Remember to delete the snapshot after the process is complete.
To replace the vCenter SSO certificates:
- Log in to the vCenter SSO server.
Note: If you followed Creating certificate requests and certificates for the vCenter 5.1 components (2037432), all components are installed on the same server. All files should be located in C:\certs.
- Double-click the c:\certs\Root64.cer file and import the certificate into the Trusted Root Certificate Authorities > Local Computer Windows certificate store. This ensures that the certificate server is trusted.
- Create a new directory to store the certificates. In this example, the directory used is C:\ProgramData\VMware\SSOCERTS.
Note: This directory can be configured to whatever you want.
- Copy Root64.cer file to the new directory from c:\certs.
- Copy rui.crt, rui.key, root-trust.jks, server-identity.jks and rui.pfx from c:\certs\sso\ into this new directory.
- Open a terminal window on the system where Single Sign On is installed and run:
SET JAVA_HOME=C:\Program Files\VMware\Infrastructure\jre
- Run this command to list all service entries from the Lookup Service::
SSO install directory\ssolscli\ssolscli.cmd listServices Lookup Service URL
Where:- SSO install directory is the directory in which SSO is installed (typically C:\Program Files\VMware\Infrastructure\SSOServer\)
- Lookup Service URL is https://SSOserver.domain.com:7444/lookupservice/sdk.
Note: Be sure to use the Fully Qualified Domain Name (FQDN) for the Lookup Service URL or the command will fail.
The output appears similar to:
- Locate these three services. You can identify the service by looking at the type field.
- Group Check. This screenshot shows what the output looks like:
- SSO Admin. This screenshot shows what the output looks like:
- Security Token Service (STS). This screenshot shows what the output looks like:
- Group Check. This screenshot shows what the output looks like:
- Use a text editor to create three separate properties file for each of the services replacing the items in red where appropriate. This is an example using the three services above. Please make sure the uri= URL is correct to ensure the certificates function properly.
Note: This article uses the c:\certs directory for temporary use.
- gc.properties:
[service]
friendlyName=The group check interface of the SSO server
version=1.0
ownerId=
type=urn:sso:groupcheck
description=The group check interface of the SSO server
[endpoint0]
uri=https://SSOserver.domain.com:7444/sso-adminserver/sdk
ssl=C:\ProgramData\VMware\SSOCERTS\Root64.cer
protocol=vmomi
- admin.properties:
[service]
friendlyName=The administrative interface of the SSO server
version=1.0
ownerId=
type=urn:sso:admin
description=The administrative interface of the SSO server
[endpoint0]
uri=https://SSOServer.domain.com:7444/sso-adminserver/sdk
ssl=C:\ProgramData\VMware\SSOCERTS\Root64.cer
protocol=vmomi
- sts.properties:
[service]
friendlyName=STS for Single Sign On
version=1.0
ownerId=
type=urn:sso:sts
description=The Security Token Service of the Single Sign On server.
[endpoint0]
uri=https://SSOserver.domain.com:7444/ims/STSService
ssl=C:\ProgramData\VMware\SSOCERTS\Root64.cer
protocol=wsTrust
- gc.properties:
- Locate the service ID for each of the three services in the list you generated in Step 8. The service ID is located in the serviceId field of the service listing.
- Use a text editor to create a separate service ID file for each of the three services. Using the example here, the three service ID files look like:
- gc_id:
- admin_id:
- sts_id:
Note: The file must not contain any other data.
- gc_id:
- Open the Services applet and stop the vCenter Single Sign On service.
- Navigate to the <SSO Install directory>\security. By default this is C:\Program Files\VMware\Infrastructure\SSOServer.
- Backup root-trust.jks and server-identity.jks.
- Copy the new root-trust.jks and server-identity.jks. These will be located in the C:\ProgramData\VMware\SSOCERTS folder if following this article.
- Update Single Sign On with the new keystore using the command:
Note: This command uses the example directory structure used in this article.
<SSO install directory>\utils\ssocli configure-riat -a configure-ssl --keystore-file C:\ProgramData\VMware\SSOCERTS\root-trust.jks --keystore-password testpassword
Where --keystore-file is the path to the JKS file.
Note: Ensure that the JAVA_HOME variable is still set from above to SET JAVA_HOME=C:\Program Files\VMware\Infrastructure\jre.
- You are prompted to enter the master password that was configured during the installation of vCenter SSO. This is the output if the password is correct:
C:\Program Files\VMware\Infrastructure\SSOServer\utils>ssocli configure-riat -a configure-ssl --keystore-file c:\ProgramData\VMware\SSOCERTS\root-trust.jks --keystore-password testpassword
Enter master password: ********
Executing action: 'configure-ssl'
Updating SSL configuration
Successfully executed Action: 'configure-ssl'
C:\Program Files\VMware\Infrastructure\SSOServer\utils>
- Start the vCenter Single Sign On service from the Services applet. You can validate that the certificate is correct by going to the this URL in a browser https://<ssoserver.domain.com>:7444/sso-adminserver/sdk.
Note: An XML error displays. However, the certificate can be checked from the interface.
- The following commands will apply the new certificates to the three services
- For the STS service, run the command:
SSO install directory\ssolscli\ssolscli updateService -d https://ssoserver.domain.com:7444/lookupservice/sdk -u SSO administrator -p SSO administrator password -si c:\certs\sts_id -ip c:\certs\sts.properties
- For the GC Service, run the command:
SSO install directory\ssolscli\ssolscli updateService -d https://ssoserver.domain.com:7444/lookupservice/sdk -u SSO administrator -p SSO administrator password -si c:\certs\gc_id -ip c:\certs\gc.properties
- For the Admin Service, run the command:
SSO install directory\ssolscli\ssolscli updateService -d https://ssoserver.domain.com:7444/lookupservice/sdk -u SSO administrator -p SSO administrator password -si c:\certs\admin_id -ip c:\certs\admin.properties
The output appears similar to:
Note: This is an example of the output for the STS Service.
If you do not see a successful Return code, the process was not successful.
- For the STS service, run the command:
- Repeat Step 7 to list the three services again and validate that they are correct. If you see OperationFailed as a return code, there is a problem with the certificate installation.
- Copy the root certificate from the certification authority to the VMware SSL directory. If you are following this resolution path, you would copy the C:\certs\Root64.cer file to C:\ProgramData\VMware\SSL\. This certificate is the root certificate for the certification authority which is being used.
- Rename the current ca_certificates.crt to ca_certificates.bak.
- Copy and rename Root64.cer to ca_certificates.crt.
- To compute the hash, run:
openssl x509 -subject_hash -noout -in c:\certs\Root64.cer
This appears similar to:
Important: the hash must be created with OpenSSL v0.9.8 as this is the version which vCenter uses. If created with another version the hash may not be correct.
- Create a file named <hash>.0. In this example, the file would be 78835296.0.
- Open the Root64.cer in notepad and copy the contents into the <hash>.0 file and save it.
- Repeat this for any other intermediary certificate authorities. In this example, there is only a single authority, so there is only one file. However if there are intermediate certificate authorities there will be a file for each intermediate authority with the content of the intermediate certificate in the file.
- If using intermediate certificate authorities, you also need to append each certificate authority to the ca_certificates.crt file. To do this run:
more <intermediateCA>.cer >> ca_certificates.crt
Where <intermediateCA> is the certificate for the intermediate CA. Repeat this step for each intermediate CA which is in the certificate chain.
- Log into the vSphere Web Client as
admin@system-domain. - Navigate to Administration > Sign-On and Discovery > Configuration, then click the STS Certificate tab.
- Click Edit.
- Click Browse.
- Navigate to the SSO Security Directory and select
root-trust.jks. By default, this directory is located at:C:\Program Files\VMware\Infrastructure\SSOServer\Security\
- When prompted, enter testpassword as the password and click OK. The rui key chain is shown in the interface.
- Select rui.
- Click OK.
- When prompted for the password, enter
testpassword.
Note: Ensure to enter only testpassword as the pasword.
Another chain is added, and the certificate is available in the GUI.
Note: If you encounter the error messageAn error occurred while updating server configuration, this may indicate that the certificate chain was not fully exported. For more information , see step 20 in the Getting the certificate section in Creating certificate requests and certificates for vCenter Server 5.1 components (2037432), which outlines steps to export and concatenate multiple certificates.
Note: Alternatively, to adding it through the GUI, you can add the JKS file by running the following command line command: ssocli.cmd configure-riat -a configure-sts --keystore-file "C:\Program Files\VMware\Infrastructure\SSOServer\Security\root-trust.jks" --keystore-type JKS --keystore-password testpassword -u admin -p <master password>
- If you have all services on the same server, restart the server for the changes to take effect. If they are not on separate servers or you cannot restart the server, stop and start the services in this order:
- Stop the VMware Log Browser service.
- Stop the VMware vSphere Web Client service.
- Stop the VMware VirtualCenter Server service.
- Stop the VMware vCenter Inventory service.
- Start the VMware vCenter Inventory service.
- Start the VMware VirtualCenter Server service and the VMware VirtualCenter Management WebServices service
- Start the VMware vSphere Web Client service.
- Start the VMware Log Browser service.
- Wait until all the services are started. Usually, this takes around 5 minutes.
The SSL certificate for vCenter Single Sign On (including the Security Token Service, the SSO Admin service, and Group Check) has successfully been updated. Next, continue to install the custom certificates for the Inventory Service. For more information, see Implementing CA signed SSL certificates with vSphere 5.1 (2034833).
See Also
Request a Product Feature
To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.
Actions
KB:
- Updated:
- Categories:
- Languages:
- Product Family:
- Product(s):
- Product Version(s):

