SSL /TLS Выдача и отзыв сертификатов с ACME

Логотип ACMEКлиенты SSL.com теперь могут использовать популярный протокол ACME для запроса и отзыва SSL /TLS сертификаты.

ACME (Автоматическая среда управления сертификатами) - это стандартный протокол для автоматической проверки домена и установки сертификатов X.509, задокументированный в IETF RFC 8555 г., Как хорошо документированный стандарт со многими открытыми исходными кодами реализации клиента, ACME предлагает безболезненный способ предоставления веб-сайтов или IoT-устройства таких как модемы и маршрутизаторы с общедоступными или частными доверенными цифровыми сертификатами, и постоянно обновлять эти сертификаты.

ACME не только для веб-сайтов! С помощью выдающего ЦС с поддержкой ACME от SSL.com поставщики Интернета вещей могут легко управлять и автоматизировать проверку, установку, продление и отзыв SSL /TLS сертификаты на ACME-совместимые устройства.

Узнайте больше о ACME для Интернета вещей

Это руководство покажет вам, как:

  • Найдите и получите учетные данные, которые вам понадобятся для запроса сертификатов с помощью 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's Торговый посредник и оптовые закупки партнеры могут генерировать учетные данные ACME для своих клиентов. Читать это как для полных инструкций.
  1. Войдите в свою учетную запись SSL.com. Если вы уже вошли в систему, перейдите в Аккаунт меню.
    Аккаунт
  2. Нажмите учетные данные API, расположенный под разработчики и интеграция.
    Ссылка на учетные данные API
  3. Вам понадобятся ваши Аккаунт / ключ ACME и Ключ HMAC запрашивать сертификаты. Щелкните значок буфера обмена () рядом с каждым ключом, чтобы скопировать значение в буфер обмена.
    Аккаунт / ключ ACME и ключ HMAC
  4. Вы также можете скопировать команду Certbot, предварительно заполненную вашим адресом электронной почты, ключом учетной записи / ACME и ключом HMAC, щелкнув значок буфера обмена () следующий на команда cli, Ниже ACME Сертбот. Эта предварительно отформатированная команда будет заказывать сертификат с помощью метода запроса HTTP-01.Копировать команду certbot

Запросить 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 и их соответствующие цены.
Примечание: Certbot 2.0.0 или новее по умолчанию создает ECDSA для новых сертификатов. Приведенная выше команда создаст пару ключей и сертификат ECDSA. Чтобы вместо этого использовать ключи RSA:

  • Изменить --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.

Примечание: Для запроса HTTP-01 может потребоваться имя файла, начинающееся с тире (-) персонаж. В этом случае вам может потребоваться указать каталог при создании файла, чтобы оболочка не интерпретировала тире (например, 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Удалены все файлы, относящиеся к сертификату ДОМЕННОЕ ИМЯ. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Примечание. Некоторые пользователи могут получить эту ошибку при попытке отозвать сертификат с помощью SSL.comконечная точка ACME: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.comwww.example.comкачества info.example.com
    • example.comwww.example.com, info.example.com качества store.example.com
  • Многодоменный UCC / SAN SSL: Любая другая комбинация доменных имен. Например:
    • Базовое доменное имя и более трех поддоменов
    • Два или более доменных имени с подстановочными знаками и / или доменных имен, не являющихся субдоменами

Участники в SSL.com's Программа для торговых посредников и оптовых закупок будут оплачиваться по льготной ставке, соответствующей их ценовому уровню.

Чтобы получить больше информации

Вы можете сделать гораздо больше с протоколом ACME (с Certbot или без него). Пожалуйста, обратитесь к следующим ресурсам для получения более подробной информации:

Нужна дополнительная помощь с вашей учетной записью SSL.com?

Спасибо, что выбрали SSL.com! Если у вас возникнут вопросы, свяжитесь с нами по электронной почте по адресу Support@SSL.com, вызов 1-877-SSL-SECURE, или просто нажмите ссылку чата в правом нижнем углу этой страницы. Вы также можете найти ответы на многие распространенные вопросы поддержки в нашем база знаний.
Twitter
что его цель
LinkedIn
Reddit.
Эл. адрес

Будьте в курсе и будьте в безопасности

SSL.com является мировым лидером в области кибербезопасности, PKI и цифровые сертификаты. Подпишитесь, чтобы получать последние новости отрасли, советы и анонсы продуктов от SSL.com.

Мы будем рады вашим отзывам

Пройдите наш опрос и поделитесь с нами своими мыслями о своей недавней покупке.