Openldap

Openldap 未在握手時發送證書

  • January 10, 2017

我正在嘗試在 Ubuntu 16.04 上為我的 OpenLDAP 伺服器設置PWM,但它無法連接到 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 自簽名的。

我嘗試連接到 LDAPopenssl 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 輸出證書。

老實說,我不知道該怎麼做,所以任何幫助將不勝感激。

預設情況下, 389\TCP不是 LDAP SSL 埠。埠636\TCP通常用於 LDAP SSL (ldaps)。

389\TCP埠上可以啟用 STARTTLS(ldapsearch用開關-Z-ZZ使用它)。我不確定 OpenSSL s_client 是否能夠為 LDAP 協議實現 STARTTLS。

引用自:https://serverfault.com/questions/825242