Попробуйте выполнить команду grepping

Попробуйте выполнить команду grepping

Можно ли использовать команду openssl для проверки шифра SSL-сертификата на работающем веб-сайте?

Например, можно использовать что-то вроде: openssl s_client -connect example.com:443 -crlf

Приведенная выше команда вернет большой объем информации вместе с шифром: Cipher : TLS_AES_256_GCM_SHA384

Я ищу команду openssl, которая вернет только значение шифра.

решение1

Попробуйте выполнить команду grepping

$ echo -n '' | openssl s_client -connect example.com:443 2>&1 | grep -Po "(?<=Cipher is ).*$"
TLS_AES_256_GCM_SHA384

Или вы также можете обернуть это в функцию, например так...

$ function get-s_clientCipher {
    echo -n '' | 
    openssl s_client -connect $1 2>&1 | 
    grep --perl-regexp --only-matching -- "(?<=Cipher is ).*$";
}

...а затем используйте его вот так...

$ get-s_clientCipher example.com:443
TLS_AES_256_GCM_SHA384

Но я не уверен, что это будет вам очень полезно. Потому что результат очень сильно зависит от вашей локальной среды. Поэтому это будет иметь очень мало общего значения. -- Так что если вы хотите получить более общую диагностику шифров сервера, то используйте что-то вродеhttps://testssl.sh/скрипт оболочки. (Или, если сервер доступен из интернета, попробуйтеhttps://www.ssllabs.com/ssltest/)

Связанный контент