NAME
CSSM_CSP_CreateKeyGenContext — Create a key generation cryptographic context (CDSA)
SYNOPSIS
# include <cssm.h>
| CSSM_RETURN CSSMAPI CSSM_CSP_CreateKeyGenContext(CSSM_CSP_HANDLE CSPHandle,
 CSSM_ALGORITHMS AlgorithmID,
 uint32 KeySizeInBits,
 const CSSM_CRYPTO_DATA *Seed,
 const CSSM_DATA *Salt,
 const CSSM_DATE *StartDate,
 const CSSM_DATE *EndDate,
 const CSSM_DATA *Params,
 CSSM_CC_HANDLE *NewContextHandle)
 | 
LIBRARY
Common Security Services Manager library (cdsa$incssm300_shr.exe)
PARAMETERS
| CSPHandle (input) | 
|  |  | The handle that describes the add-in Cryptographic
Service Provider module used to perform this function. If a NULL
handle is specified, CSSM returns an error. | 
| AlgorithmID (input) | 
|  |  | The algorithm identification number of the algorithm
used for key generation. | 
| KeySizeInBits (input) | 
|  |  | The logical size of the key (specified in bits).
This refers to either the actual key size (for symmetric key generation)
or the modulus size (for asymmetric key pair generation). | 
| Seed (input/optional) | 
|  |  | A seed used to generate the key. The caller can
either pass a seed and seed length in bytes or pass a callback function.
If NULL is passed, the Cryptographic Service Provider will use its default
seed-handling mechanism. | 
| Salt (input/optional) | 
|  |  | A salt used to generate the key. | 
| StartDate (input/optional) | 
|  |  | A start date for the validity period of the key
or key pair being generated. | 
| EndDate (input/optional) | 
|  |  | An end date for the validity period of the key or
key pair being generated. | 
| Params (input/optional) | 
|  |  | A data buffer containing parameters required to
generate a key pair for a specific algorithm. | 
| NewContextHandle (output) | 
|  |  | Cryptographic context handle. | 
DESCRIPTION
This function creates a key generation cryptographic context,
given a handle of a CSP, an algorithm identification number, a passphrase,
a modulus size (for public or private keypair generation), a key
size (for symmetric key generation), a seed, and a salt. The cryptographic
context handle is returned. The cryptographic context handle can
be used to call key/ or keypair generation functions.
Additional attributes can be added to the newly created context
using the CSSM_UpdateContextAttributes() function. Incremental attributes of interest for key
generation include a handle-pair identifying a Data Storage Library
service module and an open data store for CSPs that manage multiple
persistent key stores. If a CSP does not support multiple key stores,
the CSP ignores the presence or absence of this attribute.
RETURN VALUE
A CSSM_RETURN value indicating success or specifying a particular
error condition. The value CSSM_OK indicates success. All other
values represent an error condition.
SEE ALSO
Books
Intel CDSA Application Developer's Guide 
Online Help
Functions: CSSM_GenerateKey, CSSM_GenerateKeyPair, CSSM_GetContext, CSSM_SetContext, CSSM_DeleteContext, CSSM_GetContextAttribute, CSSM_UpdateContextAttributes