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 |
---|---|
|
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 |