CryptGenKey: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
(Beispiel)
K (vb)
Zeile 2: Zeile 2:
 
Die Funktion [[CryptGenKey]] erstellt einen zufälligen Schlüssel zur Verschlüsselung von Daten.
 
Die Funktion [[CryptGenKey]] erstellt einen zufälligen Schlüssel zur Verschlüsselung von Daten.
  
<PRE>
+
<vb>
 
Declare Function CryptGenKey Lib "advapi32.dll" ( _
 
Declare Function CryptGenKey Lib "advapi32.dll" ( _
 
                 ByVal hProv As Long, _
 
                 ByVal hProv As Long, _
 
                 ByVal AlgID As Long, _
 
                 ByVal AlgID As Long, _
 
                 ByVal dwFlags As Long, _
 
                 ByVal dwFlags As Long, _
                 ByRef phKey As Long) As Long
+
                 ByRef phKey As Long) As Long</vb>
</PRE>
 
 
 
  
 
===Parameter===
 
===Parameter===
Zeile 26: Zeile 24:
 
===Rückgabe(n)===
 
===Rückgabe(n)===
 
Bei Erfolg wird ein Wert ungleich 0 zurückgegeben.
 
Bei Erfolg wird ein Wert ungleich 0 zurückgegeben.
 
  
 
===Beispiel===
 
===Beispiel===
<pre>
+
<vb>Const CALG_RSA_SIGN As Long = (ALG_CLASS_SIGNATURE Or ALG_TYPE_RSA Or ALG_SID_RSA_ANY)
    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 _
 
     If CryptGenKey(hCryptProv, CALG_RSA_SIGN, KeyLength * &H10000 Or _
 
             CRYPT_EXPORTABLE, hRsaKey) = 0 Then
 
             CRYPT_EXPORTABLE, hRsaKey) = 0 Then
 
         Err.Raise Err.LastDllError, , "CryptGenKey Error!"
 
         Err.Raise Err.LastDllError, , "CryptGenKey Error!"
     End If
+
     End If</vb>
</pre>
 
  
 
Ein komplettes Beispiel zum Ver- und Entschlüsseln findet sich unter [[CryptDecrypt]]
 
Ein komplettes Beispiel zum Ver- und Entschlüsseln findet sich unter [[CryptDecrypt]]
  
 
[[Kategorie:Crypt Api]]
 
[[Kategorie:Crypt Api]]

Version vom 13. Mai 2008, 17:30 Uhr

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