SSL /TLS Wydawanie i unieważnianie certyfikatów z ACME

Logo ACMEKlienci SSL.com mogą teraz używać popularnego protokołu ACME do żądania i unieważniania SSL /TLS certyfikaty.

ACME (Automated Certificate Management Environment) to standardowy protokół do automatycznej walidacji domeny i instalacji certyfikatów X.509, udokumentowany w Dokument IETF RFC 8555. Jako dobrze udokumentowany standard z wieloma otwartymi źródłami wdrożenia klienta, ACME oferuje bezbolesny sposób udostępniania stron internetowych lub Urządzenia IoT takie jak modemy i routery z publicznie lub prywatnie zaufanymi certyfikatami cyfrowymi i aktualizuj te certyfikaty w miarę upływu czasu.

ACME to nie tylko strony internetowe! Dzięki CA z obsługą ACME wystawiającemu certyfikat z SSL.com, dostawcy IoT mogą łatwo zarządzać i automatyzować walidację, instalację, odnawianie i cofanie SSL /TLS certyfikaty na urządzeniach obsługujących ACME.

Dowiedz się więcej o ACME dla IoT

Z tego przewodnika dowiesz się, jak:

  • Zlokalizuj i pobierz poświadczenia potrzebne do żądania certyfikatów w ACME.
  • Użyj Certbot, aby ręcznie zażądać SSL /TLS certyfikaty za pośrednictwem HTTP-01 i DNS-01 metody wyzwania.
  • Unieważnij certyfikaty z Certbotem.
Uwaga:
Możesz używać wielu innych klientów ACME, w tym Menedżer certyfikatów Kubernetes, z usługą ACME SSL.com.
acme4j  klient może teraz korzystać z usług SSL.com ACME w tym repozytorium: https://github.com/SSLcom/acme4j
Instrukcje dla innych klientów ACME innych niż Certbot można znaleźć w dokumentacji dostawcy oprogramowania.

Zainstaluj Certbot

W tym przewodniku założono, że pracujesz na komputerze z programem Certbot zainstalowany. Certbot to bezpłatne narzędzie o otwartym kodzie źródłowym, opracowane przez Electronic Frontier Foundation (EFF), za pomocą którego można żądać lub cofać SSL /TLS certyfikaty z SSL.com za pośrednictwem protokołu ACME. Certbot może działać na różnych platformach, w tym Linux, macOS i Windows.

  • Jeśli snapd zainstalowany, możesz użyć tego polecenia do instalacji:
    sudo snap install - klasyczny certbot
  • If /snap/bin/ nie ma w twoim PATH, będziesz musiał go również dodać lub uruchomić polecenie takie:
    sudo ln -s / snap / bin / certbot / usr / bin / certbot

Jeśli potrzebujesz więcej informacji na temat instalacji Certbota w swoim systemie, zajrzyj do EFF dokumentacja.

Pobierz referencje ACME

Zanim użyjesz ACME do zażądania certyfikatu, musisz odzyskać plik Klucz konta i Klucz HMAC z Twojego konta SSL.com.

SSL.com's Reseller i zakupy zbiorcze partnerzy mogą wygeneruj poświadczenia ACME dla swoich klientów. Czytać to instrukcje dla pełnych instrukcji.
  1. Zaloguj się na swoje konto SSL.com. Jeśli jesteś już zalogowany, przejdź do Panel Użytkownika patka.
    Panel Użytkownika
  2. Kliknij poświadczenia api, znajdujący się pod programiści i integracja.
    Link do danych logowania API
  3. Będziesz potrzebował swojego Konto / klucz ACME i Klucz HMAC zażądać certyfikatów. Kliknij ikonę schowka () obok każdego klucza, aby skopiować wartość do schowka.
    Klucz konta / ACME i klucz HMAC
  4. Możesz również skopiować polecenie Certbot wstępnie wypełnione swoim adresem e-mail, kluczem konta / ACME i kluczem HMAC, klikając ikonę schowka () obok cli polecenie, Poniżej Certbot ACME. To wstępnie sformatowane polecenie zamówi certyfikat za pomocą metody wezwania HTTP-01.Skopiuj polecenie certbot

