SSL-сертификат старого клиента и новый сертификат с тем же пабом / закрытым ключом - PullRequest
0 голосов
/ 01 ноября 2018

Ситуация: мы не можем обновить der файл на клиентском устройстве. И сертификат SSL на нашем веб-сервере скоро истекает.

Можно ли обновить SSL-сертификат сервера без замены клиентского сертификата?

Мы хотим следовать этому руководству: https://www.smashingmagazine.com/how-to-issue-a-new-ssl-certificate-with-an-old-ssl-key/

Однако мы не уверены, поможет ли это.

Вопрос:

Содержит ли файл der (на стороне клиента) только открытый ключ, и безопасно возобновить SSL-сертификат, используя методику, описанную в ссылке выше (с сохранением тех же самых открытых / закрытых ключей).

Будет ли он работать на клиентском устройстве без замены файла der? Или файл der содержит не только открытый ключ для сертификата SSL, но и некоторую другую информацию?

1 Ответ

0 голосов
/ 01 ноября 2018

Боюсь, но исходя из вашего исходного поста и разъяснений, клиент будет ожидать от веб-сервера того же сертификата сервера, который хранится в файле DER на клиентском устройстве. Клиент выполняет точное сравнение двоичных копий (не только открытых ключей).

Любые попытки заменить сертификат сервера приведут к сбою соединения на клиенте. Если вы планируете заменить сертификат на веб-сервере, вам также придется обновить клиентские устройства.

К сожалению, есть много ошибочных реализаций HPKP (если честно, не видел надежных реализаций), которые работают нормально, пока сертификат сервера не будет изменен. Для правильной обработки замены сертификата сервера клиент ДОЛЖЕН иметь возможность хранить как минимум два сертификата сервера , существующий и новый. Вот процесс замены сертификата сервера высокого уровня:

  1. заранее получить новый сертификат сервера у CA.
  2. обновить приложение, добавив новый сертификат параллельно. Когда клиент обновляет приложение на своем устройстве, клиентское приложение будет доверять как существующему, так и новому сертификату.
  3. дает клиентам время для обновления приложения на своих устройствах. В идеале вам следует подождать, пока все клиенты обновят версию приложения с обновленным сертификатом.
  4. изменить сертификат SSL в привязках сервера.
  5. через некоторое время вы можете сделать еще одно обновление для сертификата клиента, удалив сертификат с истекшим сроком хранения из хранилища доверенных сертификатов.

только эта последовательность шагов может гарантировать непрерывное возобновление закрепления сертификата.

...