2012-08-03 13 views
6

c'è un modo per leggere il nome comune da un file .pem nella mia shell?Leggi nome comune dal file .pem

Grazie

+0

Puoi dirci come è stato creato il file .pem e confermare che si tratta di certificati x509? –

risposta

12

Innanzitutto, l'estensione .pem si riferisce solo al tipo di codifica utilizzata nel file.

Il nome comune sarebbe una caratteristica del soggetto o l'emittente di un certificato, e può essere riconosciuto dalle linee

$ grep CERTIFICATE f.pem 
-----BEGIN CERTIFICATE----- 
-----END CERTIFICATE----- 

e un sacco di Base64 codificati testo in mezzo.

Se il file contiene un .pemx509 certificate, questo dovrebbe fare il trucco:

openssl x509 -in cacert.pem -noout -text 

Questo scaricherà tutta certificato. Il comando openssl x509 ha diverse opzioni per sopprimere i campi che non vuoi vedere. Potete trovare quelli spiegato nella pagina man, sotto TEXT OPTIONS

Si può anche scegliere di ottenere mostrato solo il 'soggetto' del certificato:

openssl x509 -in cacert.pem -noout -subject 

Esempio:

Diamo catturare il certificato di stackoverflow.com direttamente dal server

$ : | openssl s_client -connect stackoverflow.com:443 > f.pem 2>& 1 && 
     openssl x509 -in f.pem -noout -subject 2>& 1 

Uscite:

subject= /C=US/ST=NY/L=New York/O=Stack Exchange, Inc./CN=*.stackexchange.com