PFN_CMSG_IMPORT_KEY_AGREE funzione di callback (wincrypt.h)

La funzione di callback PFN_CMSG_IMPORT_KEY_AGREE importa una chiave di crittografia del contenuto per un destinatario del trasporto di chiavi di un messaggio in busto. PFN_CMSG_IMPORT_KEY_AGREE può essere installato usando un identificatore di oggettoCryptoAPI (OID). Questa funzione viene chiamata dalla funzione CryptMsgControl quando il parametro dwCtrlType è impostato su CMSG_CTRL_DECRYPT.

Sintassi

PFN_CMSG_IMPORT_KEY_AGREE PfnCmsgImportKeyAgree;

BOOL PfnCmsgImportKeyAgree(
  [in]  PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm,
  [in]  PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara,
  [in]  DWORD dwFlags,
        void *pvReserved,
  [out] HCRYPTKEY *phContentEncryptKey
)
{...}

Parametri

[in] pContentEncryptionAlgorithm

Puntatore a una struttura CRYPT_ALGORITHM_IDENTIFIER che specifica l'algoritmo utilizzato per crittografare il contenuto del messaggio e tutti i parametri associati.

[in] pKeyAgreeDecryptPara

Puntatore a una struttura di CMSG_CTRL_KEY_AGREE_DECRYPT_PARA che contiene informazioni sul destinatario del contratto di chiave.

[in] dwFlags

Questo valore non viene utilizzato. Impostarlo su zero.

pvReserved

Questo parametro è riservato e deve essere NULL.

[out] phContentEncryptKey

Indirizzo di un handle per la chiave di crittografia del contenuto restituita da questa funzione.

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 sugli errori estesi, chiamare GetLastError.

Se questa funzione di callback non supporta l'algoritmo di crittografia della chiave, deve restituire FALSE e chiamare SetLastError con E_NOTIMPL.

Commenti

È possibile usare le funzioni di supporto OID per distribuire questa funzione di callback. Wincrypt.h definisce le costanti seguenti a questo scopo.

Costante Definizione
CMSG_OID_IMPORT_KEY_AGREE_FUNC o CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC "CryptMsgDllImportKeyAgree"

Requisiti

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