我通过keytool将密钥对生成了一个称为keystore的新密钥库。在tomcat中,在安全端口的连接器中,我将密钥库指向了所述密钥库。
现在,当我通过Chrome访问tomcat时,会收到有关证书的警告。我单击了锁定图标,然后保存了证书并将其导入到chrome中。现在,当我访问我的服务时,我确实得到了绿色图标,但是却出现了异常-PKIX路径构建失败:无法找到到所请求目标的有效认证路径。
这是使用我从网络上获得的InstallCert脚本修复的,该脚本创建了我移至jre目录中的jssecerts文件。
一切都按预期工作,但是我不明白为什么我们需要创建jssecerts文件。

如果我正确理解流程,那么当浏览器转到安全端口时,服务器会从密钥库中提取证书并将其发送给浏览器。但是,由于它是一个自签名证书,因此浏览器会抱怨,然后我要么说我理解风险并继续进行,要么我将该证书导入chrome(这使该证书受信任)。
如果以上理解是正确的,那么我将不需要jssecerts文件。显然有一些错误,因为在我运行InstallCert并将jssecerts移至jre的安全文件夹之前,上述方法无法正常工作。 (我可能不是将jssecerts添加到cacerts中,但要点是一样的-为什么?)

我尝试使用信任库配置tomcat并指向密钥库,但是...

希望那里的安全专家可以对此有所启发。

谢谢
-完成

最佳答案

Java无法看到Chrome的受信任证书存储库。它使用自己的。

07-28 14:13