Share via


CRYPT_DECRYPT_MESSAGE_PARA-Struktur (wincrypt.h)

Die CRYPT_DECRYPT_MESSAGE_PARA-Struktur enthält Informationen zum Entschlüsseln von Nachrichten.

Syntax

typedef struct _CRYPT_DECRYPT_MESSAGE_PARA {
  DWORD      cbSize;
  DWORD      dwMsgAndCertEncodingType;
  DWORD      cCertStore;
  HCERTSTORE *rghCertStore;
  DWORD      dwFlags;
} CRYPT_DECRYPT_MESSAGE_PARA, *PCRYPT_DECRYPT_MESSAGE_PARA;

Member

cbSize

Größe dieser Struktur in Bytes.

dwMsgAndCertEncodingType

Verwendeter Codierungstyp. Es ist immer akzeptabel, sowohl den Zertifikat- als auch den Nachrichtencodierungstyp anzugeben, indem sie mit einem bitweisen OR-Vorgang kombiniert werden, wie im folgenden Beispiel gezeigt:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Derzeit definierte Codierungstypen sind:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

cCertStore

Anzahl der Elemente im rghCertStore-Array .

rghCertStore

Array von Zertifikatspeicherhandles .

Diese Zertifikatspeicherhandles werden verwendet, um den Zertifikatkontext abzurufen, der zum Entschlüsseln einer Nachricht verwendet werden soll. Weitere Informationen finden Sie unter den Entschlüsselungsfunktionen CryptDecryptMessage und CryptDecryptAndVerifyMessageSignature. Eine verschlüsselte Nachricht kann einen oder mehrere Empfänger haben. Die Empfänger werden durch einen eindeutigen Zertifikatbezeichner identifiziert, häufig der Hash des Zertifikatausstellers und der Seriennummer. In den Zertifikatspeichern wird nach einem Zertifikatkontext gesucht, der dem eindeutigen Bezeichner entspricht.

Empfänger können auch anhand ihrer KeyId identifiziert werden. Sowohl Empfänger von Key Agreement (Diffie-Hellman) als auch Key Transport (RSA) werden unterstützt.

Es können nur Zertifikatkontexte im Speicher mit einer der folgenden Eigenschaften, CERT_KEY_PROV_INFO_PROP_ID oder CERT_KEY_CONTEXT_PROP_ID verwendet werden. Diese Eigenschaften geben den Speicherort eines erforderlichen privaten Austauschschlüssels an.

dwFlags

Die CRYPT_MESSAGE_SILENT_KEYSET_FLAG kann so festgelegt werden, dass eine beliebige Benutzeroberfläche durch den CSP unterdrückt wird. Weitere Informationen zum CRYPT_SILENT-Flag finden Sie unter CryptAcquireContext.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile wincrypt.h

Weitere Informationen

CryptDecryptAndVerifyMessageSignature

CryptDecryptMessage