Condividi tramite


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

Vedi anche

Decodifica dei dati in busta