estructura CERT_CHAIN_PARA (wincrypt.h)
La estructura de CERT_CHAIN_PARA establece los criterios de búsqueda y coincidencia que se van a usar en la creación de una cadena de certificados.
Sintaxis
typedef struct _CERT_CHAIN_PARA {
DWORD cbSize;
CERT_USAGE_MATCH RequestedUsage;
CERT_USAGE_MATCH RequestedIssuancePolicy;
DWORD dwUrlRetrievalTimeout;
BOOL fCheckRevocationFreshnessTime;
DWORD dwRevocationFreshnessTime;
LPFILETIME pftCacheResync;
PCCERT_STRONG_SIGN_PARA pStrongSignPara;
DWORD dwStrongSignFlags;
} CERT_CHAIN_PARA, *PCERT_CHAIN_PARA;
Miembros
cbSize
Tamaño, en bytes, de esta estructura.
RequestedUsage
Estructura que indica el tipo de coincidencia necesario para buscar certificados emisores para crear una cadena de certificados. La estructura a la que se apunta indica si se va a usar la lógica AND o OR en el proceso coincidente. La estructura también incluye una matriz de OID que se van a buscar coincidencias.
RequestedIssuancePolicy
Estructura opcional que indica el tipo de coincidencia de restricciones de directiva de emisión que se aplica al crear una cadena de certificados. La estructura a la que se apunta indica si se va a usar la lógica AND o OR en el proceso coincidente. La estructura también incluye una matriz de OID que se van a buscar coincidencias.
dwUrlRetrievalTimeout
Hora opcional, en milisegundos, antes de que se agote el tiempo de espera de la comprobación de revocación. Este miembro es opcional.
fCheckRevocationFreshnessTime
Miembro opcional. Cuando esta marca es TRUE, se intenta recuperar una nueva CRL si esta actualización es mayor o igual que la hora actual del sistema menos el valor dwRevocationFreshnessTime . Si no se establece esta marca, se usa la próxima hora de actualización de la CRL.
dwRevocationFreshnessTime
La hora actual, en segundos, menos la hora de actualización de la CRL de todos los elementos comprobados.
pftCacheResync
Miembro opcional. Cuando se establece en un valor distinto de NULL , se considera que la información almacenada en caché antes del tiempo especificado no es válida y se realiza la resincronización de caché.
Windows Vista: Comienza la compatibilidad con este miembro.
pStrongSignPara
Opcional. Especifique un puntero a una estructura de CERT_STRONG_SIGN_PARA para habilitar la comprobación de firmas seguras.
Windows 8 y Windows Server 2012: comienza el soporte técnico para este miembro.
dwStrongSignFlags
Marcas opcionales que modifican el comportamiento de recuperación de la cadena. Puede ser cero o el valor siguiente.
Windows 8 y Windows Server 2012: comienza la compatibilidad con esta propiedad.
Comentarios
Los siguientes comentarios se aplican al comprobar si hay firmas seguras.
- Establezca el miembro pStrongSignPara para comprobar si hay firmas seguras al usar la función CertGetCertificateChain o CertSelectCertificateChains .
- Si se encuentra un certificado sin una firma segura en la cadena, los errores de CERT_TRUST_HAS_WEAK_SIGNATURE y CERT_TRUST_IS_NOT_SIGNATURE_VALID se establecen en el campo dwErrorStatus de la estructura CERT_TRUST_STATUS . El parámetro ppChainContext de la función CertGetCertificateChain y el parámetro pprgpSelection de la función CertSelectCertificateChains apuntan a una estructura de CERT_CHAIN_CONTEXT que, a su vez, apunta a la estructura CERT_TRUST_STATUS .
- Si la cadena tiene una firma segura, se comprueba la clave pública del certificado final para determinar si cumple los requisitos mínimos de longitud de clave pública para una firma segura. Si no se cumple la condición, el CERT_TRUST_HAS_WEAK_SIGNATURE y los errores de CERT_TRUST_IS_NOT_SIGNATURE_VALID se establecen en el campo dwErrorStatus de la estructura CERT_TRUST_STATUS . Establezca el valor CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG en el miembro dwStrongSignFlags para deshabilitar esta comprobación.
- Si las marcas CERT_STRONG_SIGN_ENABLE_CRL_CHECK o CERT_STRONG_SIGN_ENABLE_OCSP_CHECK se establecen en la estructura de CERT_STRONG_SIGN_SERIALIZED_INFO a la que hace referencia la estructura CERT_STRONG_SIGN_PARA apuntada por el miembro pStrongSignPara y se encuentra una respuesta CRL o OCSP sin una firma segura, la respuesta CRL o OCSP se tratará como sin conexión. Es decir, los errores CERT_TRUST_IS_OFFLINE_REVOCATION y CERT_TRUST_REVOCATION_STATUS_UNKNOWN se establecen en el campo dwErrorStatus de la estructura CERT_TRUST_STATUS . Además, el miembro dwRevocationResult de la estructura CERT_REVOCATION_INFO se establece en NTE_BAD_ALGID.
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 |