SSL-Zertifikate holen und prüfen

Wenn man das Zertifikat für eine Webseite prüfen will, geht das komfortabel über die entsprechende Funktion im Browser. Aber was ist mit anderen Protokollen? Etwa imaps? Mit diesem Befehlt holt man sich das Zertifikat und noch einiges mehr:

openssl s_client -connect {HOST}:{PORT}

Wenn man aber prüfen will, ob das Zertifikat gültig ist, dann geht das unter OS X mit folgendem Befehl:

security verify-cert -p ssl -s {HOST}  -c {HOST}.crt

Alles zusammen in einem Befehl:

HOST={HOST} ;  PORT={PORT} ; echo "" | openssl s_client -host $HOST -port $PORT 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/$HOST.crt ; security verify-cert -p ssl -s $HOST -c /tmp/$HOST.crt ; rm /tmp/$HOST.crt

Um ein PEM Zertifikat menschenlesbar zu machen, hilft dieser Befehl:

openssl x509 -noout -text -in [zertifikat.pem]
SSL-Zertifikate holen und prüfen