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 |