我是 SSL/HTTPS 的初学者。希望这不是一个愚蠢的问题。
我正在编写一个在 JBOSS 4.3 上运行的 Web 服务客户端,它通过 https 与外部 Web 服务通信。我已经使用 JDK 1.6 附带的 wsimport 工具 (JAX-WS) 生成了客户端。我成功地能够与 Web 服务进行通信,但我不断在日志中收到此警告消息:
WARN [HTTPClientInvoker] 无法为客户端调用者创建 SSL 套接字工厂:初始化套接字工厂 SSL 上下文时出错:找不到信任库 URL。
据我了解,只要JDK能够识别服务提供者使用的证书(CA),通过https进行通信应该没有问题。我看到服务提供商正在使用 Equifax Secure。我检查了我的 jdk,发现它已经默认存在了。我也可以与服务提供商沟通,但我不知道为什么会收到警告消息。我在其他地方读到,我可以通过设置来解决这个问题:
我的 jboss run.conf 中的 javax.net.ssl.keyStore 和 javax.net.ssl.trustStore
当我的 jdk 已经信任此证书时,我不确定为什么需要这样做。有人可以向我解释为什么我会收到此警告消息,即使我的通信正在进行。另外,有人可以向我解释什么时候应该设置上面的两个配置(javax.net.ssl.keyStore 和 javax.net.ssl.trustStore)?
谢谢。