Как использовать UnboundID SDK для подключения к серверу LDAP с сертификатом сервера SSL?

У меня в руках сертификат SSL-сервера LDAP. Я хочу использовать его для подключения к серверу LDAP с использованием UnboundID SDK.

Я не хочу использовать com.unboundid.util.ssl.TrustAllTrustManager, как было показано здесь:Использование UnboundID SDK с файлом сертификата SSL для подключения к серверу LDAP в приложении Android

Следующие TrustManager не соответствуют нашим требованиям к продукту:

com.unboundid.util.ssl.PromptTrustManager
com.unboundid.util.ssl.HostNameTrustManager
com.unboundid.util.ssl.ValidityDateTrustManager

Я не хочу никакого взаимодействия с пользователем, и что я пропускаю в списке выше TrustManager, который проверяет издателей сертификатов.

Кроме того, я не хочу вставлять сертификат сервера LDAP в какое-либо хранилище ключей, поэтому я не могу использовать следующие TrustManager:

com.unboundid.util.ssl.WrapperKeyManager
com.unboundid.util.ssl.PKCS11KeyManager
com.unboundid.util.ssl.KeyStoreKeyManager

Я хочу сделать что-то вроде кода ниже:

CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate cert = cf.generateCertificate(byteArrayInputStream);
SSLUtil sslUtil = new SSLUtil(new CertificateTrustManager(cert));
SSLSocketFactory socketFactory = sslUtil.createSSLSocketFactory();
LDAPConnection connection = new LDAPConnection(socketFactory,
     "server.example.com", 636);

Обратите внимание, что CertificateTrustManager не существует в UnboundID SDK. Как это можно сделать?

Ответы на вопрос(3)

Ваш ответ на вопрос