estructura CERT_CHAIN_ENGINE_CONFIG (wincrypt.h)

La estructura CERT_CHAIN_ENGINE_CONFIG establece parámetros para crear un motor de cadena de certificados no predeterminado. El motor usado determina las formas en que se crean las cadenas de certificados.

Sintaxis

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;

Miembros

cbSize

Tamaño de esta estructura en bytes.

hRestrictedRoot

Este parámetro de configuración se puede usar para restringir el almacén raíz. Si se usa, puede ser el identificador de cualquier HCERTSTORE que contenga solo un subconjunto adecuado de los certificados en el almacén raíz.

hRestrictedTrust

Identificador de la tienda. Si se usa, restringe los almacenes buscados para buscar CTL.

hRestrictedOther

Identificador de la tienda. Si se usa, restringe los almacenes en los que se buscan certificados y CRL.

cAdditionalStore

Recuento de almacenes adicionales que se van a buscar certificados y CRL necesarios para crear cadenas.

rghAdditionalStore

Puntero a una matriz de identificadores de almacén para que se busquen almacenes adicionales en cadenas de creación.

dwFlags

Se definen las marcas siguientes.

Valor Significado
CERT_CHAIN_CACHE_END_CERT
0x00000001
La información del certificado final se almacena en caché. De forma predeterminada, la información de todos los certificados, excepto el certificado final, se almacena en caché cuando se compila una cadena. Al establecer esta marca, se extiende el almacenamiento en caché al certificado final.
CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL
0x00000004
Use solo las direcciones URL almacenadas en caché en la creación de una cadena de certificados. Internet e intranet no se buscan objetos basados en direcciones URL.
CERT_CHAIN_USE_LOCAL_MACHINE_STORE
0x00000008
Compile la cadena mediante la ubicación del Registro LocalMachine en lugar de la ubicación CurrentUser.
CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE
0x00000010
Habilite la actualización automática de la memoria caché como una cadena que se está compilando.
CERT_CHAIN_ENABLE_SHARE_STORE
0x00000020
Permitir que los almacenes de certificados usados para crear la cadena se compartan.
CERT_CHAIN_DISABLE_AIA
0x00002000
Desactive las recuperaciones de Acceso a la información de autoridad (AIA) explícitamente.

dwUrlRetrievalTimeout

Número de milisegundos antes de que se agote el tiempo de espera para las recuperaciones de objetos url basados en red. Se puede establecer en cero para usar el límite predeterminado.

MaximumCachedCertificates

Se crea un límite en el número de certificados que se pueden almacenar en caché como una cadena. Se puede establecer en 0 para usar el límite predeterminado.

CycleDetectionModulus

Número de certificados agregados a la cadena antes de realizar una comprobación para determinar si hay un ciclo de certificados en la cadena. Un ciclo se puede definir como tener el mismo certificado en dos lugares diferentes de una cadena.

Cuanto menor sea el número, se realizarán las comprobaciones más frecuentes. La comprobación adicional de los ciclos de certificados ralentizará considerablemente el proceso. Este parámetro se puede establecer en cero para usar el límite predeterminado.

hExclusiveRoot

Controle a un almacén de certificados que contenga anclajes de confianza exclusivos. Si el miembro hExclusiveRoot o hExclusiveTrustedPeople apunta a un almacén válido, se usa el modo de confianza exclusivo para el edificio de la cadena.

Windows 7 y Windows Server 2008 R2: Comienza la compatibilidad con este miembro.

hExclusiveTrustedPeople

Controle a un almacén de certificados que contenga certificados de confianza del mismo nivel específicos de la aplicación. Si el miembro hExclusiveRoot o hExclusiveTrustedPeople apunta a un almacén válido, se usa el modo de confianza exclusivo para el edificio de la cadena.

Windows 7 y Windows Server 2008 R2: Comienza la compatibilidad con este miembro.

dwExclusiveFlags

Se puede establecer la marca siguiente. La marca solo se aplica si hExclusiveRoot o hExclusiveTrustedPeople o ambos no son NULL.

Windows 8 y Windows Server 2012: Comienza la compatibilidad con este miembro.

Valor Significado
CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG
0x00000001
Indica que un certificado de CA intermedio no autofirmado en el almacén hExclusiveRoot debe tratarse como un delimitador de confianza durante la validación del certificado. Si un certificado se encadena a esta ENTIDAD de certificación, se termina la compilación de la cadena y el certificado se considera de confianza. No se realiza ninguna comprobación de firma ni comprobación de revocación en el certificado de entidad de certificación.

De forma predeterminada, si no se establece esta marca, solo los certificados autofirmados del almacén hExclusiveRoot se tratan como anclajes de confianza.

Consulte también el valor de CERT_TRUST_IS_CA_TRUSTED en la estructura CERT_TRUST_STATUS .

Comentarios

El motor de creación de cadenas usa cuatro almacenes de certificados en cadenas de creación. Son hRoot, hWorld, hTrust y hOther. Estos identificadores de almacenes se establecen mediante el uso de la información de esta estructura cuando se crea un motor de cadena.

hRoot es el identificador de almacén de hRestrictedRoot o, si hRestrictedRoot es NULL, el identificador del almacén del sistema "Root".

hWorld es un almacén de certificados de recopilación que incluye almacenes del mismo nivel hRoot, "CA", "My", "Trust" y cualquier almacén adicional cuyos identificadores estén en la matriz a la que apunta rghAdditionalStore.

hTrust es el identificador de almacén de hRestrictedTrust o, si hRestrictedTrust es NULL, hWorld.

hOther es hRestrictedOther más hRoot o, si hRestrictedTrust no es NULL, el almacén de la colección hWorld más el identificador de almacén de hRestrictedTrust.

El modo de confianza exclusivo permite a las aplicaciones especificar anclajes de confianza y certificados de confianza del mismo nivel para la validación de la cadena de certificados. En el modo de confianza exclusivo, el almacén raíz y el almacén de personas de confianza en el sistema se omiten y se usan en su lugar los anclajes y certificados a los que apuntan los miembros hExclusiveRoot y hExclusiveTrustedPeople .

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado wincrypt.h

Consulte también

CERT_TRUST_STATUS

CertCreateCertificateChainEngine