Давайте зашифруем + certbot: где находится закрытый ключ

11449
lhk

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

Теперь я хотел бы перейти к Let's Encrypt, чтобы получить соответствующий сертификат.

Установка была очень простой, я установил certbot и следовал инструкциям на их сайте.

Я с удивлением прочитал, что certbotпредполагается использовать с флагом certonly. Интуитивно это должно означать, что создается только сертификат. Это должно спросить меня о существующем ключе во время установки. Который не делает, вместо этого он создает и новый сертификат, и новый ключ.

sudo certbot certonly --standalone -d xxxx  ...  Waiting for verification... Cleaning up challenges Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-certbot.pem Creating CSR: /etc/letsencrypt/csr/0000_csr-certbot.pem  .... 

Но этот ключ, кажется, не существует. Если я ввожу путь на свой сервер, он жалуется на то, что не нашел ключ.

У меня были проблемы с разрешениями на чтение для моего сертификата, которые были решены с помощью этого вопроса: https://serverfault.com/questions/773440/lets-encrypt-ssl-certificate-file-not-found-error-but-still-working

Решение было изменить права доступа.

Но я не решаюсь сделать это с моим закрытым ключом. Интернет-безопасность настолько сложна, что, боюсь, я действительно не знаю о последствиях изменения разрешений для чего-то столь же важного, как закрытый ключ.

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

5
Все, что пытается использовать ваш ключ, должно уметь читать ваш ключ. Там нет абсолютно никакого способа обойти это. Daniel B 7 лет назад 0
Certbot `certonly` на самом деле означает« просто получите сертификат, но не настраивайте его », в отличие от« certbot run », который фактически _конфигурирует Apache для вас_. (Многие пользователи, включая меня, предпочли бы избегать автоматического редактирования конфигурации - и, конечно, не все используют Apache или nginx.) grawity 7 лет назад 1

1 ответ на вопрос

13
grawity

Игнорироватьcsr и keysкаталоги; они по существу просто содержат временные файлы во время выдачи.

Certbot всегда помещает последнюю версию всех сертификатов в /etc/letsencrypt/live:

/ И т.д. / letsencrypt / жить Mail── mail.example.org Cer ├── cert.pem -> ../../archive/mail.example.org/cert8.pem Chain ├── chain.pem -> ../../archive/mail.example.org/chain8.pem Full ├── fullchain.pem -> ../../archive/mail.example.org/fullchain8.pem │ └── privkey.pem -> ../../archive/mail.example.org/privkey8.pem Ex── www.example.org Cer── cert.pem -> ../../archive/www.example.org/cert7.pem Chain── chain.pem -> ../../archive/www.example.org/chain7.pem Full── fullchain.pem -> ../../archive/www.example.org/fullchain7.pem Priv── privkey.pem -> ../../archive/www.example.org/privkey7.pem 

Поэтому вы должны настроить службы следующим образом:

SSLCertificateFile /etc/letsencrypt/live/www.example.org/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.org/privkey.pem 

Таким образом, сервисы необходимо перезагружать, а не перенастраивать, после каждого обновления. Используйте функцию certbot «deploy hook» для автоматизации изменения разрешений, перезагрузки служб и всего остального, что требует автоматизации.

Похожие вопросы