Difference between revisions of "Letsencrypt/openssl"

From Hackerspace.gr
Jump to: navigation, search
Line 1: Line 1:
  
<p>
+
== Useful Commands ==
  
'''Useful Commands'''
+
 
</p>
+
 
 +
=== OpenSSL ===
  
 
notes based on '''CentOS''' 6.7
 
notes based on '''CentOS''' 6.7
Line 125: Line 126:
  
 
</pre>
 
</pre>
 +
 +
 +
 +
 +
----
 +
 +
 +
=== Let's Encrypt ===
 +
 +
 +
 +
O client του Let's Encrypt θέλει python 2.7
 +
 +
Σε CentOS 6 έχει by default python 2.6
 +
 +
 +
Οπότε παρακάτω είναι μερικές

Revision as of 12:02, 18 March 2016

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


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