Добавить самоподписанный сертификат в библиотеку c ++ общего объекта - PullRequest
0 голосов
/ 02 июля 2019

Мне нужно добавить наш собственный самоподписанный сертификат в формате .pem в библиотеку .so.В нашей компании мы используем библиотеку c ++, которая работает как слой между нашим приложением для Android / iOS и нашим сервером во внутренней сети.Он форматирует запрос и отправляет HTTP-запрос по сети, используя poco.Теперь нам нужно переключиться на https, для чего мне нужно настроить SSLManager из poco.Это должно быть настроено с нашим самоподписанным сертификатом.Для этого я делаю что-то вроде this .

Моя проблема в том, что мне нужно упаковать сертификат в формате .pem внутри .so lib.И получить доступ к этому сертификату из класса в этой библиотеке.Сертификат адресуется по следующему пути:

Poco::Net::Context::Ptr ptrContext = new Poco::Net::Context(Poco::Net::Context::CLIENT_USE, "", "", "rootcert.pem", Poco::Net::Context::VERIFY_STRICT, 9, false, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH");

Подробности здесь

Я думаю, что я добавляю сертификат в .so правильно в cmake по:

file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/rootcert.pem DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

Как я могу обратиться к этому с путем?Спасибо

1 Ответ

0 голосов
/ 02 июля 2019

Файл компиляции, который включает в себя файл .pem, например:

char* pem="-----BEGIN RSA PRIVATE KEY----- .. . . . . . -----END RSA PRIVATE KEY----- "

gcc -c -Wall -Werror -fpic examplePem.c
gcc -shared -o pem.so examplePem.o

Вы можете загрузить файл so, а затем получить простой доступ к переменной pem.

...