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

新手上路,请多包涵

我正在研究 STS,在创建新的 spring-boot 项目时,它显示以下错误:

  SunCertPathBuilderException: unable to find valid certification path to requested target

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

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

原文由 shivam gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 892
2 个回答

在 URL http://start.spring.io 中尝试使用 http 而不是 https

以下错误将得到解决“ SunCertPathBuilderException:无法找到请求目标的有效证书路径

在此处输入图像描述

在此处输入图像描述

原文由 Zack Dawood 发布,翻译遵循 CC BY-SA 4.0 许可协议

看起来 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 -文件C:\certificate-file-location\saved-certificate-file.cer

(根据需要替换您的 java 位置、证书文件位置和证书文件名。“storepass”应为“changeit”。)

重启STS

原文由 user2125853 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题