0

以下で SSL 接続を呼び出すにはどうすればよいですか。

com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPConnection; ?

以下:

SSLUtil sslUtil = new SSLUtil(new TrustAllTrustManager());
LDAPConnection ldp = new LDAPConnection(sslUtil.createSSLSocketFactory(), getHost(), getPort(), getAuthid(), getAuthpw());  

以下でのみ動作します:

import com.unboundid.ldap.sdk.LDAPConnection;

ただし、可能であれば、移行された ldapjdk 接続に固執したいと思います。

ありがとうございました、

4

1 に答える 1

3

com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPConnection を使用する場合、コンストラクターの 1 つで、基礎となるソケットの作成に使用される com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPSocketFactory インスタンスを指定できます。さらに、com.unboundid.ldap.sdk.migrate.ldapjdk.JavaToLDAPSocketFactory クラスを、(javax.net.ssl.SSLSocketFactory がサブクラスである) javax.net.SocketFactory をラップする LDAPSocketFactory として使用できます。

これを行うコードは次のようになります。

 SSLUtil sslUtil = new SSLUtil(new TrustAllTrustManager());
 SSLSocketFactory sslSocketFactory = sslUtil.createSSLSocketFactory();
 JavaToLDAPSocketFactory ldapSocketFactory = 
      new JavaToLDAPSocketFactory(sslSocketFactory);
 LDAPConnection ldp = new LDAPConnection(ldapSocketFactory);

実際のアプリケーションで実際に使用する予定のコードについては、サーバーによって提示された証明書を盲目的に信頼するトラスト マネージャーよりも優れたトラスト マネージャーを使用する必要があることに注意してください。中間攻撃。ただし、TrustAllTrustManager は、TrustStoreTrustManager のような強力な検証に切り替える前に、安全な通信が機能することを確認するための便利な最初のステップです。

ニール

于 2014-03-26T21:22:33.283 に答える