繁体   English   中英

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

[英]Can I create self-signed certificate in Java which will be automatically trusted by web browsers?

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

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

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

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

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

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

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

另一种选择是检查CAcert

您是为localhost或test.textbox.com创建的证书吗? 如果您为FQDN test.textbox.com创建证书,只要证书已正确签名,您就需要到达服务器以避免出现这些错误。 您无法为FQDN生成证书,然后使用IP或别名(localhost)来访问它,而不会被警告事情未正确匹配。 或者我误解了你的问题?

而是为“localhost”制作证书。 它需要匹配您在URL中的主机名。

由于证书不受信任,您仍然会感到困扰,但这是另一个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM