/sys$common/syshlp/HELPLIB.HLB  —  CDSA  CDSA_API, CSSM CSP CreateKeyGenContext
 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
Close Help