相关疑难解决方法(0)

解决javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败错误?

编辑: -尝试格式化问题并在我的博客中以更明显的方式接受答案

这是原始问题.

我收到此错误:

详细消息sun.security.validator.ValidatorException:PKIX路径构建失败:
sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

导致javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径

我使用Tomcat 6作为网络服务器.我有两个HTTPS Web应用程序安装在不同端口上但位于同一台机器上的不同Tomcats上.说App1(port 8443)App2(port 443).App1连接到App2.当App1所连接到App2我得到上述错误.我知道这是一个非常常见的错误,所以在不同的论坛和网站上遇到了很多解决方案.我有server.xml两个Tomcats 的以下条目:

keystoreFile="c:/.keystore" 
keystorePass="changeit"
Run Code Online (Sandbox Code Playgroud)

每个站点都说同样的原因,即app2提供的证书不在app1 jvm的可信存储中.当我试图在IE浏览器中访问相同的URL时,这似乎也是正确的,它可以工作(加热,这个网站的安全证书存在问题.在这里我说继续这个网站).但是当Java客户端(在我的情况下)遇到相同的URL时,我得到上述错误.所以把它放在信任库中我试过这三个选项:

选项1

System.setProperty("javax.net.ssl.trustStore", "C:/.keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
Run Code Online (Sandbox Code Playgroud)

Option2 在环境变量中设置如下

CATALINA_OPTS -- param name
-Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit ---param value
Run Code Online (Sandbox Code Playgroud)

选项3 在环境变量中设置如下

JAVA_OPTS -- param name
-Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit ---param value
Run Code Online (Sandbox Code Playgroud)

但没有任何效果.

最后工作的 是执行如何使用Apache HttpClient处理无效SSL证书中建议的Java方法由Pascal Thivent执行,即执行程序InstallCert.

但这种方法适用于devbox设置,但我无法在生产环境中使用它.

我很奇怪,为什么上面提到的三种方法时,我已经中提到的相同值没有工作server.xmlapp2服务器和相同的价值观信任设置

System.setProperty("javax.net.ssl.trustStore", "C:/.keystore") and System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); …

java ssl https

392
推荐指数
11
解决办法
101万
查看次数

Gradle 同步失败:原因:无法在 MacOS 上找到请求目标的有效认证路径

我有以下配置:

  • MacOS 11.0.1(MacOS 防火墙关闭)
  • 安卓工作室 4.1.2
  • Android Gradle 插件版本 4.1.1
  • 摇篮版本 6.5
  • Java jdk 版本 1.8.0_251

Gradle build 开始在我所有的项目中报告错误,所以我猜它与特定的项目配置(build.gradle 等)无关。

相同的项目正在 Windows 上的相同 Android Studio、Gradle 和 JDK 版本上构建和正常工作。

我已经尝试过但没有帮助的步骤:

  • 重建项目
  • 使缓存无效/重新启动
  • 从头开始重新安装 Android Studio,按照说明进行完全卸载(如何在 Mac 上完全卸载 Android Studio?
  • https://developer.android.com/studio全新安装新下载的 Android Studio
  • 使用 JetBrains Toolbox 进行全新安装
  • 手动将证书(从浏览器下载)添加到 Android Studio(首选项/工具/服务器证书)和 Java 密钥库
  • 安装 Android Studio 4.2 测试版 5
  • 安装较新版本的 JDK (1.8.0_281)

错误详细信息:
Gradle 同步失败:原因:无法找到到请求目标的有效认证路径

FAILURE:构建失败,出现异常。

* 什么地方出了错:
配置根项目“项目名称”时出现问题。
> 无法解析配置 ':classpath' 的所有工件。
   > 无法解析 com.android.tools.build:gradle:4.1.1。
     要求:
         项目 : …

java macos gradle android-studio

9
推荐指数
2
解决办法
3957
查看次数

标签 统计

java ×2

android-studio ×1

gradle ×1

https ×1

macos ×1

ssl ×1