Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- p=yourserver.com
- t=$(mktemp -d)
- cd $t
- # hole die ganzen Zertifikate ab bis zur root-CA
- openssl s_client -connect $p:443 -showcerts -verify 5 -CApath /etc/ssl/certs/ -sess_out https.txt > https2.txt
- # Mit Q kann man den Ablauf beenden um das Warten auf den Timeout abzubrechen.
- # Speichere die enthaltenen Zertifikate in die Dateien 1..n:
- awk 'BEGIN {n=0;o=0} (/BEGIN CERTIFICATE/){n++;o=1}(o==1){print >> n }(/END CERTIFICATE/){o=0}END{print n}' https2.txt
- # Das erste ist das vom eigentlichen Server, die weiteren die Chain und das letzte dann die Root-CA.
- # TODO: das mit "bis zur root-CA" klappt nicht immer, warum?
- # Hole die OCSP aus dem Server-Zertifikat:
- ocsp=$(openssl x509 -in 1 -noout -text | perl -ne 'if (m;OCSP - URI:http://(.*)/?;) {print "$1\n"}' )
- # Die Chain bis zum Root werden denn in umgekehrter Reihenfolge n..2 als -issuer übergeben und das vom Server als -cert.
- # TODO die issuer automatisch korrekt einfügen
- openssl ocsp -issuer 3 -issuer 2 -cert 1 -text -host $ocsp:80 > https3.txt
- # Auf error-out sollte dann Response verify OK erscheinen.
- # Die genauen Details der Prüfung stehen in https3.txt
- # Wenn alles geprüft ist aufräumen
- cd
- rm -rf $t
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement