我正在使用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/j re/lib/安全
但仍然给我错误。我还检查了证书(keytools-v-list)并手动安装在受信任的根CA中。可能是什么问题?谢谢!
请参考这个答案以供参考。
在您成功安装给您PKIX错误的站点证书后,无需传递任何VM参数!
但是关键是找到给你这个错误的JRE!所以确保两件事:
cacerts
文件
在eclipse中运行时,尝试在VM参数中传递认证路径
-Djavax.net.ssl.trustStore="PATH_TO_jssecacerts"
久经考验的方法。如果您在安装eclipse插件时遇到此证书问题,请执行以下步骤:
>
注意您遇到问题的插件站点的url。
在浏览器中点击该网址。
转到左侧的锁定符号并单击以查看证书
转到详细信息并在Base 64中进行文件导出。
最好将证书保存在eclipse目录中。
使用管理员打开cmd
转到用于运行eclipse的jdk目录并找到keytools
在下面运行命令keytools-keystore…\lib\security\cacerts-import-alias example ple2-file
转到eclipse. ini并添加以下命令-Djavax.net.ssl.TrustStore=C:\Program Files\Java\jdk-11\lib\Security\cacerts
确保在将每个插件站点证书添加到keystore后重新启动eclipse。