我使用keytool为我的Java应用程序生成了一个自签名证书。但是,当我在浏览器中访问该网站时,它总是弹出一个警告 - 说这个网站没有证书 - 有没有办法自我签署/医生证书,所以我不会在浏览器吗?服务器和浏览器都位于同一主机上,我使用“http://localhost/”导航到该站点。我不想在浏览器中添加异常,因为我在大型构建服务器场上运行测试,因此在所有构建计算机上为所有浏览器添加异常都是过分的。
答案 0 :(得分:19)
有两种方法可以让浏览器接受证书:
没有触及浏览器,没有其他方法可以做到 - 如果互联网要保持安全,怎么会有?
答案 1 :(得分:4)
您还可以使用OpenSSL或可能的Java工具设置自签名证书颁发机构(CA)。然后,您可以使用该CA签署许多服务器证书。
您仍然需要在访问测试服务器的所有客户端上手动信任自签名CA,但至少您只需要信任一个根CA,而不是一堆单独的自签名服务器证书。
另一种选择是结帐CAcert。
答案 2 :(得分:1)
您为localhost或test.textbox.com创建的证书是?如果您为FQDN test.textbox.com创建证书,只要证书已正确签名,您就需要到达服务器以避免出现这些错误。您无法为FQDN生成证书,然后使用IP或别名(localhost)来访问它,而不会被警告事情未正确匹配。或者我误解了你的问题?
答案 3 :(得分:1)
改为申请“localhost”证书。它需要匹配您在URL中的主机名。
由于证书不受信任,您仍会感到困扰,但这是另一个问题。