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

Для продления сертификата SSL требуется новый CSR

У меня есть работающее приложение Tomcat на Centos, которое использует сертификат SSL, срок действия которого скоро истечет.

Я создал CSR с помощью keytool:

keytool -certreq -keyalg RSA -alias my_alias -keystore keystore.jks -file nov19.csr

Затем вставил CSR в Gandi, чтобы получить новый сертификат SSL.

Однако теперь Ганди настаивает на том, чтобы я предоставил свежий (т.е. отличный от последнего обновления) CSR.

Насколько я понимаю, это означает, что мне нужно создать новую пару закрытого / открытого ключей - это правильно?

Как это сделать, не прерывая доступ к приложению?

Старый сертификат будет работать до истечения срока его действия. Ваш новый сертификат будет иметь некоторое перекрытие по сроку действия с момента его создания до истечения срока действия старого сертификата (если вы создадите его вовремя).

По сути, вы захотите заставить веб-приложение использовать новый сертификат вместо старого в определенный момент времени - предпочтительно в период с меньшим объемом трафика.

Я не эксперт в Tomcat и хранилищах ключей Java, но подозреваю, что вы можете заставить веб-приложение искать сертификат с другим псевдонимом в том же хранилище ключей; замените псевдоним, указывающий на старый сертификат, на псевдоним, указывающий на новый сертификат в хранилище ключей; или замените весь склад ключей новым. Скорее всего, вам потребуется перезагрузить или перезапустить веб-приложение после внесения этого изменения.

Да, вам нужно создать новую пару ключей.

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

Tomcat не перезагрузит файл сразу. Чтобы запустить перезагрузку, вам необходимо получить доступ к экземпляру Tomcat через JMX. Если вы можете получить доступ к серверу с помощью ssh и перенаправление X, просто запустите:

jconsole

с учетными данными пользователя Tomcat. Вам нужно найти на вкладке MBeans бин, который называется примерно так: Catalina:type=ThreadPool,name="jsse-nio-443" и выполнить операцию reloadSslHostConfigs.

Если вы не можете использовать jconsole, есть другие способы доступа к JMX (в Tomcat Manager есть также сервлет JMXProxy).