Description: The GenerateKey function generates a random cryptographic session key or a public/private key pair. A handle to the key or key pair is returned. This handle can then be used as needed with any CryptoAPI function requiring a key handle. It is the VTS analog of the CryptoAPI ryptGenKey call.
Returns: Handle
Usage: Script
Format: GenerateKey(CSPHandle, AlgID [, Flags, Error])
Parameters: CSPHandle { handle } { required } { no default }
The handle of a CSP to use to generate the key.
AlgID { numeric } { required } { no default }
Identifies the algorithm for which the key is to be generated. Values for this parameter vary depending on the CSP used and are defined in WinCrypt.h
Flags { numeric } { optional } { default: 0 }
An optional parameter specifying the flags to be passed to CryptGenKey. If omitted or invalid then the value 0 is used.
Error { numeric } { optional } { no default }
An optional variable in which the error code for the function is returned. It has the following meaning:
|
Error |
Definition |
|
0 |
Key successfully generated. |
|
1 |
CSPHandle or AlgID parameters invalid. |
|
x |
Any other value is an error from CryptGenKey. |
Comments: The return value for this function is a handle to the Key. If an error occurs, then the return value is invalid. A key has a value type of 37. If cast to text then the hexadecimal value of the algorithm ID will be returned.
Example:
[
Key1;
Key2;
Constant CALG_DH_EPHEM = 0xAA02;
Constant KEY_SIZE = 512;
]
Init [
If 1 Main;
[
{ Make a key }
Key1 = GenerateKey(CSP, CALG_DH_EPHEM, KEY_SIZE << 16);
]
]
See Also:
DeriveKey | Decrypt | Encrypt | ExportKey | GenerateKey | GetKeyParam | ImportKey | SetKeyParam