CSSM_CSP_CreateSymmetricContext(3)CSSM_CSP_CreateSymmetricContext(3)NAMECSSM_CSP_CreateSymmetricContext - Create a symmetric encryption crypto‐
graphic context (CDSA)
SYNOPSIS
# include <cdsa/cssm.h>
CSSM_RETURN CSSMAPI CSSM_CSP_CreateSymmetricContext (CSSM_CSP_HANDLE
CSPHandle, CSSM_ALGORITHMS AlgorithmID, CSSM_ENCRYPT_MODE Mode, const
CSSM_ACCESS_CREDENTIALS *AccessCred, const CSSM_KEY *Key, const
CSSM_DATA *InitVector, CSSM_PADDING Padding, void *Reserved,
CSSM_CC_HANDLE *NewContextHandle)
LIBRARY
Common Security Services Manager library (libcssm.so)
PARAMETERS
The handle that describes the add-in cryptographic service provider
module used to perform this function. If a NULL handle is specified,
CSSM returns error. The algorithm identification number for symmetric
encryption. The mode of the specified algorithm ID. A pointer to the
set of one or more credentials required to unlock the private key. The
credentials structure can contain an immediate value for the creden‐
tial, such as a passphrase, or the caller can specify a callback func‐
tion the CSP can use to obtain one or more credentials. Credentials may
be required for encryption, decryption, and wrapping operations. The
key used for symmetric encryption. The caller passes a pointer to a
CSSM_KEY structure containing the key. The initial vector for symmet‐
ric encryption. This is typically specified for block ciphers. The
method for padding. This is typically specified for ciphers that pad.
Reserved for future use. Cryptographic context handle.
DESCRIPTION
This function creates a symmetric encryption cryptographic context,
given a handle of a CSP, an algorithm identification number, a key, an
initial vector, padding, and the number of encryption rounds. Algo‐
rithm-specific attributes must be added to the context after the ini‐
tial creation using the CSSM_UpdateContextAttributes() function. The
cryptographic context handle is returned. The cryptographic context
handle can be used to call symmetric encryption functions and the cryp‐
tographic wrap or unwrap functions.
Additional attributes can be added to the newly created context using
the CSSM_UpdateContextAttributes() function . Incremental attributes of
interest when using this context to unwrap a key 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 repre‐
sent an error condition.
SEE ALSO
Books
Intel CDSA Application Developer's Guide (see CDSA_intro(3))
Reference Pages
Functions: CSSM_DecryptData(3), CSSM_DecryptDataInit(3), CSSM_Decrypt‐
DataUpdate(3), CSSM_DecryptDataFinal(3), CSSM_DeleteContext(3),
CSSM_EncryptData(3), CSSM_EncryptDataInit(3), CSSM_EncryptDataUp‐
date(3), CSSM_EncryptDataFinal(3), CSSM_GetContext(3), CSSM_GetContex‐
tAttribute(3), CSSM_QuerySize(3), CSSM_SetContext(3), CSSM_UpdateCon‐
textAttributes(3)CSSM_CSP_CreateSymmetricContext(3)