Клиенты SSL.com теперь могут использовать популярный протокол ACME для запроса и отзыва SSL /TLS сертификаты.
ACME (Автоматическая среда управления сертификатами) - это стандартный протокол для автоматической проверки домена и установки сертификатов X.509, задокументированный в IETF RFC 8555 г., Как хорошо документированный стандарт со многими открытыми исходными кодами реализации клиента, ACME предлагает безболезненный способ предоставления веб-сайтов или IoT-устройства таких как модемы и маршрутизаторы с общедоступными или частными доверенными цифровыми сертификатами, и постоянно обновлять эти сертификаты.
Это руководство покажет вам, как:
- Найдите и получите учетные данные, которые вам понадобятся для запроса сертификатов с помощью ACME.
- Используйте Certbot, чтобы вручную запросить SSL /TLS сертификаты через HTTP-01 и DNS-01 методы вызова.
- Отзыв сертификатов с помощью Certbot.
Вы можете использовать множество других клиентов ACME, в том числе Сертификат-менеджер Kubernetes, с помощью службы ACME SSL.com.
acme4j клиент теперь может использовать службы SSL.com ACME в этом репозитории: https://github.com/SSLcom/acme4j
Инструкции для других клиентов ACME, отличных от Certbot, см. в документации поставщика программного обеспечения.
Установить Certbot
В этом руководстве предполагается, что вы работаете на компьютере, на котором Certbot установлены. Certbot - это бесплатный инструмент с открытым исходным кодом, разработанный Electronic Frontier Foundation (EFF), который вы можете использовать для запроса или отзыва SSL /TLS сертификаты от SSL.com по протоколу ACME. Certbot можно запустить на различных платформах, включая Linux, macOS и Windows.
- Если вы только что Snapd установлен, вы можете использовать эту команду для установки:
sudo snap install --classic certbot
- If
/snap/bin/
не в твоемPATH
, вам также потребуется добавить его или выполнить такую команду:sudo ln -s / оснастка / bin / certbot / usr / bin / certbot
Если вам нужна дополнительная информация об установке Certbot в вашей системе, обратитесь к EFF документации.
Получить учетные данные ACME
Прежде чем использовать ACME для запроса сертификата, вам нужно будет получить свой Ключ аккаунта и Ключ HMAC из вашей учетной записи SSL.com.
- Войдите в свою учетную запись SSL.com. Если вы уже вошли в систему, перейдите в Аккаунт меню.
- Нажмите учетные данные API, расположенный под разработчики и интеграция.
- Вам понадобятся ваши Аккаунт / ключ ACME и Ключ HMAC запрашивать сертификаты. Щелкните значок буфера обмена () рядом с каждым ключом, чтобы скопировать значение в буфер обмена.
- Вы также можете скопировать команду Certbot, предварительно заполненную вашим адресом электронной почты, ключом учетной записи / ACME и ключом HMAC, щелкнув значок буфера обмена () следующий на команда cli, Ниже ACME Сертбот. Эта предварительно отформатированная команда будет заказывать сертификат с помощью метода запроса HTTP-01.
Запросить SSL вручную /TLS Сертификация
Теперь, когда вы получили свои учетные данные, вы можете запросить сертификат через certbot
команда. Certbot поддерживает два метода проверки домена (DV): HTTP-01 и DNS-01.
Метод запроса HTTP-01
HTTP-01 - это наиболее часто используемый метод проверки, используемый с ACME и Certbot. Когда вы запрашиваете сертификат таким образом, Certbot генерирует токен, который вы можете использовать для создания общедоступного файла на вашем веб-сайте. Сервер ACME SSL.com затем проверит файл через HTTP и выдаст подписанный сертификат, если он верен.
Требования: Метод HTTP-01 требует, чтобы у вас был доступ к вашему веб-серверу и чтобы сайт был доступен через порт 80
через HTTP. Вам также понадобится sudo
привилегии на компьютере.
Чтобы вручную получить сертификат, используйте следующую команду. Замените значения ЗАГЛАВНЫМИ буквами своими фактическими значениями. (Как отмечалось выше, вы также можете скопировать и вставить команду certbot, которая делает это из вашей учетной записи портала):
sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- accept-tos --no-eff-email --email АДРЕС ЭЛЕКТРОННОЙ ПОЧТЫ --eab-hmac-key HMAC-KEY --eab-kid АККАУНТ-КЛЮЧ -d ДОМЕН.ИМЯ
Нарушение команды:
sudo certbot
управляетcertbot
команда с привилегиями суперпользователя.certonly
просит получить сертификат, но не установить его.--manual
указывает на интерактивный запуск Certbot.--server https://acme.ssl.com/sslcom-dv-ecc
указывает сервер ACME SSL.com.--config-dir /etc/ssl-com
(необязательно) устанавливает каталог конфигурации.--logs-dir /var/log/ssl-com
(необязательно) устанавливает каталог для журналов.--agree-tos
(необязательно) соглашается с подписным соглашением ACME. Вы можете опустить это, если хотите согласиться в интерактивном режиме.--no-eff-email
(необязательно) означает, что вы не хотите делиться своим адресом электронной почты с EFF. Если вы его опустите, вам будет предложено поделиться своим адресом электронной почты.--email EMAIL-ADDRESS
предоставляет регистрационный адрес электронной почты. Вы можете указать несколько адресов через запятую.--eab-hmac-key HMAC-KEY
указывает ваш ключ HMAC.--eab-kid ACCOUNT-KEY
указывает ключ вашей учетной записи.-d DOMAIN.NAME
указывает доменное имя, которое будет охватывать сертификат. Обратите внимание, что вы можете использовать-d DOMAIN.NAME
опцию несколько раз в вашей команде, чтобы добавить доменные имена в ваш сертификат. Certbot потребует от вас создания файла запроса для каждого запрошенного доменного имени. См. Раздел о типы сертификатов и биллинг ниже, чтобы увидеть, как различные комбинации доменных имен соответствуют Типы сертификатов SSL.com и их соответствующие цены.
- Изменить
--server
значение в команде дляhttps://acme.ssl.com/sslcom-dv-rsa
. - Добавить
--key-type rsa
к команде.
certbot
, информация об учетной записи ACME будет сохранена на вашем компьютере в каталоге конфигурации (/etc/ssl-com
в команде, показанной выше. В будущих запусках certbot вы можете опустить --eab-hmac-key
и --eab-kid
параметры, потому что certbot проигнорирует их в пользу локально сохраненной информации об учетной записи.
Если вам нужно связать заказы на сертификаты ACME для компьютера с другой учетной записью SSL.com, вам следует удалить эту информацию учетной записи со своего компьютера с помощью команды sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(или, если вы пропустили необязательный --config-dir
вариант, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
Когда вы запустите указанную выше команду, вы должны получить инструкции по созданию файла проверки:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Создайте файл, содержащий только эти данные: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI И сделайте его доступным на своем веб-сервере по этому URL-адресу: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Для продолжения нажмите Enter
Создайте файл и сохраните его в том месте на своем веб-сервере, где к нему можно будет получить доступ через HTTP через порт. 80
по указанному URL-адресу, затем нажмите Enter
.
-
) персонаж. В этом случае вам может потребоваться указать каталог при создании файла, чтобы оболочка не интерпретировала тире (например, vim ./-r1rsRTImVz_s7HHk7biTQ
).Если вся ваша информация верна, вы должны получить подтверждающее сообщение, показывающее расположение вашей цепочки сертификатов и закрытого ключа:
ВАЖНЫЕ ЗАМЕЧАНИЯ: - Поздравляем! Ваш сертификат и цепочка сохранены по адресу: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Ваш файл ключа был сохранен по адресу: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your Срок действия сертификата истекает 2021-10-05. Чтобы получить новую или измененную версию этого сертификата в будущем, просто снова запустите certbot. Чтобы обновить * все * сертификаты в неинтерактивном режиме, запустите «certbot Renew»
Теперь вы можете настроить свой веб-сервер для доступа к новому сертификату и закрытому ключу.
Метод запроса DNS-01
Ассоциация DNS-01 Метод вызова сложнее в использовании, чем HTTP-01, но может быть более удобным для использования на нескольких веб-серверах. В этом методе Certbot предоставит токен, который вы используете для создания записи DNS TXT под доменным именем, которое будет защищать сертификат.
Требования: Метод DNS-01 требует, чтобы у вас была возможность создавать записи DNS для доменного имени вашего веб-сайта.
Следующая команда запросит сертификат для DOMAIN.NAME с помощью метода запроса DNS-01:
sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-rsa --agree-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY --preferred-challenges dns -d DOMAIN.NAME
-d DOMAIN.NAME
опцию несколько раз в вашей команде, чтобы добавить доменные имена в ваш сертификат. Certbot потребует от вас создать отдельную запись DNS TXT для каждого запрошенного доменного имени. Вам не нужно ждать распространения каждой записи TXT, прежде чем нажимать Enter
пока не дойдете до последнего испытания. См. Раздел о типы сертификатов и биллинг ниже, чтобы увидеть, как различные комбинации доменных имен соответствуют Типы сертификатов SSL.com и их соответствующие цены. certbot
, информация об учетной записи ACME будет сохранена на вашем компьютере в каталоге конфигурации (/etc/ssl-com
в команде, показанной выше. В будущих запусках certbot вы можете опустить --eab-hmac-key
и --eab-kid
параметры, потому что certbot проигнорирует их в пользу локально сохраненной информации об учетной записи.
Если вам нужно связать заказы на сертификаты ACME для компьютера с другой учетной записью SSL.com, вам следует удалить эту информацию учетной записи со своего компьютера с помощью команды sudo rm -r /etc/ssl-com/accounts/acme.ssl.com
(или, если вы пропустили необязательный --config-dir
вариант, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com
).
Эта команда такая же, как и из раздела HTTP-01, но добавляет --preferred-challenges dns
вариант. Когда вы запустите команду, вы получите инструкции по созданию записи DNS:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.DOMAIN.NAME with the following value: -87YKoj3sQZB4rVCMZTiifl9QJKYm2eYYymAkpE0zBo Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue
Создайте запись DNS TXT и дождитесь ее распространения. (whatsmydns.net удобный инструмент для проверки распространения DNS). Обратите внимание, что символ подчеркивания (_) в начале имени записи обязательный. Когда запись распространилась по всему миру, нажмите Enter
.
*.example.com
) вам нужно будет отдельно запросить базовое доменное имя, если вы хотите его защитить (например, -d *.example.com -d example.com
). В таком случае вам нужно будет создать два Записи TXT с тем же именем (_acme-challenge.example.com
). Если вся ваша информация верна, вы должны получить подтверждающее сообщение, показывающее расположение вашей цепочки сертификатов и закрытого ключа:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Your key file has been saved at: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"
Теперь вы можете настроить свой веб-сервер для доступа к новому сертификату и закрытому ключу.
Продление сертификата (вручную)
Для сертификатов, выпущенных вручную (как описано в этом руководстве), обновление сертификата выполняется простым повторением команды, использованной для запроса сертификата. Certbot предоставляет renew
подкоманда, но она выдаст ошибку при попытке использовать ее с сертификатами, запрошенными с --manual
опции:
sudo certbot Renew --force-Renewal Сохранение журнала отладки в /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Обработка /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Не удалось выбрать подходящий плагин: ручной плагин не работает; могут быть проблемы с вашей существующей конфигурацией. Ошибка была: PluginError ('Сценарий аутентификации должен быть предоставлен с --manual-auth-hook при неинтерактивном использовании подключаемого модуля вручную.',) Попытка обновить сертификат (DOMAIN.NAME) из / etc / ssl-com / обновление / DOMAIN.NAME.conf вызвало непредвиденную ошибку: ручной плагин не работает; могут быть проблемы с вашей существующей конфигурацией. Ошибка была: PluginError ('Сценарий аутентификации должен быть предоставлен с --manual-auth-hook при неинтерактивном использовании подключаемого модуля вручную.',). Пропуская. Все попытки продления не удались. Следующие сертификаты не могут быть обновлены: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (сбой) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Все попытки обновления не удались. Следующие сертификаты не могут быть обновлены: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (сбой) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 сбой при обновлении, 0 сбоев при синтаксическом анализе
Отзыв сертификата
Отозвать сертификат с помощью certbot revoke
. Замените путь сертификата во ВСЕХ ЗАГЛАВНЫХ буквах своими фактическими значениями (например, /etc/ssl-com/live/example.com/cert.pem
). Если вы не указали кастом --config-dir
и --logs-dir
при запросе оригинального сертификата опустите эти параметры.
sudo certbot revoke --server https://acme.ssl.com/sslcom-dv-rsa --cert-path /PATH/TO/cert.pem --config-dir / etc / ssl-com --logs-dir / var / журнал / ssl-com
Вам будет предложено указать, хотите ли вы также удалить отозванный сертификат:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Вы хотите удалить сертификат (ы) вы только что отозвали вместе со всеми более ранними и более поздними версиями сертификата? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Да) es (рекомендуется) / (N ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Удалены все файлы, относящиеся к сертификату ДОМЕННОЕ ИМЯ. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.
Попробуйте следующее, чтобы устранить ошибку:
a) Укажите путь к закрытому ключу сертификата для подписи запроса на отзыв.
Пример:
--key-path /PATH/TO/privkey.pem
б) Если вы использовали пользовательский каталог, укажите каталог, который вы использовали при выпуске сертификата:
--config-dir
Типы сертификатов и выставление счетов
Все SSL /TLS сертификаты, выданные через ACME на SSL.com, являются сертификатами сроком на один год. Тип сертификата SSL.com, который вы получите (и за который будет выставлен счет), зависит от количества и типа запрошенных доменных имен:
- Основной SSL: Одно доменное имя или доменное имя плюс
www
субдомен (например,example.com
иwww.example.com
).- Обратите внимание: если вы хотите защитить как базовое доменное имя, так и
www
, вы должны включить оба в свою команду Certbot (например,-d example.com -d www.example.com
).
- Обратите внимание: если вы хотите защитить как базовое доменное имя, так и
- Подстановочный SSL-код: Одно доменное имя с подстановочным знаком или одно имя домена с подстановочным знаком плюс базовое доменное имя (например,
*.example.com
иexample.com
). - Премиум SSL: Базовое доменное имя и от одного до трех субдоменов без подстановочных знаков. (Исключение: как указано выше, базовый домен плюс
www
субдомен [и никакие другие] будет оплачен как базовый SSL.) Например:
example.com
иinfo.example.com
example.com
,www.example.com
качестваinfo.example.com
example.com
,www.example.com
,info.example.com
качестваstore.example.com
- Многодоменный UCC / SAN SSL: Любая другая комбинация доменных имен. Например:
- Базовое доменное имя и более трех поддоменов
- Два или более доменных имени с подстановочными знаками и / или доменных имен, не являющихся субдоменами
Участники в SSL.com's Программа для торговых посредников и оптовых закупок будут оплачиваться по льготной ставке, соответствующей их ценовому уровню.
Чтобы получить больше информации
Вы можете сделать гораздо больше с протоколом ACME (с Certbot или без него). Пожалуйста, обратитесь к следующим ресурсам для получения более подробной информации:
- Что такое протокол ACME?
- ACME SSL /TLS Автоматизация с Apache и Nginx
- SSL /TLS Автоматизация для IoT с ACME
- Документация Certbot
- Страница руководства Certbot
Нужна дополнительная помощь с вашей учетной записью SSL.com?
- Ваша учетная запись SSL.com - отправка CSR
- Не прошел предварительный тест ?!
- Ваша учетная запись SSL.com - Подтверждения
- Ваша учетная запись SSL.com - Заказы
- SWS API SSL.com - Введение
- Ваша учетная запись SSL.com - Домены
- Поддерживаемые облачные HSM для подписи документов и подписи кода EV