Как добраться до используемого ключа шифрования текущего SSL-соединения в Firefox?

Я хотел бы один вопрос. Есть ли какой-либо аддон для Firefox или инструмент, как получить ключ сеанса, сгенерированный из master secret во время SSL-рукопожатия, которым кодируется симметрично вся связь клиент/сервер? Мне это нужно из-за декодирования связи (POST/GET/etc..) через Wireshark или библиотеку PCAP. Как я вижу, Firebug показывает расшифрованную связь, поэтому я надеюсь, что существуют некоторые правильные способы достижения этого ключа сеанса:)

спасибо всем за помощь.

2 ответов


У меня для вас хорошие новости. Вы действительно можете получить данные мастер-ключа, которые вам нужны, как из Firefox, так и из Chrome. И вы можете использовать выходной файл в Wireshark для расшифровки трафика SSL/TLS без необходимости использования закрытого ключа с сервера SSL/TLS. Проверьте "Метод 2" здесь:http://www.root9.net/2012/11/ssl-decryption-with-wireshark-private.html

в качестве подсказки, если вы не хотите перезагружать машину, просто откройте командную строку и беги:

установить SSLKEYLOGFILE=c:\sslKeyLogFile.txt

"C:\Program файлы (x86)\Mozilla Firefox\firefox.EXE-файл"

поскольку Firefox запускается из того же сеанса, в который вы добавили переменную среды, он запустится с этим набором переменных. В противном случае потребуется перезагрузка Windows после ее установки в диалоговых окнах параметров системы.

Я также хочу отметить, что ответ от Крис не обязательно неправильно, это довольно новая функция. Он не попал в релиз до Wireshark 1.6.


Если вы хотите использовать Wireshark, то pre master secret не будет Вам полезен (вы называете его "ключом шифрования" в своем вопросе).

Wireshark может только расшифровать трафик, если вы укажете закрытый ключ RSA сервера, который не изменяется при каждом подключении в отличие от pre master secret. Однако вы не можете получить это через свой браузер или что-либо еще по очевидным причинам.

Если вы хотите расшифровать трафик SSL, я предлагаю использовать промежуточный прокси вместо этого, как скрипач. Он не пассивно захватывает трафик, а прокси-трафик, что позволяет ему фактически расшифровывать отправленные и полученные данные.