6

Я использую 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

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

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

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

1 ответ1

13

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

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

/etc/letsencrypt/live
├── mail.example.org
│   ├── cert.pem -> ../../archive/mail.example.org/cert8.pem
│   ├── chain.pem -> ../../archive/mail.example.org/chain8.pem
│   ├── fullchain.pem -> ../../archive/mail.example.org/fullchain8.pem
│   └── privkey.pem -> ../../archive/mail.example.org/privkey8.pem
└── www.example.org
    ├── cert.pem -> ../../archive/www.example.org/cert7.pem
    ├── chain.pem -> ../../archive/www.example.org/chain7.pem
    ├── fullchain.pem -> ../../archive/www.example.org/fullchain7.pem
    └── 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 для автоматизации изменения разрешений, перезагрузки служб и всего остального, что требует автоматизации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .