Это команда s_clientssl, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
s_client - клиентская программа SSL / TLS
СИНТАКСИС
OpenSSL s_client [-соединять хост: порт] [-название сервера имя] [-проверять глубина]
[-verify_return_error] [-серт имя файла] [-сертификат DER | PEM] [-ключ имя файла] [ключевая форма
DER | PEM] [-проходить аргумент] [-КАпуть каталог] [-CA-файл имя файла] [-no_alt_chains] [-подключить]
[-Пауза] [-шоуцерты] [-отлаживать] [-MSG] [-nbio_test] [-штат] [-нбио] [-crlf] [-ign_eof]
[-no_ign_eof] [-тихо] [-ssl2] [-ssl3] [-tls1] [-no_ssl2] [-no_ssl3] [-no_tls1]
[-no_tls1_1] [-no_tls1_2] [-fallback_scsv] [-бухи] [-шифрование шифровальный список] [-serverpref]
[-стартлс протокол] [-движок id] [-tlsextdebug] [-no_ticket] [-sess_out имя файла]
[-sess_in имя файла] [-и файл (ы)] [-информация о сервере Типы] [-положение дел] [-nextprotoneg
протоколы]
ОПИСАНИЕ
The s_client команда реализует общий клиент SSL / TLS, который подключается к удаленному хосту
с использованием SSL / TLS. Это очень полезный инструмент диагностики для серверов SSL.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
-соединять хост: порт
Это указывает хост и необязательный порт для подключения. Если не указано, то
Предпринята попытка подключиться к локальному хосту через порт 4433.
-название сервера имя
Установите расширение TLS SNI (указание имени сервера) в сообщении ClientHello.
-серт имя сертификата
Сертификат для использования, если он запрашивается сервером. По умолчанию не используется
сертификат.
-сертификат формат
Формат сертификата: DER или PEM. PEM используется по умолчанию.
-ключ ключевой файл
Используемый закрытый ключ. Если не указан, будет использоваться файл сертификата.
ключевая форма формат
Используемый частный формат: DER или PEM. PEM используется по умолчанию.
-проходить аргумент
источник пароля закрытого ключа. Для получения дополнительной информации о формате аргумент см.
ПАСС ФРАЗА АРГУМЕНТЫ в разделе OpenSSL(1).
-проверять глубина
Глубина проверки для использования. Это определяет максимальную длину сертификата сервера.
цепочка и включает проверку сертификата сервера. В настоящее время операция проверки
продолжается после ошибок, поэтому можно увидеть все проблемы с цепочкой сертификатов. Как
побочный эффект: соединение никогда не прервется из-за сбоя проверки сертификата сервера.
-verify_return_error
Вместо продолжения верните ошибки проверки. Обычно это прерывает
рукопожатие с фатальной ошибкой.
-КАпуть каталог
Каталог, используемый для проверки сертификата сервера. Этот каталог должен находиться в
"формат хеша", см. проверить для дополнительной информации. Они также используются при создании
цепочка сертификатов клиента.
-CA-файл файл
Файл, содержащий доверенные сертификаты для использования во время аутентификации сервера и для использования
при попытке построить цепочку сертификатов клиента.
-цель, -игнорировать_критическое, -эмитент_чеков, -crl_check, -crl_check_all, -policy_check,
-extended_crl, -x509_строгий, -политика -check_ss_sig -no_alt_chains
Установите различные параметры проверки цепочки сертификатов. Увидеть проверить страница руководства для
-подключить
повторно подключается к одному и тому же серверу 5 раз, используя один и тот же идентификатор сеанса, его можно использовать как
проверьте, работает ли кеширование сеанса.
-Пауза
делает паузу в 1 секунду между каждым вызовом чтения и записи.
-шоуцерты
отображать всю цепочку сертификатов сервера: обычно только сертификат сервера
сам отображается.
-предварительный
распечатать информацию о сеансе при выходе из программы. Это всегда будет пытаться напечатать
выводить информацию, даже если соединение не установлено. Обычно информация будет только
распечатывается один раз, если соединение установлено. Эта опция полезна, потому что шифр
в процессе использования может быть изменено согласование или соединение может завершиться ошибкой из-за того, что сертификат клиента
требуется или запрашивается только после попытки доступа к определенному URL-адресу. Примечание:
вывод, производимый этой опцией, не всегда точен, потому что соединение может
никогда не были установлены.
-штат
распечатывает состояния сеанса SSL.
-отлаживать
распечатать обширную отладочную информацию, включая шестнадцатеричный дамп всего трафика.
-MSG
показать все сообщения протокола с шестнадцатеричным дампом.
-nbio_test
тестирует неблокирующий ввод / вывод
-нбио
включает неблокирующий ввод / вывод
-crlf
эта опция переводила перевод строки с терминала в CR + LF, как того требуют некоторые
сервера.
-ign_eof
запретить отключение соединения при достижении конца файла на входе.
-тихо
запретить печать информации о сеансе и сертификате. Это неявно включает
-ign_eof так же.
-no_ign_eof
закрыть соединение, когда на входе будет достигнут конец файла. Может использоваться для
переопределить неявный -ign_eof после -тихо.
-psk_identity личность
Используйте удостоверение PSK личность при использовании набора шифров PSK.
-пск ключ
Используйте клавишу PSK ключ при использовании набора шифров PSK. Ключ задается в шестнадцатеричном формате.
число без 0x в начале, например -psk 1a2b3c4d.
-ssl2, -ssl3, -tls1, -tls1_1, -tls1_2, -no_ssl2, -no_ssl3, -no_tls1, -no_tls1_1,
-no_tls1_2
Эти параметры требуют или отключают использование указанных протоколов SSL или TLS. К
по умолчанию начальное рукопожатие использует гибкая версия метод, который будет согласовывать
наивысшая взаимно поддерживаемая версия протокола.
-fallback_scsv
Отправьте TLS_FALLBACK_SCSV в ClientHello.
-бухи
есть несколько известных ошибок в реализациях SSL и TLS. Добавление этой опции включает
различные обходные пути.
-шифрование шифровальный список
это позволяет изменять список шифров, отправленный клиентом. Хотя сервер
определяет, какой набор шифров используется, он должен принимать первый поддерживаемый шифр в
список, присланный клиентом. Увидеть шифры для получения дополнительной информации.
-serverpref
использовать настройки шифрования сервера; используется только для SSLV2.
-стартлс протокол
отправьте сообщение (я), зависящее от протокола, чтобы переключиться на TLS для связи. протокол is
ключевое слово для предполагаемого протокола. В настоящее время поддерживаются только ключевые слова:
«smtp», «pop3», «imap» и «ftp».
-tlsextdebug
распечатать шестнадцатеричный дамп любых расширений TLS, полученных от сервера.
-no_ticket
отключить поддержку билета сеанса RFC4507bis.
-sess_out имя файла
вывести сеанс SSL на имя файла
-sess_in сессия
загрузить сеанс SSL из имя файла. Клиент попытается возобновить соединение с
эту сессию.
-движок id
указание двигателя (по его уникальному id строка) вызовет s_client пытаться
получить функциональную ссылку на указанный двигатель, при необходимости инициализировав его.
После этого движок будет установлен по умолчанию для всех доступных алгоритмов.
-и файл (ы)
файл или файлы, содержащие случайные данные, используемые для заполнения генератора случайных чисел, или
Розетка EGD (см. RAND_egd(3)). Можно указать несколько файлов, разделенных ОС.
зависимый персонаж. Разделитель ; для MS-Windows, , для OpenVMS и : для всех
другие.
-информация о сервере Типы
список типов расширений TLS, разделенных запятыми (числа от 0 до 65535). Каждый
type будет отправлен как пустое расширение ClientHello TLS. Ответ сервера (если
any) будет закодирован и отображаться как файл PEM.
-положение дел
отправляет запрос статуса сертификата на сервер (сшивание OCSP). Ответ сервера
(если есть) распечатывается.
-nextprotoneg протоколы
включить расширение TLS Next Protocol Negotiation и предоставить список разделенных запятыми
имена протоколов, поддержку которых должен рекламировать клиент. Список должен содержать
самые востребованные протоколы в первую очередь. Имена протоколов представляют собой печатаемые строки ASCII, например
«http / 1.1» или «spdy / 3». Пустой список протоколов обрабатывается специально и вызовет
клиент объявил о поддержке расширения TLS, но отключился сразу после
получение ServerHello со списком поддерживаемых сервером протоколов.
СВЯЗАННЫЙ КОМАНДЫ
Если соединение установлено с сервером SSL, то любые данные, полученные от сервера
отображается, и любые нажатия клавиш будут отправлены на сервер. При интерактивном использовании
(что означает ни то, ни другое -тихо ни -ign_eof даны), сеанс будет
пересматривается, если строка начинается с R, и если строка начинается с Q или если конец
файл будет достигнут, соединение будет закрыто.
ПРИМЕЧАНИЯ
s_client может использоваться для отладки серверов SSL. Для подключения к серверу SSL HTTP выполните команду:
openssl s_client -connect имя сервера: 443
обычно используется (https использует порт 443). Если соединение успешно, то HTTP
можно указать команду, например «GET /», чтобы получить веб-страницу.
Если рукопожатие не удается, то есть несколько возможных причин, если нет ничего очевидного
как нет сертификата клиента, то -бухи, -ssl2, -ssl3, -tls1, -no_ssl2, -no_ssl3,
-no_tls1 варианты можно попробовать, если это глючный сервер. В частности, вы должны играть
с этими вариантами до отправка отчета об ошибке в список рассылки OpenSSL.
Частая проблема при попытке заставить работать клиентские сертификаты заключается в том, что веб-клиент
жалуется, что у него нет сертификатов, или дает пустой список на выбор. Это обычно
потому что сервер не отправляет центр сертификации клиентов в свой "приемлемый центр сертификации".
list "при запросе сертификата. Используя s_client список CA можно просмотреть и
проверил. Однако некоторые серверы запрашивают аутентификацию клиента только после того, как определен URL-адрес.
просил. Для получения списка в этом случае необходимо использовать -предварительный вариант и
отправить HTTP-запрос для соответствующей страницы.
Если сертификат указан в командной строке с помощью -серт вариант не будет
используется, если сервер специально не запрашивает сертификат клиента. Поэтому просто
включение сертификата клиента в командную строку не гарантирует, что сертификат
работ.
Если есть проблемы с проверкой сертификата сервера, то -шоуцерты вариант может быть
используется для отображения всей цепочки.
Поскольку приветствие клиента SSLv23 не может включать методы или расширения сжатия, они будут
поддерживаться только в том случае, если его использование отключено, например, с помощью -no_sslv2 опцию.
The s_client утилита является тестовым инструментом и предназначена для продолжения рукопожатия после любого
ошибки проверки сертификата. В результате он будет принимать любую цепочку сертификатов (доверенных
или нет) отправлено партнером. Ни одно тестовое приложение не должно делай это так, как это заставляет их
уязвим для атаки MITM. Это поведение можно изменить с помощью
-verify_return_error опция: затем возвращаются любые ошибки проверки, прерывая рукопожатие.
Используйте s_clientssl онлайн с помощью сервисов onworks.net