Was bedeutet Rückgabe verifizieren: 1 bedeutet in der openssl-Ausgabe

9

Ich verstehe die openssl-Ausgabe nicht. OpenSL wird wie folgt ausgeführt:

#openssl s_client -connect google.com:443 -CAfile cacert.pem < /dev/null

Letztendlich ist alles in Ordnung, da das Zertifikat des Endunternehmens als OK verifiziert wurde: Verify return code: 0 (ok)

aber was ist mit der Überprüfung return:1am Anfang der Ausgabe für die Zwischenprodukte unten? Was bedeutet das oder worum geht es?

Tiefe = 3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority Rückgabe überprüfen: 1
Tiefe = 2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA Rückgabe überprüfen: 1
Tiefe = 1 C = USA, O = Google Inc., CN = Google Internet Authority G2 Rückgabe überprüfen: 1
Tiefe = 0 C = USA, ST = Kalifornien, L = Mountain View, O = Google Inc, CN = google.com Rückgabe überprüfen: 1

--- ---.
Zertifikatskette
 0 s: / C = US / ST = Kalifornien / L = Blick auf die Berge / O = Google Inc / CN = google.com
   i: / C = US / O = Google Inc / CN = Google Internet Authority G2
 1 s: / C = US / O = Google Inc / CN = Google Internet Authority G2
   i: / C = US / O = GeoTrust Inc./CN=GeoTrust Global CA.
 2 s: / C = US / O = GeoTrust Inc./CN=GeoTrust Global CA.
   i: / C = US / O = Equifax / OU = Equifax Secure Certificate Authority
--- ---.


Jouell
quelle

Antworten:

12

Die Rückruffunktion überprüfen (die verwendet wird, um die endgültige Überprüfung der Anwendbarkeit des Zertifikats für die jeweilige Verwendung durchzuführen) wird von SSL an ein Feld übergeben, das als preverify_okayFeld bezeichnet wird und angibt, ob die Zertifikatkette die für alle Fälle geltenden grundlegenden Prüfungen bestanden hat. A 1bedeutet, dass diese Prüfungen bestanden wurden.

int verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx)

Die Funktion verify_callback wird verwendet, um das Verhalten zu steuern, wenn das Flag SSL_VERIFY_PEER gesetzt ist. Es muss von der Anwendung bereitgestellt werden und erhält zwei Argumente: preverify_ok gibt an, ob die Überprüfung des betreffenden Zertifikats bestanden wurde (preverify_ok = 1) oder nicht (preverify_ok = 0).

Das verify return:1zeigt das.

Sie können den Code überprüfen, wenn Sie weitere Details wünschen:

int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)
    {
    [ snip ]
    BIO_printf(bio_err,"verify return:%d\n",ok);
    return(ok);
    }
David Schwartz
quelle
Auch das vollständige Dokument lebt hier: openssl.org/docs/manmaster/ssl/SSL_CTX_set_verify.html
Jouell