0
我試圖用openLDAP客戶端連接到包含ApacheDS服務器的Java應用程序。服務器配置良好,我測試過使用不同的客戶端(ldapbrowser,jxplorer)。隨着OPENLDAP我能夠連接到普通LDAP端口,但是當我試圖連接到LDAPS端口或使用TLS我也總是相同的消息:OpenLDAP客戶端無法使用SSLv2連接到ApacheDS服務器?
TLS trace: SSL_connect:before/connect initialization
TLS trace: SSL_connect:SSLv2/v3 write client hello A
TLS trace: SSL3 alert read:fatal:unexpected_message
TLS trace: SSL_connect:error in SSLv2/v3 read server hello A
TLS: can't connect: error:140773F2:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert unexpected message.
而且我的應用程序給我一個例外:
WARN [org.apache.directory.server.ldap.LdapProtocolHandler] - Unexpected exception forcing session to close: sending disconnect notice to client.
,之後:
javax.net.ssl.SSLHandshakeException: SSLv2Hello is disabled
我試圖在java中強制將SSLV2應該被允許的,但服務器的響應是一樣的。 我在ApacheDS配置選項中沒有看到啓用SSLv2(只有SSLv3和3個TLS)。
是否有可能與tls連接OpenLDAP需要SSLv2消息?我無法找到如何禁用它的方法。或者它是Apache的問題,它不能識別TLS握手消息?
你有什麼想法,該怎麼解決?
謝謝!
如果服務器配置良好,問題可能是您的Java客戶端,但強制SSL2不是操作過程。確保Java客戶端使用TLS 1.0及更高版本;而不是SSLv3及以上版本(就像Java想要的那樣)。另請參閱[哪些密碼套件啓用SSL套接字?](http://stackoverflow.com/a/23365536/608639)。它向您展示如何調整協議和密碼套件。 – jww