Active Directory に接続している Web サービス (Java で記述) があり、この接続に SSL プロトコルを使用するようにしようとしているので、URL から証明書をダウンロードし、トラストストアにインポートして指定します。次のような SSL プロトコル セキュリティを使用するコード:
env.put(Context.SECURITY_PROTOCOL, "ssl");
env.put(Context.PROVIDER_URL, "ldap://MyHost:636");
私の問題は、接続が常に機能せず、次のエラーが発生することです。
javax.naming.CommunicationException: simple bind failed: MyHost:636 [Root exception is 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]
私の考えは、このホストには複数の証明書があり、接続しようとすると、常に正しい証明書 (トラストストアにあるもの) を使用するとは限らないということです。どの証明書を使用するかを Java で指定する方法はありますか? ? 名前またはエイリアスまたは何か他のもので?
お時間をいただきありがとうございます。