我想要一些openssl命令的帮助。我需要在pkcs12证书中自动检索subject =行,以查找我正在处理的脚本。
我使用openssl查看身份/证书的内容:
openssl pkcs12 -info -in /Users/[user]/Desktop/ID.pfx
但我提示三次输入密码。我使用-passin来消除其中一个密码提示,但我仍然被提示输入PEM密码和验证条目。
我需要找到一种方法将$ {password}传递给其他两个密码挑战,或者让脚本问题为ctl-c。我需要的信息在第二个密码提示之前输出到stdout。
任何帮助,将不胜感激!
很显然,我为这篇文章输出了证书输出….但你应该明白我所看到的:
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 to strip trailing whitespace):
$ openssl pkcs12 -in ~/cert.p12 -nodes \ -passin pass:"my password" | openssl x509 -noout -subject \ | awk -F'[=/]' '{print $6}'`.strip`