0

LDAP 接続を持つアプリケーションに取り組んでいます。これまで、Open JLDAP ライブラリのみを使用して LDAP 検索と認証を実行してきました。暗号化されていない接続と SSL 接続の両方で、Active Directory と Oracle Internet Directory に接続して、これをうまく使用している多くのクライアントがいます。

最近、IBM Tivoli Directory を使用するクライアントがありました。標準モード (非 SSL) の場合、OpenLDAP ライブラリはこのサーバーに正常に接続しますが、SSL を使用すると、検索の実行時に接続が切断されます。バインドと読み取りは正常に機能します。

表示されるエラーは次のとおりです。

LDAPException: ldap.host:389 (91) 接続エラー java.io.EOFException: BERDecoder: デコード: 識別子の EOF からの結果を待っているときに接続が失われました

これは JLDAP の問題だと思ったので、コードを UnboundId LDAP ライブラリに置き換えましたが、同様の問題が発生しました..接続は、SSL の下でのみ、検索を実行するときにのみ切断されます。

テストとして、Tivoli Directory の試用版をインストールし、SSL を有効にしました。JLDAP ライブラリと UnBoundID ライブラリの両方が、私のインスタンスに対して正しく機能します。

SSL の下でのみ接続がドロップされるようにする設定オプションが Tivoli にありますか?

SSL経由でクライアントのLDAPサーバーに接続して検索できるLDAPツール(jxplorer)があります。jxplorer は LDAP 接続に JNDI ライブラリを使用していると思います。

LDAPコードを移植してJNDI LDAPコードを使用する前に、他に試すことができるものがあるかどうかを確認したかったのです...(それでも同じ問題が発生する可能性があります)。

アイデア歓迎...

ありがとう。

4

3 に答える 3

0

私はこれに対する私自身の答えを見つけました。Java1.6_18からJava1.6_28までのJNDIライブラリでのJavaのSSL実装に問題があり、この問題は最近のパッチまでJava1.7にも存在していました。

于 2013-02-17T05:47:31.690 に答える
0

私は同じ例外を見てきました:

LDAPException: Connection lost waiting for results from ldap.host:636 (91) Connect Error java.io.EOFException: BERDecoder: decode: EOF in Identifier

非 SSL ソケット ファクトリを使用して SSL ポートに接続しようとした場合。

于 2016-05-10T11:31:04.507 に答える
0

サーバーが接続を切断しています。SSL モードでのタイムアウト設定を見てください。

JXplorer は、JNDI ではなく、独自の LDAP ライブラリを使用します。

于 2012-08-15T22:43:10.763 に答える