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