java - 获取 sbt 插件时“PKIX 路径构建失败”和“无法找到请求目标的有效认证路径”
问题描述
我已经使用自制软件安装了 java (11 - openjdk 11.0.2)、scala (2.13.1) 和 sbt (1.3.4)。然后我尝试将证书添加到 java 的密钥库:
keytool -import -alias "my-cert" -keystore "$JAVA_HOME/lib/security/cacerts" -file ~/my-cert.cert
但是当我尝试使用 sbt(通过想法或从控制台)时,我得到了这些错误:
:::: 错误服务器访问错误:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标 url= https://repo1.maven.org/maven2/com/eed3si9n的有效证书路径/sjson-new-scalajson_2.12/0.8.2/sjson-new-scalajson_2.12-0.8.2.pom
服务器访问错误:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标 url= https://repo1.maven.org/maven2/com/eed3si9n/sjson-new-的有效证书路径scalajson_2.12/0.8.2/sjson-new-scalajson_2.12-0.8.2.jar
服务器访问错误:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标 url= https://repo.scala-sbt.org/scalasbt/maven-snapshots/com/的有效证书路径eed3si9n/sjson-new-scalajson_2.12/0.8.2/sjson-new-scalajson_2.12-0.8.2.pom
服务器访问错误:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标 url= https://repo.scala-sbt.org/scalasbt/maven-snapshots/com/的有效证书路径eed3si9n/sjson-new-scalajson_2.12/0.8.2/sjson-new-scalajson_2.12-0.8.2.jar
我还尝试为 repo.scala-sbt 添加证书(https://stackoverflow.com/a/54746436):
keytool -import -alias "scala-sbt" -keystore "$JAVA_HOME/lib/security/cacerts" -file ~/scala-sbt.cert
但这也无济于事。我怎样才能解决这个问题?
试过这个:
keytool -importcert -trustcacerts -alias "my-cert" -keystore "$JAVA_HOME/lib/security/cacerts" -file ~/my-cert.cert
这并没有帮助
要连接到互联网,我使用 cisco anyconnect。所有证书文件格式都按照建议更改为 *.pem 但这也无济于事
解决方案
我建议将问题分为两部分:
1) 将所需的中间证书和根证书添加到密钥库。然后您可以使用简单的 java 应用程序(如 SSLPoke)而不是 sbt 来测试这一步。
https://github.com/MichalHecko/SSLPoke。
2) 确保 sbt 使用正确的 keyotre。您可以使用 jvm 参数“-Djavax.net.ssl.trustStore”将密钥库传递给应用程序
如果您的公司位于卸载 ssl 流量的防火墙后面,您可以使用本地人工制品服务器来缓解此问题。
推荐阅读
- php - WordPress 路由之前的 Laravel 中间件
- machine-learning - 如何解释损失函数的早期突然增加,然后正常减少?
- php - 请求的资源上不存在“Access-Control-Allow-Origin”标头
- python - joblib 模块中是否有类似于 multiprocessing.current_process 的功能?
- r - 无法将数据导出到 Excel 工作表中的特定行
- sql - 如果值为数字,则在 CASE 中使用 SUM
- r - 如何在某些字段中用逗号解析 csv 文件
- javascript - 将 JavaScript 代码放入字符串变量中
- javascript - 当用折线切割多边形时,几何引擎会将某些部分组合在一起?Arcgis javascript api
- excel - 无法循环遍历字典键