2011-12-14 14 views
21

openssl komutunda yardım almak istiyorum. Çalıştığım bir komut dosyası için pkcs12 sertifikasında konu = satırını otomatik hale getirmem gerekiyor. Ben Kimlik/Belgesi içeriğini görüntülemek için openssl kullandımpkcs12 sertifikasından bilgi almak için openssl ile çalışma

: Ben parola üç kez isteniyor

openssl pkcs12 -info -in /Users/[user]/Desktop/ID.pfx 

Ama. Parola iletilerinden birini ortadan kaldırmak için kullanıyorum, ancak hala PEM geçiş deyimi ve doğrulama girişi isteniyor.
Diğer iki parola sorununa $ {password} geçmek için bir yol bulmalıyım veya bir ctl-c komut dosyası sorunu var. İhtiyacım olan bilgi parçası, ikinci şifre isteminden önce stdout'a verilir.

Herhangi bir yardım için teşekkür ederiz!

Açıkçası ben bu yazı için sertifika çıkışını gutted .... ama ne gördüğümü fikrini almalısınız: "Cevapsız bu soruyu kaldırmak için buraya

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# 
+0

Muhtemelen davayla ilgili örnek bir .pfx/.p12 dosyası göndermelisiniz. Ayrıca, -clcerts', 'nokeys', '-password' gibi seçenekleri kullanmayı düşünün. Ayrıca 'openssl pkcs12 -help' deneyin. – abbot

+0

openssl pkcs12 -nokeys -in /Users/[User]/Desktop/ID.pfx -passin pass: $ {password} hile yaptı. Beni doğru yönde işaret ettiğin için teşekkür ederim! – Sonic84

cevap

23

bu deneyin:

$ openssl pkcs12 -in ~/cert.p12 -nodes \ 
    -passin pass:"my password" | openssl x509 -noout -subject 

Ya da bu ortak adı için (yakut st izleyen boşluk):

$ openssl pkcs12 -in ~/cert.p12 -nodes \ 
    -passin pass:"my password" | openssl x509 -noout -subject \ 
    | awk -F'[=/]' '{print $6}'`.strip` 
10

Kopyalama cevap "filtresi:

openssl pkcs12 -nokeys -in /Users/[User]/Desktop/ID.pfx -passin pass:${password} 
0

Bu birkaç yıl geç; Openssl, & vb. Ile aşina değilim; ama "-nokey" lerle ilgili bir referans görmediğimden, benim için neyin işe yaradığını anlatacağım. man

stdin  read the password from standard input. 
2

den

echo -e "$password\n$passphrase\n$passphrase\n" \ 
| openssl pkcs12 -in /Users/[user]/Desktop/ID.pfx -passin stdin -passout stdin 

Ayrıca manuel giriş için daha istemde olmaz -passin ve -passout kullanabilirsiniz.

openssl pkcs12 -in seldpush_dev.p12 -passin pass:$password -passout pass:$password | \ 
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | \ 
openssl x509 -subject -noout 

Temelde, bu değeri getirmesi -keyword kullanın: Burada örnek bir koddur. Senin durumunda, -subject.

İlgili konular