SSL /TLS Certifikatutfärdande och återkallande med ACME

ACME-logotypSSL.com-kunder kan nu använda det populära ACME-protokollet för att begära och återkalla SSL /TLS certifikat.

ACME (Automated Certificate Management Environment) är ett standardprotokoll för automatiserad domänvalidering och installation av X.509-certifikat, dokumenterad i IETF RFC 8555. Som en väl dokumenterad standard med många open-source klientimplementeringar, ACME erbjuder ett smärtfritt sätt att tillhandahålla webbplatser eller IoT-enheter som modem och routrar med offentligt eller privatbetrodda digitala certifikat och håller dessa certifikat uppdaterade över tiden.

ACME är inte bara för webbplatser! Med en ACME-aktiverad utfärdande CA från SSL.com kan IoT-leverantörer enkelt hantera och automatisera validering, installation, förnyelse och återkallande av SSL /TLS certifikat på ACME-kompatibla enheter.

Läs mer om ACME för IoT

Den här guiden visar hur du:

  • Leta upp och hämta referenser du behöver för att begära certifikat med ACME.
  • Använd Certbot för att manuellt begära SSL /TLS certifikat via HTTP-01 och DNS-01 utmaningsmetoder.
  • Återkalla certifikat med Certbot.
Notera:
Du kan använda många andra ACME-klienter, inklusive Kubernetes cert-hanterare, med SSL.com:s ACME-tjänst.
acme4j  klienten kan nu använda SSL.com ACME-tjänster på detta arkiv: https://github.com/SSLcom/acme4j
Se dokumentationen från din programvaruleverantör för instruktioner för andra ACME-klienter som inte tillhör Certbot.

Installera Certbot

Den här guiden förutsätter att du arbetar på en dator som har Certbot installerad. Certbot är ett gratis och open source-verktyg, utvecklat av Electronic Frontier Foundation (EFF), som du kan använda för att begära eller återkalla SSL /TLS certifikat från SSL.com via ACME-protokollet. Certbot kan köras på en mängd olika plattformar, inklusive Linux, macOS och Windows.

  • Om du har snapd installerat, kan du använda det här kommandot för installation:
    sudo snap install - klassisk certbot
  • If /snap/bin/ är inte i din PATH, du måste också lägga till det eller köra ett kommando så här:
    sudo ln -s / snap / bin / certbot / usr / bin / certbot

Om du behöver mer information om att installera Certbot på ditt system, se EFF: erna dokumentation.

Hämta ACME-referenser

Innan du använder ACME för att begära ett certifikat måste du hämta ditt Konto nyckel och HMAC-nyckel från ditt SSL.com-konto.

SSL.com s Återförsäljare och volymköp partner kan generera ACME-referenser för sina kunder. Läsa det här för fullständiga instruktioner.
  1. Logga in på ditt SSL.com-konto. Om du redan är inloggad, gå till Dashboard fliken.
    Dashboard
  2. Klicka api-referenser, som ligger under utvecklare och integration.
    API-referenslänk
  3. Du behöver din Konto / ACME-nyckel och HMAC-nyckel att begära certifikat. Klicka på urklippsikonen () bredvid varje tangent för att kopiera värdet till Urklipp.
    Konto / ACME-nyckel och HMAC-nyckel
  4. Du kan också kopiera ett Certbot-kommando som är förfylld med din e-postadress, konto / ACME-nyckel och HMAC-nyckel genom att klicka på urklippsikonen () bredvid cli-kommandot, Nedan ACME Certbot. Detta förformaterade kommando beställer ett certifikat via HTTP-01-utmaningsmetoden.Kopiera certbot-kommandot

Begär manuellt en SSL /TLS Certifikat

Nu när du har hämtat dina referenser kan du begära ett certifikat via certbot kommando. Certbot stöder två domänvalideringsmetoder (HT): HTTP-01 och DNS-01.

HTTP-01 utmaningsmetod

HTTP-01 är den mest använda utmaningsmetoden som används med ACME och Certbot. När du begär ett certifikat på detta sätt genererar Certbot en token som du kan använda för att skapa en offentligt tillgänglig fil på din webbplats. SSL.coms ACME-server kommer sedan att verifiera filen via HTTP och utfärda ett signerat certifikat om det är korrekt.

