CryptHashToBeSigned-Funktion (wincrypt.h)
Syntax
BOOL CryptHashToBeSigned(
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwCertEncodingType,
[in] const BYTE *pbEncoded,
[in] DWORD cbEncoded,
[out] BYTE *pbComputedHash,
[in, out] DWORD *pcbComputedHash
);
Parameter
[in] hCryptProv
Dieser Parameter wird nicht verwendet und sollte auf NULL festgelegt werden.
Windows Server 2003 und Windows XP: Ein Handle des Kryptografiedienstanbieters (Cryptographic Service Provider , CSP), der zum Berechnen des Hashs verwendet werden soll. Der Datentyp dieses Parameters ist HCRYPTPROV.
Es sei denn, es gibt einen starken Grund für die Übergabe eines bestimmten Kryptografieanbieters in hCryptProv, 0 wird übergeben. Durch das Übergeben von 0 (Null) wird der Standardanbieter RSA oder Digital Signature Standard (DSS) abgerufen, bevor Hash-, Signaturüberprüfungs- oder Empfängerverschlüsselungsvorgänge ausgeführt werden.
[in] dwCertEncodingType
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] pbEncoded
Adresse eines Puffers, der den inhalt enthält, der gehasht werden soll. Dies ist die codierte Form eines CERT_SIGNED_CONTENT_INFO.
[in] cbEncoded
Die Größe des Cookies in Bytes.
[out] pbComputedHash
Ein Zeiger auf einen Puffer zum Empfangen des berechneten Hashs.
Dieser Parameter kann NULL sein, um die Größe dieser Informationen für die Speicherbelegung festzulegen. Weitere Informationen finden Sie unter Abrufen von Daten mit unbekannter Länge.
[in, out] pcbComputedHash
Ein Zeiger auf ein DWORD , das die Größe des Puffers in Bytes enthält, auf den der pbComputedHash-Parameter verweist. Wenn die Funktion zurückgibt, enthält das DWORD die Anzahl der im Puffer gespeicherten Bytes.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ungleich null (TRUE) zurück.
Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Rückgabecode | Beschreibung |
---|---|
|
Wenn der vom pbComputedHash-Parameter angegebene Puffer nicht groß genug ist, um die zurückgegebenen Daten zu speichern, legt die Funktion den ERROR_MORE_DATA Code fest und speichert die erforderliche Puffergröße in Byte in der Variablen, auf die von pcbComputedHash verwiesen wird. |
|
Ungültiger Zertifikatcodierungstyp. Derzeit wird nur X509_ASN_ENCODING unterstützt. |
|
Der Objektbezeichner (Object Identifier, OID) des Signaturalgorithmus wird keinem bekannten oder unterstützten Hashalgorithmus zugeordnet. |
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.
Anforderungen
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 |