Condividi tramite


struttura CERT_USAGE_MATCH (wincrypt.h)

La struttura CERT_USAGE_MATCH fornisce criteri per identificare i certificati dell'autorità di certificazione da usare per compilare una catena di certificati.

Sintassi

typedef struct _CERT_USAGE_MATCH {
  DWORD             dwType;
  CERT_ENHKEY_USAGE Usage;
} CERT_USAGE_MATCH, *PCERT_USAGE_MATCH;

Members

dwType

Determina il tipo di corrispondenza dell'autorità di certificazione da eseguire. Nella logica AND il certificato deve soddisfare tutti i criteri. Nella logica OR il certificato deve soddisfare almeno uno dei criteri. I codici seguenti sono definiti per determinare la logica usata nella corrispondenza. Per altre informazioni sulla modalità di applicazione, vedere Osservazioni.

Valore Significato
USAGE_MATCH_TYPE_AND
Logica AND
USAGE_MATCH_TYPE_OR
Logica OR
 

La logica di corrispondenza di utilizzo predefinita è USAGE_MATCH_TYPE_AND.

Usage

CERT_ENHKEY_USAGE struttura (CERT_ENHKEY_USAGE è un nome typedef alternativo per la strutturaCTL_USAGE) che include una matrice di identificatori di oggetto certificato (OID) che un certificato deve corrispondere per essere valido.

Commenti

Se il membro dwType è impostato su USAGE_MATCH_TYPE_OR, il membro Utilizzo non può essere vuoto.

Se il membro dwType è impostato su USAGE_MATCH_TYPE_AND, un membro Utilizzo vuoto indica che qualsiasi utilizzo annidato nella catena funzionerà.

Di seguito viene descritto il comportamento fornito da due estensioni EKU (Enhanced Key Usage) e EKU B.

LOGICA AND

Se il chiamante specifica EKU A EKU B, il certificato di destinazione è valido se EKU A e EKU B sono supportati da ogni certificato nel percorso (da un'impostazione EKU esplicita o tramite un'estensione EKU assente nei certificati CA).

Logica OR

Se il chiamante specifica EKU A O EKU B, il certificato di destinazione è valido se EKU A o EKU B è supportato nel percorso.

Oltre al caso semplice in cui i certificati nel percorso contengono EKU A o EKU B, la clausola OR ha la valutazione speciale seguente.

Dato il percorso seguente, il test OR viene considerato valido:

Anche se l'intersezione delle EKUS nella catena è un set vuoto, l'uso del certificato EE è valido per EKU A perché la richiesta all'API di crittografia specifica che il certificato è valido se ogni certificato del percorso supporta EKU A O EKU B.

Requisiti

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