Función CertSetCRLContextProperty (wincrypt.h)
La función CertSetCRLContextProperty establece una propiedad extendida para el contexto de la lista de revocación de certificados (CRL) especificada.
Sintaxis
BOOL CertSetCRLContextProperty(
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] const void *pvData
);
Parámetros
[in] pCrlContext
Puntero a la estructura CRL_CONTEXT .
[in] dwPropId
Identifica la propiedad que se va a establecer. El valor de dwPropId determina el tipo y el contenido del parámetro pvData . Los identificadores definidos actualmente y el tipo de datos que se devolverán en pvData se enumeran en la tabla siguiente.
Normalmente, solo se establecen las siguientes propiedades:
- CERT_HASH_PROP_ID
- CERT_SHA1_HASH_PROP_ID
- CERT_MD5_HASH_PROP_ID
- CERT_SIGNATURE_HASH_PROP_ID
Valor | Significado |
---|---|
|
Tipo de datos para pvData: puntero a un DWORD
Establece un valor DWORD que indica si se conservan las operaciones de escritura en el certificado. El valor DWORD no se establece si el certificado está en un almacén de memoria o en un almacén basado en el Registro que se abre como de solo lectura. |
|
Tipo de datos para pvData: NULL
Indica que el certificado se omite durante las enumeraciones. Un certificado con este conjunto de propiedades se encuentra con operaciones de búsqueda explícitas, como las usadas para buscar un certificado con un hash específico o un número de serie. No hay datos en pvData asociados a esta propiedad. |
|
Tipo de datos para pvData: puntero a una matriz BYTE Establece una cadena Unicode terminada en null que asigna un nombre al tipo de certificado para el que se ha inscrito automáticamente el certificado. |
|
Tipo de datos para pvData: puntero a una matriz BYTE Establece una matriz de bytes que contiene una estructura de CTL_USAGE codificada en notación de sintaxis abstracta uno (ASN.1). |
|
Tipo de datos para pvData: puntero a una matriz BYTE Establece la propiedad que muestra la interfaz de usuario del certificado. Esta propiedad permite al usuario describir el uso del certificado. |
|
Tipo de datos para pvData: Establece una matriz de bytes que contiene una estructura de CERT_ENHKEY_USAGE codificada en ASN.1. |
|
Tipo de datos para pvData: puntero a una matriz BYTE Establece una cadena de caracteres Unicode terminada en null que contiene el nombre para mostrar de la CRL. |
|
Tipo de datos para pvData: puntero a una estructura de CRYPT_DATA_BLOB .
Establece una cadena que contiene un conjunto de pares de clave pública Y pares de longitud de bits de L"<PUBKEY>/<BITLENGTH>". El punto y coma, L";", se usa como delimitador. El <valor PUBKEY> identifica el algoritmo de clave pública CNG. Se admiten los algoritmos siguientes:
Nota Esta propiedad no debe establecerse para un certificado de firmante OCSP delegado. Un certificado de firmante delegado se firma con la misma clave que se usa para firmar el certificado del firmante y se comprueba allí.
: L"RSA/2048; RSA/4096" |
|
Tipo de datos para pvData: puntero a una estructura de CRYPT_DATA_BLOB .
Establece una cadena que contiene un conjunto de pares de algoritmos L"<SIGNATURE>/<HASH>". El punto y coma, L";", se usa como delimitador entre pares. Esta propiedad solo se establece cuando una respuesta OCSP se convierte en una CRL. Para un certificado de firmante OCSP delegado, solo se devuelve el par de algoritmos para el certificado de firmante. Para una cadena de certificados de firmante OCSP independiente, se devuelve un par de algoritmos para cada certificado de la cadena, excepto la raíz. El <valor SIGNATURE> identifica el algoritmo de clave pública CNG. Se admiten los algoritmos siguientes:
|
|
Tipo de datos para pvData: puntero a una estructura de CRYPT_DATA_BLOB .
Establece la longitud, en bits, de la clave pública en el certificado del emisor crL. Esta propiedad también es aplicable a un OCSP que se ha convertido en una CRL. Esta propiedad se establece explícitamente mediante las funciones de revocación verify. Windows 8 y Windows Server 2012: comienza la compatibilidad con esta propiedad. |
|
Tipo de datos para pvData: puntero a un CERT_KEY_CONTEXT
Establece una estructura CERT_KEY_CONTEXT . |
|
Tipo de datos para pvData: puntero a una matriz BYTE |
|
Tipo de datos para pvData: puntero a un HCRYPTPROV
Establece el identificador de proveedor obtenido del CERT_KEY_CONTEXT_PROP_ID. |
|
Tipo de datos para pvData: puntero a un CRYPT_KEY_PROV_INFO
Establece un puntero en una estructura CRYPT_KEY_PROV_INFO . |
|
Tipo de datos para pvData: puntero a un DWORD
Establece un valor DWORD que especifica la clave privada obtenida de CERT_KEY_CONTEXT_PROP_ID propiedad si existe. De lo contrario, si CERT_KEY_PROV_INFO_PROP_ID existe, es el origen de dwKeySpec. |
|
Tipo de datos para pvData: puntero a una matriz BYTE Establece el hash MD5. Puede calcular el hash mediante la función CryptHashCertificate . |
|
Tipo de datos para pvData: puntero a una matriz BYTE Establece la estructura de CERT_ALT_NAME_INFO codificada en ASN.1 en un CTL. |
|
Tipo de datos para pvData: puntero a una matriz BYTE Establece una cadena de caracteres anchos Unicode terminada en NULL que especifica el nombre del archivo que contiene la clave privada asociada a la clave pública del certificado. |
|
Tipo de datos para pvData: puntero a una matriz BYTE Establece el hash SHA1. Puede calcular el hash mediante CryptHashCertificate. |
|
Tipo de datos de pvData: puntero a una estructura de CRYPT_DATA_BLOB .
Establece la cadena L"<SIGNATURE>/<HASH>" que representa la firma del certificado. El <valor SIGNATURE> identifica el algoritmo de clave pública CNG. Se admiten los siguientes algoritmos:
Las funciones de revocación de comprobación establecen explícitamente esta propiedad. Windows 8 y Windows Server 2012: comienza la compatibilidad con esta propiedad. |
|
Tipo de datos para pvData: puntero a una matriz BYTE Establece el hash de firma. Si el hash no existe, se calcula con CryptHashToBeSigned. La longitud del hash es de 20 bytes para SHA y 16 para MD5. |
El usuario puede definir tipos dwPropId adicionales mediante valores DWORD de CERT_FIRST_USER_PROP_ID a CERT_LAST_USER_PROP_ID. Para todos los tipos dwPropId definidos por el usuario, pvData apunta a un CRYPT_DATA_BLOB codificado.
Para todos los demás identificadores de propiedad, pvData apunta a una estructura de CRYPT_DATA_BLOB codificada.
[in] dwFlags
CERT_STORE_NO_CRYPT_RELEASE_FLAG se pueden establecer para las propiedades CERT_KEY_PROV_HANDLE_PROP_ID o CERT_KEY_CONTEXT_PROP_ID dwPropId .
Si se establece el valor de CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG, se omiten los errores de escritura del proveedor y siempre se establecen las propiedades del contexto almacenado en caché.
Si se establece el CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG, no se conserva ningún conjunto de propiedades.
[in] pvData
Puntero a un tipo de datos determinado por el valor pasado en dwPropId.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es TRUE.
Si se produce un error en la función, el valor devuelto es FALSE. Para obtener información de error extendida, llame a GetLastError. Un posible código de error es el siguiente.
Código devuelto | Descripción |
---|---|
|
La propiedad no es válida. El identificador especificado era mayor que 0x0000FFFF o, para la propiedad CERT_KEY_CONTEXT_PROP_ID, se especificó un miembro cbSize que no es válido en la estructura CERT_KEY_CONTEXT . |
Comentarios
Si ya existe una propiedad, se reemplaza su valor anterior.
Ejemplos
Para obtener un ejemplo que use esta función, vea Ejemplo de programa C: Obtener y establecer propiedades de certificado.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Crypt32.lib |
Archivo DLL | Crypt32.dll |