Похоже, что сертификат сервера LDAP является скорее самоконтролируемым, чем недействительным.
Для меня самым простым решением было бы получить этот сертификат и добавить его в хранилище доверия cacerts в java. Как только это будет сделано, код будет работать без каких-либо изменений.
Чтобы получить сертификат с сервера:
$ openssl s_client -showcerts -connect ldapserver:636
Вывод будет содержать количество записей, разделенных
-----BEGIN CERTIFICATE-----
aklfhskfadljasdl1340234234ASDSDFSDFSDFSDFSD
....
-----END CERTIFICATE-----
Скопировать последнюю запись сертификата в файл (ldapca.crt)
Затем добавьте его в хранилище ключей Java в $ JRE_HOME / lib / security
$ cd $JRE_HOME/lib/security
$ keytool -import -alias ldapca_self_sign -keystore cacerts -storepass changeit -file ldapca.crt
Это означает, что вы будете доверять сертификату на сервере LDAP и будете правильно использовать SSL в своей тестовой среде (вместо того, чтобы иметь какой-либо специальный код для отключения части проверки SSL).
Как только вы это сделаете (один раз), ваш код должен работать без каких-либо изменений.