Я создал сокет SSL в C между клиентом и хостом, используя библиотеку OpenSSL.
Мне нужен ключ AES сеанса SSL для правильного шифрования сообщения, и я не могу использовать стандартные функции ssl_write и ssl_read.
Я обнаружил, что есть структура с именем AES_KEY, но я не знаю, как я могу ее найти!
SSL_write и SSL_read работают корректно только с типом пакета: 23 («Протокол приложения»)
Как я могу расшифровать, например, приветственное сообщение SSL, пришедшее с сервера (я открыл канал SSL с этим сервером)? Как я могу зашифровать приветственный клиент SSL (он в порядке), полученный от другого клиента?
Я пытаюсь продемонстрировать атаку на этапе «Пересоглашение TLS» протокола TLS. Я пытаюсь смоделировать атаку MITM с помощью собственного прокси.
Теперь сервер отправляет на прокси определенное количество зашифрованных сообщений типа 22 (Handshake) и 20 (ChangeCipherSpec). Как я могу прочитать эти сообщения и расшифровать их? Стандартная библиотека ssl_read работает только с сообщениями 23 (Приложение).
Более того, клиент отправляет на прокси клиент Hello и другие сообщения типа 22 и 20. Как я могу написать эти сообщения и зашифровать их? Я пытался использовать ssl_write, но сервер не понимает эти сообщения.