UnboundID LDAP SDK 7.0.5 は HTTP CONNECT 経路用の HTTPProxySocketFactory を提供します。宛先が LDAPS の場合は、アプリケーションの TLS ソケットファクトリを渡します:

var proxyFactory =
    new com.unboundid.util.HTTPProxySocketFactory(
        "proxy.example.net", 8080, 10000, ldapsTlsFactory);

ldapsTlsFactory は、意図したサーバー信頼設定を持つアプリケーションの SSLSocketFactory です。proxyFactory を、ソケットファクトリと LDAP サーバーの実際のホスト名およびポートを受け取る LDAPConnection コンストラクタに渡します。

接続のホスト名検証も設定してください。SDK は LDAPConnectionOptions を通じて HostNameSSLSocketVerifier を公開します。証明書の発行者だけを信頼することは、意図した LDAP ホストとの照合と同じ検証ではありません。

HTTP プロキシはその宛先への CONNECT を許可する必要があり、LDAPS では多くの場合ポート 636 です。Web 宛先ポートに限定されたプロキシはこれを拒否することがあります。

ファクトリの文書化された制限は重要です。プロキシ自体との通信は TLS で暗号化されず、HTTP プロキシ認証を直接サポートしません。LDAPS 用の TLS ファクトリを渡すことは、欠けているプロキシログイン機構を追加するのではなく、後続のディレクトリ接続を保護します。

関連記事