gpt4 book ai didi

Java HttpsURLConnection SSLHandshakeException

转载 作者:行者123 更新时间:2023-11-30 06:34:46 27 4
gpt4 key购买 nike

我正在尝试使用 HttpsURLConnection 与网站建立 HTTPS 连接,然后执行 PUT 请求。当我尝试从 HttpsURLConnection.getOutputStream() 创建 OutputStreamWriter 时,抛出以下异常:

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

该页面刚刚获得证书(由 StartCom 颁发)- 我是否需要手动执行某些操作以使 Java 识别现在存在的证书?我可以毫无困难地连接到同一网站的其他页面,但它们有不同的证书。

最佳答案

您可以通过工具 keytool(来自 JDK)将 StartCom 的根证书导入 Java keystore (JKS),然后将 keystore 设置为“受信任的库”。

请参阅“导出和导入证书”部分:

http://java.sun.com/developer/technicalArticles/Security/secureinternet2/

那篇文章中提到的命令:

将证书导入到 trustedcerts.jks:

keytool -import -keystore trustedcerts.jks -alias qusay -file server.crt

使用自定义 tuststore 启动 Java:

java -Djavax.net.ssl.trustStore=trustedcerts.jks com.example.MyClass

或者,您可以在运行时设置信任库:

System.setProperty("javax.net.ssl.trustStore","./trustedcerts.jks");

关于Java HttpsURLConnection SSLHandshakeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6647667/

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