estructura CERT_TRUST_STATUS (wincrypt.h)

La estructura de CERT_TRUST_STATUS contiene información de confianza sobre un certificado en una cadena de certificados, información de confianza resumida sobre una cadena simple de certificados o información de resumen sobre una matriz de cadenas simples.

Sintaxis

typedef struct _CERT_TRUST_STATUS {
  DWORD dwErrorStatus;
  DWORD dwInfoStatus;
} CERT_TRUST_STATUS, *PCERT_TRUST_STATUS;

Miembros

dwErrorStatus

dwErrorStatus es una máscara de bits de los siguientes códigos de error definidos para certificados y cadenas.

Valor Significado
CERT_TRUST_NO_ERROR
0x00000000
No se encontró ningún error para este certificado o cadena.
CERT_TRUST_IS_NOT_TIME_VALID
0x00000001
Este certificado o uno de los certificados de la cadena de certificados no son válidos a tiempo.
CERT_TRUST_IS_REVOKED
0x00000004
Se ha revocado la confianza para este certificado o uno de los certificados de la cadena de certificados.
CERT_TRUST_IS_NOT_SIGNATURE_VALID
0x00000008
El certificado o uno de los certificados de la cadena de certificados no tiene una firma válida.
CERT_TRUST_IS_NOT_VALID_FOR_USAGE
0x00000010
El certificado o la cadena de certificados no son válidos para su uso propuesto.
CERT_TRUST_IS_UNTRUSTED_ROOT
0x00000020
El certificado o la cadena de certificados se basa en una raíz que no es de confianza.
CERT_TRUST_REVOCATION_STATUS_UNKNOWN
0x00000040
Se desconoce el estado de revocación del certificado o uno de los certificados de la cadena de certificados.
CERT_TRUST_IS_CYCLIC
0x00000080
Uno de los certificados de la cadena fue emitido por una entidad de certificación que el certificado original había certificado.
CERT_TRUST_INVALID_EXTENSION
0x00000100
Uno de los certificados tiene una extensión que no es válida.
CERT_TRUST_INVALID_POLICY_CONSTRAINTS
0x00000200
El certificado o uno de los certificados de la cadena de certificados tiene una extensión de restricciones de directiva y uno de los certificados emitidos tiene una extensión de asignación de directivas no permitida o no tiene una extensión de directivas de emisión necesaria.
CERT_TRUST_INVALID_BASIC_CONSTRAINTS
0x00000400
El certificado o uno de los certificados de la cadena de certificados tiene una extensión de restricciones básicas y el certificado no se puede usar para emitir otros certificados o se ha superado la longitud de la ruta de acceso de la cadena.
CERT_TRUST_INVALID_NAME_CONSTRAINTS
0x00000800
El certificado o uno de los certificados de la cadena de certificados tiene una extensión de restricciones de nombre que no es válida.
CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT
0x00001000
El certificado o uno de los certificados de la cadena de certificados tiene una extensión de restricciones de nombre que contiene campos no admitidos. No se admiten los campos mínimo y máximo. Por lo tanto, el mínimo siempre debe ser cero y el máximo siempre debe estar ausente. Solo se admite UPN para otro nombre. No se admiten las siguientes opciones alternativas de nombre:
  • Dirección X400
  • Nombre de entidad edi
  • Id. registrado
CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT
0x00002000
El certificado o uno de los certificados de la cadena de certificados tiene una extensión de restricciones de nombre y falta una restricción de nombre para una de las opciones de nombre del certificado final.
CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT
0x00004000
El certificado o uno de los certificados de la cadena de certificados tiene una extensión de restricciones de nombre y no hay una restricción de nombre permitida para una de las opciones de nombre del certificado final.
CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT
0x00008000
El certificado o uno de los certificados de la cadena de certificados tiene una extensión de restricciones de nombre y se excluye explícitamente una de las opciones de nombre del certificado final.
CERT_TRUST_IS_OFFLINE_REVOCATION
0x01000000
El estado de revocación del certificado o uno de los certificados de la cadena de certificados está sin conexión o obsoleto.
CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY
0x02000000
El certificado final no tiene ninguna directiva de emisión resultante y uno de los certificados de entidad de certificación emisora tiene una extensión de restricciones de directiva que lo requiere.
CERT_TRUST_IS_EXPLICIT_DISTRUST
0x04000000
El certificado está explícitamente desconfiado.

