Funzione CryptEncryptMessage (wincrypt.h)
La funzione CryptEncryptMessagecrittografa e codifica un messaggio.
Sintassi
BOOL CryptEncryptMessage(
[in] PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara,
[in] DWORD cRecipientCert,
[in] PCCERT_CONTEXT [] rgpRecipientCert,
[in] const BYTE *pbToBeEncrypted,
[in] DWORD cbToBeEncrypted,
[out] BYTE *pbEncryptedBlob,
[in, out] DWORD *pcbEncryptedBlob
);
Parametri
[in] pEncryptPara
Puntatore a una struttura CRYPT_ENCRYPT_MESSAGE_PARA che contiene i parametri di crittografia.
La funzione CryptEncryptMessage non supporta gli OID SHA2, szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF e szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF.
[in] cRecipientCert
Numero di elementi nella matrice rgpRecipientCert .
[in] rgpRecipientCert
Matrice di puntatori a CERT_CONTEXT strutture che contengono i certificati dei destinatari desiderati del messaggio.
[in] pbToBeEncrypted
Puntatore a un buffer contenente il messaggio da crittografare.
[in] cbToBeEncrypted
Dimensione, in byte, del messaggio da crittografare.
[out] pbEncryptedBlob
Puntatore al BLOB che contiene un buffer che riceve il messaggio crittografato e codificato.
Per impostare le dimensioni di queste informazioni ai fini dell'allocazione di memoria, questo parametro può essere NULL. Per altre informazioni, vedere Recupero di dati di lunghezza sconosciuta.
[in, out] pcbEncryptedBlob
Puntatore a un DWORD che specifica le dimensioni, in byte, del buffer a cui punta il parametro pbEncryptedBlob . Quando la funzione viene restituita, questa variabile contiene le dimensioni, in byte, del messaggio crittografato e codificato copiato in pbEncryptedBlob.
Valore restituito
Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).
Se la funzione non riesce, restituisce zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.
Codice restituito | Descrizione |
---|---|
|
Se il buffer specificato dal parametro pbEncryptedBlob non è sufficientemente grande da contenere i dati restituiti, la funzione imposta il codice ERROR_MORE_DATA e archivia le dimensioni del buffer necessarie, in byte, nella variabile a cui punta pcbEncryptedBlob. |
|
Il tipo di codifica del messaggio non è valido. Attualmente è supportato solo PKCS_7_ASN_ENCODING. CbSize in *pEncryptPara non è valido. |
Se la funzione ha esito negativo, GetLastError può restituire un errore di codifica/decodifica ASN.1 ( Abstract Syntax Notation One ). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.
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 |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |