Назад | Перейти на главную страницу

Как перечислить все HTTP-шифры, поддерживаемые клиентом

У меня есть клиент HTTPS (модем GSM), и мне нужно знать поддерживаемые шифры для настройки моего nginx. Но запросы просто терпят неудачу и даже не перечислены в моем журнале nginx.

Есть ли простой способ настроить сервер, который просто сообщает мне, какие шифры поддерживаются при подключении клиентов?

Учитывая, что это, вероятно, связано с OpenSSL, я бы предложил openssl ciphers -V.

Для более общего ответа это во многом зависит от того, предоставляет ли программное обеспечение такую ​​команду, но в Linux OpenSSL довольно широко распространен.

Изменить: не заметил, что вы хотели сделать это с сервера, но в этом случае я бы предложил запустить openssl s_server который предоставит вам все детали, касающиеся устанавливаемого соединения SSL / TLS, включая шифры, объявленные клиентом.

Я бы использовал Wireshark для регистрации трафика, а затем смотрел на рукопожатия, чтобы увидеть, где они не работают. Здесь клиент скажет вам, что он говорит.

Первое, что приходит мне в голову, - подключить Apache и включить регистрацию шифров. Тот, который скомпилирован из исходников, по умолчанию включает его, в extra / httpd-ssl.conf вы видите это:

CustomLog "/opt/apache-2.2.20-p3/logs/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

Затем при подключении к вашему устройству в вашем файле журнала будут отображаться шифры, используемые для вашего подключения.