【发布时间】:2018-11-15 09:34:33
【问题描述】:
我需要将 PKCS7 证书转换为 PKCS12。我得到了返回 PKCS7 证书格式的函数,为了将此证书放入 IBM 证书管理器,我需要将此证书转换为 PKCS12 PEM 格式。你知道怎么做吗?我正在使用 JAVA。
【问题讨论】:
-
不可能。 PKCS#12 格式需要私钥,但 PKCS#7 不提供。
-
如果将我生成的私钥连接到 PKCS#7 并在此之后创建 PKCS#12 怎么办?
-
PKCS#7 不支持私钥,您不能将它们附加到那里。
-
@Crypt32:不完全正确; PKCS12通常用于 privatekey+certchain,但该格式能够单独存储证书,Java 8+ 支持以这种方式使用它(也称为信任库)。但大多数其他软件没有,我不知道“IBM 证书管理器”。
-
OP: Java
CertificateFactory.getInstance("X.509").generateCertificates(InputStream)-- 注意复数 Certificates -- 只能读取 PKCS7-certs(通常称为 p7b 或 p7c)。但是读取私钥可能更难,有时更难。你确定你想要PEM吗?几乎没有人将 PEM 用于 PKCS12。 (对于证书、CSR、许多类型的密钥,包括 PKCS8,有时 CMS/PKCS7 包括 p7b/c,但不包括 PKCS12。)
标签: java ibm-cloud x509certificate pkcs#12 ibm-certificate-manager