Función CertGetEnhancedKeyUsage (wincrypt.h)
La función CertGetEnhancedKeyUsage devuelve información de la extensión de uso mejorado de claves (EKU) o de la propiedad extendida EKU de un certificado. Las EKU indican los usos válidos del certificado.
Sintaxis
BOOL CertGetEnhancedKeyUsage(
[in] PCCERT_CONTEXT pCertContext,
[in] DWORD dwFlags,
[out] PCERT_ENHKEY_USAGE pUsage,
[in, out] DWORD *pcbUsage
);
Parámetros
[in] pCertContext
Puntero a un contexto de certificado de CERT_CONTEXT .
[in] dwFlags
Indica si la función informará sobre las extensiones de un certificado, sus propiedades extendidas o ambas. Si se establece en cero, la función devuelve los usos válidos de un certificado en función de la extensión EKU y el valor de propiedad extendida de EKU del certificado.
Para devolver solo el valor de la propiedad EKU o la extensión EKU, establezca las marcas siguientes.
Valor | Significado |
---|---|
|
Obtenga solo la extensión. |
|
Obtenga solo el valor de propiedad extendida. |
[out] pUsage
Puntero a una estructura de CERT_ENHKEY_USAGE (CERT_ENHKEY_USAGE es un nombre de definición de tipo alternativo para la estructura CTL_USAGE ) que recibe los usos válidos del certificado.
Este parámetro puede ser NULL para establecer el tamaño del uso de la clave con fines de asignación de memoria. Para obtener más información, vea Recuperar datos de longitud desconocida.
[in, out] pcbUsage
Puntero a un DWORD que especifica el tamaño, en bytes, de la estructura a la que apunta pUsage. Cuando la función devuelve, DWORD contiene el tamaño, en bytes, de la estructura.
Valor devuelto
Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero (TRUE).
Si se produce un error en la función, devuelve cero (FALSE).
Comentarios
Si un certificado tiene una extensión EKU, esa extensión enumera los identificadores de objeto (OID) para usos válidos de ese certificado. En un entorno de Microsoft, un certificado también puede tener propiedades extendidas de EKU que especifiquen usos válidos para el certificado.
- Si un certificado no tiene ninguna extensión de EKU ni propiedades extendidas de EKU, se supone que es válido para todos los usos.
- Si tiene una extensión EKU o propiedades extendidas de EKU, pero no ambas, solo es válida para los usos indicados en la extensión o las propiedades extendidas que tiene.
- Si un certificado tiene una extensión de EKU y propiedades extendidas de EKU, solo es válido para los usos que se encuentran en ambas listas.
Si el miembro cUsageIdentifier es cero, es posible que el certificado sea válido para todos los usos o que el certificado no tenga ningún uso válido. La devolución de una llamada a GetLastError se puede usar para determinar si el certificado es bueno para todos los usos o para ninguno. Si GetLastError devuelve CRYPT_E_NOT_FOUND, el certificado es adecuado para todos los usos. Si devuelve cero, el certificado no tiene ningún uso válido.
Requisitos
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 |