Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
virtual P6R::P6ERR P6R::p6ISymmetricCrypto::getAESCounter ( P6UCHAR pBuffer,
P6UINT32  cBuffer,
P6UINT32 pWritten 
)
pure virtual

Retrieves the current AES counter value.

RFC 3686 defines the AES counter mode encryption scheme and the format of the AES counter value. The counter block must be 16 bytes long (i.e., the AES block size) and its format is defined either by the RFC 3686 "CTRBLK" specification or an application dependent format.

Parameters
pBuffer[ in ] A pointer to a buffer holding the AES counter's 16 bytes
cBuffer[ in ] Number of entries in the buffer pointed to by pBuffer.
pWritten[ out ] Optional can be NULL, returns the number of bytes written into pBuffer. This parameter cannot be NULL when pBuffer is also NULL.
Returns
SuccessP6R::eOk 
FailureP6R::eNotInitializedObject is in an incorrect state.
P6R::eInvalidArgpBuffer and pWritten are both NULL, or the buffer size is zero.
P6R::eWrongKeyClassThe class of this key is not CKC_SYMMETRIC.
P6R::eTooSmallThe buffer pointed to by pBuffer is not large enough to hold the counter data.