Openldap 在握手时未发送证书

Openldap 在握手时未发送证书

我正在尝试设置脉宽调制用于 Ubuntu 16.04 上的 OpenLDAP 服务器,但无法连接到 LDAP,并出现错误

Can not connect to remote server: 5059 ERROR_CERTIFICATE_ERROR (unable to read server certificates from host=ldap.example.com, port=389 error: Remote host closed connection during handshake)

如果我尝试以未加密的方式连接,连接似乎是成功的,但设置 PWM 帐户却失败TLS confidentiality required,这是故意的。

客户端上的身份验证和 ldapsearch(使用开关 -Z 或 -ZZ)工作正常。
我已将证书文件导入到客户端和服务器计算机上的 Java,因为证书是使用 openssl 自签名的。

我尝试连接到 LDAP 来openssl s_client -connect ldap.example:389 -showcerts -state -tls1_2检查证书,但连接终止且没有任何错误消息,并且输出以下信息:

CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:unknown state
SSL_connect:failed in unknown state
140394455615128:error:1409E0E5:SSL routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:656:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1484029284
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---

连接到端口 443 会输出证书。
老实说,我不知道该怎么做,所以如果能得到任何帮助我都会很感激。

答案1

389\TCP默认情况下不是 LDAP SSL 端口。端口636\TCP常用于 LDAP SSL(ldaps)。

389\TCP端口可以​​启用 STARTTLS(ldapsearch使用开关-Z-ZZ使用它)。我不确定 OpenSSL s_client 是否能够为 LDAP 协议实现 STARTTLS。

相关内容