CryptEncryptMessage-Funktion (wincrypt.h)
Die CryptEncryptMessage-Funktionverschlüsselt und codiert eine Nachricht.
Syntax
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
);
Parameter
[in] pEncryptPara
Ein Zeiger auf eine CRYPT_ENCRYPT_MESSAGE_PARA-Struktur , die die Verschlüsselungsparameter enthält.
Die Funktion CryptEncryptMessage unterstützt die SHA2-OIDs, szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF und szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF nicht.
[in] cRecipientCert
Anzahl der Elemente im rgpRecipientCert-Array .
[in] rgpRecipientCert
Array von Zeigern auf CERT_CONTEXT Strukturen, die die Zertifikate der beabsichtigten Empfänger der Nachricht enthalten.
[in] pbToBeEncrypted
Ein Zeiger auf einen Puffer, der die nachricht enthält, die verschlüsselt werden soll.
[in] cbToBeEncrypted
Die Größe der zu verschlüsselnden Nachricht in Bytes.
[out] pbEncryptedBlob
Ein Zeiger auf blob , der einen Puffer enthält, der die verschlüsselte und codierte Nachricht empfängt.
Um die Größe dieser Informationen für die Speicherbelegung festzulegen, kann dieser Parameter NULL sein. Weitere Informationen finden Sie unter Abrufen von Daten mit unbekannter Länge.
[in, out] pcbEncryptedBlob
Ein Zeiger auf ein DWORD , der die Größe des Puffers in Bytes angibt, auf den der pbEncryptedBlob-Parameter verweist. Wenn die Funktion zurückgibt, enthält diese Variable die Größe der verschlüsselten und codierten Nachricht in Byte, die in pbEncryptedBlob kopiert wurde.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ungleich null (TRUE) zurück.
Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Rückgabecode | Beschreibung |
---|---|
|
Wenn der durch den pbEncryptedBlob-Parameter angegebene Puffer nicht groß genug ist, um die zurückgegebenen Daten zu speichern, legt die Funktion den ERROR_MORE_DATA Code fest und speichert die erforderliche Puffergröße in Byte in der Variablen, auf die von pcbEncryptedBlob verwiesen wird. |
|
Der Nachrichtencodierungstyp ist ungültig. Derzeit wird nur PKCS_7_ASN_ENCODING unterstützt. CbSize in *pEncryptPara ist ungültig. |
Wenn die Funktion fehlschlägt, gibt GetLastError möglicherweise einen ASN.1-Codierungs-/Decodierungsfehler ( Abstract Syntax Notation One ) zurück. Informationen zu diesen Fehlern finden Sie unter ASN.1-Rückgabewerte für Codierung/Decodierung.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Bibliothek | Crypt32.lib |
DLL | Crypt32.dll |