Funzione CryptExportPKCS8Ex (wincrypt.h)

[La funzione CryptExportPKCS8Ex non è più disponibile per l'uso a partire da Windows Server 2008 e Windows Vista. Usare invece la funzione PFXExportCertStoreEx .

La funzione CryptExportPKCS8Ex esporta la chiave privata in formato PKCS #8. Questa funzione non ha alcuna libreria di importazione associata. È necessario usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a Crypt32.dll.

Sintassi

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

Parametri

[in] psExportParams

Puntatore a una struttura CRYPT_PKCS8_EXPORT_PARAMS che contiene informazioni sulla chiave da esportare.

[in] dwFlags

Questo parametro deve essere zero se pbPrivateKeyBlob è NULL e 0x8000 in caso contrario.

[in, optional] pvAuxInfo

Questo parametro deve essere NULL.

[out, optional] pbPrivateKeyBlob

Puntatore a una matrice di strutture BYTE per ricevere la chiave privata da esportare.

La chiave privata conterrà le informazioni in un tipo PKCS #8 PrivateKeyInfo Abstract Syntax Notation One (ASN.1) trovato nello standard PKCS #8.

A scopo di allocazione della memoria, è possibile ottenere le dimensioni della chiave privata da esportare impostando questo parametro su NULL. Per altre informazioni, vedere Recupero dei dati di lunghezza sconosciuta.

[in, out] pcbPrivateKeyBlob

Puntatore a un DWORD che può contenere, in input, le dimensioni, in byte, dell'allocazione di memoria necessaria per contenere pbPrivateKeyBlob. Se pbPrivateKeyBlob è NULL, questo parametro restituirà le dimensioni dell'allocazione di memoria necessaria per una seconda chiamata alla funzione. Per altre informazioni, vedere Recupero dei dati di lunghezza sconosciuta.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce non zero (TRUE).

Se la funzione ha esito negativo, restituisce zero (FALSE). Per informazioni sull'errore estese, chiamare GetLastError.

I codici di errore seguenti sono specifici di questa funzione.

Codice restituito Descrizione
ERROR_UNSUPPORTED_TYPE
Impossibile trovare una funzione di esportazione che può essere installata o registrata.
ERROR_MORE_DATA
Se il buffer specificato dal parametro pbPrivateKeyBlob non è sufficiente per contenere i dati restituiti, la funzione imposta il codice ERROR_MORE_DATA e archivia le dimensioni del buffer necessarie, in byte, nella variabile puntata dal parametro pcbPrivateKeyBlob .
 

Se la funzione ha esito negativo, GetLastError restituisce un errore di codifica/decodifica ASN.1. Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.

Commenti

Questa funzione è supportata solo per le chiavi asimmetriche.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
DLL Crypt32.dll

Vedi anche

CRYPT_PKCS8_EXPORT_PARAMS

Cryptacquirecontext

CryptExportPKCS8

CryptImportPKCS8