struttura CERT_TRUST_STATUS (wincrypt.h)

La struttura CERT_TRUST_STATUS contiene informazioni di attendibilità su un certificato in una catena di certificati, informazioni di attendibilità di riepilogo su una semplice catena di certificati o informazioni di riepilogo su una matrice di catene semplici.

Sintassi

typedef struct _CERT_TRUST_STATUS {
  DWORD dwErrorStatus;
  DWORD dwInfoStatus;
} CERT_TRUST_STATUS, *PCERT_TRUST_STATUS;

Members

dwErrorStatus

dwErrorStatus è una maschera di bit dei codici di errore seguenti definiti per certificati e catene.

Valore Significato
CERT_TRUST_NO_ERROR
0x00000000
Nessun errore trovato per questo certificato o catena.
CERT_TRUST_IS_NOT_TIME_VALID
0x00000001
Questo certificato o uno dei certificati nella catena di certificati non è valido.
CERT_TRUST_IS_REVOKED
0x00000004
Il trust per questo certificato o uno dei certificati nella catena di certificati è stato revocato.
CERT_TRUST_IS_NOT_SIGNATURE_VALID
0x00000008
Il certificato o uno dei certificati nella catena di certificati non ha una firma valida.
CERT_TRUST_IS_NOT_VALID_FOR_USAGE
0x00000010
Il certificato o la catena di certificati non è valido per l'utilizzo proposto.
CERT_TRUST_IS_UNTRUSTED_ROOT
0x00000020
Il certificato o la catena di certificati si basa su una radice non attendibile.
CERT_TRUST_REVOCATION_STATUS_UNKNOWN
0x00000040
Lo stato di revoca del certificato o uno dei certificati nella catena di certificati è sconosciuto.
CERT_TRUST_IS_CYCLIC
0x00000080
Uno dei certificati nella catena è stato emesso da un'autorità di certificazione che il certificato originale aveva certificato.
CERT_TRUST_INVALID_EXTENSION
0x00000100
Uno dei certificati ha un'estensione non valida.
CERT_TRUST_INVALID_POLICY_CONSTRAINTS
0x00000200
Il certificato o uno dei certificati nella catena di certificati ha un'estensione dei vincoli dei criteri e uno dei certificati emessi ha un'estensione per il mapping dei criteri non consentita o non dispone di un'estensione dei criteri di rilascio necessaria.
CERT_TRUST_INVALID_BASIC_CONSTRAINTS
0x00000400
Il certificato o uno dei certificati nella catena di certificati ha un'estensione di vincoli di base e il certificato non può essere usato per rilasciare altri certificati oppure la lunghezza del percorso della catena è stata superata.
CERT_TRUST_INVALID_NAME_CONSTRAINTS
0x00000800
Il certificato o uno dei certificati nella catena di certificati ha un'estensione dei vincoli di nome non valida.
CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT
0x00001000
Il certificato o uno dei certificati nella catena di certificati ha un'estensione dei vincoli di nome che contiene campi non supportati. I campi minimo e massimo non sono supportati. Pertanto il valore minimo deve essere sempre zero e il valore massimo deve essere sempre assente. Per un altro nome è supportato solo l'UPN. Le opzioni di nome alternativo seguenti non sono supportate:
  • Indirizzo X400
  • Nome entità EDI
  • ID registrato
CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT
0x00002000
Il certificato o uno dei certificati nella catena di certificati ha un'estensione dei vincoli di nome e manca un vincolo di nome per una delle scelte di nome nel certificato finale.
CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT
0x00004000
Il certificato o uno dei certificati nella catena di certificati ha un'estensione dei vincoli di nome e non esiste un vincolo di nome consentito per una delle scelte di nome nel certificato finale.
CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT
0x00008000
Il certificato o uno dei certificati nella catena di certificati ha un'estensione dei vincoli di nome e una delle scelte relative al nome nel certificato finale viene esclusa in modo esplicito.
CERT_TRUST_IS_OFFLINE_REVOCATION
0x01000000
Lo stato di revoca del certificato o uno dei certificati nella catena di certificati è offline o obsoleto.
CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY
0x02000000
Il certificato finale non dispone di criteri di rilascio risultanti e uno dei certificati dell'autorità di certificazione emittente ha un'estensione dei vincoli dei criteri che lo richiede.
CERT_TRUST_IS_EXPLICIT_DISTRUST
0x04000000
Il certificato non è attendibile in modo esplicito.

