我试图在Server 2008 R2上使用ldap和ssl.完成所有设置,并能够使用ldp.exe连接到带有ssl复选框的domain.example.org端口636.这是在本地服务器上.
但是 – 我无法使用sdl和端口636使用ldapsearch连接.没有ssl和端口389使用ldapsearch正常工作.
有任何想法吗?我的客户是否需要安装证书?我大多只是想加密ldap连接.谢谢你的帮助!
*编辑*
有效的命令:
ldapsearch -x -b "dc=XX,dc=example,dc=org" -D "user@example.org" -H ldap://XX.example.org -W '(&(proxyAddresses=smtp*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'
该命令不起作用:
ldapsearch -x -b "dc=XX,dc=org" -D "user@example.org" -H ldaps://XX.example.org:636 -W '(&(proxyAddresses=smtp*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'
我尝试过-h的变种,并使用-p指定端口.
我如何将证书从服务器2008安装到客户端?
您的客户不需要自己的证书.他们只需要信任签署LDAP服务器证书的证书颁发机构证书(或证书链).您无需担心本地主机上的此问题,因为默认情况下CA证书已受信任.
您的问题不清楚LDAP服务器是否也是证书颁发机构,以及它是否也使用CA证书作为LDAP证书.通常,这是两个不同的证书,证书颁发机构位于不同的计算机上.
一些快速谷歌表示你可以在ldap.conf中设置一个名为TLS_CACERT的选项或一个名为LDAPTLS_CACERT的等效环境变量,你可以指向包含你环境中任何/所有CA证书的文件(base64编码).
如果您的环境中只有一个CA,则应该能够下载其公共证书的base64编码版本.如果您只能找到DER编码版本,则可以使用openssl将其转换为base64.
openssl x509 -inform der -in cacert.crt -out cacert.pem