Чтобы добавить больше параметров для моего http заголовка для SSL / TLS - PullRequest
0 голосов
/ 10 ноября 2009

Насколько я понимаю, https - это http плюс SSL / TLS.

Что мне нужно сделать, если я хочу добавить еще 3 параметра для заголовка? Я нашел файл в NSS Mozilla - ssl3ext.c, но я не понимаю его и не знаю, с чего начать. Нужна подсказка от вас, ребята ..

Это что-то о расширении SSL / TLS? Но это гораздо сложнее, верно?

Ответы [ 3 ]

2 голосов
/ 10 ноября 2009

SSL / TLS - это транспортный уровень. Сначала об этом договариваются, а затем об этом говорит HTTP. Чтобы добавить дополнительные параметры HTTP-заголовка, вы должны сделать то же самое, что и обычно.

(чтобы быть совершенно ясным - HTTPS - это HTTP "поверх" TLS / SSL. Сначала устанавливается соединение TLS / SSL, а затем HTTP использует его так же, как при использовании незашифрованного транспорта).

1 голос
/ 24 февраля 2010

если разработчик хотел бы добавить больше информации / параметров для его SSL связь / рукопожатие, где параметр должен быть расположен?

RFC 3546 «Расширения безопасности транспортного уровня (TLS)» - это единственный определенный способ добавления дополнительных параметров к рукопожатию SSL / TLS.

Вы можете добавить свой добавочный номер в сообщение Client Hello. Если сервер распознает его, он может ответить соответствующим расширением на сообщение приветствия сервера. Однако сервер не может отправить его, если он не был запрошен.

внутри кода для заголовка http или это создает новое расширение для TLS как имя сервера Индикация (SNI)?

Это не имеет ничего общего с HTTP. Рукопожатие SSL / TLS закончено еще до начала HTTP.

Я посмотрел код и RFC для SNI, но, кажется, не получает ключи

Посмотрите на RFC 3546 для формата расширения. IANA управляет добавочными номерами. http://www.iana.org/assignments/tls-extensiontype-values/ Обратите внимание, что для эксперимента не существует «экспериментального» диапазона. ИМХО то, что вы делаете со своими собственными портами, это ваше личное дело, но помните о возможности конфликта в будущем.

Добавляет ли больше параметров к процесс рукопожатия будет мешать текущая реализация?

Некоторые SSLv3 и более старые серверы TLS 1.0 будут зависать на вас, если вы отправите расширение, которое им не нравится. В основных веб-браузерах реализована логика аварийного переподключения без расширений.

будет ли он нарушать стандарт?

Если ваше расширение соответствует общему формату расширений, определенному в RFC 3546, единственный (современный) стандарт, который вы нарушаете, - это то, что вы не используете идентификационный номер добавочного номера с благословением IANA. Если ваше расширение, как правило, полезно, вам настоятельно рекомендуется представить его для формальной стандартизации.

1 голос
/ 10 ноября 2009

Вы можете добавить столько параметров заголовка HTTP, сколько захотите, не заботясь о SSL. Если вы хотите изменить рукопожатие SSL, у вас должен быть источник для ваших библиотек SSL с обеих сторон соединения.

Я не уверен, что вы пытаетесь сделать здесь, хотя. Вы можете изменить ClientHandshake, добавив в него дополнительные комплекты шифров / customer. Вы также можете определить пользовательский тип контента. В настоящее время первый байт в записи TLS определяет тип содержимого:

0x14    20  ChangeCipherSpec
0x15    21  Alert
0x16    22  Handshake
0x17    23  Application

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

Настройка протокола нарушит стандарт, хотя вы можете делать такие вещи, как добавление комплектов шифров без изменения протокола. Между клиентскими сертификатами и серверными сертификатами в протоколе обычно есть все, что нужно большинству людей для аутентификации и шифрования.

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