Windows Vista e Windows Server 2008: Viene avviato il supporto per questo flag.

CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT
0x08000000
Il certificato non supporta un'estensione critica.

Windows Vista e Windows Server 2008: Viene avviato il supporto per questo flag.

CERT_TRUST_HAS_WEAK_SIGNATURE
0x00100000
Il certificato non è stato firmato. In genere questo indica che gli algoritmi hash MD2 o MD5 sono stati usati per creare un hash del certificato.

Windows 8 e Windows Server 2012: inizia il supporto per questo flag.

 

I codici seguenti sono definiti solo per le catene.

Valore Significato
CERT_TRUST_IS_PARTIAL_CHAIN
0x00010000
La catena di certificati non è completa.
CERT_TRUST_CTL_IS_NOT_TIME_VALID
0x00020000
Un elenco di certificati attendibili (CTL) usato per creare questa catena non è stato valido.
CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID
0x00040000
Un CTL usato per creare questa catena non ha una firma valida.
CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE
0x00080000
Un CTL usato per creare questa catena non è valido per questo utilizzo.

dwInfoStatus

Vengono definiti i codici di stato delle informazioni seguenti.

Valore Significato
CERT_TRUST_HAS_EXACT_MATCH_ISSUER
0x00000001
Per questo certificato è stato trovato un certificato emittente di corrispondenza esatta. Questo codice di stato si applica solo ai certificati.
CERT_TRUST_HAS_KEY_MATCH_ISSUER
0x00000002
Per questo certificato è stato trovato un certificato dell'autorità di certificazione di corrispondenza della chiave. Questo codice di stato si applica solo ai certificati.
CERT_TRUST_HAS_NAME_MATCH_ISSUER
0x00000004
Per questo certificato è stato trovato un certificato dell'autorità di certificazione per il nome. Questo codice di stato si applica solo ai certificati.
CERT_TRUST_IS_SELF_SIGNED
0x00000008
Questo certificato è autofirmato. Questo codice di stato si applica solo ai certificati.
CERT_TRUST_HAS_PREFERRED_ISSUER
0x00000100
Il certificato o la catena ha un'autorità di certificazione preferita. Questo codice di stato si applica ai certificati e alle catene.
CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY
0x00000400
Esiste un criterio della catena di rilascio. Questo codice di stato si applica ai certificati e alle catene.
CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS
0x00000400
Vincoli di nome validi per tutti gli spazi dei nomi, inclusi UPN. Questo codice di stato si applica ai certificati e alle catene.
CERT_TRUST_IS_PEER_TRUSTED
0x00000800
Questo certificato è peer trusted. Questo codice di stato si applica solo ai certificati.

Windows Vista e Windows Server 2008: Il supporto per questo flag inizia.

CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED
0x00001000
La validità dell'elenco di revoche di certificati (CRL) del certificato è stata estesa. Questo codice di stato si applica solo ai certificati.

Windows Vista e Windows Server 2008: Il supporto per questo flag inizia.

CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE
0x00002000
Il certificato è stato trovato in un archivio a cui fa riferimento il membro hExclusiveRoot o hExclusiveTrustedPeople della struttura CERT_CHAIN_ENGINE_CONFIG.

Windows 7 e Windows Server 2008 R2: Il supporto per questo flag inizia.

CERT_TRUST_IS_COMPLEX_CHAIN
0x00010000
La catena di certificati creata è una catena complessa. Questo codice di stato si applica solo alle catene.
CERT_TRUST_IS_CA_TRUSTED
0x00004000
Un certificato CA intermedio non autofirmato è stato trovato nell'archivio a cui fa riferimento il membro hExclusiveRoot della struttura CERT_CHAIN_ENGINE_CONFIG . Il certificato CA viene considerato come ancoraggio di attendibilità per la catena di certificati. Questo flag verrà impostato solo se il valore CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG è impostato nel membro dwExclusiveFlagsdella struttura CERT_CHAIN_ENGINE_CONFIG.

Se questo flag è impostato, il CERT_TRUST_IS_SELF_SIGNED e i flag dwErrorStatus CERT_TRUST_IS_PARTIAL_CHAIN non verranno impostati.

Windows 8 e Windows Server 2012: viene avviato il supporto per questo flag.

Requisiti

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

Vedi anche

CERT_CHAIN_CONTEXT

CERT_CHAIN_ENGINE_CONFIG

CERT_SIMPLE_CHAIN