Разбор сообщения TLS Handshake - PullRequest
5 голосов
/ 16 октября 2011

В настоящее время я пытаюсь внедрить рукопожатие tls в http-прокси, который я пишу.Я знаю, что мог бы использовать OpenSSL, чтобы выполнить эту работу за меня, но я заинтересован в том, чтобы написать ее сам.

В настоящее время я работаю через TLS RFC и не понимаю, как проанализировать сообщение ClientHello, особенно тот факт, чточто он может иметь или не иметь идентификатор сеанса и что, похоже, не учитывается количество шифровальных наборов или методов сжатия.

Кто-нибудь знает лучший способ сделать это?

Ответы [ 2 ]

7 голосов
/ 17 октября 2011

идентификатору сеанса предшествует длина.То же самое с комплектами шифров и алгоритмами сжатия.

Чего вам не хватает в разделе 4.3 RFC:

Векторы переменной длины определяются путем указания поддиапазона допустимых длин, включительно, используя обозначения.При кодировании фактическая длина предшествует содержанию вектора в байтовом потоке .Длина будет в форме числа, потребляющего столько байтов, сколько требуется для хранения заданной максимальной (максимальной) длины вектора.Вектор переменной длины с полем фактической длины, равным нулю, называется пустым вектором.

0 голосов
/ 11 ноября 2013

Взгляните на ЭТО НЕВЕРОЯТНАЯ КНИГА . Мне пришлось реализовать TLS 1.2 для встраиваемой системы без использования какого-либо программного обеспечения GPL, и это было чрезвычайно полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...