CryptSignHash

Aus API-Wiki
Wechseln zu: Navigation, Suche

Mit der Funktion CryptSignHash wird ein zuvor berechneter Hashwert mit einem asymmetrischen Signaturschlüssel signiert.

Declare Function CryptSignHash Lib "advapi32.dll" _
                 Alias "CryptSignHashA" ( _
                 ByVal hHash As Long, _
                 ByVal dwKeySpec As Long, _
                 ByVal sDescription As Long, _
                 ByVal dwFlags As Long, _
                 ByVal pbSignature As Long, _
                 ByRef pdwSigLen As Long) As Long

Parameter

hHash

[in] Handle eines mit CryptCreateHash erstellten Hash Objekts in welches die zu signierenden Daten mit CryptHashData geschrieben wurden.

dwKeySpec

[in] Gibt den Schlüssel an mit dem die Signatur durchgeführt werden soll:
AT_KEYEXCHANGE
AT_SIGNATURE

sDescription

[in] Dieser Parameter wird nicht mehr verwendet und muss auf NULL gesetzt werden.

dwFlags

[in] Optionale Parameter:
CRYPT_NOHASHOID
CRYPT_TYPE2_FORMAT
CRYPT_X931_FORMAT

pbSignature

[out] Zeiger auf einen reservierten Speicherbereich, der die Signaturdaten aufnehmen kann. Um die benötigte Grösse des Buffers zu ermitteln kann für diesen Parameter NULL übergeben werden, pdwSigLen erhält dann die Anzahl der benötigten Bytes.

pdwSigLen

[in,out] Grösse des in pbSignature bereitgestellten Buffers in Bytes, nach der Rückkehr enthält diese Variable die tasächlich zurückgegebenen Bytes.

Rückgabe(n)

Bei Erfolg wird ein Wert ungleich 0 zurückgegeben.

Beispiel

Ein komplettes Beispiel zur elektronischen Signatur findet sich unter CryptVerifySignature