Poproś o certyfikat SSL ręcznie /TLS Certyfikat

Po pobraniu poświadczeń możesz zażądać certyfikatu za pośrednictwem pliku certbot Komenda. Certbot obsługuje dwie metody sprawdzania poprawności domeny (DV): HTTP-01 i DNS-01.

Metoda wyzwań HTTP-01

HTTP-01 jest najczęściej używaną metodą wyzwania używaną w programach ACME i Certbot. Gdy w ten sposób zażądasz certyfikatu, Certbot wygeneruje token, którego możesz użyć do utworzenia publicznie dostępnego pliku w Twojej witrynie. Serwer ACME SSL.com zweryfikuje plik przez HTTP i wyda podpisany certyfikat, jeśli jest poprawny.

wymagania: Metoda HTTP-01 wymaga, abyś miał dostęp do serwera WWW, a witryna była dostępna przez port 80 przez HTTP. Będziesz także potrzebować sudo uprawnienia na komputerze.

Aby ręcznie pobrać certyfikat, użyj następującego polecenia. Zastąp wartości WIELKIMI LITERAMI rzeczywistymi wartościami. (Jak wspomniano powyżej, możesz również skopiować i wkleić polecenie certbot, które robi to z konta w portalu):

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- zgoda-tos --no-eff-email --email ADRES-EMAIL --eab-hmac-klucz-KLUCZ-HMAC --eab-kid KLUCZ-KONTA -d NAZWA.DOMENY

Łamanie polecenia:

  • sudo certbot uruchamia certbot polecenie z uprawnieniami administratora.
  • certonly żąda pobrania certyfikatu, ale nie chce go zainstalować.
  • --manual określa, aby uruchomić Certbot w trybie interaktywnym.
  • --server https://acme.ssl.com/sslcom-dv-ecc określa serwer ACME SSL.com.
  • --config-dir /etc/ssl-com (opcjonalnie) ustawia katalog konfiguracyjny.
  • --logs-dir /var/log/ssl-com (opcjonalnie) ustawia katalog dla dzienników.
  • --agree-tos (opcjonalnie) wyraża zgodę na umowę abonencką ACME. Możesz to pominąć, jeśli chcesz wyrazić zgodę interaktywnie.
  • --no-eff-email (opcjonalnie) oznacza, że ​​nie chcesz udostępniać swojego adresu e-mail EFF. Jeśli to pominiesz, zostanie wyświetlona opcja udostępnienia adresu e-mail.
  • --email EMAIL-ADDRESS zapewnia rejestracyjny adres e-mail. Możesz podać wiele adresów oddzielonych przecinkami.
  • --eab-hmac-key HMAC-KEY określa klucz HMAC.
  • --eab-kid ACCOUNT-KEY określa klucz Twojego konta.
  • -d DOMAIN.NAME określa nazwę domeny, którą będzie obejmować certyfikat. Pamiętaj, że możesz użyć use -d DOMAIN.NAME opcję wielokrotnego dodawania nazw domen do certyfikatu. Certbot będzie wymagać utworzenia pliku wyzwania dla każdej żądanej nazwy domeny. Zobacz sekcję dotyczącą typy certyfikatów i fakturowanie poniżej, aby zobaczyć, jak mapują się różne kombinacje nazw domen Typy certyfikatów SSL.com i odpowiadające im ceny.
Uwaga: Certbot 2.0.0 lub nowszy domyślnie generuje ECDSA dla nowych certyfikatów. Powyższe polecenie wygeneruje parę kluczy i certyfikat ECDSA. Aby zamiast tego użyć kluczy RSA:

  • Zmienić --server wartość w poleceniu do https://acme.ssl.com/sslcom-dv-rsa
  • Dodaj --key-type rsa do polecenia.
