【发布时间】:2018-04-09 05:51:40
【问题描述】:
我必须通过 HTTPS 调用具有客户端身份验证的 SOAP Web 服务。
我已通过 keyStore 文件将客户端证书(从托管服务器的公司获得)导入。我还将服务器证书(从服务器下载)导入到我的 trustStore。我已将 'javax.net.ssl.keyStore' 和 'javax.net.ssl.keyStorePassword' 设置为适当的值。
当我从一个简单的 java 客户端(包括一些额外的 jars)调用 Web 服务时,调用工作正常,我从服务器获得了结果。
当我从 glassfish-4(相同的 java、相同的 keyStore、相同的 trustStore、相同的 'javax.net.ssl.keyStore' 值等)中调用 Web 服务时,我得到一个异常 'com.sun.xml。 ws.client.ClientTransportException:HTTP 传输错误:javax.net.ssl.SSLHandshakeException:收到致命警报:unknown_ca'。
我在这两种情况下都使用相同的 java、相同的密钥库、相同的 trustStore。没有 glassfish 的第一个版本可以工作,所以证书似乎没问题。 glassfish 的第二个版本没有。
glassfish-4 有什么特定的功能吗? 这可能是其他(第三方)库的问题吗? 我可以尝试任何其他 HTTP/SSL 设置吗? 还能是什么?
有人有想法吗? 感谢您的帮助。
【问题讨论】:
标签: java glassfish sslhandshakeexception