gpt4 book ai didi

VeriSign 签名证书中的 Java SSLHandshakeException

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:49 26 4
gpt4 key购买 nike

在 Java 桌面应用程序中,我需要连接到 SSL URL。当我尝试时,出现异常:

SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

为了解决这个问题,我使用浏览器访问该地址,下载 .cert 文件中的证书并使用 keytool 命令导入我的 java cacerts keystore 。在此之后,应用程序工作正常。

我的问题是:如果证书是用 VeriSign 签名的,为什么 java 不能识别证书?默认情况下,VeriSign 证书未安装在 cacerts keystore 中?也许我不明白 SSL 是如何工作的。浏览器和 Java 桌面行为有什么区别?我可以使用我的浏览器连接到这个 URL 而无需安装任何东西。

谢谢

最佳答案

当我们访问使用 SSL 提供身份和加密的安全站点时,它会提供一个证书,该证书由受信任的第三方站点(如 verisign、godaddy 或 thwate)验证。

通过使用证书,浏览器或 java 客户端知道他们正在与正确的站点(它声称是)而不是在重定向的代理站点上交谈。如果您使用浏览器访问网站,此步骤非常透明,因为如果证书不在浏览器的受信任存储中,它将要求您添加该证书,随后将添加该证书。

但是,当您使用 Java 程序访问安全站点时,证书握手的这一步骤对用户来说不是透明的,并且证书是从 JRE 的 trustStore 中验证的。

阅读更多:http://javarevisited.blogspot.com/2012/03/add-list-certficates-java-keystore.html#ixzz32v1wL3Gl

关于VeriSign 签名证书中的 Java SSLHandshakeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23889304/

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