SSL /TLS Uitgifte en intrekking van certificaten met ACME

Logo van ACMESSL.com-klanten kunnen nu het populaire ACME-protocol gebruiken om SSL /TLS certificaten.

ACME (Automated Certificate Management Environment) is een standaardprotocol voor geautomatiseerde domeinvalidatie en installatie van X.509-certificaten, gedocumenteerd in IETF-RFC 8555. Als een goed gedocumenteerde standaard met veel open source client implementaties, ACME biedt een pijnloze manier om websites of IoT-apparaten zoals modems en routers met openbaar of privé vertrouwde digitale certificaten en deze certificaten in de loop van de tijd up-to-date houden.

ACME is niet alleen voor websites! Met een door ACME ingeschakelde uitgevende CA van SSL.com kunnen IoT-leveranciers validatie, installatie, vernieuwing en intrekking van SSL /TLS certificaten op ACME-compatibele apparaten.

Lees meer over ACME voor het IoT

In deze handleiding wordt uitgelegd hoe u:

  • Zoek en haal de inloggegevens op die u nodig hebt om certificaten aan te vragen bij ACME.
  • Gebruik Certbot om handmatig SSL /TLS certificaten via de HTTP-01 en DNS-01 uitdagingsmethoden.
  • Trek certificaten in met Certbot.
Opmerking:
U kunt vele andere ACME-clients gebruiken, waaronder Kubernetes-certificaatbeheerder, met de ACME-service van SSL.com.
top4j  klant kan nu SSL.com ACME-services gebruiken in deze repository: https://github.com/SSLcom/acme4j
Raadpleeg de documentatie van uw softwareleverancier voor instructies voor andere niet-Certbot ACME-clients.

Installeer Certbot

In deze handleiding wordt ervan uitgegaan dat u werkt op een computer met Certbot geïnstalleerd. Certbot is een gratis en open-source tool, ontwikkeld door de Electronic Frontier Foundation (EFF), die u kunt gebruiken om SSL /TLS certificaten van SSL.com via het ACME-protocol. Certbot kan op verschillende platforms worden uitgevoerd, waaronder Linux, macOS en Windows.

  • Als u snapd geïnstalleerd, je kunt dit commando gebruiken voor installatie:
    sudo snap install --klassieke certbot
  • If /snap/bin/ zit niet in je PATH, je moet het ook toevoegen of een commando als dit uitvoeren:
    sudo ln -s / snap / bin / certbot / usr / bin / certbot

Als u meer informatie nodig heeft over het installeren van Certbot op uw systeem, raadpleeg dan de EFF's documentatie.

Haal ACME-inloggegevens op

Voordat u ACME gebruikt om een ​​certificaat aan te vragen, moet u uw Accountsleutel en HMAC-sleutel vanaf uw SSL.com-account.

SSL.com's Wederverkoper en volumeaankoop partners kunnen ACME-inloggegevens genereren voor hun klanten. Lezen deze how-to voor volledige instructies.
  1. Log in op uw SSL.com-account. Als u al bent aangemeld, gaat u naar het Overzicht Tab.
    Overzicht
  2. Klik api-gegevens, gelegen onder ontwikkelaars en integratie.
    API-inloggegevens link
  3. Je hebt je Account / ACME-sleutel en HMAC-sleutel om certificaten aan te vragen. Klik op het klembordpictogram () naast elke toets om de waarde naar het klembord te kopiëren.
    Account / ACME-sleutel en HMAC-sleutel
  4. U kunt ook een Certbot-commando kopiëren dat vooraf is ingevuld met uw e-mailadres, Account / ACME-sleutel en HMAC-sleutel door op het klembordpictogram () naast cli-opdrachthieronder ACME Certbot. Dit voorgeformatteerde commando zal een certificaat bestellen via de HTTP-01 challenge-methode.Kopieer certbot-opdracht

Vraag handmatig een SSL /TLS Certificaat

Nu u uw inloggegevens heeft opgehaald, kunt u een certificaat aanvragen via het certbot opdracht. Certbot ondersteunt twee domeinvalidatiemethoden (DV): HTTP-01 en DNS-01.

HTTP-01 Challenge-methode

HTTP-01 is de meest gebruikte challenge-methode die wordt gebruikt met ACME en Certbot. Wanneer u op deze manier een certificaat aanvraagt, genereert Certbot een token waarmee u een publiek toegankelijk bestand op uw website kunt aanmaken. De ACME-server van SSL.com verifieert het bestand vervolgens via HTTP en geeft een ondertekend certificaat af als het correct is.

