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