Конфигурация поддержки расширений OpenSSL TLS (указание имени сервера) - PullRequest
3 голосов
/ 21 сентября 2011

Я хочу настроить клиент-сервер openssl для поддержки расширений TLS, в частности указание имени сервера (SNI).

Я собрал последнюю версию openssl 1.0.0e на Ubuntu Linux без каких-либо дополнительных параметров конфигурации.

./config
make
make install

Не уверен, нужно ли мне указывать какие-либо дополнительные параметры конфигурации при сборке для этой версии.

Теперь я настроил сервер и подключился к нему через клиент openssl с использованием стандартного инструмента командной строки, предоставленногоopenssl, viz s_client и s_server.

Мой вопрос: как мне указать имя хоста, которое будет отправлено как расширение в s_client?Есть ли в openssl возможность указать имя сервера с помощью какого-либо параметра в командной строке?

Спасибо!

Ответы [ 3 ]

10 голосов
/ 28 февраля 2012

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

Параметр командной строки servername доступен для указания SNI.

openssl s_client -connect myweb.address.com:443 -servername myweb.address.com

Приведенная выше команда запустит клиента TLS с указанным именем сервера в расширении SNI клиента hello.

3 голосов
/ 20 марта 2012

Для использования s_server вы можете использовать команду:

openssl s_server -accept 443 -cert normal_cert.pem -key normal_key.ky -servername xyz.com -cert2 sni_cert.pem -key2 sni_key.ky

Здесь всякий раз, когда клиент будет запрашивать сервер без расширения имени сервера, сервер ответит с помощью normal_cert, и если есть расширение имени сервера, это hello client, тогда сервер ответит с помощью sni_cert.

Для использования s_client с SNI выможно использовать команду:

openssl s_client -servername xyz.com -connect ip: порт

2 голосов
/ 29 сентября 2011

Соответствующие параметры командной строки:

  • starttls prot: используйте команду STARTTLS перед запуском TLS для тех протоколов, которые ее поддерживают, где «prot» определяет, какой из них принять.В настоящее время поддерживаются только «smtp», «pop3», «imap», «ftp» и «xmpp».
  • servername host: установить расширение имени сервера TLS
...