PKCS12 到 JKS 转换失败

Posted

技术标签:

【中文标题】PKCS12 到 JKS 转换失败【英文标题】:PKCS12 to JKS conversion failure 【发布时间】:2012-06-05 20:37:30 【问题描述】:

我正在尝试使用以下命令将 PKCS12 格式文件转换为 JKS 密钥库:

keytool -v -importkeystore -trustcacerts -srckeystore cert.p12 -srcstoretype PKCS12 -destkeystore md_keystore.jks -deststoretype JKS

这将返回以下消息:

0 entries successfully imported, 0 entries failed or cancelled

我查看了使用 openSSL 的 cert.p12 文件,它看起来很好 - 它包含完整的证书链和私钥。也没有返回堆栈跟踪,并且生成的密钥库文件也是空的。

任何人都知道为什么密钥库无法导入看似有效的证书,但没有产生任何堆栈跟踪等?

【问题讨论】:

尝试使用keytool -list 看看keytool 是否可以看到您的PKCS#12 文件的内容。 @Bruno 看来 keytool 看不到导致问题的 PKCS12 文件的内容。我将不得不做更多的挖掘来找出原因,但感谢您的指点。 PKCS#12文件中的证书链是你自己制作的吗?如果是,根证书和最终实体证书上的序列号是否不同?我注意到 OpenSSL 似乎没有出现这个错误的问题,但是其他工具会拒绝这个错误,通常是默默地。 【参考方案1】:

我最近使用这个命令行导入了一些 PKCS12 证书:

keytool -importkeystore -srckeystore cert.p12 -srcstoretype PKCS12 -srcstorepass certificatePassword -keystore keystore_file_name.jks -storepass keystore_password

【讨论】:

【参考方案2】:

Tims,我打赌你设置了一个空密码来加密你的 p12 密钥存储。

尝试使用非空值再次创建 p12。我有同样的问题,这为我解决了。我还没有弄清楚如何让 keytool 接受带有空密码的 p12 文件。

【讨论】:

以上是关于PKCS12 到 JKS 转换失败的主要内容,如果未能解决你的问题,请参考以下文章

P12,JKS,CER,RFX,PEM转换速记

如何在 OpenSSL 中将 jks 文件转换为 p12 文件?

JKS、BKS 和 PKCS12 文件格式

证书 pem 转 jks

ktor sslConnector 从 jar p12 pkcs12 jks 密钥库和 mtls 相互 ssl 连接中服务/读取

如何编程读取PKCS#12格式的证书与私钥