Eclipse中PKIX路径构建失败

nwnhqdif  于 2023-10-18  发布在  Eclipse
关注(0)|答案(6)|浏览(171)

我使用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并将jssecacc复制到
%JAVA_HOME%/jdk_version/jre/lib/security
但仍然给我错误。我还检查了证书(keytool -v -list),并手动安装在受信任的根CA中。有什么问题吗?谢谢你,谢谢

kqlmhetl

kqlmhetl1#

请参考this答案供您参考。
没有必要通过任何VM参数后,您成功安装证书的网站,这是给你PKIX错误!
但关键是要找到JRE,这是给你这个错误!所以要确保两件事:
1.您将证书安装到Eclipse正在使用的JRE的cacerts文件中
1.证书是根证书

kzipqqlq

kzipqqlq2#

久经考验的方法。如果您在安装Eclipse插件时遇到此证书问题,请执行以下步骤:
1.注意你所面临的问题的插件网站的URL.
1.点击浏览器中URL。
1.转到左侧的锁符号,然后单击以查看证书
1.转到详细信息并在Base 64中进行文件导出。
1.最好将证书保存在eclipse目录中。
1.与管理员打开cmd
1.转到jdk目录你是用来运行eclipse和找到keytool
1.在下面运行命令keytool -keystore ..\lib\security\cacerts -import -alias example2 -file <path_to_expotrted cert in step 4> use password - changeit
1.转到eclipse.ini并在下面添加命令-Djavax.net.ssl.trustStore=C:\Program Files\Java\jdk-11\lib\security\cache.ini
1.确保在每个插件站点证书添加到密钥库后重新启动eclipse。

jdzmm42g

jdzmm42g3#

已解决:eclipse插件安装的证书问题请按照以下步骤操作:
了解eclipse使用JRE证书进行连接。因此,您需要将您的插件(网站)证书添加到JRE/lib/security/caccounts
1.在浏览器中打开URL或您的插件,然后单击下面
Link Open
Get Certificate
Download
Save
保存为.cer文件
1.后藤您的JRE路径:C:\Program Files(x86)\Java\jre1.8.0_333\lib\security并在此处打开命令promt,然后输入命令keytool -import -trustcaccounts-keystore caccounts-storepass changeit -noprompt -alias marketPlaceAPI -file“C:\Users**\Downloads\Programs\marketPlaceAPI.cer”
Enter Keystore command
1.后藤到Eclipse Ini文件:在-VmArgs下添加Update Eclipse.ini file
这就是全部,你的证书被添加到JRE中,在Eclipse中你说过要使用这些证书。

zpqajqem

zpqajqem4#

在eclipse中运行时,尝试在VM参数中传递证书路径

-Djavax.net.ssl.trustStore="PATH_TO_jssecacerts"
vcudknz3

vcudknz35#

我已经解决了这个问题,在我的Eclipse后,挣扎了近一天。请在此找到解决方案https://stackoverflow.com/a/73034945/7611709

fv2wmkja

fv2wmkja6#

下面的几条线对我来说很有用。System.setProperty(“javax.net.ssl.trustStore”,“NUL”); System.setProperty(“javax.net.ssl.trustStoreType”,“Windows-ROOT”);

相关问题