9

我正在使用 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 中手动安装。可能是什么问题?谢谢!

4

3 回答 3

8

请参考答案以供参考。

成功安装给您 PKIX 错误的站点证书后,无需传递任何 VM 参数!

但关键是找到给你这个错误的 JRE!因此,请确保两件事:

  1. 您将证书安装到cacertsEclipse 正在使用的 JRE 文件中
  2. 证书是根证书
于 2016-08-22T09:33:40.897 回答
1

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

-Djavax.net.ssl.trustStore="PATH_TO_jssecacerts"
于 2016-08-09T07:57:01.870 回答
0

久经考验的方法。如果您在安装 eclipse 插件时遇到此证书问题,请执行以下步骤:

  1. 请注意您遇到问题的插件站点的 url。

  2. 在浏览器中点击该网址。

  3. 转到左侧的锁定符号并单击以查看证书

  4. 转到详细信息并在 Base 64 中进行文件导出。

  5. 最好将证书保存在 eclipse 目录中。

  6. 用管理员打开cmd

  7. 转到您用于运行 eclipse 并找到 keytool 的 jdk 目录

  8. 运行下面的命令 keytool -keystore ..\lib\security\cacerts -import -alias example2 -file <path_to_expotrted cert in step 4> 使用密码 - changeit

  9. 转到 eclipse.ini 并添加以下命令 -Djavax.net.ssl.trustStore=C:\Program Files\Java\jdk-11\lib\security\cacerts

  10. 确保在将每个插件站点证书添加到密钥库后重新启动 Eclipse。

于 2021-10-06T11:43:12.557 回答