解决PKIX path building failed: SunCertPathBuilderException: unable to find valid certification path
系统环境:windows, Scala-2.12.10,JDK-1.8_40错误提示:Error while downloading https://repo.typesafe.com/typesafe/ivy-releases/com.lightbend/emoji_2.12/1.2.1/jars/emoji_2.12.jar:sun.security.validator.Valida...
系统环境:
windows, Scala-2.12.10,JDK-1.8_40
错误提示:
Error while downloading https://repo.typesafe.com/typesafe/ivy-releases/com.lightbend/emoji_2.12/1.2.1/jars/emoji_2.12.jar:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target, ignoring it
解决步骤:
- 将错误提示的URL
https://repo.typesafe.com/typesafe/ivy-releases/com.lightbend/emoji_2.12/1.2.1/jars复制到浏览器中访问,右击该网页 进入Inspect --> Security -->View certificate -->详细信息 -->复制到文件 来导出并保存该网站的证书。导出文件格式选择 DER编码二进制X.509(.CER)(D) 格式。(注:此处导出证书的步骤可能因不同浏览器而不同。上述步骤使用的是chrome浏览器。) - 用管理员权限打开命令行,运行命令
keytool -import -noprompt -trustcacerts -alias <AliasName> -file <path-to-certificate.cer> -keystore <JAVA_HOME/jre/lib/security/cacerts>来导入证书,其中为自定义的证书名称,<path-to-certificate.cer>为指向前面保存的证书文件绝对路径,<JAVA_HOME/jre/lib/security/cacerts>为java keystore的路径。
- 参考[1]中的命令选项
-storepass <Password>可以去掉,不加密码。- 若在执行命令
keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts时要输入密码, 其默认密码为changeit
除了导入证书的解决方法外,还有一种方法是使用代理proxy方式,尚未实际验证。可参考[3, 5, 6]。
参考:
[1] Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error?
[2] PKIX path building failed: SunCertPathBuilderException: unable to find valid certification path to requested target.
[3] 关于在idea中导入sbt项目出现的问题
[4] 官方: Import the Certificate as a Trusted Certificate
[5] 使用代理的方法 scala sbt and corporate proxy - SunCertPathBuilderException
[6] SSL certificate problem in a web service proxy
更多推荐




所有评论(0)