Versuchen Sie es mit Grepping

Versuchen Sie es mit Grepping

Ist es möglich, einen OpenSSL-Befehl zu verwenden, um die Verschlüsselung eines SSL-Zertifikats auf einer Live-Website zu überprüfen?

Verwenden Sie beispielsweise Folgendes: openssl s_client -connect example.com:443 -crlf

Der obige Befehl gibt neben der Chiffre zahlreiche Informationen zurück: Cipher : TLS_AES_256_GCM_SHA384

Ich suche nach dem OpenSSL-Befehl, der nur den Verschlüsselungswert zurückgibt.

Antwort1

Versuchen Sie es mit Grepping

$ echo -n '' | openssl s_client -connect example.com:443 2>&1 | grep -Po "(?<=Cipher is ).*$"
TLS_AES_256_GCM_SHA384

Oder Sie können es auch in eine Funktion einbinden, wie folgt ...

$ function get-s_clientCipher {
    echo -n '' | 
    openssl s_client -connect $1 2>&1 | 
    grep --perl-regexp --only-matching -- "(?<=Cipher is ).*$";
}

... und dann verwenden Sie es so ...

$ get-s_clientCipher example.com:443
TLS_AES_256_GCM_SHA384

Aber ich bin mir nicht sicher, ob Ihnen das wirklich weiterhelfen wird. Denn das Ergebnis hängt sehr stark von Ihrer lokalen Umgebung ab. Es wird also wenig allgemeine Bedeutung haben. -- Wenn Sie also eine allgemeinere Diagnose der Chiffren eines Servers erhalten möchten, verwenden Sie etwas wie dashttps://testssl.sh/Shell-Skript. (Oder wenn der Server über das Internet erreichbar ist, versuchen Siehttps://www.ssllabs.com/ssltest/)

verwandte Informationen