nslcd debug logs indicate repeated failed bind attempts, returning the following error: failed to bind to LDAP server ldaps://<LDAP_IP>:636/: Can't contact LDAP server: Permission deniedopenssl s_client' returns TLS SNI failures 'Can't use SSL_get_servername' and the following verification code:Verify return code: 19 (self-signed certificate in certificate chain)The LDAPS bind is rejected due to a TLS certificate verification failure. This is caused by a misconfiguration in 'nslcd.conf' where 'tls_cacertfile' incorrectly points to a Java KeyStore (JKS) binary instead of a required PEM-formatted certificate.
Additionally, an SNI mismatch occurs because the uri is configured with an IP address instead of a Fully Qualified Domain Name (FQDN), and the Root CA is untrusted by the appliance.
Obtain the internal Root CA certificate from the directory team in PEM format (.pem or .crt).
Place the certificate file on the Usage Meter appliance at /etc/ssl/certs/<ca-certificate>.pem.
Set the correct ownership and permissions for the certificate file by running the following commands:
chown root:root /etc/ssl/certs/<ca-certificate>.pem
chmod 644 /etc/ssl/certs/<ca-certificate>.pemEdit the '/etc/nslcd.conf' file to remove or comment out the incorrect 'tls_cacertdir' and 'tls_cacertfile' entries that point to the JKS directory.
Add the correct path to the PEM certificate in '/etc/nslcd.conf': 'tls_cacertfile /etc/ssl/certs/<ca-certificate>.pem'
Add or uncomment the following line to enforce certificate validation: 'tls_reqcert demand'
Change the 'uri' parameter in '/etc/nslcd.conf' to use the FQDN instead of the IP address (e.g., uri ldaps://LDAP_FQDN/).
Restart the 'nslcd' service to apply the configuration changes:
systemctl restart nslcdInstruct users to log in using their uidNumber standard UID format, without appending a domain suffix.