Я пытаюсь подключиться к своему Java-приложению, содержащему сервер ApacheDS, с клиентом openLDAP. Сервер настроен хорошо, я проверял это на разных клиентах (ldapbrowser, jxplorer). С openLDAP я могу подключиться к обычному порту ldap, но когда я пытаюсь подключиться к порту ldaps или использую TLS, у меня всегда одно и то же сообщение:
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?
У вас есть идеи, как это решить?
Спасибо!