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

Как воссоздать сертификат Let's encrypt с открытым ключом из прошлого?

Итак, у нас есть недействительный сертификат. Давайте зашифруем сертификат, когда мы попытаемся его обновить, открытый ключ изменится. Есть ли способ сохранить старый открытый ключ? У наших клиентов это реализовано для закрепления SSL.

certbot certificates показывает:

Certificate Name: domain.com-0001 Domains: domain.com api.domain.com beta-api.domain.com beta.domain.com demo.domain.com Expiry Date: 2018-04-16 11:58:34+00:00 (INVALID: EXPIRED, REVOKED) Certificate Path: /etc/letsencrypt/live/domain.com-0001/fullchain.pem Private Key Path: /etc/letsencrypt/live/domain.com-0001/privkey.pem

Обновление действительно работает, но генерирует новый SHA256. Можно ли сохранить старую? Пожалуйста, помогите, спасибо!

Собственно, это возможно, и решение следующее:

Перейдите в новую папку и запустите:

sudo certbot certonly --csr /etc/letsencrypt/csr/crs-filename.pem

Эта команда сгенерирует новый действительный сертификат letsencrypt внутри этой папки.

Затем вам нужно создать полную цепочку вручную, запустив:

sudo cat filename-cert.pem filename-chain.pem > filename-fullchain.pem

Последний шаг указывает на этот файл внутри конфигурации Nginx (в моем случае это Nginx):

sudo nano /etc/nginx/sites-enabled/domain.com.conf

Добавьте следующие строки:

listen 443 ssl; ssl_certificate /home/username/letsencrypt/filename_fullchain.pem; ssl_certificate_key /etc/letsencrypt/archive/domain.com/privkey.pem include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

Перезапустите Nginx, запустив:

sudo service nginx restart

Это укажет веб-серверу на новый сертификат (полная цепочка) при использовании старого закрытого ключа.

Было опубликовано оригинальное обсуждение и решение Вот.