0

テスト環境を作成しました。LDAP クライアント、LDAP リスナー (LDAP プロキシとして)、および LDAP サーバーが 1 つあります。389LDAP クライアントは、ポート(SSL)で LDAP プロキシに LDAP 要求を送信します。LDAP プロキシは、LDAP 要求をデコードし、それらをポート上の LDAP サーバーに転送します389。そして、プロキシは LDAP サーバーの応答を LDAP クライアントに正常に転送します。

LDAP サーバーで SSL 証明書を作成しました。今回は、LDAP クライアントがポート 389 (SSL) で LDAP プロキシに LDAP リクエストを送信することをテストしました。LDAP プロキシは、ポート 636 で LDAP サーバーに要求を転送しました。また、プロキシは、LDAP サーバーの応答を LDAP クライアントに正常に転送します。

しかし、両側で SSL を使用しようとすると問題が発生します。つまり

LDAP クライアント (ポート 636) -> LDAP プロキシ (ポート 636) -> LDAP サーバー (ポート 636)

クライアントが例外をスローします

javax.net.ssl.SSLHandshakeException: ハンドシェイク中にリモート ホストが接続を閉じました

unboundid ldap sdk と LdapDebugger の例を LDAP プロキシとして使用しています。SSL 暗号化要求 (ポート 636) を受け入れるように ldaplistener を構成するにはどうすればよいですか?

前もって感謝します...

4

1 に答える 1

0

LDAP SDK で提供されている ldap-debugger ツールを使用している場合、現在、バックエンド サーバーとの通信には SSL のみがサポートされており、クライアントとの通信にはサポートされていません。つまり、「--useSSL」オプションは、LDAP デバッガーとバックエンド ディレクトリ サーバー間の通信にのみ適用され、クライアントと LDAP デバッガー間の通信には適用されません。ただし、これは潜在的に非常に便利な機能であるため、この機能を追加する一連の変更をコミットしたところです。そのため、LDAP SDK の最新バージョンをチェックアウトしてビルドすると、ldap-debugger ツールにこれを制御する新しい「--listenUsingSSL」引数。

ldap-debugger ツールを使用しているか、Java コードを介して独自のリスナーを作成しているかに関係なく、クライアントに提示される SSL 証明書を含む Java キーストアがあることを確認する必要があることに注意してください。使用している LDAP サーバーが Java ベースの場合 (たとえば、LDAP SDK で提供されるメモリ内ディレクトリ サーバー)、おそらく既にこれを持っています。それ以外の場合は、作成する必要があります。テスト目的でこれを行っているだけの場合は、自己署名証明書で問題ありません (クライアントがそれを信頼しているか、すべての証明書を盲目的に信頼するように構成されている限り)。

于 2013-02-01T18:47:05.500 に答える