java - scala sbt 和公司代理 - SunCertPathBuilderException

标签 java scala ssl sbt

当我尝试使用 SBT 时,某些文件无法下载并出现以下错误:

Server access Error: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target url=https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.0.0-M4/sbt-1.0.0-M4.jar

我遵循了 Stack Overflow 上的一些建议,并使用 java keytool 导入了企业代理 SSL 证书,如下所述: SSL certificate problem in a web service proxy

它似乎不会影响 SBT 工具。它看起来在不同的 keystore 中吗?有什么想法吗?

如果我将 URL 粘贴到浏览器上,文件就会下载。

我在运行我安装的 SBT 工具时遇到了这个错误。当我尝试在 IntelliJ Idea 上创建一个 SBT 项目并对其进行更新时,它给了我与不同 URL 相同的错误。尝试使用 lightbend 激活器时也是如此。

最佳答案

所以当你在代理后面时会发生这种情况,我们需要将代理服务器证书添加到 java truststore

cp $JAVA_HOME/jre/lib/security/cacerts <some accessible dir>/
# Get the certificate of the proxy server and store it in a file-proxy.pem
keytool -keystore cacerts -import -file proxy.pem -alias my_proxy
# Now we can invoke sbt with following config
sbt  "-Djavax.net.ssl.trustStore=/path/to/included/proxycert/cacerts" compile

关于java - scala sbt 和公司代理 - SunCertPathBuilderException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41981320/

相关文章:

scala - 传递给 Scala 宏的自省(introspection)参数

list - 如何扩展 Scala 列表以启用不是按显式位置而是按给定谓词/条件的切片

node.js+socket.io 端口没有用 ssl 打开

java - 优化插入多个具有嵌入式主键的实体时的 JPA 性能

java - Android - 线程内的 BroadcastReceiver

scala - 在 Spark 作业中写入 HBase : a conundrum with existential types

java - 如何动态更新信任库?

java - int 枚举模式有什么用?

java - 无法在 Netbeans 中连接 SQL 数据库

asp.net - IdentityServer4 - 发生安全错误