struttura CERT_CHAIN_POLICY_STATUS (wincrypt.h)

La struttura CERT_CHAIN_POLICY_STATUS contiene informazioni sullo stato della catena di certificati restituite dalla funzione CertVerifyCertificateChainPolicy quando le catene di certificati vengono convalidate.

Sintassi

typedef struct _CERT_CHAIN_POLICY_STATUS {
  DWORD cbSize;
  DWORD dwError;
  LONG  lChainIndex;
  LONG  lElementIndex;
  void  *pvExtraPolicyStatus;
} CERT_CHAIN_POLICY_STATUS, *PCERT_CHAIN_POLICY_STATUS;

Members

cbSize

Dimensione, in byte, della struttura.

dwError

Valore che indica che è stata rilevata una condizione di errore o non valida durante il processo di convalida. I valori di questo membro sono specifici del tipo di criterio specificato dal valore del parametro pszPolicyOID della funzione CertVerifyCertificateChainPolicy .

Errori dei criteri di base (CERT_CHAIN_POLICY_BASE)

Valore Significato
TRUST_E_CERT_SIGNATURE
0x80096004L
La firma del certificato non può essere verificata.
CRYPT_E_REVOKED
0x80092010L
Il certificato o la firma è stato revocato.
CERT_E_UNTRUSTEDROOT
0x800B0109L
Una catena di certificazione elaborata correttamente ma terminata in un certificato radice non considerato attendibile dal provider di attendibilità.
CERT_E_UNTRUSTEDTESTROOT
0x800B010DL
Il certificato radice è un certificato di test e le impostazioni dei criteri non consentono i certificati di test.
CERT_E_CHAINING
0x800B010AL
Una catena di certificati non è stata creata correttamente.
CERT_E_WRONG_USAGE
0x800B0110L
Il certificato non è valido per l'utilizzo richiesto.
CERT_E_EXPIRED
0x800B0101L
Un certificato obbligatorio non rientra nel periodo di validità.
CERT_E_INVALID_NAME
0x800B0114L
Il nome del certificato non è valido. Il nome non è incluso nell'elenco consentito o viene escluso in modo esplicito.
CERT_E_INVALID_POLICY
0x800B0113L
Il certificato ha criteri non validi.
TRUST_E_BASIC_CONSTRAINTS
0x80096019L
I vincoli di base del certificato non sono validi o sono mancanti.
CERT_E_CRITICAL
0x800B0105L
Il certificato viene usato per uno scopo diverso dallo scopo specificato dalla relativa CA.
CERT_E_VALIDITYPERIODNESTING
0x800B0102L
I periodi di validità della catena di certificazione non annidano correttamente.
CRYPT_E_NO_REVOCATION_CHECK
0x80092012L
La funzione di revoca non è riuscita a controllare la revoca per il certificato.
CRYPT_E_REVOCATION_OFFLINE
0x80092013L
La funzione di revoca non è in grado di completare il controllo di revoca perché il server di revoca è offline.
 

Errori dei criteri dei vincoli di base (CERT_CHAIN_POLICY_BASIC_CONSTRAINTS).

Valore Significato
TRUST_E_BASIC_CONSTRAINTS
0x80096019L
I vincoli di base del certificato non sono validi o sono mancanti.
 

Errori dei criteri Authenticode (CERT_CHAIN_POLICY_AUTHENTICODE e CERT_CHAIN_POLICY_AUTHENTICODE_TS).

Questi errori si aggiungono agli errori dei criteri di base.

Valore Significato
CERT_E_PURPOSE
0x800B0106L
Il certificato viene usato per uno scopo diverso da quello specificato dalla CA emittente.
CERT_E_REVOKED
0x800B010CL
Il certificato è stato revocato in modo esplicito dall'emittente.
CERT_E_REVOCATION_FAILURE
0x800B010EL
Impossibile continuare il processo di revoca e non è stato possibile controllare il certificato.
 

Errori dei criteri SSL (CERT_CHAIN_POLICY_SSL).

Questi errori si aggiungono agli errori dei criteri di base.

Valore Significato
CERT_E_UNTRUSTEDROOT
0x800B0109L
Una catena di certificazione elaborata correttamente ma terminata in un certificato radice non considerato attendibile dal provider di attendibilità.
CERT_E_CN_NO_MATCH
0x800B010FL
Il nome CN del certificato non corrisponde al valore passato.
CERT_E_PURPOSE
0x800B0106L
Il certificato viene usato per uno scopo diverso dagli scopi specificati dalla relativa CA.
CERT_E_ROLE
0x800B0103L
Un certificato che può essere usato solo come entità finale viene usato come CA o viceversa.
 

Errori di Criteri radice Microsoft (CERT_CHAIN_POLICY_MICROSOFT_ROOT).

Valore Significato
CERT_E_UNTRUSTEDROOT
0x800B0109L
Una catena di certificazione elaborata correttamente ma terminata in un certificato radice non considerato attendibile dal provider di attendibilità.
 

Errori dei criteri EV.

Valore Significato
CERT_E_CHAINING
0x800B010AL
Impossibile compilare la catena di certificati in un'autorità radice attendibile.
CERT_E_WRONG_USAGE
0x800B0110L
Il certificato non è valido per l'utilizzo richiesto.

lChainIndex

Indice che indica la catena in cui è stato trovato un errore o una condizione non valida. Per altre informazioni, vedere la sezione Osservazioni.

lElementIndex

Indice che indica l'elemento in una catena in cui è stato trovato un errore o una condizione non valida. Per altre informazioni, vedere la sezione Osservazioni.

pvExtraPolicyStatus

Puntatore a una struttura. Il tipo di struttura è determinato dal valore del parametro pszPolicyOID della funzione CertVerifyCertificateChainPolicy . Oltre agli errori dwError , anche lo stato aggiuntivo specifico del criterio OID può essere restituito qui per fornire informazioni aggiuntive sullo stato della catena. Questo puntatore può essere impostato facoltativamente su una struttura AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS .

Commenti

Se sia lChainIndex che lElementIndex sono impostati su -1, l'errore o la condizione non valida si applica all'intero contesto della catena. Se solo lElementIndex è impostato su -1, l'errore o la condizione non valida si applica alla catena indicizzata da lChainIndex. In caso contrario, l'errore o la condizione non valida si applica all'elemento del certificato in pChainContext-rgpChain[lChainIndex]->>rgpElement[lElementIndex].

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione wincrypt.h