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
Online Help
Functions: CSSM_DeriveKey