Как воссоздать зашифрованный сертификат с открытым ключом из прошлого?

Итак, у нас есть недействительный зашифрованный сертификат, когда мы пытаемся его обновить, открытый ключ меняется. Есть ли способ сохранить старый открытый ключ? Наши клиенты реализовали это в целях закрепления 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. Можно ли сохранить старый? Пожалуйста, помогите, спасибо!

1 ответ

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

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

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

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

Оригинальное обсуждение и решение были размещены здесь.

Другие вопросы по тегам