Spring工具套件 - SunCertPathBuilder异常:无法找到请求目标的有效证书路径

我正在STS上工作,在创建一个新的spring-boot项目时,它显示以下错误:

 SunCertPathBuilderException: unable to find valid certification path to requested target

因为它 https://start.spring.io 作为服务URL访问。

我在公司网络中工作,他们有自己的证书和安全规则。我研究了网络,但找不到任何明确的STS解决方案。我应该如何在 STS 中为给定 URL 添加证书路径。任何帮助是值得赞赏的。


答案 1

我遇到了同样的问题,并尝试了这个: 窗口 - >首选项 - >网络连接将模式更改为手动

它现在工作正常。


答案 2

看起来http现在被重定向到https。因此,将https更改为http可能不起作用。我对数字证书几乎不熟悉。但是,我只是列出了我必须做些什么才能让它为我工作。这也许就是@Strelok所建议的。

我使用的是Windows 10和JDK 1.8.0_144 64位。我也是公司代理的幕后推手。我做了以下事情来让它为我工作。如果您处于类似情况,它可能适合您。

导出公司证书(可能还有其他更简单的方法可以执行此操作)

  1. 在Chrome上,我去了 https://start.spring.io
  2. 在地址栏上,单击了 https 旁边的“锁定”符号。
  3. 在随后的弹出窗口中选择“证书(有效)”。
  4. 在出现的对话框中,单击“证书路径”选项卡,从证书路径树下选择根节点,然后单击“查看证书”
  5. 在出现的对话框中,单击“详细信息”选项卡,然后单击“复制到文件”
  6. 这将打开“导出向导”,单击“下一步”。
  7. 将证书格式保留为默认的“DER 编码..”,单击“下一步”。
  8. 为证书提供了文件名(.cer扩展名)。
  9. 单击“完成”。

上述步骤将证书导出到我导入到信任库(cacerts)中的文件。

导入

  • 以管理员身份打开“命令”提示以导入证书
  • 转到 Java 安装的 bin 目录(如果 jre/bin 在您的路径中,则不需要此步骤)
  • 已运行以下操作:

    C:\Program Files\Java\jre1.8.0_144\bin>keytool -importcert -alias your-alias -keystore “C:\Program Files\Java\jre1.8.0_144\lib\security\cacerts” -storepass changeit -file C:\certificate-file-location\saved-certificate-file.cer

(根据需要替换 Java 位置、证书文件位置和证书文件名。“商店通行证”应为“更改”。

已重新启动 STS


推荐