0

Active Directory サーバーで SSL を有効にする必要がありました。そのためには、ここに記載されているすべての手順に従いました: http://www.linuxmail.info/enable-ldap-ssl-active-directory/

SSL が本当に適切に有効化されているかどうかわかりません。

サーバー自体でldpを実行すると、636ポートで接続できると思います。しかし、私のシステムでは、ldp クライアントに SSL オプションが表示されませんか?

他に 2 つの LDAP クライアント (Softerra LDAP Browser と Apache Directory Studio) がありますが、ldaps (636 ポート) を使用して接続できません。これらのツールがADサーバーで使用した自己署名証明書を信頼できるように、ADサーバーで使用される証明書をインポートする必要があると思います。

Java コードを使用して、証明書を cacerts に追加しました (ここに記載されている手順を使用して証明書を取得しました: http://www.linuxmail.info/export-ssl-certificate-windows-2003/ )、それでも AD に接続できませんSSLを使用しています。

SSLとTSLを試しました:

TLS:

// got LdapContext using ldap (not with ldaps)
StartTlsResponse tls = (StartTlsResponse)ctx.extendedOperation(new StartTlsRequest());

次の例外が発生します。

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

SSL:

String ldapURL = "ldaps://<domain-name>:636";
String keystore = "C:/Oracle/Middleware/jdk160_24/jre/lib/security/cacerts";
System.setProperty("javax.net.ssl.trustStore",keystore);
env.put(Context.SECURITY_PROTOCOL,"ssl");
// other properties are set in env
LdapContext ctx = new InitialLdapContext(env, null);

次の例外が発生します。

javax.naming.CommunicationException: <domain-name>:636 [Root exception is java.net.ConnectException: Connection timed out: connect]

誰かが私が間違っている場所を提案できますか?

ありがとう。

4

2 に答える 2

1

これは修正されました。

証明書をインポートするために間違った (かなり不完全な) コマンドを使用していました。

私が使用していた:

keytool -import -alias mycert -keystore cacerts -file d:\mycert.cer

以下を使用した場合:

keytool -import -noprompt -trustcacerts -alias mycert -file c:/mycert.cer -keystore C:/Oracle/Middleware/jdk160_24/jre/lib/security/cacerts -storepass changeit

そして、それは働き始めました。

于 2013-08-02T14:16:39.527 に答える
0

TLS を機能させることができない場合、SSL が機能する可能性はほとんどありません。正しい証明書を取得し、キーストアを正しく構成しましたか? TLS を使用しようとすると SSLHandshakeException が発生することから、正しく設定されていない可能性があります。

キーストアが正しく設定されていることを確認する方法のヒントについては、この SO の回答を確認してください: https://stackoverflow.com/a/9619478/1792088

于 2013-06-27T23:17:30.760 に答える