{"id":458,"date":"2012-02-22T22:55:54","date_gmt":"2012-02-22T21:55:54","guid":{"rendered":"http:\/\/www.bussink.ch\/?p=458"},"modified":"2018-05-23T18:00:48","modified_gmt":"2018-05-23T16:00:48","slug":"generating-ssl-certificates-for-vcenter-operations-manager-5-0","status":"publish","type":"post","link":"https:\/\/www.bussink.ch\/?p=458","title":{"rendered":"Generating SSL Certificates for vCenter Operations Manager 5.0"},"content":{"rendered":"<p>Generating SSL Certificates for usage with vCenter, Update Manager and the ESXi host is one of those tasks that keeps being push away. Accepting the self-signed certificates is fine in most situation, but getting validated certificates means a whole lot of pop-ups disappear and surprise surprise, I have also found that the vCenter Operations Manager feels smother and faster.<\/p>\n<p>I recently followed <a href=\"http:\/\/www.wooditwork.com\/\" target=\"_blank\">Julian Wood&#8217;s<\/a> excellent series on how to <a title=\"vSphere 5 Certificates: 3 \u2013 Replacing the default vCenter 5 Server Certificate\" href=\"http:\/\/www.wooditwork.com\/?p=2674\" target=\"_blank\">sign certificates for vCenter<\/a> and Update Manager. Generating the SSL Certificates for vCenter Operations Manager goes along the same lines, but there are changed and maybe some configuration changes on the vCOPS UI-VM.<\/p>\n<p>Julian recommends to install the latest 64-bit version of the <a title=\"OpenSSL for Windows\" href=\"http:\/\/www.slproweb.com\/products\/Win32OpenSSL.html\" target=\"_blank\">OpenSSL Windows Binaries<\/a>. Retrieve the <a title=\"Win64 OpenSSL 1.0.1 Light\" href=\"http:\/\/www.slproweb.com\/download\/Win64OpenSSL_Light-1_0_1.exe\" target=\"_blank\">Win64 OpenSSL v1.0.1 Light<\/a> for Windows tool on the vCenter with it&#8217;s per-requisite<a href=\"http:\/\/www.microsoft.com\/downloads\/details.aspx?familyid=bd2a6171-e2d6-4230-b809-9a8d7548c1b6\" target=\"_blank\"> Visual C++ 2008 Redistributables (x64)<\/a> from Microsoft.com<\/p>\n<p>Once the OpenSSL v1.0.1 Light is installed, we can add an System Environment Variable, so that the OpenSSL tool can find the path to the OpenSSL configuration file. Because I&#8217;m going to use the OpenSSL tool on the vCenter to generate the SSL Certificates for various VMware appliance, I need the variable to stay permanent. From the Control Panel on the vCenter, I add a new System Environment Variable like follows.<\/p>\n<div id=\"attachment_584\" style=\"width: 420px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Adding-the-OPENSSL_CONF-Environment-varialbe.jpg\"><img aria-describedby=\"caption-attachment-584\" loading=\"lazy\" class=\"size-full wp-image-584\" title=\"Adding the OPENSSL_CONF environment variable in the Control Panel\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Adding-the-OPENSSL_CONF-Environment-varialbe.jpg\" alt=\"\" width=\"410\" height=\"473\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Adding-the-OPENSSL_CONF-Environment-varialbe.jpg 410w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Adding-the-OPENSSL_CONF-Environment-varialbe-260x300.jpg 260w\" sizes=\"(max-width: 410px) 100vw, 410px\" \/><\/a><p id=\"caption-attachment-584\" class=\"wp-caption-text\">Adding the OPENSSL_CONF environment variable in the Control Panel<\/p><\/div>\n<p>So that the next time you start the Command Prompt to generate OpenSSL Certificates, the variable is already present.<\/p>\n<div id=\"attachment_585\" style=\"width: 446px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Checking-OPENSSL_CONF-variable.jpg\"><img aria-describedby=\"caption-attachment-585\" loading=\"lazy\" class=\" wp-image-585 \" title=\"Checking OPENSSL_CONF variable\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Checking-OPENSSL_CONF-variable.jpg\" alt=\"\" width=\"436\" height=\"100\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Checking-OPENSSL_CONF-variable.jpg 545w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Checking-OPENSSL_CONF-variable-300x68.jpg 300w\" sizes=\"(max-width: 436px) 100vw, 436px\" \/><\/a><p id=\"caption-attachment-585\" class=\"wp-caption-text\">Checking OPENSSL_CONF variable<\/p><\/div>\n<p>One of the best information I learned from Julian&#8217;s document is the modification of the openssl.cfg to add the option to use two <strong>subjectAltName for the DNS resolution<\/strong>. This allows the user to get a valid certificate when you connect to the vCenter Operations Manager 5.0, using the Fully Qualified Domain Name or simply the short name of the server.<\/p>\n<p>To use this feature you will need to edit the C:\\OpenSSL-Win64\\bin\\openssl.cfg and add &#8220;req_extensions = v3_req&#8221; to the &#8220;[ req ]&#8221; section, and add &#8220;subjectAltName = DNS:vcops.vsphere.bussink.local,DNS:vcops&#8221; to the &#8220;[ v3_req]&#8221; section. I need to add that I also modify the default key length in the certificate request to 2048 bits.<\/p>\n<p>[box] [ req ]<\/p>\n<p>default_bits\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0= 2048<\/p>\n<p>req_extensions = v3_req<\/p>\n<p>[ v3_req ]<\/p>\n<p><del>subjectAltName = DNS:vcops.vsphere.bussink.local, DNS:vcops, DNS:192.168.1.18<\/del><\/p>\n<p>subjectAltName = DNS:vcops.vsphere.bussink.local, DNS:vcops<\/p>\n<p>[\/box]<\/p>\n<p><strong>Update (29\/03\/2012):<\/strong> I added to my subjectAltName, the iPAddress of my vCenter Operations Manager UI. You will get the information from the vCenter Managed Object Reference portal ExtensionManager value (See screenshot at the bottom of the post). The entry is of format DNS:192.168.1.18<\/p>\n<p><strong>Update (02\/04\/2012<\/strong>): Thanks to Josh Perkins excellent article &#8220;<a title=\"vCenter Operations Manager 5 vCenter Plugin uses IP instead of DNS hostname\" href=\"http:\/\/www.vstable.com\/2012\/04\/02\/vcenter-operations-5-x-vcenter-plugin-uses-ip-instead-of-dns-hostname\/\" target=\"_blank\">vCenter Operations Manager 5 vCenter Plugin uses IP instead of DNS hostname<\/a>&#8220;. I have removed the IP address subjectAltName in the certificate request in the code above.<\/p>\n<p>To create the Certificate file I used the following commands. Go to the bin directory of the OpenSSL tools. Generate a new Certificate Request while keeping the Cert Private key on your vCenter server. I&#8217;m generating the vCOPS private key with the 2048bit RSA\u00a0algorithms and the SHA256 Message Digest algorithms.<\/p>\n<p>[box] cd C:\\OpenSSL-Win64\\bin<\/p>\n<p>openssl req -new -nodes -newkey rsa:2048 -sha256 -out vcops.csr -keyout vcops.key<\/p>\n<p>[\/box]<\/p>\n<div id=\"attachment_587\" style=\"width: 541px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Generate-vCOPS-Certificate-Request.jpg\"><img aria-describedby=\"caption-attachment-587\" loading=\"lazy\" class=\" wp-image-587  \" title=\"Generate vCOPS Certificate Request\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Generate-vCOPS-Certificate-Request.jpg\" alt=\"\" width=\"531\" height=\"229\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Generate-vCOPS-Certificate-Request.jpg 830w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Generate-vCOPS-Certificate-Request-300x129.jpg 300w\" sizes=\"(max-width: 531px) 100vw, 531px\" \/><\/a><p id=\"caption-attachment-587\" class=\"wp-caption-text\">Generate vCOPS Certificate Request<\/p><\/div>\n<p>Once we have the Certificate Request for the vCenter Operations Manager, we can submit it to the Public Key Infrastructure for certification. There are two ways to it, once from the command prompt and via the Web interface of the PKI.<\/p>\n<p><strong>Command Prompt Certificate Request<\/strong><\/p>\n<p>Windows Server 2008 R2 has a simple tool, to submit the Certificate Request directly the Microsoft Root CA (Enterprise Mode).<\/p>\n<p>On my Certificate Authority I have cloned the default WebServer Certificate Template, and named it OpenSSL. I have also modified it&#8217;s Validity Period, Renewal Period. See completely at the bottom of this post to get an explanation and description of these changes.<\/p>\n<p>My Microsoft Certificate Authority implementation is configured so that Certificate Requests need to be authorized, so the Submit\/Retrieve process is composed of two commands here: <strong>certreq -submit<\/strong> and <strong>certreq -retrieve<\/strong>, if your Certificate Authority is not setup with validation, the submission\/retrieval process is done in a single command.<\/p>\n<p>[box]<\/p>\n<p>certreq -submit -attrib &#8220;CertificateTemplate:WebServer&#8221; vcops.csr<\/p>\n<p>or<\/p>\n<p>certreq -submit attrib &#8220;CertificateTemplate:OpenSSL&#8221; vcops.csr[\/box]<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_590\" style=\"width: 583px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/CommandPrompt-Submitting-Certificate-Request.jpg\"><img aria-describedby=\"caption-attachment-590\" loading=\"lazy\" class=\" wp-image-590  \" title=\"Submitting vCOPS Certificate Request from Command Prompt\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/CommandPrompt-Submitting-Certificate-Request.jpg\" alt=\"\" width=\"573\" height=\"97\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/CommandPrompt-Submitting-Certificate-Request.jpg 716w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/CommandPrompt-Submitting-Certificate-Request-300x50.jpg 300w\" sizes=\"(max-width: 573px) 100vw, 573px\" \/><\/a><p id=\"caption-attachment-590\" class=\"wp-caption-text\">Submitting vCOPS Certificate Request from Command Prompt<\/p><\/div>\n<p>At this point the Certificate has been submitted to the Root CA authority in the domain. Please note the RequestId number when you submit the Certificate Request. Once the Certificate has been authorized and generated you can retrieve it back to the vCenter.<\/p>\n<p>[box]certreq -retrieve 16 vcops.cer [\/box]<\/p>\n<div id=\"attachment_594\" style=\"width: 591px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/CommandPrompt-Retrieve-vCOPS-Certificate.jpg\"><img aria-describedby=\"caption-attachment-594\" loading=\"lazy\" class=\" wp-image-594  \" title=\"Retrieve vCOPS Certificate from Command Prompt\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/CommandPrompt-Retrieve-vCOPS-Certificate.jpg\" alt=\"\" width=\"581\" height=\"204\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/CommandPrompt-Retrieve-vCOPS-Certificate.jpg 718w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/CommandPrompt-Retrieve-vCOPS-Certificate-300x105.jpg 300w\" sizes=\"(max-width: 581px) 100vw, 581px\" \/><\/a><p id=\"caption-attachment-594\" class=\"wp-caption-text\">Retrieve vCOPS Certificate from Command Prompt<\/p><\/div>\n<p>If we open the vcops.cer in Windows, we can see that the Certificate has also proper Certificates in the Certification Path. This is important to ensure that browsers can validate the vCOPS Certificate all the way up to the Certificate Authority (with the Issuing CA is it&#8217;s an Intermediate Certification Authority).<\/p>\n<div id=\"attachment_596\" style=\"width: 296px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/vCOPS-Certificate-with-Certification-Path.jpg\"><img aria-describedby=\"caption-attachment-596\" loading=\"lazy\" class=\" wp-image-596 \" title=\"Verify your vCOPS Certificate for the Certification Path\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/vCOPS-Certificate-with-Certification-Path.jpg\" alt=\"\" width=\"286\" height=\"354\" \/><\/a><p id=\"caption-attachment-596\" class=\"wp-caption-text\">Verify your vCOPS Certificate for the Certification Path<\/p><\/div>\n<p>We now need to build a PKCS#12 container file with the Certificate, the Private Key and output it to the .PFX file.<del><\/del><\/p>\n<p>[box] openssl pkcs12 -export -in vcops.cer -inkey vcops.key -name vcops -out vcops.pfx[\/box]<\/p>\n<div id=\"attachment_597\" style=\"width: 623px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Build-vCOPS-PKCS12-Container.jpg\"><img aria-describedby=\"caption-attachment-597\" loading=\"lazy\" class=\" wp-image-597  \" title=\"Build vCOPS PKCS12 Container\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Build-vCOPS-PKCS12-Container.jpg\" alt=\"\" width=\"613\" height=\"41\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Build-vCOPS-PKCS12-Container.jpg 851w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Build-vCOPS-PKCS12-Container-300x20.jpg 300w\" sizes=\"(max-width: 613px) 100vw, 613px\" \/><\/a><p id=\"caption-attachment-597\" class=\"wp-caption-text\">Build vCOPS PKCS12 Container<\/p><\/div>\n<p>vCenter Operations Manager 5.0 does not use the PKCS#12 file format, but the PEM format, and requires that the Private Key is not protect by password. So we re-transform the the .PFX with the Private Key into the .PEM format.<\/p>\n<p>[box] openssl pkcs12 -in vcops.pfx -inkey vcops.key -out vcops.pem -nodes[\/box]<\/p>\n<div id=\"attachment_598\" style=\"width: 585px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Transform-vCOPS-from-PKCS12-to-PEM.jpg\"><img aria-describedby=\"caption-attachment-598\" loading=\"lazy\" class=\" wp-image-598 \" title=\"Transform vCOPS from PKCS12 Container to PEM format\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Transform-vCOPS-from-PKCS12-to-PEM.jpg\" alt=\"\" width=\"575\" height=\"63\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Transform-vCOPS-from-PKCS12-to-PEM.jpg 719w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Transform-vCOPS-from-PKCS12-to-PEM-300x32.jpg 300w\" sizes=\"(max-width: 575px) 100vw, 575px\" \/><\/a><p id=\"caption-attachment-598\" class=\"wp-caption-text\">Transform vCOPS from PKCS12 Container to PEM format<\/p><\/div>\n<p>At this point open the Administrator interface of vCenter Operations Manager on the SSL pane, and import the PEM certificate.<\/p>\n<p>The url is <strong>https:\/\/vcops.&lt;your-domain&gt;\/admin\/<\/strong><\/p>\n<div id=\"attachment_466\" style=\"width: 577px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Importing-SSL-Certificate-in-vCOPS.png\"><img aria-describedby=\"caption-attachment-466\" loading=\"lazy\" class=\" wp-image-466 \" title=\"Importing SSL Certificate in vCOPS\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Importing-SSL-Certificate-in-vCOPS.png\" alt=\"\" width=\"567\" height=\"458\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Importing-SSL-Certificate-in-vCOPS.png 810w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Importing-SSL-Certificate-in-vCOPS-300x242.png 300w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><\/a><p id=\"caption-attachment-466\" class=\"wp-caption-text\">Importing SSL Certificate in vCOPS<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><strong>But here comes a tricky part. It&#8217;s debugging time.<\/strong><\/p>\n<p>It is very possible that your Import of the OpenSSL Certificate fails with a <strong>General error occured<\/strong>. Like below.<\/p>\n<div id=\"attachment_599\" style=\"width: 625px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/OpenSSL-Import-General-Error-Occured.jpg\"><img aria-describedby=\"caption-attachment-599\" loading=\"lazy\" class=\" wp-image-599 \" title=\"OpenSSL Import General Error Occured\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/OpenSSL-Import-General-Error-Occured.jpg\" alt=\"\" width=\"615\" height=\"238\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/OpenSSL-Import-General-Error-Occured.jpg 769w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/OpenSSL-Import-General-Error-Occured-300x116.jpg 300w\" sizes=\"(max-width: 615px) 100vw, 615px\" \/><\/a><p id=\"caption-attachment-599\" class=\"wp-caption-text\">OpenSSL Import General Error Occurred<\/p><\/div>\n<p>What I found is that the apache2 Web Server on vCOPS did not like loading my SSL Certificate, because it saw that the certificate was for a FQDN that it could not figure out. I modified the <strong>\/etc\/hosts<\/strong> file to ensure apache2 got the proper hostname while starting up and therefore accepted the OpenSSL Certificates.<\/p>\n<div id=\"attachment_601\" style=\"width: 592px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Modif-etc-hosts-file-on-vCOPS.jpg\"><img aria-describedby=\"caption-attachment-601\" loading=\"lazy\" class=\"size-full wp-image-601\" title=\"Modify \/etc\/hosts file on vCOPS\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Modif-etc-hosts-file-on-vCOPS.jpg\" alt=\"\" width=\"582\" height=\"133\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Modif-etc-hosts-file-on-vCOPS.jpg 582w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Modif-etc-hosts-file-on-vCOPS-300x68.jpg 300w\" sizes=\"(max-width: 582px) 100vw, 582px\" \/><\/a><p id=\"caption-attachment-601\" class=\"wp-caption-text\">Modify \/etc\/hosts file on vCOPS<\/p><\/div>\n<p>In the next screenshot you see the error messages from the apache2 at startup when it cannot figure out it&#8217;s name and when it does.<\/p>\n<p>[box]\/sbin\/service apache2 restart [\/box]<\/p>\n<div id=\"attachment_602\" style=\"width: 617px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/vCOPS-apache2-with-default-etc-hosts-and-modified-etc-hosts.jpg\"><img aria-describedby=\"caption-attachment-602\" loading=\"lazy\" class=\" wp-image-602   \" title=\"vCOPS apache2 startup with default \/etc\/hosts and modified \/etc\/hosts\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/vCOPS-apache2-with-default-etc-hosts-and-modified-etc-hosts.jpg\" alt=\"\" width=\"607\" height=\"102\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/vCOPS-apache2-with-default-etc-hosts-and-modified-etc-hosts.jpg 1054w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/vCOPS-apache2-with-default-etc-hosts-and-modified-etc-hosts-300x50.jpg 300w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/vCOPS-apache2-with-default-etc-hosts-and-modified-etc-hosts-1024x170.jpg 1024w\" sizes=\"(max-width: 607px) 100vw, 607px\" \/><\/a><p id=\"caption-attachment-602\" class=\"wp-caption-text\">vCOPS apache2 startup with default \/etc\/hosts and modified \/etc\/hosts<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>You can always check the vCOPS log files at \/var\/log\/vmware\/ for issues.<\/p>\n<p>In the screnshot below we see that I tried to install onces the vcops.pfx format, and then the vcops.pem certificate (@23:38:15), I then restarted the vCOPS Web Service and all is good after 23:46:13.<\/p>\n<p>[box] tail \/var\/log\/vmware\/vcops-admin.log[\/box]<\/p>\n<div id=\"attachment_600\" style=\"width: 556px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Checking-the-vcops-admin.log-for-SSL-install-issues.jpg\"><img aria-describedby=\"caption-attachment-600\" loading=\"lazy\" class=\" wp-image-600  \" title=\"Checking the vcops-admin.log for SSL install issues\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Checking-the-vcops-admin.log-for-SSL-install-issues.jpg\" alt=\"\" width=\"546\" height=\"122\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Checking-the-vcops-admin.log-for-SSL-install-issues.jpg 854w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Checking-the-vcops-admin.log-for-SSL-install-issues-300x67.jpg 300w\" sizes=\"(max-width: 546px) 100vw, 546px\" \/><\/a><p id=\"caption-attachment-600\" class=\"wp-caption-text\">Checking the vcops-admin.log for SSL install issues<\/p><\/div>\n<p>We can now connect to vCenter Operations Manager using the FQDN or the short-name.<\/p>\n<div id=\"attachment_475\" style=\"width: 542px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Valid-SSL-Certificate-for-vCOPS.png\"><img aria-describedby=\"caption-attachment-475\" loading=\"lazy\" class=\" wp-image-475  \" title=\"Valid SSL Certificate for vCOPS\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Valid-SSL-Certificate-for-vCOPS.png\" alt=\"\" width=\"532\" height=\"491\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Valid-SSL-Certificate-for-vCOPS.png 806w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Valid-SSL-Certificate-for-vCOPS-300x276.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/a><p id=\"caption-attachment-475\" class=\"wp-caption-text\">Valid SSL Certificate for vCOPS<\/p><\/div>\n<p>I have also found that once the OpenSSL Certificate has been changed, that the vCOPS Interface\u00a0 feels much more reactive.<\/p>\n<div>\n<div>\n<p>&nbsp;<\/p>\n<p><strong>Appendix 1) &#8211; My OpenSSL Certificate Template<\/strong><\/p>\n<p>On my Active Directory Certificate Services I have cloned the default WebServer Certificate Template, and named it OpenSSL. I have also modified it&#8217;s Validity Period, Renewal Period and the need for the Certificate Authority Manager to approve all Certificate Requests.I highly recommend that you set the Validity Period for your Certificate Template. The CA Manager Approval really depends on your environment. As I sometimes do Auto-Enrollment tests for devices, I don&#8217;t want to pollute my Root CA with hundreds of superseding certificates.<\/p>\n<div id=\"attachment_588\" style=\"width: 443px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/OpenSSL-Certificate-Template-Properties-Validity-Period.jpg\"><img aria-describedby=\"caption-attachment-588\" loading=\"lazy\" class=\" wp-image-588 \" title=\"OpenSSL Certificate Template Properties - Validity Period\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/OpenSSL-Certificate-Template-Properties-Validity-Period.jpg\" alt=\"\" width=\"433\" height=\"383\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/OpenSSL-Certificate-Template-Properties-Validity-Period.jpg 618w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/OpenSSL-Certificate-Template-Properties-Validity-Period-300x265.jpg 300w\" sizes=\"(max-width: 433px) 100vw, 433px\" \/><\/a><p id=\"caption-attachment-588\" class=\"wp-caption-text\">OpenSSL Certificate Template Properties - Validity Period<\/p><\/div>\n<p><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/OpenSSL-Certificate-Template-Properties-CA-Manager-Approval.jpg\"><img loading=\"lazy\" class=\" wp-image-589 \" title=\"OpenSSL Certificate Template Properties - CA Manager Approval\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/OpenSSL-Certificate-Template-Properties-CA-Manager-Approval.jpg\" alt=\"\" width=\"431\" height=\"379\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/OpenSSL-Certificate-Template-Properties-CA-Manager-Approval.jpg 615w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/OpenSSL-Certificate-Template-Properties-CA-Manager-Approval-300x263.jpg 300w\" sizes=\"(max-width: 431px) 100vw, 431px\" \/><\/a><\/p>\n<div>\n<div class=\"mceTemp\">\n<dl id=\"attachment_589\" class=\"wp-caption alignnone\" style=\"width: 441px;\">\n<dd class=\"wp-caption-dd\">OpenSSL Certificate Template Properties &#8211; CA Manager Approval<\/dd>\n<\/dl>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Appendix 2) &#8211; Retrieve the Root &amp; Intermediate Certificate Authority Public Key using CertUtil<\/strong><\/p>\n<p>In this second appendix, I will briefly show how to retrieve the Root Certificate Authority Public Key from the command prompt. You should also retrieve the Intermediate CA if you have one.<\/p>\n<p>[box] certutil -ca.cert -config &#8220;domctrl01.vsphere.bussink.local\\Bussink Root CA&#8221; RootCA.cer[\/box]<\/p>\n<div id=\"attachment_593\" style=\"width: 527px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Retrieve-Certificate-Authority-Public-Key-RootCA.cer_.jpg\"><img aria-describedby=\"caption-attachment-593\" loading=\"lazy\" class=\" wp-image-593 \" title=\"Retrieve Certificate Authority Public Key RootCA.cer\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/Retrieve-Certificate-Authority-Public-Key-RootCA.cer_.jpg\" alt=\"\" width=\"517\" height=\"493\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Retrieve-Certificate-Authority-Public-Key-RootCA.cer_.jpg 739w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/Retrieve-Certificate-Authority-Public-Key-RootCA.cer_-300x286.jpg 300w\" sizes=\"(max-width: 517px) 100vw, 517px\" \/><\/a><p id=\"caption-attachment-593\" class=\"wp-caption-text\">Retrieve Certificate Authority Public Key RootCA.cer<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><strong>Update on 16\/03\/2012.<\/strong> Changed the Win64 OpenSSL v1.0.1 Light tools.<\/p>\n<p><strong>Update 27\/03\/2012. <\/strong>Added a additional subjectAltName to the Certificate request. But my had my parameters wrong.<\/p>\n<p><del><strong>Update (27\/03\/2012<\/strong>): I have added a new subjectAltName on the to my openssl.cfg. I <strong>added the FQDN name of my vCenter server<\/strong> in the Certificate request. With vCenter Operations Manager 5.0, you get the integration within the vCenter Client in the Solutions &amp; Applications section. The SSL Certificates will therefore be checked by the vCenter Client against the vCenter FQDN name.<\/del><\/p>\n<p><strong>Update 29\/03\/2012<\/strong>. Thanks for Kinsei for having raises the question on the topic of the SSL Certificate usage via the vCenter Client. The vCenter Operations Manager is connected to the vCenter Server not by an FQDN name, but by an IP Address. You can find the value when you connect to your vCenter server&#8217;s Managed Object Reference (mob) settings portal.<\/p>\n<div id=\"attachment_751\" style=\"width: 626px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/vCenter_mob_content_ExtensionManager_ExtensionList_vcops1.jpg\"><img aria-describedby=\"caption-attachment-751\" loading=\"lazy\" class=\" wp-image-751  \" title=\"https:\/\/vcenter\/mob\/ Content ExtensionManager ExtensionList com.vmware.vcops\" src=\"http:\/\/www.bussink.ch\/wp-content\/uploads\/\/2012\/02\/vCenter_mob_content_ExtensionManager_ExtensionList_vcops1.jpg\" alt=\"\" width=\"616\" height=\"308\" srcset=\"https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/vCenter_mob_content_ExtensionManager_ExtensionList_vcops1.jpg 1140w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/vCenter_mob_content_ExtensionManager_ExtensionList_vcops1-300x150.jpg 300w, https:\/\/www.bussink.ch\/wp-content\/uploads\/2012\/02\/vCenter_mob_content_ExtensionManager_ExtensionList_vcops1-1024x512.jpg 1024w\" sizes=\"(max-width: 616px) 100vw, 616px\" \/><\/a><p id=\"caption-attachment-751\" class=\"wp-caption-text\">https:\/\/vcenter\/mob\/ Content ExtensionManager ExtensionList com.vmware.vcops<\/p><\/div>\n<p><strong>\u00a0Update (02\/04\/2012)<\/strong>. Here is another update. Josh Perkins has written up a <a title=\"vCenter Operations Manager 5 vCenter Plugin uses IP instead of DNS hostname\" href=\"http:\/\/www.vstable.com\/2012\/04\/02\/vcenter-operations-5-x-vcenter-plugin-uses-ip-instead-of-dns-hostname\/\" target=\"_blank\">great article<\/a> on how to ensure that your vCenter uses a FQDN or shortname to speak to your vCenter Operations Manager. This means that administrators and user on the vSphere Client do not get invalid SSL Certificate requests anymore. Thanks Josh !!<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Generating SSL Certificates for usage with vCenter, Update Manager and the ESXi host is one of those tasks that keeps being push away. Accepting the self-signed certificates is fine in most situation, but getting validated certificates means a whole lot of pop-ups disappear and surprise surprise, I have also found that the vCenter Operations Manager [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":466,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[45,9],"tags":[215,44,60,42,213],"_links":{"self":[{"href":"https:\/\/www.bussink.ch\/index.php?rest_route=\/wp\/v2\/posts\/458"}],"collection":[{"href":"https:\/\/www.bussink.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bussink.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bussink.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bussink.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=458"}],"version-history":[{"count":48,"href":"https:\/\/www.bussink.ch\/index.php?rest_route=\/wp\/v2\/posts\/458\/revisions"}],"predecessor-version":[{"id":1997,"href":"https:\/\/www.bussink.ch\/index.php?rest_route=\/wp\/v2\/posts\/458\/revisions\/1997"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bussink.ch\/index.php?rest_route=\/wp\/v2\/media\/466"}],"wp:attachment":[{"href":"https:\/\/www.bussink.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bussink.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bussink.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}