Cosa verifica return: 1 significa nell'output openssl


10

Non capisco l'output di openssl. Esecuzione di openssl come segue:

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

Alla fine tutto va bene per il fatto che il certificato dell'entità finale è stato verificato OK: Verify return code: 0 (ok)

ma per quanto riguarda w / la verifica return:1all'inizio dell'output per gli intermedi di seguito? Che cosa significa o che senso ha?

profondità = 3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority verifica ritorno: 1
profondità = 2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA verifica ritorno: 1
profondità = 1 C = US, O = Google Inc, CN = Google Internet Authority G2 verifica ritorno: 1
profondità = 0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = google.com verifica ritorno: 1

---
Catena di certificati
 0 s: / C = US / ST = California / L = Mountain View / 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 = Autorità di certificazione sicura Equifax
---


Risposte:


13

La funzione di verifica callback (utilizzata per eseguire la verifica finale dell'applicabilità del certificato per l'uso particolare) viene passata da un campo SSL chiamato preverify_okaycampo che indica se la catena di certificati ha superato i controlli di base che si applicano a tutti i casi. A 1significa che questi controlli sono passati.

int verify_callback(int preverify_ok, X509_STORE_CTX *x509_ctx)

La funzione confirm_callback viene utilizzata per controllare il comportamento quando è impostato il flag SSL_VERIFY_PEER. Deve essere fornito dall'applicazione e riceve due argomenti: preverify_ok indica se la verifica del certificato in questione è stata superata (preverify_ok = 1) oppure no (preverify_ok = 0).

Questo è ciò che verify return:1sta mostrando.

Puoi controllare il codice se vuoi maggiori dettagli:

int MS_CALLBACK verify_callback(int ok, X509_STORE_CTX *ctx)
    {
    [ snip ]
    BIO_printf(bio_err,"verify return:%d\n",ok);
    return(ok);
    }

Anche il documento completo vive qui: openssl.org/docs/manmaster/ssl/SSL_CTX_set_verify.html
jouell
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.