если разработчик хотел бы добавить
больше информации / параметров для его
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. Если ваше расширение, как правило, полезно, вам настоятельно рекомендуется представить его для формальной стандартизации.