【发布时间】:2013-03-26 17:25:10
【问题描述】:
我有一个 CA 颁发的 PKCS#7 格式的 CERT。它里面有证书(链式)。 Keytool 无法识别 PKCS7 格式。我曾尝试使用 OpenSSL 工具将 PKCS7 格式证书转换为 PEM 格式,但它失败了。我收到一条错误消息“无法加载 PKCS7 对象”。
如何将 PKCS7 证书链导入我的 JKS?
【问题讨论】:
标签: certificate keytool pkcs#7 jks
我有一个 CA 颁发的 PKCS#7 格式的 CERT。它里面有证书(链式)。 Keytool 无法识别 PKCS7 格式。我曾尝试使用 OpenSSL 工具将 PKCS7 格式证书转换为 PEM 格式,但它失败了。我收到一条错误消息“无法加载 PKCS7 对象”。
如何将 PKCS7 证书链导入我的 JKS?
【问题讨论】:
标签: certificate keytool pkcs#7 jks
您可以在 keytool reference 中看到 -importcert 命令:
从文件 cert_file 中读取证书或证书链(后者以 PKCS#7 格式的回复提供),并将其存储在由别名标识的密钥库条目中。如果没有给出文件,则从标准输入读取证书或 PKCS#7 回复。
keytool 可以导入 X.509 v1、v2 和 v3 证书,以及由该类型证书组成的 PKCS#7 格式的证书链。
尝试按原样导入 PKCS7 证书。
虽然,它并不总是有效。如果您遇到问题,请尝试执行以下操作(使用 OpenSSL):
将它包含的所有证书打印到 PEM 文件中
OpenSSL> pkcs7 -in initial_file.p7b -inform DER -print_certs -outform PEM -out certs_chain.pem
使用编辑器打开新的 PEM 文件 (certs_chain.pem) 并删除 -----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE----- 边界之外的所有内容(仅保留边界内的编码内容,证书本身)和保存它。
现在 keytool 导入证书应该没有问题,使用 certs_chain.pem 作为 cert_file
【讨论】:
另一种方法是使用 IE 创建 X.509 证书。您可以在我关于在 WLS 和 IIS 之间执行 SSL 的文章中找到步骤http://techblog.fywservices.com/2012/10/establishing-weblogic-server-https-trust-of-iis-using-a-microsoft-local-certificate-authority/
【讨论】: