我目前正在设置两个同步的OpenLDAP服务器,通过starttls / ldaps进行访问。 在客户机/从机上,我遇到了TLS连接问题。 我正在使用基于目录的configuration,并设置了olcTLSCACertificateFile: /etc/ssl/certs/root-ca.pem对于用户ldap是可读的。
但是,starttls和ldaps连接失败:
ldapwhoami -x -H ldap://192.168.56.201/ -ZZ ldap_start_tls: Connect error (-11) additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (unable to get local issuer certificate)
如果我用下面的条目添加一个ldaprc文件到当前目录
TLS_CACERT /etc/ssl/certs/root-ca.pem
按预期运作。
所以似乎olcTLSCACertificateFile设置被忽略,或者可能有任何其他错误/我错过configuration错误? OS是Suse Enterprise 11sp4,OpenLDAP版本是2.4.26
ldapwhoami是一个LDAP客户端工具。 它不使用olcTLSCACertificateFile参数。 这是slapd的服务器端参数。
您需要指定某处,客户端工具理解,您信任CA. 这可以在ldaprc文件中,在全局的/etc/ldap/ldap.conf文件中完成(通过在CA检查中过分放宽)(TLS_REQCERT允许…不推荐),或者最好的选项是通过这样做(在Debian上,至lessymmv)添加您的CA被系统自己信任:
/usr/local/share/ca-certificates 。 # update-ca-certificates /etc/ssl/certs/ca-certificates.crt的CA集合,这应该已经在你的/etc/ldap/ldap.conf文件中指定,你的CA将被ldapwhoami和其他工具所信任。