В настоящее время я работаю над проектом, который требует шифрования OpenSSL.
Из-за конструктивных соображений (которые невозможно обойти) процесс шифрования должен быть следующим:
1) Выполнить рукопожатие SSL
2) Получить ключевой материал, полученный из рукопожатия
3) Используйте указанный материал ключа для шифрования / дешифрования данных локально, в то время как
4) Получать и отправлять зашифрованные данные с помощью внешнего механизма
Стадию 1 было легко выполнить, а стадия 4 уже реализована, поэтому в настоящее время моя проблема сводится к получению ключевого материала, сгенерированного из рукопожатия, и его использованию для локального шифрования / дешифрования.
Я предполагаю, что правильный способ сделать это - создать BIO, который настроен не на запись в сокет, а на локальный сегмент памяти. Однако я не смог создать такой БИО.
Я попытался просмотреть документацию OpenSSL, но в ней очень-очень не хватает, поэтому любые крошечные идеи от любого, кто имеет опыт работы с ней, будут более чем полезны.
Заранее благодарим за посадку руки, или, по крайней мере, за чтение:)