Función CryptImportPKCS8 (wincrypt.h)

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

Importante Esta API está en desuso. El software nuevo y existente debe empezar a usar las API cryptography Next Generation. Microsoft puede quitar esta API en futuras versiones.
 
La función CryptImportPKCS8 importa la clave privada en formato PKCS #8 a un proveedor de servicios criptográficos (CSP). CryptImportPKCS8 devolverá un identificador al proveedor y a la importación de KeySpec usada.

Sintaxis

BOOL CryptImportPKCS8(
  [in]            CRYPT_PKCS8_IMPORT_PARAMS sPrivateKeyAndParams,
  [in]            DWORD                     dwFlags,
  [out, optional] HCRYPTPROV                *phCryptProv,
  [in, optional]  void                      *pvAuxInfo
);

Parámetros

[in] sPrivateKeyAndParams

Estructura CRYPT_PKCS8_IMPORT_PARAMS que contiene el BLOB de clave privada y los parámetros correspondientes.

[in] dwFlags

Valor DWORD . Este parámetro puede ser uno de los siguientes valores, una combinación de ellos o un valor NULL.

Value Significado
CRYPT_EXPORTABLE
La clave que se va a importar se vuelve a importar. Si no se usa esta marca, se produce un error en las llamadas a CryptExportKey con el identificador de clave.
CRYPT_USER_PROTECTED
Si se establece esta marca, el CSP notifica al usuario a través de un cuadro de diálogo u otro método cuando se intentan usar esta clave determinadas acciones. El comportamiento preciso lo especifica el CSP o el tipo de CSP usado. Si el contexto del proveedor se adquirió con CRYPT_SILENT establecido, el uso de esta marca provoca un error y el último error se establece en NTE_SILENT_CONTEXT.

[out, optional] phCryptProv

Puntero al HCRYPTPROV para recibir el identificador del proveedor en el que se importa la clave mediante una llamada a la función CryptImportPKCS8 .

Cuando haya terminado de usar el identificador, libere el identificador llamando a CryptReleaseContext.

Este parámetro puede ser NULL, en cuyo caso no se devuelve el identificador del proveedor.

[in, optional] pvAuxInfo

Este parámetro debe ser NULL.

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.

El código de error siguiente es específico de esta función.

Código devuelto Descripción
ERROR_UNSUPPORTED_TYPE
No se admite el identificador de objeto de algoritmo (OID) de la clave privada.
 

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.

Comentarios

CryptImportPKCS8 llama a la función PCRYPT_RESOLVE_HCRYPTPROV_FUNC mediante la estructura CRYPT_PKCS8_IMPORT_PARAMS contenida en el parámetro sPrivateKeyAndParams para recuperar un identificador del proveedor al que se va a importar la clave. Si PCRYPT_RESOLVE_HCRYPTPROV_FUNC es NULL, se usa el proveedor predeterminado.

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

Requisitos

   
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

Consulte también

CRYPT_PKCS8_IMPORT_PARAMS

CryptExportPKCS8Ex

CryptReleaseContext

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC

PCRYPT_RESOLVE_HCRYPTPROV_FUNC