PFX 到 JKS 密钥工具的转换:别名 <*> 不存在

Posted

技术标签:

【中文标题】PFX 到 JKS 密钥工具的转换:别名 <*> 不存在【英文标题】:PFX to JKS keytool conversion: Alias <*> does not exist 【发布时间】:2012-10-31 07:52:40 【问题描述】:

我正在尝试使用 keytool 将 x.PFX 文件转换为 x.JKS 文件,但出现以下错误:

keytool error: java.lang.Exception: Alias <2> does not exist

发生此错误之前的操作是:

列出x.PFX文件内容(只是为了读取别名):

keytool -v -list -storetype pkcs12 -keystore x.pfx

Enter keystore password: x

Keystore type: PKCS12   
Keystore provider: SunJSSE

Your keystore contains 1 entry

Alias name: 2
Creation date: 11-nov-2012

Entry type: PrivateKeyEntry
Certificate chain length: 3
Certificate[1]:
Owner: CN=x, OU=x, C=x
Issuer: CN=x, O=x, C=x
Serial number: x
Valid from: Wed Oct 24 11:46:10 CEST 2012 until: Fri Dec 13 09:28:40 CET 2013
Certificate fingerprints:

etc.

使用“2”作为源别名将 x.PFX 文件转换为 x.JKS 文件

keytool -importkeystore -srckeystore x.pfx -srcstoretype pkcs12 -srcalias 2 -destkeystore x.jks -deststoretype jks -destalias xyz
Enter destination keystore password: y
Re-enter new password: y
Enter source keystore password: x
keytool error: java.lang.Exception: Alias <2> does not exist

我不确定我做错了什么? PFX 文件仅包含一个条目和一个别名 (2)。我还尝试使用这些 srcalias 值:2、“2”、“2”。有没有其他方法可以在不知道源别名的情况下使用 keytool 将 PFX 转换为 JKS?

【问题讨论】:

【参考方案1】:

我遇到了完全相同的问题。我已经解决了使用 '1' 而不是 2。不知道为什么,但它有效。

【讨论】:

【参考方案2】:

如果在pkcs12中设置别名:

openssl pkcs12 -export -in certificate.pem -inkey private_key.pem -out keystore.p12 -name "myalias"

aftet 别名设置成功:

keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype JKS -alias myalias

【讨论】:

这是对我有帮助的答案,因为我的 pkcs12 中没有设置名称;一旦在 pkcs12 中设置,就可以使用我想要的别名创建 JKS。【参考方案3】:

你的命令应该看起来更像这样

keytool -importkeystore -srckeystore x.pfx -srcstoretype pkcs12 -***alias*** 2 -destkeystore x.jks -deststoretype jks -destalias xyz

【讨论】:

【参考方案4】:

可能找不到“2”,因为包含空格(例如“2”)

如果您不想更改别名,只需删除选项 -srcalias-destalias,它将使用原始别名导入。

【讨论】:

以上是关于PFX 到 JKS 密钥工具的转换:别名 <*> 不存在的主要内容,如果未能解决你的问题,请参考以下文章

keytool工具生成jks证书

keytool工具生成jks证书

keytool工具生成jks证书

keytool工具生成jks证书

从 Azure 密钥保管库存储和检索 JKS

如何从 Java 密钥库创建 PFX 文件?