Существует ли встроенный дружественный парсер сертификатов x509 без централизованного выделения памяти? - PullRequest
0 голосов
/ 28 апреля 2020

В настоящее время я использую mbedTLS для анализа сертификатов во встроенном программном проекте. Поскольку система не поддерживает выделение кучи, мы настроили библиотеку на использование stati c buffer и собственного распределителя памяти mbedTLS. Одна из проблем заключается в том, что x509 разбирает ресурсы в этом стеке для каждого проанализированного сертификата, пока он не будет явно освобожден снова (используя mbedtls_x509_crt_free ).

К сожалению, его подход плохо масштабируется с количеством клиенты, использующие библиотеку: становится трудно определить количество одновременно работающих клиентов и время, в течение которого они хранят сертификаты до тех пор, пока они не освободят их. Это затрудняет поиск подходящего размера для буфера централизованного стека.

Мой вопрос: Существует ли встроенная дружественная реализация анализатора x509, которая поддерживает нецентрализованное распределение памяти? Примером может служить тот, который позволяет каждому клиенту выделить свой кусок памяти. Библиотека будет использовать этот чанк только для этого клиента и не потребует дополнительных ресурсов памяти. Если клиент закончил работу со своим сертификатом, он может освободить память, которой он управляет.

...