我正在使用 Liferay,我正在使用 eclipse,并使用加密套接字 (SSL) 运行客户端/服务器模型。
当前,当我以批处理模式运行应用程序时,我的应用程序运行客户端/服务器连接正常,但当我尝试在 Eclipse 中启动服务器时,应用程序给我错误
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
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
我已经使用InstallCert.java并将jssecacerts复制到
%JAVA_HOME%/jdk_version/jre/lib/security
但仍然给我错误。我还检查了证书 (keytool -v -list) 并手动安装在受信任的根 CA 中。可能是什么问题?谢谢!
请参考这个答案供您参考。
成功安装导致 PKIX 错误的站点证书后,无需传递任何 VM 参数!
但关键是找到给你这个错误的 JRE!所以请确保两件事:
cacerts
文件中 经过尝试和测试的方法。如果您在安装 Eclipse 插件时遇到此证书问题,请执行以下步骤:
记下您遇到问题的插件网站的网址。
在浏览器中点击该网址。
转到左侧的锁定符号,然后单击查看证书
转到详细信息并以 Base 64 进行文件导出。
最好将证书保存在 eclipse 目录中。
用管理员打开cmd
进入你用来运行eclipse的jdk目录并找到keytool
运行以下命令
keytool -keystore ..\lib\security\cacerts -import -alias example2 -file <path_to_expotrted cert in step 4>
使用密码 - 更改它
转到 eclipse.ini 并添加以下命令 -Djavax.net.ssl.trustStore=C:\Program Files\Java\jdk-11\lib\securit