Kiedy po raz pierwszy uruchomisz powyższe certbot polecenie, informacje o koncie ACME będą przechowywane na twoim komputerze w katalogu konfiguracyjnym (/etc/ssl-com w powyższym poleceniu. W przyszłych uruchomieniach certbota możesz pominąć --eab-hmac-key i --eab-kid opcje, ponieważ certbot zignoruje je na korzyść przechowywanych lokalnie informacji o koncie.

Jeśli chcesz powiązać zamówienia certyfikatów ACME dla komputera z innym kontem SSL.com, usuń informacje o tym koncie ze swojego komputera za pomocą polecenia sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (lub, jeśli pominąłeś opcjonalny) --config-dir opcja, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Po uruchomieniu powyższego polecenia powinieneś otrzymać instrukcje, aby utworzyć plik walidacyjny:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Utwórz plik zawierający tylko te dane: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI I udostępnij go na swoim serwerze WWW pod tym adresem URL: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Naciśnij Enter, aby kontynuować

Utwórz plik i zapisz go w miejscu na serwerze WWW, gdzie będzie można uzyskać do niego dostęp przez port HTTP 80 pod wyświetlonym adresem URL, a następnie naciśnij Enter.

Uwaga: Wyzwanie HTTP-01 może wymagać nazwy pliku zaczynającej się od myślnika (-) postać. W takim przypadku może być konieczne określenie katalogu podczas tworzenia pliku, aby zapobiec interpretacji myślnika przez powłokę (np vim ./-r1rsRTImVz_s7HHk7biTQ).

Jeśli wszystkie twoje informacje są poprawne, powinieneś otrzymać wiadomość potwierdzającą, pokazującą lokalizację twojego łańcucha certyfikatów i klucza prywatnego:

WAŻNE UWAGI: - Gratulacje! Twój certyfikat i łańcuch zostały zapisane pod adresem: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Twój plik klucza został zapisany w: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Twój cert wygaśnie 2021-10-05. Aby w przyszłości uzyskać nową lub ulepszoną wersję tego certyfikatu, po prostu ponownie uruchom certbot. Aby odnowić * wszystkie * certyfikaty w sposób nieinteraktywny, uruchom polecenie „certbot renew”

Możesz teraz skonfigurować serwer WWW, aby uzyskać dostęp do nowego certyfikatu i klucza prywatnego.

Metoda wezwania DNS-01

Połączenia DNS-01 Metoda wyzwania jest trudniejsza w użyciu niż HTTP-01, ale może być wygodniejsza w użyciu na wielu serwerach internetowych. W tej metodzie Certbot dostarczy token, którego użyjesz do utworzenia rekordu DNS TXT pod nazwą domeny, którą będzie chronił certyfikat.

wymagania: Metoda DNS-01 wymaga, abyś miał możliwość tworzenia rekordów DNS dla nazwy domeny swojej witryny internetowej.

Następujące polecenie zażąda certyfikatu dla DOMAIN.NAME za pomocą metody wezwania 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

Uwaga: Możesz użyć -d DOMAIN.NAME opcję wielokrotnego dodawania nazw domen do certyfikatu. Certbot będzie wymagał utworzenia oddzielnego rekordu DNS TXT dla każdej żądanej nazwy domeny. Nie musisz czekać na propagację każdego rekordu TXT przed naciśnięciem Enter aż dotrzesz do ostatniego wyzwania. Zobacz sekcję dotyczącą typy certyfikatów i fakturowanie poniżej, aby zobaczyć, jak mapują się różne kombinacje nazw domen Typy certyfikatów SSL.com i odpowiadające im ceny.
Kiedy po raz pierwszy uruchomisz powyższe certbot polecenie, informacje o koncie ACME będą przechowywane na twoim komputerze w katalogu konfiguracyjnym (/etc/ssl-com w powyższym poleceniu. W przyszłych uruchomieniach certbota możesz pominąć --eab-hmac-key i --eab-kid opcje, ponieważ certbot zignoruje je na korzyść przechowywanych lokalnie informacji o koncie.

Jeśli chcesz powiązać zamówienia certyfikatów ACME dla komputera z innym kontem SSL.com, usuń informacje o tym koncie ze swojego komputera za pomocą polecenia sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (lub, jeśli pominąłeś opcjonalny) --config-dir opcja, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

To polecenie jest takie samo jak polecenie z sekcji HTTP-01, ale dodaje rozszerzenie --preferred-challenges dns opcja. Po uruchomieniu polecenia otrzymasz instrukcje dotyczące tworzenia rekordu 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

Utwórz rekord DNS TXT i zaczekaj na jego propagację. (whatsmydns.net jest wygodnym narzędziem do sprawdzania propagacji DNS). Zwróć uwagę, że znak podkreślenia (_) na początku nazwy rekordu to wymagany. Gdy nagranie rozprzestrzeni się na całym świecie, naciśnij Enter.

Jeśli chcesz otrzymać certyfikat wieloznaczny (np *.example.com) będziesz musiał osobno poprosić o nazwę domeny podstawowej, jeśli chcesz ją również chronić (na przykład -d *.example.com -d example.com). W takim przypadku będziesz musiał utworzyć drugiej Rekordy TXT o tej samej nazwie (_acme-challenge.example.com).

Jeśli wszystkie twoje informacje są poprawne, powinieneś otrzymać wiadomość potwierdzającą, pokazującą lokalizację twojego łańcucha certyfikatów i klucza prywatnego:

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"

Możesz teraz skonfigurować serwer WWW, aby uzyskać dostęp do nowego certyfikatu i klucza prywatnego.

Odnowienie certyfikatu (ręczne)

W przypadku certyfikatów wydanych ręcznie (zgodnie z opisem w tym przewodniku) odnowienie certyfikatu odbywa się po prostu przez powtórzenie polecenia używanego do żądania certyfikatu. Certbot zapewnia renew podkomendy, ale spowoduje to błąd przy próbie użycia jej z certyfikatami żądanymi z --manual opcja:

sudo certbot renew --force-renewal Zapisywanie dziennika debugowania w /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Przetwarzanie /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Nie można wybrać odpowiedniej wtyczki: wtyczka ręczna nie działa; mogą wystąpić problemy z istniejącą konfiguracją. Wystąpił błąd: PluginError ('Skrypt uwierzytelniający musi być wyposażony w --manual-auth-hook podczas nieinteraktywnego korzystania z wtyczki ręcznej.',) Próbowano odnowić certyfikat (DOMENA.NAME) z / etc / ssl-com / renewal / DOMAIN.NAME.conf spowodowało nieoczekiwany błąd: wtyczka ręczna nie działa; mogą wystąpić problemy z istniejącą konfiguracją. Wystąpił błąd: PluginError ('Skrypt uwierzytelniający musi być wyposażony w --manual-auth-hook, gdy wtyczka ręczna jest używana w sposób nieinteraktywny.',). Skaczący. Wszystkie próby odnowienia nie powiodły się. Nie można odnowić następujących certyfikatów: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (awaria) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wszystkie próby odnowienia nie powiodły się. Nie można odnowić następujących certyfikatów: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (awaria) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 błąd (y) odnowienia, 0 błędów analizy (błędów)

Unieważnienie certyfikatu

Unieważnij certyfikat za pomocą certbot revoke. Zastąp ścieżkę certyfikatu WIELKIMI LITERAMI rzeczywistymi wartościami (na przykład /etc/ssl-com/live/example.com/cert.pem). Jeśli nie określisz niestandardowego --config-dir i --logs-dir żądając oryginalnego certyfikatu, pomiń te opcje.

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

Zostaniesz zapytany, czy chcesz również usunąć unieważniony certyfikat:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Czy chcesz usunąć certyfikat (y) właśnie unieważniłeś, wraz ze wszystkimi wcześniejszymi i późniejszymi wersjami certyfikatu? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y) es (zalecane) / (N ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Usunięto wszystkie pliki związane z certyfikatem NAZWA DOMENY. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Uwaga: niektórzy użytkownicy mogą otrzymać ten błąd podczas próby unieważnienia certyfikatu za pomocą SSL.comPunkt końcowy ACME:Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.

Spróbuj wykonać następujące czynności, aby rozwiązać problem:
a) Określ ścieżkę klucza prywatnego certyfikatu, aby podpisać żądanie unieważnienia.
Przykład: --key-path /PATH/TO/privkey.pem
b) Jeśli korzystałeś z niestandardowego katalogu, określ katalog użyty podczas wystawiania certyfikatu: --config-dir

