Openldap
Openldap 未在握手時發送證書
我正在嘗試在 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 自簽名的。
我嘗試連接到 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 輸出證書。
老實說,我不知道該怎麼做,所以任何幫助將不勝感激。
預設情況下, 389\TCP不是 LDAP SSL 埠。埠636\TCP通常用於 LDAP SSL (ldaps)。
在389\TCP埠上可以啟用 STARTTLS(
ldapsearch
用開關-Z
或-ZZ
使用它)。我不確定 OpenSSL s_client 是否能夠為 LDAP 協議實現 STARTTLS。