OpenSSL Verifica: Differenza tra "impossibile ottenere il certificato emittente" e "impossibile ottenere il certificato emittente locale"

4

Dalle pagine man :

2 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: unable to get issuer certificate

the issuer certificate of a looked up certificate could not be found. This normally means the list of trusted certificates is not complete.

20 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: unable to get local issuer certificate

the issuer certificate could not be found: this occurs if the issuer certificate of an untrusted certificate cannot be found.

Non sono sicuro di averlo capito. Per me sembra tutto uguale. Cosa significano con " cercato certificato " e " certificato non affidabile ". Un certificato non attendibile sarebbe un certificato lungo la catena ma il certificato di origine. Un certificato di ricerca potrebbe essere un certificato ritirato esternamente, ad esempio AuthoritiyInfoAccess . Ma non sono davvero sicuro qui.

    
posta Hansi 04.12.2016 - 21:36
fonte

1 risposta

2

Entrambi i cides di errore sono molto simili. Puoi visualizzarne l'utilizzo su crypto/x509/x509_vfy.c linea 432 in poi:

if (trust != X509_TRUST_TRUSTED && !bad_chain) {
    if ((chain_ss == NULL) || !ctx->check_issued(ctx, x, chain_ss)) {
        if (ctx->last_untrusted >= num)
            ctx->error = X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY;
        else
            ctx->error = X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT;
        ctx->current_cert = x;
    } else {
        …
    }
    …
 }

Pertanto, l'unica differenza tra entrambi i codici di errore è se ctx->last_untrusted è stato > = num quando è stato trovato il certificato non sicuro.

Qui num contiene il numero di certificati non attendibili e last_untrusted l'indice dell'ultimo certificato non attendibile.

La condizione last_untrusted >= num ( X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY ) verrebbe soddisfatta se non fosse stato trovato un chaing attendibile su un certificato nel trust store, mentre X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT sembra accadere se una CA ha eguagliato, ma la convalida della catena ha fallito comunque, forse a causa di una catena malevola ma forse semplicemente a causa di un intermedio mancante.

    
risposta data 05.12.2016 - 00:11
fonte

Leggi altre domande sui tag