OpenSSL предоставляет различные функции и инструменты для операций, связанных с SSL/TLS. s_lient - это инструмент, используемый для подключения, проверки, списка HTTPS, TLS/SSL информации. Проще говоря, мы можем проверить удаленное TLS/SSL-соединение с помощью s_client.
Проверка TLS/SSL веб-сайта
Основной и наиболее популярный вариант использования s_client - это просто подключение удаленного TLS/SSL сайта. Мы предоставим сайту номер порта HTTPS. В этом примере мы подключимся к сайту poftut.com .
1 | openssl s_client -connect g-soft.info:443 |
Проверка TLS/SSL веб-сайта
Проверка TLS/SSL веб-сайта с указанием центра сертифкации
Если сертификаты веб-сайта созданы внутри компании или веб-браузеры или глобальные центры сертификации не подписывают сертификат удаленного сайта, мы можем предоставить сертификат подписи или центр сертификации. Мы будем использовать -CAfile, предоставляя файл центра сертификации.
1 | openssl s_client -connect <hostname>:443 -CAfile /etc/ssl/CA.crt |
Подключение Smtp и переход на TLS
Мы можем использовать s_client для проверки протокола и порта SMTP, а затем перейти на TLS соединение. Мы будем использовать команду -starttls smtp. Мы используем следующую команду.
1 | openssl s_client -connect smtp.<hostname>:25 -starttls smtp |
Подключение HTTPS сайта Отключение SSL2
HTTPS или SSL/TLS имеет различные диверсии. Мы можем включить или отключить использование некоторых из них. В этом примере мы отключим соединение SSLv2 с помощью следующей команды.
1 | openssl s_client -connect <hostname>:443 -no_ssl2 |
Подключение HTTPS только TLS1 или TLS2
Как и в предыдущем примере, мы можем указать версию шифрования. В этом примере мы включим только TLS1 или TLS2 с помощью параметра -tls1_2 .
1 | openssl s_client -connect <hostname>:443 -tls1_2 |
Укажите шифр или тип шифрования
Мы можем указать шифр с помощью опции -cipher, как показано ниже.
1 | openssl s_client -connect <hostname>:443 -cipher RC4-SHA |
Подключение HTTPS только RC4-SHA
Мы также можем указать хэш-алгоритм протокола шифрования. В этом примере мы включим только хэш-алгоритм RC4-SHA для соединения SSL/TLS. Мы будем использовать -cipher RC4-SHA . Все другие типы шифрования и шифры будут запрещены, и соединение будет закрыто.
1 | openssl s_client -connect <hostname>:443 -cipher RC4-SHA |
Отладка SSL/TLS на HTTPS
Во время создания SSL/TLS соединения происходит множество операций под капотом. Если у нас возникли проблемы или нам нужна подробная информация об инициализации SSL/TLS, мы можем использовать опцию -tlsextdebug, как показано ниже.
1 | openssl s_client -connect g-soft.info:443 -tlsextdebug |