Я использую buf_len
переменную-член, чтобы знать, какой должна быть требуемая длина, если что-то не так, и возвращаюсь к вызывающей стороне.
DecryptUpdate(unsigned char* pEncryptedPart, unsigned long int ulEncryptedPartLen,
unsigned char* pPart, unsigned long int *pulPartLen){
unsigned long required_rest = (ctx.buf_len + ulEncryptedPartLen) % EVP_CIPHER_block_size(mCipher);
unsigned long required_len = ctx.buf_len + ulEncryptedPartLen - required_rest;
if (pPart == NULL_PTR || *pulPartLen < required_len)
{
*pulPartLen = required_len;
return pPart == NULL_PTR ? CK_OK : CK_BUFFER_TOO_SMALL;
}
...
}
Как я могу получить длину буфера из структур шифров?