如何将证书作为 privateKeyEntry 导入到我的 java cacerts 文件中?

如何将证书作为 privateKeyEntry 导入到我的 java cacerts 文件中?

我正在尝试将 CA 签名的证书导入我的 Java cacerts。

现在我有了这些文件:

  • 签名请求.csr
  • ca 签名证书.crt
  • ca 签名证书.key
  • 根证书

根据测试 API 文档,我需要在运行 Java 代码之前将我的 ca 签名证书.crt 导入到我的 JDK1.8 cacerts 中。我尝试像这样将证书导入到我的 Java cacerts 中:

keytool -import -trustcacerts -file D:\JavaWebTest\keytool_test\ca-signed certificate.crt -alias myalias -keystore cacerts

但使用keytool -list命令时,它显示一个trustedCertEntry类型。虽然我的帮助文档说“检查密钥库以确认您的证书已添加。输出应包含每个颁发的证书的条目类型:PrivateKeyEntry 和条目类型:trustedCertEntry。”

然后我尝试将所有文​​件(.csr 除外)导入 jks 密钥库,输出包含条目类型:PrivateKeyEntry。但是当我运行 keytool 命令将其导入我的 java cacerts 时,出现错误,提示此文件不是 X.509 证书。我不知道如何解决这个问题。

顺便说一句,当我使用 curl 和 ca-signed certificate.crt 以及 ca-signed certificate.key 访问测试 https API 时,它成功了。

谢谢。这个问题困扰了我大约两周了……

相关内容