CRYPT_VERIFY_MESSAGE_PARA-Struktur (wincrypt.h)

Die CRYPT_VERIFY_MESSAGE_PARA-Struktur enthält Informationen, die zum Überprüfen signierter Nachrichten erforderlich sind.

Syntax

typedef struct _CRYPT_VERIFY_MESSAGE_PARA {
  DWORD                            cbSize;
  DWORD                            dwMsgAndCertEncodingType;
  HCRYPTPROV_LEGACY                hCryptProv;
  PFN_CRYPT_GET_SIGNER_CERTIFICATE pfnGetSignerCertificate;
  void                             *pvGetArg;
  PCCERT_STRONG_SIGN_PARA          pStrongSignPara;
} CRYPT_VERIFY_MESSAGE_PARA, *PCRYPT_VERIFY_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

hCryptProv

Dieser Member wird nicht verwendet und sollte auf NULL festgelegt werden.

Windows Server 2003 und Windows XP: Ein Handle für den Kryptografiedienstanbieter , der zum Überprüfen einer signierten Nachricht verwendet werden soll. Der durch dieses Handle identifizierte CSP wird zum Hashing und zur Signaturüberprüfung verwendet. Legen Sie, sofern kein eindeutiger Grund für die Verwendung eines bestimmten Kryptografieanbieters vorliegt, auf Null fest, um den Standard-RSA- oder DSS-Anbieter zu verwenden.

Der Datentyp dieses Members ist HCRYPTPROV.

pfnGetSignerCertificate

Ein Zeiger auf die Rückruffunktion, die zum Abrufen des Zertifikatkontexts des Signierers verwendet wird. Bei NULL wird der Standardrückruf verwendet. Der Standardrückruf versucht, den Signaturzertifikatkontext aus dem Zertifikatspeicher der Nachricht abzurufen.

Anstelle des Standardwerts kann eine anwendungsdefinierte Rückruffunktion verwendet werden, die das Zertifikat des Signierers abruft. Es wird der Zertifikatbezeichner des Signaturgebers (aussteller und Seriennummer) und ein Handle an den Zertifikatspeicher der kryptografischen signierten Nachricht übergeben.

Unter CryptGetSignerCertificateCallback finden Sie die Rückruffunktionensignatur und -argumente.

pvGetArg

Argument, das an die Rückruffunktion übergeben werden soll. In der Regel wird dadurch das Zertifikat des Nachrichten signierers abgerufen und überprüft.

pStrongSignPara

Optionaler Zeiger auf eine CERT_STRONG_SIGN_PARA-Struktur , die Parameter enthält, die für die starke Signatur verwendet werden. Wenn Sie dieses Element festlegen und die Funktion die Signatur erfolgreich überprüft, sucht die Funktion dann nach einer starken Signatur. Wenn die Signatur nicht stark ist, schlägt der Vorgang fehl, und der GetLastError-Wert wird auf NTE_BAD_ALGID festgelegt.

Hinweis Sie können den pStrongSignPara-Member nur verwenden, wenn CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS mithilfe der #define-Direktive vor dem Einschließen von Wincrypt.h definiert ist. Wenn CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS definiert ist, müssen Alle nicht verwendeten Felder null sein.
 
Windows 8 und Windows Server 2012: Die Unterstützung für dieses Mitglied beginnt.

Hinweise

Diese Struktur wird an die folgenden Funktionen übergeben:

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

CERT_CONTEXT

CERT_INFO

CryptDecryptAndVerifyMessageSignature

CryptVerifyDetachedMessageSignature

CryptVerifyMessageSignature