Copyright Digital Equipment Corp. All rights reserved.

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