CryptVerifyCertificateSignature-Funktion (wincrypt.h)

Die CryptVerifyCertificateSignature-Funktion überprüft die Signatur eines Zertifikats, einer Zertifikatsperrliste (Certificate Revocation List , CRL) oder einer Zertifikatanforderung mithilfe des öffentlichen Schlüssels in einer CERT_PUBLIC_KEY_INFO-Struktur . Die Funktion erfordert keinen Zugriff auf einen privaten Schlüssel.

Syntax

BOOL CryptVerifyCertificateSignature(
  [in] HCRYPTPROV_LEGACY     hCryptProv,
  [in] DWORD                 dwCertEncodingType,
  [in] const BYTE            *pbEncoded,
  [in] DWORD                 cbEncoded,
  [in] PCERT_PUBLIC_KEY_INFO pPublicKey
);

Parameter

[in] hCryptProv

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

Windows Server 2003 und Windows XP: Ein Handle für den Kryptografiedienstanbieter (Cryptographic Service Provider , CSP), der zum Überprüfen der Signatur verwendet wird. Der Datentyp dieses Parameters ist HCRYPTPROV.

NULL wird übergeben, es sei denn, es gibt einen starken Grund für die Übergabe eines bestimmten kryptografischen Anbieters. Die Übergabe von NULL bewirkt, dass der Standard-RSA- oder DSS-Anbieter abgerufen wird.

[in] dwCertEncodingType

Der Zertifikatcodierungstyp , der zum Verschlüsseln des Antragstellers verwendet wurde. Der Bezeichner des Nachrichtencodierungstyps , der im hohen WORD dieses Werts enthalten ist, wird von dieser Funktion ignoriert.

Bei diesem Parameter kann es sich um den folgenden derzeit definierten Zertifikatcodierungstyp handeln.

Wert Bedeutung
X509_ASN_ENCODING
1 (0x1)
Gibt die X.509-Zertifikatcodierung an.

[in] pbEncoded

Ein Zeiger auf ein codiertes BLOBmit CERT_SIGNED_CONTENT_INFO Inhalt, auf dem die Signatur überprüft werden soll.

[in] cbEncoded

Die Größe des codierten Inhalts in pbEncoded in Bytes.

[in] pPublicKey

Ein Zeiger auf eine CERT_PUBLIC_KEY_INFO-Struktur , die den öffentlichen Schlüssel enthält, der beim Überprüfen der Signatur verwendet werden soll.

Rückgabewert

Gibt ungleich null zurück, wenn erfolgreich oder andernfalls null.

Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Hinweis Fehler aus den aufgerufenen Funktionen CryptCreateHash, CryptImportKey, CryptVerifySignature und CryptHashData können an diese Funktion weitergegeben werden.
 
Bei einem Fehler führt diese Funktion dazu, dass die folgenden Fehlercodes von GetLastError zurückgegeben werden.
Rückgabecode Beschreibung
ERROR_FILE_NOT_FOUND
Ungültiger Zertifikatcodierungstyp. Derzeit wird nur X509_ASN_ENCODING unterstützt.
NTE_BAD_ALGID
Der Objektbezeichner (Object Identifier, OID) des Signaturalgorithmus wird keinem bekannten oder unterstützten Hashalgorithmus zugeordnet.
NTE_BAD_SIGNATURE
Die Signatur war 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.

Hinweise

Diese Funktion ruft derzeit die CryptVerifyCertificateSignatureEx-Funktion auf, um die Überprüfung durchzuführen.

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

CryptVerifyCertificateSignatureEx