我需要一些关于 openssl 命令的帮助。我需要自动检索我正在处理的脚本的 pkcs12 证书中的 subject= 行。
我已经使用 openssl 查看身份/证书的内容:
openssl pkcs12 -info -in /Users/[user]/Desktop/ID.pfx
但系统提示我输入密码三次。我使用 -passin 消除了其中一个密码提示,但系统仍提示我输入 PEM 密码短语和验证条目。
我需要想办法将 ${password} 传递给其他两个密码挑战,或者让凭据发出 ctl-c。我需要的信息在第二个密码提示之前输出到标准输出。
任何帮助将不胜感激!
显然,我删除了这篇文章的证书输出....但您应该了解我所看到的内容:
bash-3.2# openssl pkcs12 -info -in /Users/[user]/Desktop/ID.pfx -passin pass:${password}
MAC Iteration 2048
MAC verified OK
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
localKeyID: ****
friendlyName: ****
subject=****
issuer=****
-----BEGIN CERTIFICATE-----
::HASH REMOVED::
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: ****
Bag Attributes
localKeyID: ****
friendlyName: ****
Key Attributes: <No Attributes>
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info:
::HASH REMOVED::
-----END RSA PRIVATE KEY-----
bash-3.2#
最佳答案
试试这个:
$ openssl pkcs12 -in ~/cert.p12 -nodes \
-passin pass:"my password" | openssl x509 -noout -subject
或者通用名称(ruby 去除尾随空格):
$ openssl pkcs12 -in ~/cert.p12 -nodes \
-passin pass:"my password" | openssl x509 -noout -subject \
| awk -F'[=/]' '{print $6}'`.strip`
关于bash - 使用 openssl 从 pkcs12 证书中提取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8500475/