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

Укажите сертификат SHA-1 или SHA-2 в зависимости от возможностей клиента

При наличии сертификатов SHA1 устарело в основных браузерах кажется разумным получить сертификат, подписанный SHA2. Но при этом вы заблокируете пользователей IE6. Хотя для большинства людей это не будет проблемой, в некоторых случаях это может заблокировать значительных пользователей.

Глядя на Подтверждение SSL клиент отправляет подробную информацию о том, что он поддерживает.

Итак, теоретически сервер может отправить сертификат, который будет поддерживать клиент. Новые браузеры получат подписанный SHA2, а старые - SHA1.

Однако не похоже, что есть какие-либо способы сделать это с помощью конфигурации nginx. Хотя вы можете устанавливать версии шифров и протоколов, у вас нет никакой логики для определения того, как вести себя с различными конфигурациями клиентов.

Есть ли способ серверить другой сертификат в зависимости от того, что поддерживает клиент?

В настоящее время это невозможно с nginx (хотя и с apache). Однако похоже, что такие компании, как CloudFlare, уже внедрили свои собственные внутренние модификации nginx, чтобы иметь возможность делать это, и, надеюсь, будут открывать исходные коды своей работы (https://news.ycombinator.com/item?id=8276770), поэтому я надеюсь / ожидаю, что nginx получит эту возможность через год, когда потребность станет более острой по мере приближения к 2016 году.

А пока я только что купил годовой сертификат, срок действия которого истекает в конце 2015 года, поэтому предупреждения Chrome меня не касаются, пока, надеюсь, не появится такая функция.