SSL.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.
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.
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 dinPATH
, 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.
- Logga in på ditt SSL.com-konto. Om du redan är inloggad, gå till Dashboard fliken.
- Klicka api-referenser, som ligger under utvecklare och integration.
- 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.
- 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.
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örcertbot
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.
- Ändra
--server
värde i kommandot tillhttps://acme.ssl.com/sslcom-dv-rsa
. - Lägg till
--key-type rsa
till kommandot.
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
.
-
) 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
-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. 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
.
*.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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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
ochwww.example.com
).- Observera att om du vill skydda både basdomännamnet och
www
måste du inkludera båda i ditt Certbot-kommando (t.ex.-d example.com -d www.example.com
).
- Observera att om du vill skydda både basdomännamnet och
- Wildcard SSL: Ett wildcard-domännamn eller ett wildcard-domännamn plus basdomännamn (t.ex.
*.example.com
ochexample.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
ochinfo.example.com
example.com
,www.example.com
ochinfo.example.com
example.com
,www.example.com
,info.example.com
ochstore.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:
- Vad är ACME-protokollet?
- ACME SSL /TLS Automation med Apache och Nginx
- SSL /TLS Automation för IoT med ACME
- Certbot-dokumentation
- Certbot mansida
Behöver du mer hjälp med ditt SSL.com-konto?
- Ditt SSL.com-konto - Skicka ett CSR
- Misslyckades med förprovet ?!
- Ditt SSL.com-konto - Valideringar
- Ditt SSL.com-konto - Beställningar
- SSL.coms SWS API - Introduktion
- Ditt SSL.com-konto - Domäner
- Stödda moln HSM för dokumentsignering och EV-kodsignering