CryptGenKey

Aus API-Wiki
Zur Navigation springenZur Suche springen

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

Declare Function CryptGenKey Lib "advapi32.dll" ( _
                 ByVal hProv As Long, _
                 ByVal AlgID As Long, _
                 ByVal dwFlags As Long, _
                 ByRef phKey As Long) As Long


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

    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