При необходимости в быстрой генерации бесплатного сертификата можно воспользоваться следующей инструкцией. Пошаговое руководство:
sudo apt-get update
sudo apt-get install certbot
sudo yum install epel-release
sudo yum install certbot
sudo dnf install epel-release
sudo dnf install certbot
sudo apk update
sudo apk add certbot
2. Для генерации сертификата для домена your-domain воспользуемся утилитой:
sudo certbot certonly --manual --preferred-challenges dns --debug-challenges -d your-domain
certonly — получает сертификат и кладет его в директорию /etc/letsencrypt/live;
—manual — отключает все функции автоматической интеграции;
—preferred-challenges — тип проверки домена, используем через dns запись;
—debug-challenges — вывод подробной информации и процессе;
-d — домен, для которого необходимо выпустить сертификат, может быть несколько. Если вы хотите получить wildcard-сертификат, не забудьте поставить перед звездочкой (*) escape-символ обратного слеша (\) (\*.your-domain.com).
3. В процессе придется ответить на несколько вопросов. Необходимо ввести почтовый ящик, согласиться\отказаться о предоставлении ящика третьим лицам, согласиться с логированием IP адреса.
4. Затем выйдет сообщение
Please deploy a DNS TXT record under the name
_acme-challenge.your-domain with the following value:
j3QNTyghuGFpLMILN0zsW5k4XbNQFweOc352T0nmoY0
Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue...
На этом этапе надо внести в DNS TXT запись и подождать пока выгрузиться зона. Доступность DNS записи можно проверить Google утилитой.
5. В случае успеха видим следующее:
Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your-domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your-domain/privkey.pem
По факту в директории /etc/letsencrypt/live только символьная ссылка, сами сертификаты лежать в /etc/letsencrypt/archive/, при перегенерации ссылка будет на последний актуальный сертификат.
6. Повторный запуск команды обновить сертификаты. Можно использовать ключ —force-renew для автоматического подтверждения обновления сертификата.
7. Собрать PFX можно следующей командой:
openssl pkcs12 -inkey server_key.pem -in server_cert.cert -export -out server_pfx.pfx