Condividi tramite


PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC funzione di callback (wincrypt.h)

[La funzione PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Potrebbe essere modificato o non disponibile nelle versioni successive.]

La funzione PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC crittografa la chiave privata e restituisce il contenuto crittografato nel parametro pbEncryptedKey . Si tratta di una funzione di callback identificata in una struttura CRYPT_PKCS8_EXPORT_PARAMS che crea una struttura PKCS #8 CRYPT_ENCRYPTED_PRIVATE_KEY_INFO . La funzione deve essere implementata dallo sviluppatore per soddisfare ogni applicazione.

Sintassi

PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC PcryptEncryptPrivateKeyFunc;

BOOL PcryptEncryptPrivateKeyFunc(
  [out]     CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm,
  [in]      CRYPT_DATA_BLOB *pClearTextPrivateKey,
  [out]     BYTE *pbEncryptedKey,
  [in, out] DWORD *pcbEncryptedKey,
  [in]      LPVOID pVoidEncryptFunc
)
{...}

Parametri

[out] pAlgorithm

Puntatore a una struttura CRYPT_ALGORITHM_IDENTIFIER per ricevere l'algoritmo usato per crittografare il tipo ASN.1 PrivateKeyInfo trovato nello standard PKCS #8.

[in] pClearTextPrivateKey

Puntatore a una struttura CRYPT_DATA_BLOB che contiene la chiave privata di testo non crittografato da crittografare.

[out] pbEncryptedKey

Puntatore a un buffer BYTE per ricevere il BLOB della chiave privata crittografata. Se questo parametro è NULL, pcbEncryptedKey restituirà le dimensioni, in byte, della memoria necessaria per contenere la chiave crittografata in una chiamata successiva a questa funzione.

[in, out] pcbEncryptedKey

Puntatore a una variabile DWORD contenente le dimensioni, in byte, del buffer pbEncryptedKey . Se pbEncryptedKey è NULL, pcbEncryptedKey viene impostato sulle dimensioni, in byte, necessarie per crittografare la chiave. Per altre informazioni, vedere Recupero di dati di lunghezza sconosciuta.

[in] pVoidEncryptFunc

Variabile LPVOID che contiene i dati usati per la crittografia, ad esempio chiave, vettore di inizializzazione e password.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).

Se la funzione non riesce, restituisce zero (FALSE).

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h

Vedi anche

CRYPT_PKCS8_EXPORT_PARAMS

PCRYPT_DECRYPT_PRIVATE_KEY_FUNC