Letsencrypt/openssl

From Hackerspace.gr
Revision as of 12:02, 18 March 2016 by Ebal (Talk | contribs)

Jump to: navigation, search

Useful Commands

OpenSSL

notes based on CentOS 6.7



Τα πιστοποιητικά (certificates) ονομάζονται x509


Πως μπορούμε να δούμε το πιστοποιητικό ενός site


$ openssl s_client -connect hackerspace.gr:443  </dev/null


Το πιστοποιητικό είναι μεταξύ του

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----


Μπορούμε να μετατρέψουμε το πιστοποιητικό σε text output για να πάρουμε περισσότερες πληροφορίες, όπως πότε λήγει:

$ openssl x509 -text -in <(openssl s_client -connect hackerspace.gr:443)


ή

$ openssl x509 -text -in <(openssl s_client -connect hackerspace.gr:443) | grep -E 'Not Before|Not After'

            Not Before: Jun 12 17:55:50 2015 GMT
            Not After : Jun 13 05:21:51 2017 GMT


Πως μπορούμε να δούμε, ποιος έχει εκδόσει το πιστοποιητικό και ποιοι οργανισμοί έχουν υπογράψει

$ openssl s_client -connect hackerspace.gr:443  </dev/null  | grep ^depth



depth=2 C = IL, O = StartCom Ltd., OU = Secure Digital Certificate Signing, CN = StartCom Certification Authority

depth=1 C = IL, O = StartCom Ltd., OU = Secure Digital Certificate Signing, CN = StartCom Class 2 Primary Intermediate Server CA

depth=0 C = GR, ST = Attica, L = Filadelfeia, O = Pierros Papadeas, CN = *.hackerspace.gr, emailAddress = postmaster@hackerspace.gr

DONE



Το depth=0 είναι το πιστοποιητικό μας, 
το depth=1 είναι ο intermediate 
το depth=2 είναι o root Certificate Authority





Πως βλέπουμε όλα τα πιστοποιητικά από ένα site (δλδ το δικό του και των intermediates):



$ openssl s_client -showcerts -connect hackerspace.gr:443 </dev/null


save them all to a file:


$ openssl s_client -showcerts -connect hackerspace.gr:443 </dev/null | sed -n '/BEGIN/,/END/p' > /tmp/certs



save the first certificate (site certificate) to a file:

$ openssl s_client -showcerts -connect hackerspace.gr:443 </dev/null | sed -n '/BEGIN/,/END/p;/END/q'  > /tmp/hackerspace.crt


verify it:



$ openssl x509 -text -in /tmp/hackerspace.crt


verify chain



$ openssl verify -CAfile <(cat /etc/pki/tls/certs/ca-bundle.crt /tmp/certs ) /tmp/hackerspace.crt 

/tmp/hackerspace.crt: OK





=== Let's Encrypt === 


O client του Let's Encrypt θέλει python 2.7

Σε CentOS 6 έχει by default python 2.6


Οπότε παρακάτω είναι μερικές