Función CryptExportPublicKeyInfo (wincrypt.h)
La función CryptExportPublicKeyInfo exporta la información de clave pública asociada a la clave privada correspondiente del proveedor. Para obtener una versión actualizada de esta función, consulte CryptExportPublicKeyInfoEx.
Sintaxis
BOOL CryptExportPublicKeyInfo(
[in] HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey,
[in] DWORD dwKeySpec,
[in] DWORD dwCertEncodingType,
[out] PCERT_PUBLIC_KEY_INFO pInfo,
[in, out] DWORD *pcbInfo
);
Parámetros
[in] hCryptProvOrNCryptKey
Identificador del proveedor de servicios criptográficos (CSP) que se va a usar al exportar la información de clave pública. Este identificador debe ser un identificador HCRYPTPROV que se ha creado mediante la función CryptAcquireContext o un identificador de NCRYPT_KEY_HANDLE que se ha creado mediante la función NCryptOpenKey . Las nuevas aplicaciones siempre deben pasar el identificador NCRYPT_KEY_HANDLE de un CSP de CNG.
[in] dwKeySpec
Identifica la clave privada que se va a usar desde el contenedor del proveedor. Puede ser AT_KEYEXCHANGE o AT_SIGNATURE. Este parámetro se omite si se usa un NCRYPT_KEY_HANDLE en el parámetro hCryptProvOrNCryptKey .
[in] dwCertEncodingType
Especifica el tipo de codificación usado. Siempre es aceptable especificar los tipos de codificación de certificados y mensajes al combinarlos con una operación OR bit a bit, como se muestra en el ejemplo siguiente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Los tipos de codificación definidos actualmente son:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[out] pInfo
Puntero a una estructura de CERT_PUBLIC_KEY_INFO para recibir la información de clave pública que se va a exportar.
Para establecer el tamaño de esta información con fines de asignación de memoria, este parámetro puede ser NULL. Para obtener más información, vea Recuperar datos de longitud desconocida.
[in, out] pcbInfo
Puntero a un DWORD que contiene el tamaño, en bytes, del búfer al que apunta el parámetro pInfo . Cuando la función devuelve, DWORD contiene el número de bytes necesarios para el búfer de retorno.
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). Para obtener información de error extendida, llame a GetLastError.
Código devuelto | Descripción |
---|---|
|
Si el búfer especificado por el parámetro pInfo no es lo suficientemente grande como para contener los datos devueltos, la función establece el código de ERROR_MORE_DATA y almacena el tamaño de búfer necesario, en bytes, en la variable a la que apunta pcbInfo. |
|
Tipo de codificación de certificado no válido. Actualmente solo se admite X509_ASN_ENCODING. |
Si se produce un error en la función, GetLastError puede devolver un error de codificación y descodificación de sintaxis abstracta Uno (ASN.1). Para obtener información sobre estos errores, vea Valores devueltos de codificación/descodificación de ASN.1.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Crypt32.lib |
Archivo DLL | Crypt32.dll |