CSP_DecryptDataUpdate
CSSM_RETURN CSSMSPI CSP_DecryptDataUpdate
(CSSM_CSP_HANDLE CSPHandle,
CSSM_CC_HANDLE CCHandle,
const CSSM_DATA_PTR CipherBufs,
uint32 CipherBufCount,
CSSM_DATA_PTR ClearBufs,
uint32 ClearBufCount,
uint32 *bytesDecrypted)
This function updates the staged decrypt function. The CSP_QuerySize function can be used to estimate the output buffer size required for each update call. There may be algorithm-specific and token-specific rules restricting the lengths of data in CSP_DecryptUpdate calls.
- 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.
- CipherBufs (input)
A pointer to one or more CSSM_DATA structures containing the encrypted data.
- CipherBufCount (input)
The number of CipherBufs.
- ClearBufs (output)
A pointer to one or more CSSM_DATA structures for the decrypted data. The output can be obtained either by filling the caller-supplied buffer or using the application's memory allocation functions to allocate spaces; application has to free the memory in this case. If this is NULL, an error code CSSM_CSP_INVALID_DATA_POINTER is returned.
- ClearBufCount (input)
The number of ClearBufs.
- bytesDecrypted (output)
A pointer to uint32 for the size of the decrypted data in bytes.
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_DATA_POINTER
Invalid input or output CSSM_DATA pointer.
- CSSM_CSP_INVALID_DATA_COUNT
Invalid input or output 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_MEMORY_ERROR
Not enough memory to allocate.
- CSSM_CSP_STAGED_OPERATION_UNSUPPORTED
Staged operation unsupported.
- CSSM_CSP_STAGED_OPERATION_FAILED
Staged Cryptographic operation failed.
- CSSM_CSP_VECTOROFBUFS_UNSUPPORTED
Supports only a single buffer of input.
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. In-place decryption can be done by supplying the same input and output buffers.
CSP_QuerySize, CSP_DecryptData, CSP_DecryptDataInit, CSP_DecryptDataFinal
Contents | Next section | Index |