Krav: HTTP-01-metoden kräver att du har åtkomst till din webbserver och att webbplatsen är tillgänglig via port 80 via HTTP. Du kommer också att behöva sudo privilegier på datorn.

Använd följande kommando för att manuellt hämta ett certifikat. Ersätt värden i ALL CAPS med dina faktiska värden. (Som nämnts ovan kan du också kopiera och klistra in ett certbot-kommando som gör detta från ditt portalkonto):

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-e-post --e-post E-POSTADRESS --eab-hmac-nyckel HMAC-KEY --eab-kid ACCOUNT-KEY -d DOMAIN.NAME

Bryta ner kommandot:

  • sudo certbot kör certbot kommando med superanvändarbehörigheter.
  • certonly begär att få ett certifikat men inte installera det.
  • --manual anger att köra Certbot interaktivt.
  • --server https://acme.ssl.com/sslcom-dv-ecc specificerar SSL.coms ACME-server.
  • --config-dir /etc/ssl-com (valfritt) ställer in konfigurationskatalogen.
  • --logs-dir /var/log/ssl-com (valfritt) ställer in katalogen för loggar.
  • --agree-tos (valfritt) godkänner ACME-abonnentavtalet. Du kan utelämna detta om du vill komma överens om interaktivt.
  • --no-eff-email (valfritt) indikerar att du inte vill dela din e-postadress med EFF. Om du utelämnar detta kommer du att uppmanas att dela din e-postadress.
  • --email EMAIL-ADDRESS anger en e-postadress för registrering. Du kan ange flera adresser, åtskilda av kommatecken.
  • --eab-hmac-key HMAC-KEY anger din HMAC-nyckel.
  • --eab-kid ACCOUNT-KEY anger din kontonyckel.
  • -d DOMAIN.NAME anger domännamnet som certifikatet ska täcka. Observera att du kan använda -d DOMAIN.NAME alternativ flera gånger i ditt kommando för att lägga till domännamn i ditt certifikat. Certbot kräver att du skapar en utmaningsfil för varje begärt domännamn. Se avsnittet om certifikattyper och fakturering nedan för att se hur olika kombinationer av domännamn kopplas till SSL.com-certifikattyper och deras motsvarande prissättning.
Notera: Certbot 2.0.0 eller senare genererar som standard ECDSA för nya certifikat. Ovanstående kommando genererar ett ECDSA-nyckelpar och ett certifikat. Så här använder du RSA-nycklar istället:

  • Ändra --server värde i kommandot till https://acme.ssl.com/sslcom-dv-rsa
  • Lägg till --key-type rsa till kommandot.
