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 转换失败的主要内容,如果未能解决你的问题,请参考以下文章
如何在 OpenSSL 中将 jks 文件转换为 p12 文件?
ktor sslConnector 从 jar p12 pkcs12 jks 密钥库和 mtls 相互 ssl 连接中服务/读取