Vereisten: De HTTP-01-methode vereist dat u toegang heeft tot uw webserver en dat de site beschikbaar is via poort 80 via HTTP. Je hebt ook nodig sudo privileges op de computer.

Gebruik de volgende opdracht om handmatig een certificaat op te halen. Vervang waarden in HOOFDLETTERS door uw werkelijke waarden. (Zoals hierboven vermeld, kunt u ook een certbot-opdracht kopiëren en plakken die dit doet vanuit uw portalaccount):

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- ga akkoord --no-eff-email --email EMAIL-ADRES --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY -d DOMEIN.NAAM

Het commando verbreken:

  • sudo certbot loopt het certbot commando met superuser-rechten.
  • certonly verzoekt om een ​​certificaat op te halen, maar niet te installeren.
  • --manual specificeert om Certbot interactief uit te voeren.
  • --server https://acme.ssl.com/sslcom-dv-ecc specificeert de ACME-server van SSL.com.
  • --config-dir /etc/ssl-com (optioneel) stelt de configuratiemap in.
  • --logs-dir /var/log/ssl-com (optioneel) stelt de map voor logboeken in.
  • --agree-tos (optioneel) gaat akkoord met de ACME-abonneeovereenkomst. U kunt dit weglaten als u interactief akkoord wilt gaan.
  • --no-eff-email (optioneel) geeft aan dat u uw e-mailadres niet met de EFF wilt delen. Als u dit weglaat, wordt u gevraagd om uw e-mailadres te delen.
  • --email EMAIL-ADDRESS biedt een registratie-e-mailadres. U kunt meerdere adressen opgeven, gescheiden door komma's.
  • --eab-hmac-key HMAC-KEY specificeert uw HMAC-sleutel.
  • --eab-kid ACCOUNT-KEY specificeert uw accountsleutel.
  • -d DOMAIN.NAME specificeert de domeinnaam die het certificaat zal dekken. Merk op dat u de you kunt gebruiken -d DOMAIN.NAME optie meerdere keren in uw opdracht om domeinnamen aan uw certificaat toe te voegen. Certbot vereist dat u een challenge-bestand aanmaakt voor elke aangevraagde domeinnaam. Zie het gedeelte over certificaattypen en facturering hieronder om te zien hoe verschillende combinaties van domeinnamen overeenkomen met SSL.com-certificaattypen en hun bijbehorende prijzen.
Opmerking: Certbot 2.0.0 of nieuwer genereert standaard ECDSA voor nieuwe certificaten. De bovenstaande opdracht genereert een ECDSA-sleutelpaar en certificaat. Om in plaats daarvan RSA-sleutels te gebruiken:

  • Verander de --server waarde in het commando to https://acme.ssl.com/sslcom-dv-rsa
  • Toevoegen --key-type rsa naar het commando.
