Nützliche Usecases für OpenSSL.
Was bei https einfach mit ssllabs.com zu machen ist, geht bei anderen Protokollen nicht mehr, auch hier ist OpenSSL der Problemlöser.
echo | openssl s_client -connect example.com:443 -servername example.com -showcerts # Typischer https Server
echo | openssl s_client -connect mail.example.com:25 -starttls smtp -showcerts # Macht unser Mailserver bei STARTTLS alles richtig?
Damit kann man auch gleich herausfinden, ob ein Server Client Zertifikate nutzt. Wo Client Zertifikate sind, gibt es auch eine PKI…
Hier am Beispiel Let's Encrypt. Zunächst muss man sich die beteiligten Zertifikate beschaffen, dann kann die Validierung beginnen.
echo | openssl s_client -connect ip6.li:443 -servername ip6.li -showcerts
openssl ocsp -CAfile letsencrypt.intermediate.pem -issuer letsencrypt.intermediate.pem -cert ip6.li.pem -url http://r3.o.lencr.org -text
Das Server Zertifkat wurde unter ip6.li.pem und as Let's Encrypt Intermediate CA Zertifikat, das gleichzeitig von Let's Encrypt als OCSP Signing Zertifikat genutzt wird, unter letsencrypt.intermediate.pem gespeichert. Nun kann mit OpenSSL eine Validierung erfolgen.
Manchmal muss man aus einem signierten Profile den Klartext aus dem signierten File extrahieren, ohne das Zertifikat zu validieren, z.B. falls man das Root Zertifikat nicht mehr bekommen kann.
openssl smime -verify -noverify -inform DER -in profile.mobileconfig -out profile.mobileconfig.xml
In profile.mobileconfig.xml hat man nun den Klartext.