Мы разработали приложение Java для интеграции пользователей LDAP с помощью Spring. Это работает, когда приложение подключается к серверу LDAP по LDAP (ldap://openldap:389). Я столкнулся с проблемой при подключении к серверу LDAP через TLS (ldaps://openldap:636).
Окружающая обстановка:
Установлена виртуальная машина сервера TurnKey Open Ldap
Генерируется новый самоподписанный сертификат. Он используется как в приложении Java, так и на сервере LDAP.
Исключение:
Caused by: org.springframework.ldap.CommunicationException: simple bind failed: openldap:636; nested exception is javax.naming.CommunicationException: simple bind failed: openldap:636 [Root exception is javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching openldap found]
Следующее исключение возникает, когда встроенный сертификат, связанный с готовой Open Ldap VM, используется в приложении Java.
org.springframework.ldap.CommunicationException: simple bind failed: openldap:636; nested exception is javax.naming.CommunicationException: simple bind failed: openldap:636 [Root exception is java.net.SocketException: Connection or outbound has closed]