Wanneer u het bovenstaande voor het eerst uitvoert certbot opdracht, wordt ACME-accountinformatie op uw computer opgeslagen in de configuratiemap (/etc/ssl-com in de hierboven getoonde opdracht. Bij toekomstige uitvoeringen van certbot kunt u de . weglaten --eab-hmac-key en --eab-kid opties omdat certbot ze negeert ten gunste van de lokaal opgeslagen accountinformatie.

Als u uw ACME-certificaatbestellingen voor de computer moet koppelen aan een ander SSL.com-account, moet u deze accountgegevens van uw computer verwijderen met de opdracht sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (of, als je de optionele . hebt weggelaten --config-dir keuze, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Wanneer u de bovenstaande opdracht uitvoert, ontvangt u instructies om een ​​validatiebestand te maken:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Maak een bestand met alleen deze gegevens: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI En maak het beschikbaar op uw webserver op deze URL: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Druk op Enter om door te gaan

Maak het bestand en sla het op een locatie op uw webserver op waar het toegankelijk is via HTTP over poort 80 bij de weergegeven URL en druk vervolgens op Enter.

Opmerking: De HTTP-01-uitdaging vereist mogelijk een bestandsnaam die begint met een streepje (-) karakter. In dit geval moet u mogelijk de map opgeven bij het maken van uw bestand om te voorkomen dat de shell het streepje interpreteert (bijv vim ./-r1rsRTImVz_s7HHk7biTQ).

Als al uw informatie correct is, ontvangt u een bevestigingsbericht met de locaties van uw certificaatketen en privésleutel:

BELANGRIJKE OPMERKINGEN: - Gefeliciteerd! Uw certificaat en ketting zijn opgeslagen op: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Uw sleutelbestand is opgeslagen op: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Uw cert vervalt op 2021-10-05. Om in de toekomst een nieuwe of aangepaste versie van dit certificaat te verkrijgen, voert u certbot gewoon opnieuw uit. Om * al * uw certificaten niet-interactief te verlengen, voert u "certbot vernieuwen" uit

U kunt nu uw webserver configureren om toegang te krijgen tot het nieuwe certificaat en de persoonlijke sleutel.

DNS-01 Challenge-methode

De DNS-01 challenge-methode is lastiger te gebruiken dan HTTP-01, maar kan handiger zijn voor gebruik op meerdere webservers. Bij deze methode levert Certbot een token dat u gebruikt om een ​​DNS TXT-record aan te maken onder de domeinnaam die het certificaat zal beschermen.

Vereisten: De DNS-01-methode vereist dat u de mogelijkheid heeft om DNS-records te maken voor de domeinnaam van uw website.

De volgende opdracht vraagt ​​om een ​​certificaat voor DOMAIN.NAME via de DNS-01-uitdagingsmethode:

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

Opmerking: U kunt gebruik maken van de -d DOMAIN.NAME optie meerdere keren in uw opdracht om domeinnamen aan uw certificaat toe te voegen. Certbot vereist dat u een afzonderlijk DNS TXT-record maakt voor elke aangevraagde domeinnaam. U hoeft niet te wachten totdat elk TXT-record is doorgevoerd voordat u op drukt Enter totdat je de laatste uitdaging bereikt. Zie het gedeelte over certificaattypen en facturering hieronder om te zien hoe verschillende combinaties van domeinnamen overeenkomen met SSL.com-certificaattypen en hun bijbehorende prijzen.
Wanneer u het bovenstaande voor het eerst uitvoert certbot opdracht, wordt ACME-accountinformatie op uw computer opgeslagen in de configuratiemap (/etc/ssl-com in de hierboven getoonde opdracht. Bij toekomstige uitvoeringen van certbot kunt u de . weglaten --eab-hmac-key en --eab-kid opties omdat certbot ze negeert ten gunste van de lokaal opgeslagen accountinformatie.

Als u uw ACME-certificaatbestellingen voor de computer moet koppelen aan een ander SSL.com-account, moet u deze accountgegevens van uw computer verwijderen met de opdracht sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (of, als je de optionele . hebt weggelaten --config-dir keuze, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Deze opdracht is dezelfde als die uit de HTTP-01-sectie, maar voegt de --preferred-challenges dns optie. Wanneer u de opdracht uitvoert, ontvangt u instructies voor het maken van een DNS-record:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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

Maak de DNS TXT-record en wacht tot deze is doorgevoerd. (whatsmydns.net is een handig hulpmiddel om te controleren op DNS-propagatie). Merk op dat het onderstrepingsteken (_) aan het begin van de recordnaam nodig. Wanneer het record wereldwijd is verspreid, drukt u op Enter.

Als u een wildcard-certificaat aanvraagt ​​(bijv *.example.com) moet u de basisdomeinnaam apart aanvragen als u deze ook wilt beschermen (bijvoorbeeld -d *.example.com -d example.com). In dat geval moet u twee TXT-records met dezelfde naam (_acme-challenge.example.com).

Als al uw informatie correct is, ontvangt u een bevestigingsbericht met de locaties van uw certificaatketen en privésleutel:

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"

U kunt nu uw webserver configureren om toegang te krijgen tot het nieuwe certificaat en de persoonlijke sleutel.

Certificaatverlenging (handmatig)

Voor handmatig uitgegeven certificaten (zoals beschreven in deze handleiding), wordt certificaatvernieuwing bereikt door simpelweg de opdracht te herhalen die is gebruikt om het certificaat aan te vragen. Certbot biedt wel een renew subcommand, maar het zal een fout opleveren bij een poging om het te gebruiken met certificaten die zijn aangevraagd met de --manual optie:

sudo certbot renew --force-renewal Foutopsporingslogboek opslaan in /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Verwerking /etc/ssl-com/renewal/ DOMAINNAAM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kon de juiste plug-in niet kiezen: de handmatige plug-in werkt niet; er kunnen problemen zijn met uw bestaande configuratie. De fout was: PluginError ('Een authenticatiescript moet worden voorzien van --manual-auth-hook wanneer de handmatige plug-in niet-interactief wordt gebruikt.') Poging om cert (DOMAIN.NAME) te vernieuwen vanuit / etc / ssl-com / vernieuwing / DOMAIN.NAME.conf produceerde een onverwachte fout: de handmatige plug-in werkt niet; er kunnen problemen zijn met uw bestaande configuratie. De fout was: PluginError ('Een authenticatiescript moet worden voorzien van --manual-auth-hook wanneer de handmatige plug-in niet-interactief wordt gebruikt.',). Overslaan. Alle verlengingspogingen zijn mislukt. De volgende certificaten konden niet worden vernieuwd: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (mislukt) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Alle vernieuwingspogingen zijn mislukt. De volgende certificaten kunnen niet worden vernieuwd: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (fout) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 vernieuwingsfout (en), 0 parseerfout (en)

Certificaat intrekken

Een certificaat intrekken met certbot revoke. Vervang het certificaatpad in HOOFDLETTERS door uw werkelijke waarden (bijvoorbeeld /etc/ssl-com/live/example.com/cert.pem). Als u geen gebruik heeft opgegeven --config-dir en --logs-dir Laat deze opties weg bij het opvragen van het originele certificaat.

sudo certbot intrekken --server https://acme.ssl.com/sslcom-dv-rsa --cert-pad /PATH/TO/cert.pem --config-dir / etc / ssl-com --logs-dir / var / log / ssl-com

U wordt gevraagd of u het ingetrokken certificaat ook wilt verwijderen:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wil je de cert (s) verwijderen u zojuist ingetrokken, samen met alle eerdere en latere versies van het cert? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y) es (aanbevolen) / (N ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Alle bestanden met betrekking tot het certificaat verwijderd DOMEINNAAM. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Opmerking: sommige gebruikers kunnen deze fout krijgen wanneer ze proberen een certificaat in te trekken met behulp van SSL.com's ACME-eindpunt:Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.

Probeer het volgende om de fout op te lossen:
a) Specificeer het privésleutelpad van het certificaat om het intrekkingsverzoek te ondertekenen.
Voorbeeld: --key-path /PATH/TO/privkey.pem
b) Als u een aangepaste map hebt gebruikt, specificeert u de map die u gebruikte toen u het certificaat uitgaf: --config-dir

Certificaattypen en facturering

Alle SSL /TLS certificaten uitgegeven via ACME door SSL.com zijn certificaten voor een jaar. Het SSL.com-certificaattype dat u ontvangt (en wordt gefactureerd) hangt af van het aantal en het type aangevraagde domeinnamen:

  • Basis SSL: Één domeinnaam of domeinnaam plus www subdomein (bijv example.com en www.example.com).
    • Merk op dat als u zowel de basisdomeinnaam als de www, moet u beide opnemen in uw Certbot-commando (bijv -d example.com -d www.example.com).
  • Wildcard SSL: Één wildcard-domeinnaam of één wildcard-domeinnaam plus basisdomeinnaam (bijv *.example.com en example.com).
  • Eersteklas SSL: Basisdomeinnaam en een tot drie subdomeinen zonder jokertekens. (Uitzondering: zoals hierboven vermeld, basisdomein plus www subdomein [en geen andere] wordt gefactureerd als Basic SSL.) Bijvoorbeeld:
    • example.com en info.example.com
    • example.comwww.example.com en info.example.com
    • example.comwww.example.com, info.example.com en store.example.com
  • Multi-Domain UCC / SAN SSL: Elke andere combinatie van domeinnamen. Bijvoorbeeld:
    • Basisdomeinnaam en meer dan drie subdomeinen
    • Twee of meer wildcard- en / of niet-subdomeinnamen

Deelnemers aan SSL.com's Programma voor wederverkoper en volumeaankoop worden gefactureerd tegen het verlaagde tarief dat is gekoppeld aan hun prijsniveau.

Voor meer informatie

U kunt veel meer doen met het ACME-protocol (met of zonder Certbot). Raadpleeg de volgende bronnen voor veel meer informatie:

Heb je meer hulp nodig met je SSL.com-account?

Bedankt voor het kiezen van SSL.com! Als u vragen heeft, neem dan contact met ons op via e-mail op Support@SSL.com, bel 1-877-SSL-SECURE, of klik gewoon op de chatlink rechtsonder op deze pagina. U kunt ook antwoorden op veel voorkomende ondersteuningsvragen vinden in onze kennis basis.
Twitter
Facebook
LinkedIn
Reddit
E-mail of een

Blijf geïnformeerd en veilig

SSL.com is een wereldleider op het gebied van cyberbeveiliging, PKI en digitale certificaten. Meld u aan om het laatste branchenieuws, tips en productaankondigingen te ontvangen van SSL.com.

We willen graag uw feedback

Vul onze enquête in en laat ons uw mening over uw recente aankoop weten.