我使用 TLS 配置了 openldap,但是当我尝试使用以下命令进行测试时,收到错误消息:
$ openssl s_client -connect localhost:389 -showcerts
CONNECTED(00000005)
14041704935568:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 320 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
我在这个命令中添加了 -tls 选项,但我的输出是
no peer certificate available
---
No client certificate CA names sent
---
New, (NONE), Cipher is (NONE)
---
secure renegotiation is not supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol: TLSv1
...
答案1
我收到了错误信息...
看起来监听的服务localhost:389
不使用 SSL/TLS。在非 LDAP 世界中,等效的做法是openssl s_client
通过端口 80 而不是端口 443 进行连接。对于端口 80,没有 SSL/TLS,您将遇到类似的失败。
您尝试过端口 636 吗?我相信 LDAPS 或 Secure-LDAP。例如,请参阅如何使用第三方证书颁发机构启用 LDAP over SSL。
否则,您需要弄清楚如何让 OpenLDAP 在端口 389 上启动 SSL/TLS。