Как сделать новый SSL сертификат со старым SSL ключом

Как сделать новый SSL сертификат со старым SSL ключом

От автора: было очень непонятно, как работает закрепление публичных HTTP ключей. Это последнее, с чем хочется иметь дело в разгар крупной конференции. В сегодняшней статье я объясню вам, как сделать новый сертификат, который будет использовать ключ устаревшего SSL сертификата.

Возвращаемся к нормальной работе

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

1. Найдите оригинальный секретный ключ от устаревшего сертификата

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

2. Добавьте старый ключ в новые заголовки закрепления публичных ключей

После запуска OpenSSL команды генерируется набор ключей, закодированных в Base64, после чего они закрепляются:

Далее я сказал администраторам Smashing Magazine обновить их заголовки:

Тут я внес две правки. Я изменил max-age с одного года на один день. Если max-age будет равняться одному году, то утеря секретных ключей, используемых для генерации сертификатов, моментально выведет ваш сайт из работы ровно на год. Плохая идея!

Второе изменение – включение набора ключей в старый сертификат. Нам пришлось это сделать, так как группа пользователей, заходившие на сайт после выхода новых сертификатов, но без закрепленных старых сертификатов получала бы одну и ту же SSL ошибку в случае, если Smashing Magazine захотели бы опять поменять сертификаты. Мы сделали это и дали пользователям пару часов, чтобы когда они снова зашли, им подтянулись старые наборы ключей.

3. Сгенерируйте новый сертификат из старого ключа

Предпоследний шаг – создание нового сертификата из старого ключа. Чтобы сгенерировать SSL сертификат, вам сначала необходимо сделать «запрос на сертификат». Вы же не захотите делиться своим секретным ключом с провайдером сертификатов, поэтому вы можете подписать запрос на сертификат следующим способом:

Во время генерации запроса на сертификат вам будут задавать различные вопросы. Самый главный – «Common Name» или имя сертификата, которое будет определять, для какого домена сертификат будет валидным. После получения CSR вы можете заказать сертификат у любого провайдера.

4.Измените сертификат

Имея новый сертификат, подписанный старым ключом, мы, наконец, смогли оживить его и заставить сайт работать для большинства пользователей. Тем, кому не повезло, могли зайти на сайт, когда на нем еще были закреплены новый сертификат и новый ключ. У людей просто не было доступа к Smashing Magazine, пока они не почистили кэш закрепленных ключей или не зашли через другой браузер.

Smashing Magazine потерял тысячи посетителей, и как только сайт поднялся, люди, стоявшие за этим, смогли вернуться на фантастическую конференцию в Барселоне.

Автор: Mathias Biilmann Christensen

Источник: //www.smashingmagazine.com/

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте: