Я работаю над проектом, включающим поток TLS по проприетарному протоколу, используя openssl (c / c ++). По сути, клиент-сервер SSL согласовывает ключи, а затем шифрует / дешифрует данные с использованием памяти BIO.
Теперь я хочу иметь возможность сохранить этот зашифрованный поток в файле вместе с материалом ключа и расшифровать его для целей тестирования и в качестве доказательства правильного шифрования.
Wireshark, вероятно, не вариант, поскольку все это происходит по проприетарному протоколу, и это не данные сети L3.
Я вижу, что могу сохранять данные сеанса SSL с помощью SSL_SESSION_print, я также могу экспортировать материал ключей с помощью SSL_export_keying_material, но я не уверен, что понимаю, как использовать любой из них без надлежащего согласования SSL.
В идеале я хотел бы иметь возможность расшифровывать трафик на стороне сервера, используя клиентский keymat, и трафик на стороне клиента, используя keymat на стороне сервера.
Спасибо!