CERT_CHAIN_ENGINE_CONFIG struttura (wincrypt.h)

La struttura CERT_CHAIN_ENGINE_CONFIG imposta i parametri per la creazione di un motore di catena di certificati non predefinito. Il motore usato determina i modi in cui vengono compilate le catene di certificati.

Sintassi

typedef struct _CERT_CHAIN_ENGINE_CONFIG {
  DWORD      cbSize;
  HCERTSTORE hRestrictedRoot;
  HCERTSTORE hRestrictedTrust;
  HCERTSTORE hRestrictedOther;
  DWORD      cAdditionalStore;
  HCERTSTORE *rghAdditionalStore;
  DWORD      dwFlags;
  DWORD      dwUrlRetrievalTimeout;
  DWORD      MaximumCachedCertificates;
  DWORD      CycleDetectionModulus;
  HCERTSTORE hExclusiveRoot;
  HCERTSTORE hExclusiveTrustedPeople;
  DWORD      dwExclusiveFlags;
} CERT_CHAIN_ENGINE_CONFIG, *PCERT_CHAIN_ENGINE_CONFIG;

Members

cbSize

Dimensioni di questa struttura in byte.

hRestrictedRoot

Questo parametro di configurazione può essere usato per limitare l'archivio radice. Se usato, può essere l'handle di qualsiasi HCERTSTORE contenente solo un subset appropriato dei certificati nell'archivio radice.

hRestrictedTrust

Handle dell'archivio. Se usato, limita gli archivi a cui è stata eseguita la ricerca per trovare gli elenchi di controllo di controllo.

hRestrictedOther

Handle dell'archivio. Se usato, limita gli archivi cercati certificati e CCL.

cAdditionalStore

Conteggio di archivi aggiuntivi da cercare per i certificati e i certificati e i CCL necessari per compilare catene.

rghAdditionalStore

Puntatore a una matrice di handle di negozi per eventuali archivi aggiuntivi da cercare nelle catene di costruzione.

dwFlags

I flag seguenti sono definiti.

Valore Significato
CERT_CHAIN_CACHE_END_CERT
0x00000001
Le informazioni nel certificato finale vengono memorizzate nella cache. Per impostazione predefinita, le informazioni in tutti i certificati, ad eccezione del certificato finale vengono memorizzate nella cache come catena. L'impostazione di questo flag estende la memorizzazione nella cache al certificato finale.
CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL
0x00000004
Usare solo GLI URL memorizzati nella cache nella compilazione di una catena di certificati. Internet e intranet non vengono cercati oggetti basati su URL.
CERT_CHAIN_USE_LOCAL_MACHINE_STORE
0x00000008
Compilare la catena usando il percorso del Registro di sistema LocalMachine anziché il percorso CurrentUser.
CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE
0x00000010
Abilitare l'aggiornamento automatico della cache come catena in fase di compilazione.
CERT_CHAIN_ENABLE_SHARE_STORE
0x00000020
Consentire agli archivi certificati usati per compilare la catena da condividere.
CERT_CHAIN_DISABLE_AIA
0x00002000
Disattivare il recupero di AiA (Authority Information Access) in modo esplicito.

dwUrlRetrievalTimeout

Numero di millisecondi prima di un timeout per il recupero degli oggetti URL basati sulla rete. Può essere impostato su zero per usare il limite predefinito.

MaximumCachedCertificates

È possibile limitare il numero di certificati che possono essere memorizzati nella cache come catena. Può essere impostato su 0 per usare il limite predefinito.

CycleDetectionModulus

Numero di certificati aggiunti alla catena prima che venga effettuato un controllo per determinare se esiste un ciclo di certificati nella catena. Un ciclo può essere definito come avere lo stesso certificato in due posizioni diverse in una catena.

Più basso sarà il numero, verranno effettuati i controlli più frequenti. Il controllo aggiuntivo dei cicli di certificati rallenta notevolmente il processo. Questo parametro può essere impostato su zero per usare il limite predefinito.

hExclusiveRoot

Gestire un archivio certificati che contiene ancoraggi di attendibilità esclusivi. Se il membro hExclusiveRoot o hExclusiveTrustedPeople punta a un archivio valido, viene usata la modalità di attendibilità esclusiva per la compilazione della catena.

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

hExclusiveTrustedPeople

Gestire in un archivio certificati contenente certificati attendibili specifici dell'applicazione. Se il membro hExclusiveRoot o hExclusiveTrustedPeople punta a un archivio valido, viene usata la modalità di attendibilità esclusiva per la compilazione della catena.

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

dwExclusiveFlags

Il flag seguente può essere impostato. Il flag si applica solo se hExclusiveRoot o hExclusiveTrustedPeople o entrambi non sono NULL.

Windows 8 e Windows Server 2012: Il supporto per questo membro inizia.

Valore Significato
CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG
0x00000001
Indica che un certificato CA intermedio non autofirmato nell'archivio hExclusiveRoot deve essere considerato come ancoraggio di attendibilità durante la convalida del certificato. Se un certificato si concatena fino a questa CA, la compilazione della catena viene terminata e il certificato viene considerato attendibile. Nessun controllo di verifica o revoca della firma viene eseguito sul certificato CA.

Per impostazione predefinita, se questo flag non è impostato, solo i certificati autofirmati nell'archivio hExclusiveRoot vengono considerati ancoraggi attendibili.

Vedere anche il valore CERT_TRUST_IS_CA_TRUSTED nella struttura CERT_TRUST_STATUS .

Commenti

Il motore di compilazione della catena usa quattro archivi certificati nelle catene di costruzione. Si tratta di hRoot, hWorld, hTrust e hOther. Questi handle di archivi vengono stabiliti usando le informazioni in questa struttura quando viene creato un motore di catena.

hRoot è l'handle dell'archivio da hRestrictedRoot o, se hRestrictedRoot è NULL, l'handle per System Store "Root".

hWorld è un archivio certificati di raccolta, tra cui archivi di pari livello hRoot, "CA", "My", "Trust" e tutti gli archivi aggiuntivi i cui handle si trovano nella matrice puntata da rghAdditionalStore.

hTrust è l'handle dell'archivio da hRestrictedTrust o, se hRestrictedTrust è NULL, hWorld.

hOther è hRestrictedOther più hRoot o, se hRestrictedTrust è diverso da NULL, l'archivio raccolta hWorld e l'handle di archiviazione da hRestrictedTrust.

La modalità trust esclusiva consente alle applicazioni di specificare ancoraggi di attendibilità e certificati attendibili per la convalida della catena di certificati. Nella modalità di attendibilità esclusiva, l'archivio radice e l'archivio utenti attendibili nel sistema vengono ignorati e gli ancoraggi e i certificati a cui puntano i membri hExclusiveRoot e hExclusiveTrustedPeople vengono usati.

Requisiti

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

Vedi anche

CERT_TRUST_STATUS

CertCreateCertificateChainEngine