Description:
How To - Configure ADS with SSL Certificate on the Provisioning Server?
Release: All versions
Component: IDMGR
Configuring ADS with SSL Certificate on the Provisioning Server
Purpose
Provide the steps required to configure the Provisioning Server's Active Directory Option (ADS) with SSL for password management.
Steps
IIS:
Install IIS on both the ADS and Provisioning server (This is required to enable the web-based certificate issuance)
Certificate Services:
Install Certificates Services on the server that you will use as your Certificate Authority (CA). This may be the same as your Admin server but for the purposes of this tutorial, we will assume that this is a different server.
Download Root Certificate:
The root certificate allows clients to trust certificates signed by this root. Since we currently do not trust our CA, we need to import it's root certificate into our Trusted Root stores.
Request a server certificate:
Now that we trust the CA, we will request a Server Certificate.
Notice that on the CERTSRV URL above, there is a Request a certificate link. That is NOT what we need. That link is for a personal certificate to identify the user not the server.
Troubleshooting:
You can check that the SSL cert is working by issuing the following command at the DOS prompt on your Admin server:
testldap -u Administrator IP password
******* Connect to:
Server: 1xx.2xx.3xx.4xx Port: 636 SSL : YES
ldap_sslinit() ..... Done ldap_connect() ..... ERROR: 81 LdapGetLastError(): 81 Error msg: Server Down Attempting manual connection to server:
... 45 bytes of handshake data sent ... 837 bytes of handshake data received ... 140 bytes of handshake data sent ... 35 bytes of handshake data received ... 35 bytes of handshake data sent ... 35 bytes of handshake data received
Handshake was successful
---------------------------------------------- Certificate Information ----------------------------------------------
Server subject: C=US, O=eTrust, OU=eTrust, CN= User ID Version: 2 Valid From: Date Range Valid To: Date Range Public key: RSA Signature algorithm: sha1RSA Serial number: 0CServer issuer: C=US, O=eTrust, OU=eTrust, CN= User ID
Error 0x800b0109 (CERT_E_UNTRUSTEDROOT) returned by CertVerifyCertificateChainPolicy! Error Description: A certification chain processed correctly but terminated in a root certificate not trusted by the trust provider. **** Error authenticating server credentials!
Protocol: SSL2 Cipher: RC4 Cipher strength: 128 Hash: MD5 Hash strength: 128 Key exchange: RSA Key exchange strength: 1024 Done
The output above shows two things:
This can be resolved by either register this full qualified machine name on the DNS or manually configured through the Windows hosts file.
This can be resolved by obtaining and importing the root certificate using MMC/Certificate into the Local Computer Account
When it is done correctly, the testldap command's output should be as:
testldap -u Administrator FQDN password
******* Connect to: Server: TestServer Port: 636 SSL : YES
ldap_sslinit() ..... Done ldap_connect() ..... Done ldap_get_option() ..... Done Cipher Strength: 128 Hash Strength: 128
ldap_get_option() ..... Done Size Limit: 0 ldap_set_option() ..... Done ldap_get_option() ..... Done Keep Alive: 120 ldap_get_option() ..... Done
Reconnect: 1 ldap_search_s() ..... Done Default Naming Context: DC= ,DC= Root Naming Context: DC= ,DC= Bind DN: CN= ,CN= ,DC= ,DC= ,DC= ldap_simple_bind_s() ..... Done ******* Connection Established:
FAQs:
Q: I have used testldap and it is not giving consistent information. When my user id is used to run the command, the output shows that the root certificate is untrusted. When a domain administrator runs the command, the results show OK.
A: This is because you did not install the root certificate correctly. It was added to the admin's registry. You need to use MMC and add certificate snap-in that points to the Local Computer and add the certificate from there.
Q: I have used testldap and it is still presenting the old expired certificate for the Domain Controller.
A: You must reboot the Domain Controller in order for the OS to present the new certificate. This is not a function of the IM product, but a limitation of the Operating System.