CryptVerifyDetachedMessageHash-Funktion (wincrypt.h)

Die Funktion CryptVerifyDetachedMessageHash überprüft einen getrennten Hash.

Syntax

BOOL CryptVerifyDetachedMessageHash(
  [in]      PCRYPT_HASH_MESSAGE_PARA pHashPara,
  [in]      BYTE                     *pbDetachedHashBlob,
  [in]      DWORD                    cbDetachedHashBlob,
  [in]      DWORD                    cToBeHashed,
  [in]      const BYTE * []          rgpbToBeHashed,
  [in]      DWORD []                 rgcbToBeHashed,
  [out]     BYTE                     *pbComputedHash,
  [in, out] DWORD                    *pcbComputedHash
);

Parameter

[in] pHashPara

Ein Zeiger auf eine CRYPT_HASH_MESSAGE_PARA-Struktur , die die Hashparameter enthält.

[in] pbDetachedHashBlob

Ein Zeiger auf den codierten, getrennten Hash.

[in] cbDetachedHashBlob

Die Größe des getrennten Hashs in Bytes.

[in] cToBeHashed

Anzahl der Elemente in den Arrays rgpbToBeHashed und rgcbToBeHashed .

[in] rgpbToBeHashed

Array von Zeigern auf Inhaltspuffer, die gehasht werden sollen.

[in] rgcbToBeHashed

Array von Größen in Bytes für die Inhaltspuffer, auf die von den Elementen des rgcbToBeHashed-Arrays verwiesen wird.

[out] pbComputedHash

Ein Zeiger auf einen Puffer, um den berechneten Hash zu empfangen.

Dieser Parameter kann NULL sein, wenn der neu erstellte Hash nicht für die zusätzliche Verarbeitung oder zum Festlegen der Größe des Hashs für Speicherzuordnungszwecke erforderlich ist. Weitere Informationen finden Sie unter Abrufen von Daten unbekannter Länge.

[in, out] pcbComputedHash

Ein Zeiger auf ein DWORD , das die Größe des Puffers pbComputedHash in Bytes angibt. Wenn die Funktion zurückgibt, enthält diese DWORD die Größe des erstellten Hashs in Bytes. Der Hash wird nicht zurückgegeben, wenn dieser Parameter NULL ist.

Hinweis Bei der Verarbeitung der zurückgegebenen Daten müssen Anwendungen die tatsächliche Größe der zurückgegebenen Daten verwenden. Die tatsächliche Größe kann etwas kleiner sein als die Größe des Puffers, der bei der Eingabe angegeben wird. (Bei der Eingabe werden Puffergrößen normalerweise groß genug angegeben, um sicherzustellen, dass die größtmöglichen Ausgabedaten in den Puffer passen.) Bei der Ausgabe wird die Variable aktualisiert, auf die dieser Parameter verweist, um die tatsächliche Größe der in den Puffer kopierten Daten widerzuspiegeln.
 

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert nonzero (TRUE).

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE).

Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Im Folgenden werden die Fehlercodes aufgeführt, die am häufigsten von der GetLastError-Funktion zurückgegeben werden.

Rückgabecode Beschreibung
CRYPT_E_UNEXPECTED_MSG_TYPE
Keine kryptografische Hashnachricht.
E_INVALIDARG
Der Nachrichtencodierungstyp ist ungültig. Derzeit wird nur PKCS_7_ASN_ENCODING unterstützt. Die cbSize-Datei in *pHashPara ist ungültig.
ERROR_MORE_DATA
Wenn der vom pbComputedHash-Parameter angegebene Puffer nicht groß genug ist, um die zurückgegebenen Daten aufzunehmen, legt die Funktion den ERROR_MORE_DATA Code fest und speichert die erforderliche Puffergröße in Bytes in der Variablen, auf die von pcbComputedHash verwiesen wird.
 
Hinweis Fehler aus den aufgerufenen Funktionen CryptCreateHash, CryptHashData und CryptGetHashParam können an diese Funktion weitergegeben werden.

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.

 

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

CryptVerifyMessageHash

Vereinfachte Nachrichtenfunktionen