PFN_CMSG_CNG_IMPORT_KEY_TRANS funzione di callback (wincrypt.h)

La funzione di callback PFN_CMSG_CNG_IMPORT_KEY_TRANS importa e decrittografa una chiave di crittografia del contenuto (CEK) destinata a un destinatario del trasporto delle chiavi. PFN_CMSG_CNG_IMPORT_KEY_TRANS può essere installato usando un'API di crittografia: identificatore dell'oggetto CNG (Next Generation) (OID).

Sintassi

PFN_CMSG_CNG_IMPORT_KEY_TRANS PfnCmsgCngImportKeyTrans;

BOOL PfnCmsgCngImportKeyTrans(
  [in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
  [in]      PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara,
  [in]      DWORD dwFlags,
            void *pvReserved
)
{...}

Parametri

[in, out] pCNGContentDecryptInfo

Puntatore a una struttura CMSG_CNG_CONTENT_DECRYPT_INFO da aggiornare con i byte CEK decrittografati. Questo parametro contiene la chiave usata per decrittografare la chiave CEK. Il parametro pKeyTransDecryptPara seguente contiene i byte CEK da decrittografare.

[in] pKeyTransDecryptPara

Puntatore a una struttura CMSG_CTRL_KEY_TRANS_DECRYPT_PARA che contiene le informazioni di trasporto chiave passate alla funzione CryptMsgControl nei casi CMSG_CTRL_DECRYPT oCMSG_CTRL_KEY_TRANS_DECRYPT . Per il caso CMSG_CTRL_DECRYPT , CryptMsgControl converte la struttura CMSG_CTRL_DECRYPT_PARA in una struttura CMSG_CTRL_KEY_TRANS_DECRYPT_PARA .

Il membro EncryptedKey del membro pKeyTrans contiene i byte CEK da decrittografare. Poiché una struttura CMSG_CTRL_KEY_TRANS_DECRYPT_PARA potrebbe contenere una scelta HCRYPTPROV , il membro hNCryptKey non deve essere usato per decrittografare EncryptedKey. È invece necessario usare hNCryptKey specificato nel parametro pCNGContentDecryptInfo .

Questa funzione non deve aggiornare i membri della struttura CMSG_CTRL_KEY_TRANS_DECRYPT_PARA .

[in] dwFlags

Questo parametro è riservato. Impostalo su zero.

pvReserved

Questo parametro è riservato. Impostarlo su NULL.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è diverso da zero (TRUE).

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

Se questa funzione di callback non supporta l'algoritmo di crittografia delle chiavi, deve restituire FALSE e chiamare SetLastError con ERROR_NOT_SUPPORTED.

Commenti

La funzione CryptMsgControl chiama questa funzione per le operazioni seguenti specificate dal parametro dwCtrlType :

CMSG_CTRL_DECRYPT CMSG_CTRL_KEY_TRANS_DECRYPT è possibile usare funzioni di supporto OID per distribuire questa funzione di callback. Wincrypt.h definisce la costante seguente per questo scopo.

Costante Definizione
CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC "CryptMsgDllCNGImportKeyTrans"
 

Esempio

Per un esempio che distribuisce una funzione di callback installabile OID, vedere Estensione della funzionalità CryptoAPI.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h

Vedi anche

Decodifica dei dati in busta