CryptGenKey

Aus API-Wiki
Wechseln zu: Navigation, Suche

Die Funktion CryptGenKey erstellt einen zufälligen Schlüssel zur Verschlüsselung von Daten.

<vb> Declare Function CryptGenKey Lib "advapi32.dll" ( _

                ByVal hProv As Long, _
                ByVal AlgID As Long, _
                ByVal dwFlags As Long, _
                ByRef phKey As Long) As Long</vb>

Parameter

phProv

[in] Handle zu einem CSP. Ein solches Handle wird mit CryptAcquireContext erzeugt.

AlgID

[in] Definiert den Verschlüsselungsalgorithmus für den der Schlüssel verwendet wird. Beispiele sind: CALG_AES_128 oder CALG_3DES_112

dwFlags

[in] Flags welche die Schlüsselerstellung weiter steuern, z.B. CRYPT_EXPORTABLE. Mittels der oberen 16 Bits kann ausserdem die gewünschte Schlüssellänge angegeben werden.

phKey

[out] In diesem Long Wert wird das Handle des erstellten Schlüssels zurückgegeben. Um den Schlüssel zu zerstören wird CryptDestroyKey verwendet.

Rückgabe(n)

Bei Erfolg wird ein Wert ungleich 0 zurückgegeben.

Beispiel

<vb>Const CALG_RSA_SIGN As Long = (ALG_CLASS_SIGNATURE Or ALG_TYPE_RSA Or ALG_SID_RSA_ANY)

   If CryptGenKey(hCryptProv, CALG_RSA_SIGN, KeyLength * &H10000 Or _
           CRYPT_EXPORTABLE, hRsaKey) = 0 Then
       Err.Raise Err.LastDllError, , "CryptGenKey Error!"
   End If</vb>

Ein komplettes Beispiel zum Ver- und Entschlüsseln findet sich unter CryptDecrypt