I am having issues with server certificates and AD LDAP Referrals in PWM.
Background: Our domain has 9 writable domain controllers.
If I enter One DC (or two or a few, but not all) of them as the LDAP server in the LDAP URL, the LDAP response apparently responds with an LDAP referral to a different server in the domain.
This indicates the object isn't in the current DC Partition. Reference:
https://technet.microsoft.com/en-us/library/cc978014.aspx The Issue:Because the server certificate is not in the PWM configuration file, it fails the LDAPS connection, and returns that info to the user screen. The log file indicates:
2016-05-10T16:17:17Z, ERROR, auth.SessionAuthenticator, {8} ldap error during search: 5016 ERROR_CANT_MATCH_USER (ldap error during searchID=2, error=javax.naming.PartialResultException, cause:javax.naming.CommunicationException: DomainDnsZones.MATC.Madison.Login:636, cause:javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: server certificate {subject=CN=DTDC02.MATC.Madison.Login} does not match a certificate in the configuration trust store., cause:java.security.cert.CertificateException: server certificate {subject=CN=DTDC02.MATC.Madison.Login} does not match a certificate in the configuration trust store.) [10.122.76.122]Attempted fixes that fail: I have attempted to place the server certificate into the JKS (Java KeyStore) file cacerts using the java "keytool -importcert" command line, and I can use the "-list" command to verify the cert is indeed in the file.
I also have a copy of the CA Root public key and imported it into the JKS (Java KeyStore) file cacerts.
Even after doing that, it does not appear that it will recognize the certificate of the servers that the ldap referral points to.
I have also tried turning off Follow LDAP Referrals. That results in this message:
Error 5016
Unable to find username. Please try again.
5016
ERROR_CANT_MATCH_USER (ldap error during searchID=5,
error=javax.naming.PartialResultException: Unprocessed Continuation
Reference(s))
The fix that seems to work:I have found that if I place all 9 Writable Domain Controllers into the LDAP URLs list that the LDAP referral forwarding works. However, I would like to limit this to 3 or 4 LDAP URLs, not use all 9.
The Questions:
1. Is this a requirement to have all DCs listed in case of LDAP Referrals?
2. Is it possible to just import the CA Root Certificate and not have to import all the individual ones? That way I wouldn't have to update each certificate for each server as they expire, and would give a longer time before having to touch it again.3. Are there other options?Thank you,
+Jonathan