The decryptStart(), decryptContinue(), and decryptEnd() methods comprise a streaming decryption interface.
A streaming interface allows the caller to decrypt blocks of data at a time and does not require all the entire encrypted message be contained in a single buffer in order to perform decryption. The decryptContinue() method can be called multiple times, one for each block of data to be decrypted while the decryptStart() and decryptEnd() are only called once.
- Parameters
-
pIV | [ in ] The initialization vector typically used with the very first block of data to decrypt |
cIV | [ in ] The number of bytes in the pIV array. |
- Returns
Success | P6R::eOk | |
Failure | P6R::eNotInitialized | A successful call to initialize was not made before this call. |
P6R::eFormatError | loadSymetricKey has not been successfully invoked. |
P6R::eInvalidArg | One of the parameters is NULL. |
P6R::eInvalidDescriptor | The requested cipher and key size is not supported. |
P6R::eInvalidState | For every call to decryptStart() there must be a matching call to decryptEnd(). |
P6R::eFailAndException | The decryption calculation failed. Exception record provides detailed error info. |