När du kör ovanstående certbot ACME-kontoinformation lagras på din dator i konfigurationskatalogen (/etc/ssl-com i kommandot som visas ovan. Vid framtida körningar av certbot kan du utelämna --eab-hmac-key och --eab-kid alternativ eftersom certbot ignorerar dem till förmån för den lokalt lagrade kontoinformationen.

Om du behöver associera dina ACME-certifikatbeställningar för datorn till ett annat SSL.com-konto, bör du ta bort denna kontoinformation från din dator med kommandot sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (eller om du har utelämnat tillvalet --config-dir alternativ, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

När du kör kommandot ovan bör du få instruktioner för att skapa en valideringsfil:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skapa en fil som innehåller just dessa data: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI och göra den tillgänglig på din webbserver på denna URL: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tryck på Enter för att fortsätta

Skapa filen och spara den på en plats på din webbserver där den kan nås via HTTP via port 80 på den visade webbadressen och tryck sedan på Enter.

Notera: HTTP-01-utmaningen kan kräva ett filnamn som börjar med en streck (-) karaktär. I det här fallet kan du behöva ange katalogen när du skapar din fil för att förhindra att skalet tolkar bindestrecket (t.ex. vim ./-r1rsRTImVz_s7HHk7biTQ).

Om all din information är korrekt bör du få ett bekräftelsemeddelande som visar platserna för din certifikatkedja och privata nyckel:

VIKTIGA ANMÄRKNINGAR: - Grattis! Ditt certifikat och kedja har sparats på: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Din nyckelfil har sparats på: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your certifikatet upphör att gälla 2021-10-05. För att få en ny eller justerad version av detta certifikat i framtiden, kör du bara certbot igen. För att icke-interaktivt förnya * alla * dina certifikat, kör "certbot fornya"

Du kan nu konfigurera din webbserver för att komma åt det nya certifikatet och den privata nyckeln.

DNS-01 utmaningsmetod

Smakämnen DNS-01 utmaningsmetoden är svårare att använda än HTTP-01, men kan vara bekvämare att använda på flera webbservrar. I den här metoden kommer Certbot att tillhandahålla en token som du använder för att skapa en DNS TXT-post under domännamnet som certifikatet skyddar.

Krav: DNS-01-metoden kräver att du har möjlighet att skapa DNS-poster för din webbplats domännamn.

Följande kommando kommer att begära ett certifikat för DOMAIN.NAME via DNS-01-utmaningsmetoden:

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

Notera: Du kan använda -d DOMAIN.NAME alternativ flera gånger i ditt kommando för att lägga till domännamn i ditt certifikat. Certbot kräver att du skapar en separat DNS TXT-post för varje begärt domännamn. Du behöver inte vänta på att varje TXT-post ska spridas innan du trycker på Enter tills du når den sista utmaningen. Se avsnittet om certifikattyper och fakturering nedan för att se hur olika kombinationer av domännamn kopplas till SSL.com-certifikattyper och deras motsvarande prissättning.
När du kör ovanstående certbot ACME-kontoinformation lagras på din dator i konfigurationskatalogen (/etc/ssl-com i kommandot som visas ovan. Vid framtida körningar av certbot kan du utelämna --eab-hmac-key och --eab-kid alternativ eftersom certbot ignorerar dem till förmån för den lokalt lagrade kontoinformationen.

Om du behöver associera dina ACME-certifikatbeställningar för datorn till ett annat SSL.com-konto, bör du ta bort denna kontoinformation från din dator med kommandot sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (eller om du har utelämnat tillvalet --config-dir alternativ, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Detta kommando är detsamma som det från HTTP-01-avsnittet, men lägger till --preferred-challenges dns alternativ. När du kör kommandot får du instruktioner för hur du skapar en DNS-post:

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

Skapa DNS TXT-posten och vänta tills den sprids. (whatsmydns.net är ett bekvämt verktyg för att kontrollera DNS-förökning). Observera att understrykningstecknet (_) i början av postnamnet är Obligatorisk. När posten har spridit sig över hela världen, tryck Enter.

Om du begär ett jokerteckencertifikat (t.ex. *.example.com) måste du begära basdomännamnet separat om du också vill skydda det (till exempel -d *.example.com -d example.com). I ett sådant fall måste du skapa två TXT-poster med samma namn (_acme-challenge.example.com).

Om all din information är korrekt bör du få ett bekräftelsemeddelande som visar platserna för din certifikatkedja och privata nyckel:

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"

Du kan nu konfigurera din webbserver för att komma åt det nya certifikatet och den privata nyckeln.

Certifikatförnyelse (manuell)

För manuellt utfärdade certifikat (som beskrivs i den här guiden) utförs certifikatförnyelse genom att helt enkelt upprepa kommandot som används för att begära certifikatet. Certbot tillhandahåller en renew underkommando, men det kommer att ge ett fel vid ett försök att använda det med certifikat som begärs med --manual alternativ:

sudo certbot förnya - kraftförnyelse Sparar felsökningslogg till /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bearbetning /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Det gick inte att välja lämpligt plugin: Det manuella pluginet fungerar inte; det kan finnas problem med din befintliga konfiguration. Felet var: PluginError ('Ett autentiseringsskript måste förses med --manual-auth-hook när manuellt plugin inte används interaktivt.',) Försök att förnya cert (DOMAIN.NAME) från / etc / ssl-com / förnyelse / DOMAIN.NAME.conf gav ett oväntat fel: Det manuella plugin-programmet fungerar inte; det kan finnas problem med din befintliga konfiguration. Felet var: PluginError ('Ett autentiseringsskript måste förses med --manual-auth-hook när manuellt plugin inte används interaktivt.',). Hoppar över. Alla förnyelseförsök misslyckades. Följande certifikat kunde inte förnyas: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (misslyckande) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Alla förnyelseförsök misslyckades. Följande certifikat kunde inte förnyas: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (misslyckande) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 förnyelsefel (er), 0 analyseringsfel (er)

Återkallande av certifikat

Återkalla ett certifikat med certbot revoke. Ersätt certifikatsökvägen i ALL CAPS med dina faktiska värden (till exempel /etc/ssl-com/live/example.com/cert.pem). Om du inte angav en anpassad --config-dir och --logs-dir när du begär det ursprungliga certifikatet, utelämna dessa alternativ.

sudo certbot återkalla --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

Du kommer att uppmanas om du också vill ta bort det återkallade certifikatet:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Vill du radera certifikatet / certifikaten har du precis återkallat, tillsammans med alla tidigare och senare versioner av certifikatet? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y) es (rekommenderas) / (N ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Borttagna alla filer som rör certifikat DOMÄN NAMN. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Obs: Vissa användare kan få det här felet när de försöker återkalla ett certifikat med hjälp av SSL.coms ACME-slutpunkt:Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.

Försök med följande för att lösa felet:
a) Ange certifikatets privata nyckelsökväg för att signera begäran om återkallelse.
Exempelvis: --key-path /PATH/TO/privkey.pem
b) Om du använde en anpassad katalog, ange den katalog du använde när du utfärdade certifikatet: --config-dir

Certifikatstyper och fakturering

Alla SSL /TLS certifikat utfärdade via ACME av SSL.com är ettåriga certifikat. SSL.com-certifikattypen du kommer att få (och faktureras för) beror på antalet och typen av domännamn som begärs:

  • Grundläggande SSL: Ett domännamn eller domännamn plus www underdomän (t.ex. example.com och www.example.com).
    • Observera att om du vill skydda både basdomännamnet och wwwmåste du inkludera båda i ditt Certbot-kommando (t.ex. -d example.com -d www.example.com).
  • Wildcard SSL: Ett wildcard-domännamn eller ett wildcard-domännamn plus basdomännamn (t.ex. *.example.com och example.com).
  • Premium SSL: Basdomännamn och en till tre underdomäner som inte är jokertecken. (Undantag: Som nämnts ovan, basdomän plus www underdomän [och inga andra] faktureras som Basic SSL.) Till exempel:
    • example.com och info.example.com
    • example.comwww.example.comoch info.example.com
    • example.comwww.example.com, info.example.com och store.example.com
  • UCC / SAN SSL med flera domäner: Alla andra kombinationer av domännamn. Till exempel:
    • Basdomännamn och mer än tre underdomäner
    • Två eller fler jokertecken och / eller domännamn som inte är underdomäner

Deltagare i SSL.com Återförsäljar- och volymköpsprogram faktureras till den diskonterade ränta som är associerad med deras prissättning.

För mer information

Det finns mycket mer du kan göra med ACME-protokollet (med eller utan Certbot). Se följande resurser för mycket mer information:

Behöver du mer hjälp med ditt SSL.com-konto?

Tack för att du valde SSL.com! Om du har några frågor, vänligen kontakta oss via e-post på Support@SSL.com, ring upp 1-877-SSL-SECUREeller klicka bara på chattlänken längst ned till höger på den här sidan. Du kan också hitta svar på många vanliga supportfrågor i vår kunskapsbas.
Twitter
Facebook
LinkedIn
reddit
E-postadress

Håll dig informerad och säker

SSL.com är en global ledare inom cybersäkerhet, PKI och digitala certifikat. Registrera dig för att få de senaste branschnyheterna, tipsen och produktmeddelanden från SSL.com.

Vi vill gärna ha din feedback

Följ vår undersökning och låt oss veta vad du tycker om ditt senaste köp.