Summary:
We need to create a signed certificate for Horizon 7 connection server. The first thing is installing in our Domain Controller the Certificate Service role, then configuring the certificates template, and finally, applying this certificate to the Horizon Connection Server
Note: I am using the Domain Controller to install AD CA, this is considered to be a bad practice because too many services running on a single server… well, it is a bad practice. This is a lab, so no problema.
Note: Default when the Horizon Servers is installed, a certificate is generated, but is not signed by a CA. Due to this being a LAB environment this step could be skipped, BUT it is strongly recommended to replace the default certificate with a signed certificate after the installation, especially for production environments.
This is part 10 out of 12 of the VDI LAB series. Check out the introduction first.
The ultimate VDI deployment guide (from scratch) with VMware vSphere 6.5 and Horizon View 7.3 – 2018. 😉
1. Prerequisites
- Windows Server 2016. Domain Controller server previously created in Part 5 of this series
- Horizon View 7 Connection Server. Previously created in Part 9 of this series
2. Active Directory Certificate Services role
@Domain Controller Server
2.1 Create a new Active Directory group
Note: This group is used to manage the created credentials in the Horizon environment. Another group used for the VDI computers, the Domain Admin group or, even Authenticated User group will also do.
Note: For the lab, another quick way to do this is to use the Domain Controller user with the Horizon Connection server.
- From Active Directory Users and Computers. Located the VM folder (Or the one used to organize the infrastructure), right-click on it and select Group.
- Name and create a new group. “Connection Servers” is used in the example.
- The new group is now added to the infrastructure.
- Add to this group, Connection Server(s) computer.
2.2 Install Active Directory Certificate Service role.
- From Server Manager / Dashboard, Click Add roles and features.
- Click Next until reach to Server Roles, Check Active Directory Certificate Services and click Next.
- Wait for the installation of the role to be completed and click Close.
2.3 Configure Active Directory Certificate Service role.
- Stil in the Dashboard, click on the warning message next to the flag, it should appear once you finish the role installation. Click Configure Active Directory Certificate Services on This Server.
- Use the Domain Controller Administrator credentials.
- Check Certification Authority.
- Select Enterprise CA.
- Select Root CA.
- Select Create a new private key.
- Leave as the image below or change based on preferences.
- Leave the name of the Certification Authority as default.
- Select the validity period.
- Specify the database location. Leave as default.
- Review the settings and click Configure.
- Wait for the role to be configured and click Close.
3. Configure a new certificate template
@Domain Controller Server
3.1 Configure Properties of the Web Server Certificate Template
- From Server Manager / Dashboard. Click on Tool / Certificate Authority.
- Expand the Certification Authority created during the installation of the role, right-click on Certificate Templates and click Manage.
- Scroll-down the template list, right-click on Web Server and click Properties.
- From the Compatibility tab. Change Certificate Authority and Certificate recipient to Windows Server 2016 (The current Domain Controller version). If you are not sure about this, better leave it as default.
- Click OK to both “resulting changing” windows.
- Compatibility setting is now changed to Windows Server 2068.
- From the General tab. Name template and select Validity and Renewal period. This is the name that we are going to look later on Horizon Connection server.
- From the Request Handling tab. Check Allow private key to be exported.
- From the Security tab. Click Add
- Add Active Directory group (Connection Servers) created in step 2.1.
- The group is now added to the list. Make sure that Read, Write and Enroll is checked to this group.
- Form the Extensions tab. Select Application Policies and click Edit.
- Click Add.
- Select Client Authentication and click OK.
- Client Authentication is now added to "application policies". Click OK twice until close “Properties of New Template” window.
3.2 Issue a new Certificate Template
- Expand the Certification Authority created during the installation of the role and right-click on Certificate Templates / New / Certificate Template to Issue.
- Select the “Connection Server” certificate template.
- “Connection Server” will be added to the list of Certificate Templates.
4. Configure the certificate in Horizon Connection server
@Horizon Connection Server
4.1 Add new Snap-in to the local computer account
- Go to Start / Run and type “mmc”.
- From the new console, go to File / Add/Remove Snap-in...
- Select Certificates, click Add and select Computer account. Click Next.
- Select Local computer and click Finish.
- “Certificates” is now added to Snap-ins under Console Root. Click OK.
4.2 Request New Certificate
- From Certificates (Local Computer). Go to Personal, right-click on Certificates and go to All tasks / Request New Certificate...
- Click Next.
- Select Active Directory Enrollment Policy and click Next.
- Select the Connection Server template previously created.
Note: If the current Horizon Connection user/computer doesn't have the right permission, no templates will be available here. If below message show up here, go back to sections 2.1 and 3.1 (9-11).
“No certificate templates could be found. You do not have permission to request a certificate from this CA, or an error occurred while accessing the Active Directory”.
- Expand the Connection Server template and click Properties.
- From Certificates Properties go to the Subject tab. In Subject name area, Change Common name under Type, and type the DNS name of the Horizon Connection server under Type. Click Add.
- In the General tab, type “vdm” under the Friendly name. Click OK.
Note: There is a typo in the image: it is "vdm" instead of "vda".
- Click Enroll.
- Status now will be Succeeded. Click Finish.
4.3 Export the certificate from the personal folder
- From Certificates (Local Computer). Go to Personal, right-click on Certificates and go to All Tasks / Export
- Click Next.
- Do not export the private key, click Next.
- Select Base-64 encoded X.509 (.CER) as file format. Click Next.
- Type the name of the certificate and add .cer extension. Horizon.cer is used in this example. Click Next.
- Click Finish and then OK.
4.4 Import the certificate to the Trusted Root CA folder
- From Certificates (Local Computer). Go to Trusted Root Certification Authorities, right-click on Certificates and go to All Tasks / Import…
- Local Machine should be the default selection, Click Next.
- Click Browse...
- Look for the “Horizon.cer” certificate and click Open. By default is created under System32.
- With the certification selected, click Next.
- Select Place all certificates in the following store and make user that is Trusted Root Certification Authorities. Click Next.
- Click Finish.
@Horizon Administrator From the Horizon Administrator dashboard, the Connection server should not show warning messages. Indicating that all is well configured, including the certificates.
Did you mean to put vda in friendly name or vdm?
Hi Rucker. I am not sure at this moment, but it should be "vdm". I'll check better later, it seems to be a huge typo.