【发布时间】:2021-06-15 06:57:41
【问题描述】:
我在将根证书和中间证书附加到我的 SSL 证书时遇到问题。请看下面的步骤。
- 使用自签名证书 jira.corp.net 创建名为 jira.corp.net.jks 的 Java 密钥库
- 创建 CSR 以获取 jira.corp.net 的 CA 签名证书
- 收到 CA 签名证书并通过 Keystore Explorer 中的 Import Reply 选项将 jira.corp.net 导入 jira.corp.net.jks
- 附加中间证书和根证书
以上步骤效果很好。现在,由于我的应用程序需要不同密钥库 cacerts 中的签名证书,我导入了签名证书。但是现在我没有附加中间证书和根证书的选项。因此,我收到以下错误,
sun.security.validator.ValidatorException:PKIX 路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到请求目标的有效认证路径
我了解,由于证书请求是在不同的密钥库中创建的,因此附加选项不可用。但是这种情况下如何导入根证书和中间证书呢?
我检查了许多博客,但无法正常工作。如果有人知道如何修复,请提出建议。
谢谢!
【问题讨论】:
-
您没有在
cacerts中添加您的签名证书,您需要使用keytool -importcert命令将CA 证书添加到其中。如果您使用的是 KeyStore-Explorer,则有一个打开 cacerts 文件的快捷方式选项,我认为它称为“文件 > 特殊打开”,并在其中使用“添加受信任的证书”导入 CA 证书。 -
@always_a_rookie 感谢您的回复。当我说签名证书时,它仅由 CA 机构提供。问题是我只能添加基础证书,但不能添加中间证书和根证书。我没有附加 CA 证书的选项。
-
当您将来自 CA 的签名证书添加到您的原始密钥库时,您执行了“附加 CA 证书”,您在第 3 点和第 4 点中已经这样做了。因为您现在正在尝试添加 CA 证书对于
cacerts,您需要信任它,而不是附加它。在 KeyStore-Explorer 中打开 cacerts 文件后,查找“添加可信证书”选项。
标签: ssl ssl-certificate keystore root-certificate