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 |
---|---|
|
Impossibile trovare una funzione di esportazione che può essere installata o registrata. |
|
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 |