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.
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 |
---|---|
|
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 |