DecryptDataUpdate(3)DecryptDataUpdate(3)NAME
DecryptDataUpdate, CSSM_DecryptDataUpdate, CSP_DecryptDataUpdate - Con‐
tinue the staged decryption process (CDSA)
SYNOPSIS
# include <cdsa/cssm.h>
API: CSSM_RETURN CSSMAPI CSSM_DecryptDataUpdate (CSSM_CC_HANDLE CCHan‐
dle, const CSSM_DATA *CipherBufs, uint32 CipherBufCount, CSSM_DATA_PTR
ClearBufs, uint32 ClearBufCount, uint32 *bytesDecrypted) SPI:
CSSM_RETURN CSSMCSPI CSP_DecryptDataUpdate (CSSM_CSP_HANDLE CSPHandle,
CSSM_CC_HANDLE CCHandle, const CSSM_DATA *CipherBufs, uint32 CipherBuf‐
Count, CSSM_DATA_PTR ClearBufs, uint32 ClearBufCount, uint32 *bytesDe‐
crypted)
LIBRARY
Common Security Services Manager library (libcssm.so)
API PARAMETERS
The handle that describes the context of this cryptographic operation
used to link to the CSP-managed information. A pointer to a vector of
CSSM_DATA structures that contain the data to be operated on. The num‐
ber of CipherBufs. A pointer to a vector of CSSM_DATA structures that
contain the decrypted data resulting from the decryption operation.
The number of ClearBufs. A pointer to uint32 for the size of the
decrypted data in bytes.
SPI PARAMETER
The handle that describes the add-in cryptographic service provider
module used to perform calls to CSSM for the memory functions managed
by CSSM.
DESCRIPTION
This function continues the staged decryption process over all data in
the set of input buffers. There can be algorithm-specific and token-
specific rules restricting the lengths of data in CSSM_DecryptUpdate()
calls, but multiple input buffers are supported. The minimum number of
buffers required to contain the resulting plain text is produced as
output. Excess output buffer space is not remembered across staged
decryption calls. Each staged call begins filling one or more new out‐
put buffers. The CSSM_QuerySize() (CSSM API), or CSP_QuerySize() (CSP
SPI), function can be used to estimate the output buffer size required
for each update call.
NOTES FOR API
The output is returned to the caller either by filling the caller-spec‐
ified buffer or by using the application's declared memory allocation
functions to allocate buffer space. To specify a specific, preallocated
output buffer, the caller must provide an array of one or more
CSSM_DATA structures, each containing a Length field value greater than
zero and a non-NULL data pointer field value. To specify automatic out‐
put buffer allocation by the CSP, the caller must provide an array of
one or more CSSM_DATA structures, each containing a Length field value
equal to zero and a NULL data pointer field value. The application is
always responsible for deallocating the memory when it is no longer
needed. In-place decryption can be done by supplying the same input and
output buffers.
NOTES FOR SPI
The output is returned to the caller as specified in Buffer Management
for Cryptographic Services.
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.
ERRORS
Errors are described in the CDSA technical standard. See
CDSA_intro(3).
None specific to this call.
SEE ALSO
Books
Intel CDSA Application Developer's Guide (see CDSA_intro(3))
Reference Pages
Functions for the CSSM API:
CSSM_QuerySize(3), CSSM_DecryptData(3), CSSM_DecryptDataInit(3),
CSSM_DecryptDataFinal(3)
Functions for the CSP SPI:
CSP_QuerySize(3), CSP_DecryptData(3), CSP_DecryptDataInit(3),
CSP_DecryptDataFinal(3)DecryptDataUpdate(3)