我确实想将自签名证书导入 Java,以便任何尝试建立 SSL 连接的 Java 应用程序都将信任此证书。
到目前为止,我设法将其导入
keytool -import -trustcacerts -noprompt -storepass changeit -alias $REMHOST -file $REMHOST.pem
keytool -import -trustcacerts -noprompt -keystore cacerts -storepass changeit -alias $REMHOST -file $REMHOST.pem
不过,当我尝试运行 HTTPSClient.class
时,我仍然得到:
javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径
原文由 sorin 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Windows 上,最简单的方法是使用程序 portecle 。
System.out.println(System.getProperty("java.home"));
在 Linux 上:
您可以从已经使用它的 Web 服务器下载 SSL 证书,如下所示:
可选地验证证书信息:
将证书导入 Java cacerts 密钥库: