我试图在服务器2008 R2上使用ldap和ssl。获得了所有设置,并且能够使用ldp.exe连接到domain.example.org端口636和ssl复选框。这是在本地服务器本身。
但是-我无法使用使用ssl和端口636的ldapsearch连接。使用ldapsearch,没有ssl和端口389可以正常工作。
有什么想法吗?我的客户需要安装证书吗?我主要是想对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=example,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的证书安装到客户端?
发布于 2015-04-22 21:35:39
你的客户不需要他们自己的证书。他们只需要信任签署LDAP服务器证书的证书颁发机构证书(或证书链)。您不需要在本地主机上担心这一点,因为默认情况下CA证书已经被信任。
从您的问题中不清楚LDAP服务器是否也是证书颁发机构,以及它是否也使用CA证书作为LDAP证书。通常,这是两个不同的证书,证书颁发机构生活在不同的机器上。
一些快速的google‘’ing表示您可以在ldap.conf中设置一个名为TLS_CACERT的选项,也可以设置一个名为LDAPTLS_CACERT的等效环境变量,您可以指向环境中包含任何/所有CA证书的文件(base64编码)。
如果您的环境中只有一个CA,则应该可以下载其公共证书的base64编码版本。如果您只能找到一个DER编码版本,您可以使用openssl将其转换为base64。
openssl x509 -inform der -in cacert.crt -out cacert.pem发布于 2016-03-14 18:36:57
可悲的是,他的行为是意料之中的。LDAP就是这样奇怪的,至少对于Windows来说是这样。没有像ldaps这样的东西,但是如果您指定端口号,加密就会发生。尝试以下命令:
ldapsearch -x -b "dc=XX,dc=XXX,dc=org" -D "user@XXX.org" -H ldap://XX.XXX.org:636 -W '(&(proxyAddresses=smtp*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'对于LDAP以外的大多数内容,您似乎在服务的默认端口上请求SSL的纯文本通信量。LDAP将在这里进行加密通信。
我也不喜欢它,因为它增加了验证加密发生的难度。通过修改端口,可能只是通过加密的端口发送纯文本,但是通过显式的模式/协议,您可以知道它至少是在尝试。显式协议模式还可以使您在需要时更容易在非标准端口上运行。但不管你喜不喜欢,事情就是这样的。
https://serverfault.com/questions/532977
复制相似问题