我有一个 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 中指定要使用的证书? 通过名称或别名或其他什么?
感谢您的时间和帮助