Заставить OpenSSL использовать указатели из входного буфера для хранения структуры cms вместо выделения памяти.C++

Программы на C++. Форум разработчиков
Anonymous
Заставить OpenSSL использовать указатели из входного буфера для хранения структуры cms вместо выделения памяти.

Сообщение Anonymous »

Встроенное устройство с ограниченной памятью уже использует OpenSSL для связи.
Я реализую библиотеку-оболочку проверки подписи CMS с использованием OpenSSL, которая должна работать на устройстве.У нас уже есть приведенный ниже код, который работает.

Код: Выделить всё

CMS_ContentInfo *cms = d2i_CMS_ContentInfo(nullptr, in, len); // allocates memory 1

if (CMS_verify(cms, nullptr, store, nullptr, nullptr, 0))
{
ASN1_OCTET_STRING **data = CMS_get0_content(cms);
len = (*data)->length);
out = OPENSSL_zalloc(len); // allocates memory 2
memcpy(out, (*data)->data, len);
}

CMS_ContentInfo_free(cms); // frees memory 1
Но он выделяет избыточную память 2 раза.
Есть ли способ заставить OpenSSL использовать сам входной буфер для хранения данных?

Подробнее здесь: https://stackoverflow.com/questions/787 ... instead-of

Вернуться в «C++»