gpt4 book ai didi

java - Glassfish SSLHandshakeException : Received fatal alert: unknown_ca

转载 作者:行者123 更新时间:2023-11-30 10:23:28 24 4
gpt4 key购买 nike

我必须通过 HTTPS 调用具有客户端身份验证的 SOAP Web 服务。

我已将客户端证书(从托管服务器的公司获得)导入到 keyStore 文件中。我还将服务器证书(从服务器下载)导入到我的 trustStore 中。我已将“javax.net.ssl.keyStore”和“javax.net.ssl.keyStorePassword”设置为适当的值。

当我从一个简单的 java 客户端(包括一些额外的 jar)调用网络服务时,调用有效并且我从服务器得到一个结果。

当我从 glassfish-4 中调用网络服务时(相同的 java、相同的 keyStore、相同的 trustStore、相同的“javax.net.ssl.keyStore”值等),我得到一个异常“com.sun.xml”。 ws.client.ClientTransportException:HTTP 传输错误:javax.net.ssl.SSLHandshakeException:收到致命警报:unknown_ca'。

我在两种情况下都使用相同的 java、相同的 keystore 、相同的 trustStore。没有 glassfish 的第一个版本有效,所以证书似乎没问题。带有 glassfish 的第二个版本没有。

glassfish-4 有什么具体的作用吗?这可能是其他(第三方)图书馆的问题吗?是否有我可以尝试的任何其他 HTTP/SSL 设置?还能是什么呢?

有什么想法吗?感谢您的帮助。

最佳答案

我发现了问题。

Glassfish 需要额外的 VM 属性“com.sun.enterprise.security.httpsOutboundKeyAlias”。这必须设置为客户端证书的别名。

对于标准,这是在 java-config 区域的 domain.xml 中设置的。对于标准,这设置为 -Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as。

将值 s1as 更改为证书的别名。

关于java - Glassfish SSLHandshakeException : Received fatal alert: unknown_ca,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46978175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com