Windows Vista y Windows Server 2008: Comienza la compatibilidad con esta marca.

CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT
0x08000000
El certificado no admite una extensión crítica.

Windows Vista y Windows Server 2008: Comienza la compatibilidad con esta marca.

CERT_TRUST_HAS_WEAK_SIGNATURE
0x00100000
El certificado no se ha firmado de forma segura. Normalmente, esto indica que los algoritmos hash MD2 o MD5 se usaron para crear un hash del certificado.

Windows 8 y Windows Server 2012: comienza la compatibilidad con esta marca.

 

Los códigos siguientes solo se definen para cadenas.

Valor Significado
CERT_TRUST_IS_PARTIAL_CHAIN
0x00010000
La cadena de certificados no está completa.
CERT_TRUST_CTL_IS_NOT_TIME_VALID
0x00020000
Una lista de confianza de certificados (CTL) usada para crear esta cadena no era válida.
CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID
0x00040000
Un CTL usado para crear esta cadena no tenía una firma válida.
CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE
0x00080000
Un CTL usado para crear esta cadena no es válido para este uso.

dwInfoStatus

Se definen los siguientes códigos de estado de información.

Valor Significado
CERT_TRUST_HAS_EXACT_MATCH_ISSUER
0x00000001
Se ha encontrado un certificado de emisor de coincidencias exacto para este certificado. Este código de estado solo se aplica a los certificados.
CERT_TRUST_HAS_KEY_MATCH_ISSUER
0x00000002
Se ha encontrado un certificado de emisor de coincidencia de claves para este certificado. Este código de estado solo se aplica a los certificados.
CERT_TRUST_HAS_NAME_MATCH_ISSUER
0x00000004
Se ha encontrado un certificado de emisor de coincidencia de nombre para este certificado. Este código de estado solo se aplica a los certificados.
CERT_TRUST_IS_SELF_SIGNED
0x00000008
Este certificado está autofirmado. Este código de estado solo se aplica a los certificados.
CERT_TRUST_HAS_PREFERRED_ISSUER
0x00000100
El certificado o cadena tiene un emisor preferido. Este código de estado se aplica a certificados y cadenas.
CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY
0x00000400
Existe una directiva de cadena de emisión. Este código de estado se aplica a certificados y cadenas.
CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS
0x00000400
Restricciones de nombre válidas para todos los espacios de nombres, incluido UPN. Este código de estado se aplica a certificados y cadenas.
CERT_TRUST_IS_PEER_TRUSTED
0x00000800
Este certificado es de confianza del mismo nivel. Este código de estado solo se aplica a los certificados.

Windows Vista y Windows Server 2008: Comienza la compatibilidad con esta marca.

CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED
0x00001000
Se ha ampliado la validez de la lista de revocación de certificados (CRL) de este certificado. Este código de estado solo se aplica a los certificados.

Windows Vista y Windows Server 2008: Comienza la compatibilidad con esta marca.

CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE
0x00002000
El certificado se encontró en un almacén al que apunta el miembro hExclusiveRoot o hExclusiveTrustedPeople de la estructura CERT_CHAIN_ENGINE_CONFIG .

Windows 7 y Windows Server 2008 R2: Comienza la compatibilidad con esta marca.

CERT_TRUST_IS_COMPLEX_CHAIN
0x00010000
La cadena de certificados creada es una cadena compleja. Este código de estado solo se aplica a cadenas.
CERT_TRUST_IS_CA_TRUSTED
0x00004000
Se encontró un certificado de ENTIDAD de certificación intermedio no autofirmado en el almacén al que apunta el miembro hExclusiveRoot de la estructura CERT_CHAIN_ENGINE_CONFIG . El certificado de entidad de certificación se trata como un delimitador de confianza para la cadena de certificados. Esta marca solo se establecerá si el valor de CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG se establece en el miembro dwExclusiveFlags de la estructura CERT_CHAIN_ENGINE_CONFIG .

Si se establece esta marca, no se establecerán los CERT_TRUST_IS_SELF_SIGNED y las marcas CERT_TRUST_IS_PARTIAL_CHAINdwErrorStatus .

Windows 8 y Windows Server 2012: comienza la compatibilidad con esta marca.

Requisitos

Requisito Value
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_CHAIN_CONTEXT

CERT_CHAIN_ENGINE_CONFIG

CERT_SIMPLE_CHAIN