我可以在Java中创建自签名证书吗?这些证书将被Web浏览器自动信任?

Cor*_*hpf 5 java ssl self-signed ssl-certificate

我使用keytool为我的Java应用程序生成了一个自签名证书.但是,当我在浏览器中访问该站点时,它总是弹出一个警告 - 说这个站点没有证书 - 是否有办法自我签署/医生证书,所以我不会在浏览器吗?服务器和浏览器都位于同一主机上,我使用" http:// localhost / " 导航到该站点.我不想在浏览器中添加异常,因为我在大型构建服务器场上运行测试,因此在所有构建计算机上的所有浏览器中添加异常都是过分的.

Ric*_*dle 19

不,你不能.您不妨问一下"如何为hsbc.com制作假证书?"

有两种方法可以让浏览器接受证书:

  • 从受信任的机构购买域证书(这意味着证明您拥有该域的权限),然后使用该域作为测试服务器的名称
  • 将签名证书安装到浏览器中,以便您有效地成为该浏览器的受信任机构.

没有触及浏览器,没有其他方法可以做到 - 如果互联网要保持安全,怎么可能呢?

  • @Corehpf - 你想要一个富有想象力的答案还是真相?除了在浏览器中安装它们或CA证书之外,没有办法让浏览器接受由非根CA证书签名的自签名证书或证书. (5认同)

Bri*_*lly 4

您还可以使用 OpenSSL 或 Java 工具设置自签名证书颁发机构 (CA)。然后,您可以使用该 CA 签署多个服务器证书。

您仍然需要在访问测试服务器的所有客户端上手动信任自签名 CA,但至少您只需信任一个根 CA,而不是一堆单独的自签名服务器证书。

另一种选择是查看CAcert