【问题标题】:Why do we requires a jssecerts file when tomcat is provided with a keystore为什么我们需要一个 jssecerts 文件,而 tomcat 提供了一个密钥库
【发布时间】:2015-08-10 11:08:32
【问题描述】:

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

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

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

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

谢谢 -anish

【问题讨论】:

    标签: java security tomcat ssl certificate


    【解决方案1】:

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

    【讨论】:

    • 感谢 EJP 的回复。
    • 感谢 EJP 的回复。不幸的是,我的无知使我无法欣赏答案。在上述场景中,只有服务器具有证书。当 SSL 握手启动时,服务器将证书从密钥库发送到客户端 - 客户端 chrome 会根据其受信任的证书存储库验证证书。由于证书之前已导入 chrome,因此已验证。它是令人困惑的 chrome 和服务器之间的返回腿。 chrome 会发回什么供服务器签入 Java 的可信证书存储库?
    猜你喜欢
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 2010-10-03
    • 2011-03-01
    • 2013-12-03
    • 1970-01-01
    相关资源
    最近更新 更多