Función CryptExportPKCS8Ex (wincrypt.h)

[La función CryptExportPKCS8Ex ya no está disponible para su uso a partir de Windows Server 2008 y Windows Vista. En su lugar, use la función PFXExportCertStoreEx .]

La función CryptExportPKCS8Ex exporta la clave privada en formato PKCS #8. Esta función no tiene ninguna biblioteca de importación asociada. Debe usar las funciones LoadLibrary y GetProcAddress para vincular dinámicamente a Crypt32.dll.

Sintaxis

BOOL CryptExportPKCS8Ex(
  [in]            CRYPT_PKCS8_EXPORT_PARAMS *psExportParams,
  [in]            DWORD                     dwFlags,
  [in, optional]  void                      *pvAuxInfo,
  [out, optional] BYTE                      *pbPrivateKeyBlob,
  [in, out]       DWORD                     *pcbPrivateKeyBlob
);

Parámetros

[in] psExportParams

Puntero a una estructura de CRYPT_PKCS8_EXPORT_PARAMS que contiene información sobre la clave que se va a exportar.

[in] dwFlags

Este parámetro debe ser cero si pbPrivateKeyBlob es NULL y 0x8000 de lo contrario.

[in, optional] pvAuxInfo

Este parámetro debe ser NULL.

[out, optional] pbPrivateKeyBlob

Puntero a una matriz de estructuras BYTE para recibir la clave privada que se va a exportar.

La clave privada contendrá la información de un tipo PKCS #8 PrivateKeyInfo Abstract Syntax Notation One (ASN.1) que se encuentra en el estándar PKCS #8.

Con fines de asignación de memoria, puede obtener el tamaño de la clave privada que se va a exportar estableciendo este parámetro en NULL. Para obtener más información, vea Recuperar datos de longitud desconocida.

[in, out] pcbPrivateKeyBlob

Puntero a un DWORD que puede contener, en la entrada, el tamaño, en bytes, de la asignación de memoria necesaria para contener el pbPrivateKeyBlob. Si pbPrivateKeyBlob es NULL, este parámetro devolverá el tamaño de la asignación de memoria necesaria para una segunda llamada a la función. Para obtener más información, vea Recuperar datos de longitud desconocida.

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.

Los siguientes códigos de error son específicos de esta función.

Código devuelto Descripción
ERROR_UNSUPPORTED_TYPE
No se encontró una función de exportación que se puede instalar o registrar.
ERROR_MORE_DATA
Si el búfer especificado por el parámetro pbPrivateKeyBlob no es lo suficientemente grande como para contener los datos devueltos, la función establece el código ERROR_MORE_DATA y almacena el tamaño de búfer necesario, en bytes, en la variable a la que apunta el parámetro pcbPrivateKeyBlob .
 

Si se produce un error en la función, GetLastError devuelve un error de codificación/descodificación de ASN.1. Para obtener información sobre estos errores, vea Valores devueltos de codificación/descodificación de ASN.1.

Comentarios

Esta función solo se admite para claves asimétricas.

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
Archivo DLL Crypt32.dll

Consulte también

CRYPT_PKCS8_EXPORT_PARAMS

CryptAcquireContext

CryptExportPKCS8

CryptImportPKCS8