PFN_CMSG_CNG_IMPORT_KEY_AGREE funzione di callback (wincrypt.h)
La funzione di callback PFN_CMSG_CNG_IMPORT_KEY_AGREE decrittografa una chiave di crittografia del contenuto (CEK) destinata a un destinatario del contratto di chiave. PFN_CMSG_CNG_IMPORT_KEY_AGREE può essere installato usando un'API di crittografia: identificatore dell'oggetto CNG (Next Generation) (OID).
Sintassi
PFN_CMSG_CNG_IMPORT_KEY_AGREE PfnCmsgCngImportKeyAgree;
BOOL PfnCmsgCngImportKeyAgree(
[in, out] PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo,
[in] PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
[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] pKeyAgreeDecryptPara
Puntatore a una struttura CMSG_CTRL_KEY_AGREE_DECRYPT_PARA che contiene le informazioni sul contratto chiave passate alla funzione CryptMsgControl nel caso CMSG_CTRL_KEY_AGREE_DECRYPT .
Il membro EncryptedKey del membro pKeyAgree contiene i byte CEK da decrittografare. Poiché una struttura CMSG_CTRL_KEY_AGREE_DECRYPT_PARA potrebbe contenere una scelta HCRYPTPROV , il membro hNCryptKey non deve essere usato per decrittografare EncryptedKey. È invece necessario usare il membro hNCryptKey specificato nel parametro pCNGContentDecryptInfo .
Questa funzione non deve aggiornare i membri della struttura CMSG_CTRL_KEY_AGREE_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_KEY_AGREE_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_AGREE_FUNC | "CryptMsgDllCNGImportKeyAgree" |
Esempio
Per un esempio che distribuisce una funzione di callback installabile OID, vedere Estensione della funzionalità CryptoAPI.
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |