HP Open Source Security for OpenVMS Volume 1: Common Data Security Architecture > CDSA API Functions

CSSM_CSP_CreateKeyGenContext

 » Table of Contents

 » Glossary

 » Index

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