Клиентите на SSL.com вече могат да използват популярния протокол ACME, за да поискат и отменят SSL /TLS сертификати.
ACME (Automated Certificate Management Environment) е стандартен протокол за автоматизирана проверка на домейн и инсталиране на X.509 сертификати, документиран в IETF RFC 8555, Като добре документиран стандарт с много отворен код клиентски реализации, ACME предлага безболезнен начин за предоставяне на уебсайтове или Устройства за пренос на данни като модеми и рутери с публично или частно доверени цифрови сертификати и поддържат тези сертификати актуализирани с течение на времето.
Това ръководство ще ви покаже как да:
- Намерете и извлечете идентификационните данни, които ще са ви необходими, за да поискате сертификати с ACME.
- Използвайте Certbot, за да поискате ръчно SSL /TLS сертификати чрез HTTP-01 намлява DNS-01 предизвикателни методи.
- Отнемете сертификатите с Certbot.
Можете да използвате много други клиенти на ACME, включително Cerber-мениджър на 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 / snap / bin / certbot / usr / bin / certbot
Ако имате нужда от повече информация относно инсталирането на Certbot във вашата система, моля, обърнете се към EFF документация.
Изтеглете ACME идентификационни данни
Преди да използвате ACME за заявка за сертификат, ще трябва да изтеглите своя Ключ за акаунт намлява HMAC ключ от вашия SSL.com акаунт.
- Влезте в акаунта си в SSL.com. Ако вече сте влезли, отидете на Табло раздела.
- Кликнете api пълномощия, намиращ се под разработчици и интеграция.
- Вие ще имате нужда от вашето Ключ за акаунт / ACME намлява HMAC ключ да поиска сертификати. Щракнете върху иконата на клипборда () до всеки ключ, за да копирате стойността в клипборда.
- Можете също да копирате команда Certbot, предварително напълнена с вашия имейл адрес, клавиш Account / ACME и HMAC, като щракнете върху иконата на клипборда () до команда cli, По-долу ACME Certbot. Тази предварително форматирана команда ще поръча сертификат чрез метода на 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
привилегии на компютъра.
За да извлечете ръчно сертификат, използвайте следната команда. Заменете стойностите във ALL CAPS с вашите действителни стойности. (Както беше отбелязано по-горе, можете също да копирате и поставите команда 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 EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY -d DOMAIN.NAME
Разбиване на командата:
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 сертификатът изтича на 2021-10-05. За да получите нова или променена версия на този сертификат в бъдеще, просто стартирайте certbot отново. За да подновите неинтерактивно * всички * от вашите сертификати, стартирайте "certbot подновяване"
Вече можете да конфигурирате вашия уеб сървър за достъп до новия сертификат и частния ключ.
DNS-01 Метод за предизвикателство
- DNS-01 challenge методът е по-труден за използване от 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 предоставя a renew
подкомандата, но това ще доведе до грешка при опит да се използва със сертификати, поискани с --manual
опция:
sudo certbot подновяване --force-подновяване Запазване на регистрационния файл за отстраняване на грешки в /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Обработка /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Не можах да избера подходящ плъгин: Ръчният плъгин не работи; може да има проблеми със съществуващата ви конфигурация. Грешката беше: PluginError („Сценарият за удостоверяване трябва да бъде снабден с --manual-auth-hook, когато използвате ръчния плъгин неинтерактивно.“,) Опит за подновяване на сертификат (DOMAIN.NAME) от / etc / ssl-com / renewal / 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
. Заменете пътя на сертификата във ALL CAPS с вашите действителни стойности (например, /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 / log / ssl-com
Ще бъдете подканени дали искате също да изтриете отменения сертификат:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Искате ли да изтриете сертификата (сертификатите) току-що сте отменили, заедно с всички по-ранни и по-късни версии на сертификата? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y) 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
b) Ако сте използвали персонализирана директория, посочете директорията, която сте използвали, когато сте издали сертификата:
--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
).
- Имайте предвид, че ако искате да защитите както основното име на домейн, така и
- Wildcard 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 Програма за дистрибутори и закупуване на обеми ще бъдат таксувани по дисконтирана ставка, свързана с техния ценови ред.
За повече информация
Има много повече неща, които можете да направите с протокола ACME (със или без Certbot). Моля, обърнете се към следните ресурси за много повече информация:
- Какво представлява протоколът ACME?
- ACME SSL /TLS Автоматизация с Apache и Nginx
- SSL /TLS Автоматизация за IoT с ACME
- Документация на Certbot
- Страница на Certbot man
Нуждаете се от повече помощ за вашия акаунт в SSL.com?
- Вашият акаунт в SSL.com - Изпращане на CSR
- Неуспешен предварителен тест ?!
- Вашият SSL.com акаунт - Проверки
- Вашият акаунт в SSL.com - Поръчки
- SWS API на SSL.com - Въведение
- Вашият SSL.com акаунт - Домейни
- Поддържани облачни HSM за подписване на документи и подписване на EV код