MAC_SIZE
CK_ULONG ulDataLen = *outputlen - MAC_SIZE;
CK_ULONG ulDigestLen = MAC_SIZE;
inputlen - MAC_SIZE, (CK_BYTE_PTR)output, &ulDataLen);
(CK_BYTE_PTR)input+(inputlen-MAC_SIZE), MAC_SIZE, (CK_BYTE_PTR)digest,
if (rv != CKR_OK || ulDigestLen != MAC_SIZE) {
CK_ULONG ulDigestLen = MAC_SIZE;
rv = C_EncryptUpdate(enc_context->hSession, (CK_BYTE_PTR)digest, MAC_SIZE,
if (output[inputlen - MAC_SIZE - p] != padding) {
*outputlen = inputlen - padding - MAC_SIZE;
memcpy(digest, output + inputlen - MAC_SIZE, MAC_SIZE);
paddinglen = 8 - ((inputlen + MAC_SIZE) % 8);
memcpy(output+inputlen+paddinglen, digest, MAC_SIZE); /* hmac */
ulDataLen=inputlen+paddinglen+MAC_SIZE;