NAME CSSM_CSP_CreateDeriveKeyContext - Create a cryptographic context to derive a symmetric key (CDSA) SYNOPSIS # include <cssm.h> CSSM_RETURN CSSMAPI CSSM_CSP_CreateDeriveKeyContext (CSSM_CSP_HANDLE CSPHandle, CSSM_ALGORITHMS AlgorithmID, CSSM_KEY_TYPE DeriveKeyType, uint32 DeriveKeyLengthInBits, const CSSM_ACCESS_CREDENTIALS *AccessCred, const CSSM_KEY *BaseKey, uint32 IterationCount, const CSSM_DATA *Salt, const CSSM_CRYPTO_DATA *Seed, 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 for a derived key algorithm. DeriveKeyType (input) The type of symmetric key to derive. DeriveKeyLengthInBits (input) The logical length of the key in bits to be derived ( LogicalKeySizeInBits) AccessCred (input/optional) A pointer to the set of one or more credentials required to access the base key. The credentials structure can contain an immediate value for the credential, such as a passphrase, or the caller can specify a callback function the CSP can use to obtain one or more credentials. If the BaseKey is NULL, then this parameter is optional. BaseKey (input/optional) The base key used to derive the new key. The base key can be a public key, a private key, or a symmetric key IterationCount (input/optional) The number of iterations to be performed during the derivation process. Used heavily by password-based derivation methods. Salt (input/optional) A Salt used in deriving the key. Seed (input/optional) A seed used to generate a random number. The caller can either pass a seed and seed length in bytes or pass a callback function. If Seed is NULL, the cryptographic service provider will use its default seed-handling mechanism. NewContextHandle (output) Cryptographic context handle. DESCRIPTION This function creates a cryptographic context to derive a symmetric key, given a handle of a CSP, an algorithm, the type of symmetric key to derive, the length of the derived key, and an optional seed or an optional AccessCredentials structure from which to derive a new key. The cryptographic context handle is returned. The cryptographic context handle can be used for calling the cryptographic derive key function. 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_DeriveKey