openssl无法生成具有有效别名的pfx

use*_*232 14 openssl certificate keytool pfx jarsigner

我正在尝试根据这些说明生成一个pfx文件,以用作某些JAR文件的签名机制.

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

openssl pkcs12 -export -in my-cert.crt -inkey my-priv-key.key -certfile my-ca-bundle -out my-pfx.pfx
Run Code Online (Sandbox Code Playgroud)

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

keytool -list -storetype pkcs12 -keystore my-pfx.pfx -v | grep Alias
Run Code Online (Sandbox Code Playgroud)

我收到以下回复

Alias name: 2
Run Code Online (Sandbox Code Playgroud)

根据上面链接的说明(以及我做过的其他研究),返回的Alias看起来应该是这样的

le-d491f28f-ee7b-40e2-b1a7-2b7c3a71979a
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用Alias值,我将使用以下命令获取(例如2)

jarsigner -keystore my-pfx.pfx -storetype PKCS12 jacob.jar 2
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误消息

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.
Run Code Online (Sandbox Code Playgroud)

我完全难以理解为什么我没有得到正确的别名..任何有用的建议?

谢谢

von*_*ond 31

尝试使用-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"
Run Code Online (Sandbox Code Playgroud)

  • @kevinarpe 那么 `-name` 实际上设置了“友好名称”和别名,还是这只是同一事物的两个不同术语? (2认同)