Partager via


structure CERT_CHAIN_ENGINE_CONFIG (wincrypt.h)

La structure CERT_CHAIN_ENGINE_CONFIG définit les paramètres de génération d’un moteur de chaîne de certificats autre que celui par défaut. Le moteur utilisé détermine la façon dont les chaînes de certificats sont générées.

Syntaxe

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;

Membres

cbSize

Taille de cette structure en octets.

hRestrictedRoot

Ce paramètre de configuration peut être utilisé pour restreindre le magasin racine. S’il est utilisé, il peut s’agir du handle de tout HCERTSTORE contenant uniquement un sous-ensemble approprié des certificats dans le magasin racine.

hRestrictedTrust

Handle du magasin. S’il est utilisé, limite les magasins recherchés pour rechercher les listes de contrôle client.

hRestrictedOther

Handle du magasin. S’il est utilisé, restreint les magasins recherchés pour les certificats et les listes de contrôle d’accès.

cAdditionalStore

Nombre de magasins supplémentaires à rechercher pour les certificats et les listes de contrôle d’accès nécessaires pour créer des chaînes.

rghAdditionalStore

Pointeur vers un tableau de handles de magasin pour les magasins supplémentaires à rechercher dans des chaînes de création.

dwFlags

Les indicateurs suivants sont définis.

Valeur Signification
CERT_CHAIN_CACHE_END_CERT
0x00000001
Les informations contenues dans le certificat final sont mises en cache. Par défaut, les informations contenues dans tous les certificats, à l’exception du certificat de fin, sont mises en cache au fur et à mesure qu’une chaîne est générée. La définition de cet indicateur étend la mise en cache jusqu’au certificat de fin.
CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL
0x00000004
Utilisez uniquement des URL mises en cache dans la création d’une chaîne de certificats. Internet et intranet ne font pas l’objet d’une recherche d’objets basés sur une URL.
CERT_CHAIN_USE_LOCAL_MACHINE_STORE
0x00000008
Générez la chaîne à l’aide de l’emplacement du Registre LocalMachine par opposition à l’emplacement CurrentUser.
CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE
0x00000010
Activer la mise à jour automatique du cache au fur et à mesure qu’une chaîne est en cours de création.
CERT_CHAIN_ENABLE_SHARE_STORE
0x00000020
Autoriser le partage des magasins de certificats utilisés pour générer la chaîne.
CERT_CHAIN_DISABLE_AIA
0x00002000
Désactivez explicitement les extractions d’accès aux informations de l’autorité (AIA).

dwUrlRetrievalTimeout

Nombre de millisecondes avant un délai d’attente pour les extractions d’objets d’URL basées sur le réseau. Peut être défini sur zéro pour utiliser la limite par défaut.

MaximumCachedCertificates

Limite du nombre de certificats pouvant être mis en cache en tant qu’une chaîne est générée. Peut être défini sur 0 pour utiliser la limite par défaut.

CycleDetectionModulus

Nombre de certificats ajoutés à la chaîne avant qu’un case activée soit effectué pour déterminer s’il existe un cycle de certificats dans la chaîne. Un cycle peut être défini comme ayant le même certificat à deux endroits différents dans une chaîne.

Plus le nombre est faible, plus les vérifications sont fréquentes. La vérification supplémentaire des cycles de certificats ralentit considérablement le processus. Ce paramètre peut être défini sur zéro pour utiliser la limite par défaut.

hExclusiveRoot

Gérez vers un magasin de certificats qui contient des ancres d’approbation exclusives. Si le membre hExclusiveRoot ou hExclusiveTrustedPeople pointe vers un magasin valide, le mode d’approbation exclusif est utilisé pour la création de chaîne.

Windows 7 et Windows Server 2008 R2 : La prise en charge de ce membre commence.

hExclusiveTrustedPeople

Gérez dans un magasin de certificats qui contient des certificats approuvés d’homologues spécifiques à l’application. Si le membre hExclusiveRoot ou hExclusiveTrustedPeople pointe vers un magasin valide, le mode d’approbation exclusif est utilisé pour la création de chaîne.

Windows 7 et Windows Server 2008 R2 : La prise en charge de ce membre commence.

dwExclusiveFlags

L’indicateur suivant peut être défini. L’indicateur s’applique uniquement si hExclusiveRoot ou hExclusiveTrustedPeople ou les deux ne sont pas NULL.

Windows 8 et Windows Server 2012 : La prise en charge de ce membre commence.

Valeur Signification
CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG
0x00000001
Indique qu’un certificat d’autorité de certification intermédiaire non auto-signé dans le magasin hExclusiveRoot doit être traité comme une ancre d’approbation pendant la validation du certificat. Si un certificat est enchaîné vers cette autorité de certification, la génération de chaîne est terminée et le certificat est considéré comme approuvé. Aucune vérification de signature ou vérification de révocation n’est effectuée sur le certificat d’autorité de certification.

Par défaut, si cet indicateur n’est pas défini, seuls les certificats auto-signés dans le magasin hExclusiveRoot sont traités comme des ancres d’approbation.

Consultez également la valeur CERT_TRUST_IS_CA_TRUSTED dans la structure CERT_TRUST_STATUS .

Remarques

Le moteur de création de chaîne utilise quatre magasins de certificats dans les chaînes de construction. Il s’agit de hRoot, hWorld, hTrust et hOther. Les handles de ces magasins sont établis à l’aide des informations contenues dans cette structure lors de la création d’un moteur de chaîne.

hRoot est le handle de magasin de hRestrictedRoot ou, si hRestrictedRoot a la valeur NULL, le handle pour le magasin système « Root ».

hWorld est un magasin de certificats de collection comprenant les magasins frères hRoot, « CA », « My », « Trust » et tous les magasins supplémentaires dont les handles se trouvent dans le tableau pointé par rghAdditionalStore.

hTrust est le handle de magasin de hRestrictedTrust ou, si hRestrictedTrust a la valeur NULL, hWorld.

hOther est hRestrictedOther plus hRoot ou, si hRestrictedTrust n’a pas la valeur NULL, le magasin de collection hWorld plus le handle du magasin de hRestrictedTrust.

Le mode d’approbation exclusif permet aux applications de spécifier des ancres d’approbation et des certificats approuvés par des homologues pour la validation de la chaîne de certificats. En mode d’approbation exclusive, le magasin racine et le magasin de personnes approuvées sur le système sont ignorés, et les ancres et les certificats pointés par les membres hExclusiveRoot et hExclusiveTrustedPeople sont utilisés à la place.

Configuration requise

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête wincrypt.h

Voir aussi

CERT_TRUST_STATUS

CertCreateCertificateChainEngine