【问题标题】:openssl fails to produce a pfx with a valid aliasopenssl 无法生成具有有效别名的 pfx
【发布时间】:2014-02-03 23:32:30
【问题描述】:

我正在尝试根据these 指令生成一个 pfx 文件,以用作某些 JAR 文件的签名机制。

要创建 pfx 文件,我使用以下命令

openssl pkcs12 -export -in my-cert.crt -inkey my-priv-key.key -certfile my-ca-bundle -out my-pfx.pfx

这个命令成功地为我生成了一个 pfx 文件,但是,当我尝试使用以下命令查找别名时

keytool -list -storetype pkcs12 -keystore my-pfx.pfx -v | grep Alias

我收到以下回复

Alias name: 2

根据上面链接的注释(以及我所做的其他研究),返回的别名应该看起来像这样

le-d491f28f-ee7b-40e2-b1a7-2b7c3a71979a

如果我尝试使用以下命令获取的别名值(例如 2)

jarsigner -keystore my-pfx.pfx -storetype PKCS12 jacob.jar 2

导致以下错误消息

jarsigner: Certificate chain not found for: 2.  2 must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

我完全不知道为什么我没有得到正确的别名。有什么有用的建议吗?

谢谢

【问题讨论】:

    标签: openssl certificate keytool pfx jarsigner


    【解决方案1】:

    尝试使用选项-name "alias" 和命令openssl pkcs12

    因此,完整的命令可能如下所示(其余选项取自您的问题):

    openssl pkcs12 -export -in my-cert.crt -inkey my-priv-key.key -certfile my-ca-bundle -out my-pfx.pfx -name "alias"
    

    【讨论】:

    • 您能解释一下-name 在这种情况下的作用吗?根据文档:-name friendlyname 指定证书和私钥的“友好名称”。此名称通常由导入文件的软件显示在列表框中。但这如何更改 p12 文件中的别名?
    • 如果你在windows上使用这个命令还是失败,建议把openssl改成这个版本在这里下载-itefix.net/openssl-tool
    • @not2savvy 使用-name 参数后,再次运行keytool -list 命令。您将看到别名匹配。这够了吗?
    • @kevinarpe @kevinarpe -name 实际上是否同时设置了“友好名称”和别名,或者这只是同一事物的两个不同术语?
    • @not2savvy 很好的问题。我认为它们是相同的。
    猜你喜欢
    • 1970-01-01
    • 2016-12-20
    • 2020-11-03
    • 2020-03-13
    • 2017-09-14
    • 1970-01-01
    • 2021-02-06
    • 2015-09-04
    • 2016-07-26
    相关资源
    最近更新 更多