CSP_GenerateMac
CSSM_RETURN CSSMSPI CSP_GenerateMac
(CSSM_CSP_HANDLE CSPHandle,
CSSM_CC_HANDLE CCHandle,
const CSSM_CONTEXT_PTR Context,
const CSSM_DATA_PTR DataBufs,
uint32 DataBufCount,
CSSM_DATA_PTR Mac)
This function generates a message authentication code for the supplied data.
- CSPHandle (input)
The handle that describes the add-in cryptographic service provider module used to perform up-calls to CSSM for the memory functions managed by CSSM.
- CCHandle (input)
The handle that describes the context of this cryptographic operation used to link to the CSP-managed information.
- Context (input)
Pointer to CSSM_CONTEXT structure that describes the attributes with this context.
- DataBufs (input)
A pointer to one or more CSSM_DATA structures containing the supplied data.
- DataBufCount (input)
The number of DataBufs.
- Mac (output)
A pointer to the CSSM_DATA structure for the message authentication code.
A CSSM return value. This function returns CSSM_OK if successful and returns an error code if an error has occurred.
- CSSM_CSP_INVALID_CSP_HANDLE
Invalid CSP handle.
- CSSM_CSP_INVALID_CONTEXT_HANDLE
Invalid context handle.
- CSSM_CSP_INVALID_CONTEXT_POINTER
Invalid CSSM_CONTEXT pointer.
- CSSM_CSP_INVALID_CONTEXT
Context type and operation do not match.
- CSSM_CSP_INVALID_DATA_POINTER
Invalid input or output CSSM_DATA pointer.
- CSSM_CSP_INVALID_DATA_COUNT
Invalid input data count; data count cannot be 0.
- CSSM_CSP_INVALID_DATA
Invalid input or output CSSM_DATA buffer.
- CSSM_CSP_NOT_ENOUGH_BUFFER
The output buffer is not big enough.
- CSSM_CSP_INVALID_ALGORITHM
Unknown algorithm.
- CSSM_CSP_MEMORY_ERROR
Not enough memory to allocate.
- CSSM_CSP_OPERATION_UNSUPPORTED
Generate MAC service not supported.
- CSSM_CSP_OPERATION_FAILED
Cryptographic operation failed.
- CSSM_CSP_VECTOROFBUFS_UNSUPPORTED
Supports only a single buffer of input.
- CSSM_CSP_INVALID_ATTR_KEY
Invalid or missing key attribute in the context.
- CSSM_CSP_INVALID_KEY
Invalid or missing key data in the context attribute.
- CSSM_CSP_INVALID_KEYCLASS
Key class is not session key class.
- CSSM_CSP_KEY_ALGID_MISMATCH
The supplied key does not match the operation.
- CSSM_CSP_KEY_KEYHEADER_INCONSISTENT
Key header and key data is inconsistent.
- CSSM_CSP_KEY_FORMAT_INCORRECT
Unknown key format.
- CSSM_CSP_INVALID_KEY_SIZE_IN_BITS
Key size in bits unsupported.
Comments
The output can be obtained either by filling the caller-supplied buffer or using the application's memory allocation functions to allocate space; application has to free the memory in this case. If the output buffer pointer is NULL, an error code CSSM_CSP_INVALID_DATA_POINTER is returned.
CSP_GenerateMacInit, CSP_GenerateMacUpdate, CSP_GenerateMacFinal
Contents | Next section | Index |