PFN_CMSG_EXPORT_KEY_TRANS funzione di callback (wincrypt.h)
La funzione di callback PFN_CMSG_EXPORT_KEY_TRANS crittografa ed esporta la chiave di crittografia del contenuto per un destinatario del trasporto di chiavi di un messaggio in busto. PFN_CMSG_EXPORT_KEY_TRANS può essere installato usando un identificatore di oggettoCryptoAPI (OID). Questa funzione viene chiamata dalla funzione CryptMsgOpenToEncode quando il parametro dwMsgType è impostato su CMSG_ENVELOPED.
Sintassi
PFN_CMSG_EXPORT_KEY_TRANS PfnCmsgExportKeyTrans;
BOOL PfnCmsgExportKeyTrans(
[in] PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo,
[in] PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo,
[in, out] PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo,
[in] DWORD dwFlags,
void *pvReserved
)
{...}
Parametri
[in] pContentEncryptInfo
Puntatore a una struttura CMSG_CONTENT_ENCRYPT_INFO che contiene la chiave di crittografia del contenuto.
[in] pKeyTransEncodeInfo
Puntatore a una struttura di CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO che specifica la chiave pubblica del destinatario utilizzata per crittografare la chiave di crittografia del contenuto.
[in, out] pKeyTransEncryptInfo
Puntatore a una struttura CMSG_KEY_TRANS_ENCRYPT_INFO che contiene la chiave di crittografia del contenuto crittografata.
[in] dwFlags
Questo valore non viene utilizzato. Impostarlo su zero.
pvReserved
Questo valore è 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 sugli errori estesi, chiamare GetLastError.
Commenti
La funzione PFN_CMSG_EXPORT_KEY_TRANS deve aggiornare il membro EncryptedKey della struttura CMSG_KEY_TRANS_ENCRYPT_INFO a cui punta il parametro pKeyTransEncryptInfo . Questa funzione deve usare i membri pfnAlloc e pfnFree della struttura CMSG_CONTENT_ENCRYPT_INFO a cui punta il parametro pContentEncryptInfo per gestire l'allocazione di memoria per la chiave crittografata.
È possibile usare le funzioni di supporto OID per distribuire questa funzione di callback. Wincrypt.h definisce le costanti seguenti a questo scopo.
È necessario definire funzioni di callback diverse per le chiavi CAPI1 e l'API di crittografia: chiavi CNG (Next Generation). Entrambe le funzioni hanno la stessa firma, ma usano OID diversi. La funzione chiamata dipende dal valore del membro fCNG della struttura CMSG_CONTENT_ENCRYPT_INFO a cui punta il parametro pContentEncryptInfo . Nella tabella seguente viene illustrata la relazione tra la funzione di callback e il valore del membro fCNG .
valore fCNG | Costante | Definizione |
---|---|---|
FALSE | CMSG_OID_EXPORT_KEY_TRANS_FUNC o CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC | "CryptMsgDllExportKeyTrans" |
true | CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC | "CryptMsgDllCNGExportKeyTrans" |
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 |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per