Typy certyfikatów i fakturowanie

Wszystkie SSL /TLS certyfikaty wydane za pośrednictwem ACME przez SSL.com są certyfikatami rocznymi. Typ certyfikatu SSL.com, który otrzymasz (i zostaniesz obciążony opłatą), zależy od liczby i typu żądanych nazw domen:

  • Podstawowy SSL: Jedna nazwa domeny lub nazwa domeny plus www subdomena (np example.com i www.example.com).
    • Pamiętaj, że jeśli chcesz chronić zarówno nazwę domeny podstawowej, jak i www, musisz uwzględnić oba w poleceniu Certbot (np -d example.com -d www.example.com).
  • Wildcard SSL: Jedna nazwa domeny z symbolem wieloznacznym lub jedna nazwa domeny z symbolem wieloznacznym i podstawowa nazwa domeny (np *.example.com i example.com).
  • SSL Premium: Podstawowa nazwa domeny i od jednej do trzech subdomen bez symboli wieloznacznych. (Wyjątek: jak wspomniano powyżej, domena podstawowa plus www subdomena [i żadne inne] będą rozliczane jako Basic SSL. Na przykład:
    • example.com i info.example.com
    • example.comwww.example.com, info.example.com
    • example.comwww.example.com, info.example.com , store.example.com
  • Multi-Domain UCC / SAN SSL: Dowolna inna kombinacja nazw domen. Na przykład:
    • Podstawowa nazwa domeny i więcej niż trzy subdomeny
    • Dwie lub więcej nazw domen zawierających symbole wieloznaczne i / lub domeny niebędące subdomenami

Uczestnicy w SSL.com Program dla sprzedawców i zakupów grupowych będą rozliczane według obniżonej stawki związanej z ich poziomem cenowym.

Po więcej informacji

Dzięki protokołowi ACME (z lub bez Certbota) możesz zrobić o wiele więcej. Więcej informacji można znaleźć w następujących zasobach:

Potrzebujesz dodatkowej pomocy z kontem SSL.com?

Dziękujemy za wybranie SSL.com! W razie jakichkolwiek pytań prosimy o kontakt mailowy pod adresem Support@SSL.com, połączenie 1-877-SSL-SECURElub po prostu kliknij łącze czatu w prawym dolnym rogu tej strony. Odpowiedzi na wiele często zadawanych pytań można również znaleźć w naszym baza wiedzy.
Twitter
Facebook
LinkedIn
Reddit
E-mail

Bądź na bieżąco i bezpiecznie

SSL.com jest światowym liderem w dziedzinie cyberbezpieczeństwa, PKI i certyfikaty cyfrowe. Zarejestruj się, aby otrzymywać najnowsze wiadomości branżowe, wskazówki i ogłoszenia o produktach od SSL.com.

Będziemy wdzięczni za Twoją opinię

Weź udział w naszej ankiecie i daj nam znać, co myślisz o swoim ostatnim zakupie.