Como usar o UnboundID SDK para se conectar a um servidor LDAP com o certificado do servidor SSL?

Eu tenho em minha mão um certificado de servidor LDAP SSL. Eu quero usá-lo para se conectar ao servidor LDAP usando UnboundID SDK.

Eu não quero usar com.unboundid.util.ssl.TrustAllTrustManager como foi mostrado aqui:Usando o UnboundID SDK com um arquivo de certificado SSL para se conectar ao servidor LDAP no aplicativo Android

Os seguintes TrustManagers não atendem aos requisitos do nosso produto:

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

Eu não quero qualquer interação do usuário, e o que eu sinto falta na lista acima do TrustManager que validam os emissores de certificados.

Além disso, não desejo inserir o certificado do servidor LDAP em nenhum keystore, portanto, não posso usar os seguintes TrustManagers:

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

Eu quero fazer algo parecido com o código abaixo:

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);

Observe que o CertificateTrustManager não existe no SDK do UnboundID. Como é possível fazer isso?

questionAnswers(3)

yourAnswerToTheQuestion