我正在尝试将 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 时,它成功了。
谢谢。这个问题困扰了我大约两周了……