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 pass phrase, 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 (see CDSA) Other Help Topics Functions: CSSM_GenerateKey CSSM_GenerateKeyPair CSSM_GetContext CSSM_SetContext CSSM_DeleteContext CSSM_GetContextAttribute CSSM_UpdateContextAttributes