Freigeben über


CryptGetMessageCertificates-Funktion (wincrypt.h)

Die CryptGetMessageCertificates-Funktion gibt das Handle eines geöffneten Zertifikatspeichers zurück, der die Zertifikate und CRLs der Nachricht enthält. Diese Funktion ruft CertOpenStore mithilfe des Anbietertyps CERT_STORE_PROV_PKCS7 als lpszStoreProvider-Parameter auf.

Syntax

HCERTSTORE CryptGetMessageCertificates(
  [in] DWORD             dwMsgAndCertEncodingType,
  [in] HCRYPTPROV_LEGACY hCryptProv,
  [in] DWORD             dwFlags,
  [in] const BYTE        *pbSignedBlob,
  [in] DWORD             cbSignedBlob
);

Parameter

[in] dwMsgAndCertEncodingType

Gibt den verwendeten Codierungstyp an. 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

[in] hCryptProv

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

Windows Server 2003 und Windows XP: Handle des an CertOpenStore übergebenen CSP. Weitere Informationen finden Sie unter CertOpenStore. Es sei denn, es gibt einen starken Grund für die Übergabe eines bestimmten Kryptografieanbieters in hCryptProv, übergeben Sie null, um den Standard-RSA- oder DSS-Anbieter zu erwerben.

Der Datentyp dieses Parameters ist HCRYPTPROV.

[in] dwFlags

An CertOpenStore übergebene Flags. Weitere Informationen finden Sie unter CertOpenStore.

[in] pbSignedBlob

Ein Zeiger auf eine gepufferte CRYPT_INTEGER_BLOB Struktur, die die signierte Nachricht enthält.

[in] cbSignedBlob

Die Größe der signierten Nachricht in Bytes.

Rückgabewert

Gibt den Zertifikatspeicher zurück, der die Zertifikate und CRLs der Nachricht enthält. Bei einem Fehler wird NULL zurückgegeben.

Im Folgenden wird der Fehlercode aufgeführt, der am häufigsten von der GetLastError-Funktion zurückgegeben wird.

Rückgabecode Beschreibung
E_INVALIDARG
Ungültige Nachrichten- und Zertifikatcodierungstypen. Derzeit werden nur PKCS_7_ASN_ENCODING und X509_ASN_ENCODING unterstützt.
 

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 Encoding/Decoding Return Values.

Hinweise

Verwenden Sie GetLastError , um den Grund für Fehler zu ermitteln.

Beispiele

Ein Beispiel, das diese Funktion verwendet, finden Sie unter Beispiel C-Programm: Festlegen und Abrufen von Zertifikatspeichereigenschaften.

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

Weitere Informationen

CryptVerifyMessageSignature

Vereinfachte Nachrichtenfunktionen