0

无论如何使用与 Chrome 一起安装的证书来创建 SSLEngine 吗?我记得默认情况下它安装了很多权威公共证书。

我认为,由于 chrome 可与我所知道的所有网站一起使用,因此会更加详尽,并且仅安装 chrome 并依赖它会更容易。

谢谢,院长

4

1 回答 1

1

从我收集到的每个浏览器都使用它自己的证书存储。基本上有三种解决方案:一种是静态的,一种是动态的,一种是“足够好”。开始了:

  1. 静态解决方案 - 您阅读文档,了解如何从浏览器的存储中读取证书(或整个链),手动导出它们并将它们全部导入 Java 的 cacerts 存储或您的自定义存储。

  2. 动态解决方案 - 与上述基本相同,但您在应用程序启动期间执行此操作。

  3. 懒惰但足够好的解决方案 - 你什么都不做,并希望 cacerts JKS 中的证书与浏览器中的证书几乎相同,无论是 Chrome、Firefox、Opera 还是 IE。

但请注意以下几点:https ://bugzilla.mozilla.org/show_bug.cgi?id=1265113似乎在 Windows 上 Chrome 会从 Windows 的证书存储中读取证书,因此实际上您的应用程序可能应该读取系统证书存储并使用它:在 Linux 上有 /usr/share/ca-certificates 并从 Windows 开始,您可以尝试:https ://superuser.com/questions/411909/where-is-the-certificate-folder-in-windows-7

不幸的是,实现似乎相当复杂——但是,嘿!,它是一个非常好的开源项目:)

于 2016-07-19T11:23:10.017 回答