Dela via


Lägga till och hantera TLS/SSL-certifikat i Azure App Service

Du kan lägga till digitala säkerhetscertifikat som ska användas i programkoden eller för att skydda anpassade DNS-namn (Domain Name System) i Azure App Service. App Service tillhandahåller en mycket skalbar webbvärdtjänst med självkorrigering. Certifikaten kallas för närvarande TLS-certifikat (Transport Layer Security). De kallades tidigare SSL-certifikat (Secure Sockets Layer). Dessa privata eller offentliga certifikat hjälper dig att skydda Internetanslutningar. Certifikaten krypterar data som skickas mellan webbläsaren, webbplatser som du besöker och webbplatsservern.

I följande tabell visas alternativen för att lägga till certifikat i App Service.

Alternativ Beskrivning
Skapa ett kostnadsfritt Hanterat App Service-certifikat Ett privat certifikat som är kostnadsfritt och enkelt att använda om du behöver förbättra säkerheten för din anpassade domän i App Service.
Importera ett App Service-certifikat Azure hanterar det privata certifikatet. Den kombinerar enkelheten i automatiserad certifikathantering och flexibiliteten med förnyelse- och exportalternativ.
Importera ett certifikat från Azure Key Vault Användbart om du använder Key Vault för att hantera dina PKCS12-certifikat. Se Krav för privata certifikat.
Ladda upp ett privat certifikat Om du redan har ett privat certifikat från en icke-Microsoft-leverantör kan du ladda upp det. Se Krav för privata certifikat.
Ladda upp ett offentligt certifikat Offentliga certifikat används inte för att skydda anpassade domäner, men du kan läsa in dem i koden om du behöver dem för att få åtkomst till fjärrresurser.

Förutsättningar

Krav för privata certifikat

Det kostnadsfria App Service-hanterade certifikatetoch App Service-certifikatet uppfyller redan kraven i App Service. Om du väljer att ladda upp eller importera ett privat certifikat till App Service måste certifikatet uppfylla följande krav:

  • Exporteras som en lösenordsskyddad PFX-fil.
  • Innehåller alla mellanliggande certifikat och rotcertifikatet i certifikatkedjan.

Om du vill skydda en anpassad domän i en TLS-bindning måste certifikatet uppfylla följande extra krav:

  • Innehåller en utökad nyckelanvändning för serverautentisering (OID = 1.3.6.1.5.5.7.3.1).
  • Signeras av en betrodd certifikatutfärdare.

Anteckning

ECC-certifikat (Elliptic Curve Cryptography) fungerar med App Service när de laddas upp som en PFX, men kan för närvarande inte importeras från Key Vault. De omfattas inte av den här artikeln. För att få exakta instruktioner för att skapa ECC-certifikat, arbetar du med din certifikatutfärdare.

När du har lagt till ett privat certifikat i en app lagras certifikatet i en distributionsenhet som är bunden till App Service-planens kombination av resursgrupp, region och operativsystem . Internt kallas det ett webbutrymme. På så sätt är certifikatet tillgängligt för andra appar i samma kombination av resursgrupp, region och operativsystem. Privata certifikat som laddats upp eller importerats till App Service delas med apptjänster i samma distributionsenhet.

Du kan lägga till upp till 1 000 privata certifikat per webbyta.

Skapa ett kostnadsfritt hanterat certifikat

Det kostnadsfria Hanterade App Service-certifikatet är en nyckelfärdig lösning som hjälper dig att skydda ditt anpassade DNS-namn i App Service. App Service hanterar detta TLS/SSL-servercertifikat utan någon åtgärd från dig.

Innan du skapar ett kostnadsfritt hanterat certifikat ska du se till att du uppfyller kraven för din app.

DigiCert utfärdar kostnadsfria certifikat. För vissa domäner måste du uttryckligen tillåta DigiCert som certifikatutfärdare genom att skapa en CAA-domänpost (Certification Authority Authorization) med värdet 0 issue digicert.com.

Azure hanterar certifikaten fullständigt åt dig, så alla aspekter av det hanterade certifikatet, inklusive rotutfärdaren, kan ändras när som helst. Certifikatförnyelser ändrar både offentliga och privata nyckeldelar. Alla dessa certifikatändringar ligger utanför din kontroll. Se till att undvika hårda beroenden och fästa övningscertifikat till det hanterade certifikatet eller någon del av certifikathierarkin. Om du behöver funktionen för att fästa certifikat lägger du till ett certifikat i din anpassade domän med hjälp av någon annan tillgänglig metod i den här artikeln.

Det kostnadsfria certifikatet har följande begränsningar:

  • Stöder inte wildcardcertifikat.
  • Stöder inte användning som klientcertifikat med tumavtryck för certifikat, vilket planeras för utfasning och borttagning.
  • Stöder inte privat DNS.
  • Går inte att exportera.
  • Stöds inte i App Service Environment.
  • Stöder endast alfanumeriska tecken, bindestreck (-) och punkter (.).
  • Stöder anpassade domäner med en längd på upp till 64 tecken.
  • Ska ha en A-domänpost som pekar på din webbapps IP-adress.
  • Måste finnas på appar som är offentligt tillgängliga.
  • Stöds inte med rotdomäner som är integrerade med Azure Traffic Manager.
  • Måste uppfylla alla föregående kriterier för lyckade certifikatutfärdanden och förnyelser.
  1. Välj App> i den vänstra rutan i <.

  2. Välj Certifikat i den vänstra rutan i appen. I fönstret Hanterade certifikat väljer du Lägg till certifikat.

    Skärmbild som visar appfönstret med Certifikat, Hanterade certifikat och Lägg till certifikat valt.

  3. Välj den anpassade domänen för det kostnadsfria certifikatet och välj sedan Verifiera. När verifieringen är klar väljer du Lägg till. Du kan bara skapa ett hanterat certifikat för varje anpassad domän som stöds.

    När åtgärden är klar visas certifikatet i listan Hanterade certifikat .

    Skärmbild som visar fönstret Hanterade certifikat med det nya certifikatet i listan.

  4. Om du vill tillhandahålla säkerhet för en anpassad domän med det här certifikatet måste du skapa en certifikatbindning. Följ stegen i Skydda ett anpassat DNS-namn med en TLS/SSL-bindning i Azure App Service.

Importera ett App Service-certifikat

Om du vill importera ett App Service-certifikat köper och konfigurerar du först ett App Service-certifikat och följer sedan stegen här.

  1. Välj App> i den vänstra rutan i <.

  2. I den vänstra rutan i appen väljer du Certifikat>Ta med egna certifikat (.pfx)>Lägg till certifikat.

  3. Under Källa väljer du Importera App Service-certifikat.

  4. Under App Service-certifikat väljer du det certifikat som du skapade.

  5. Under Certifikatvänligt namn ger du certifikatet ett namn i din app.

  6. Välj validera. När valideringen lyckas väljer du Lägg till.

    Skärmbild som visar apphanteringssidan med Certifikat, Ta med egna certifikat (.pfx) och Importera App Service-certifikat valt. Fönstret Lägg till certifikat för privat nyckel visar Verifiera.

    När åtgärden är klar visas certifikatet i listan Bring your own certificates (.pfx).

    Skärmbild som visar fönstret Bring your own certificates (.pfx) med det köpta certifikatet i listan.

  7. För att skydda en anpassad domän med det här certifikatet måste du skapa en certifikatbindning. Följ stegen i Skydda ett anpassat DNS-namn med en TLS/SSL-bindning i Azure App Service.

Importera ett certifikat från Key Vault

Om du använder Key Vault för att hantera dina certifikat kan du importera ett PKCS12-certifikat till App Service från Key Vault om du uppfyller kraven.

Auktorisera App Service att läsa innehåll från valvet

Som standard har App Service-resursprovidern inte åtkomst till ditt nyckelvalv. Om du vill använda ett nyckelvalv för en certifikatdistribution måste du auktorisera läsbehörighet för resursprovidern (App Service) till nyckelvalvet. Du kan bevilja åtkomst med en åtkomstprincip eller rollbaserad åtkomstkontroll (RBAC).

Resursleverantör App-ID/tilldelare för tjänstens huvudnamn Key Vault RBAC-roll
Azure App Service eller Microsoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd för Azure Cloud Services

- 6a02c803-dafd-4136-b4c3-5a6f318b4714 för Azure Cloud Services for Government
Certifikatanvändare

App-ID:t eller tilldelningsvärdet för tjänstens huvudprincip är ID:t för App Service-resursleverantören. När åtkomst beviljas med hjälp av RBAC är motsvarande objekt-ID för appens ID för tjänstens huvudkonto specifikt för hyresgästen. Information om hur du auktoriserar Key Vault-behörigheter för App Service-resursprovidern med hjälp av en åtkomstprincip finns i Ge åtkomst till Key Vault-nycklar, certifikat och hemligheter med rollbaserad åtkomstkontroll i Azure.

az role assignment create --role "Key Vault Certificate User" --assignee "abfa0a7c-a6b6-4736-8310-5855508787cd" --scope "/subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}"

Importera ett certifikat från valvet till din app

  1. Välj App> i den vänstra rutan i <.

  2. I den vänstra rutan i appen väljer du Certifikat>Ta med egna certifikat (.pfx)>Lägg till certifikat.

  3. Under Källa väljer du Importera från Key Vault.

  4. Välj Välj nyckelvalvscertifikat.

    Skärmbild som visar apphanteringssidan med Certifikat, Bring your own certificates (.pfx) och Import from Key Vault selected (Importera från Key Vault).

  5. Använd följande tabell för att hjälpa dig att välja certifikatet:

    Inställning Beskrivning
    Abonnemang Den prenumeration som är kopplad till nyckelvalvet.
    密钥保管�� Nyckelvalvet som har det certifikat som du vill importera.
    Certifikat I den här listan väljer du ett PKCS12-certifikat som finns i valvet. Alla PKCS12-certifikat i valvet listas med sina fingeravtryck, men alla stöds inte av App Service.
  6. När du är klar med ditt val väljer du Välj>Verifiera och väljer sedan Lägg till.

    När åtgärden är klar visas certifikatet i listan Bring your own certificates (.pfx). Om importen misslyckas med ett fel uppfyller certifikatet inte kraven för App Service.

    Skärmbild som visar fönstret Bring your own certificates (.pfx) med det importerade certifikatet i listan.

    Om du uppdaterar certifikatet i Key Vault med ett nytt certifikat synkroniserar App Service automatiskt certifikatet inom 24 timmar.

  7. För att skydda en anpassad domän med det här certifikatet måste du skapa en certifikatbindning. Följ stegen i Skydda ett anpassat DNS-namn med en TLS/SSL-bindning i Azure App Service.

Ladda upp ett privat certifikat

När du har fått ett certifikat från certifikatprovidern gör du certifikatet redo för App Service genom att följa stegen i det här avsnittet.

Sammanfoga mellanliggande certifikat

Om certifikatutfärdare ger dig flera certifikat i certifikatkedjan måste du slå samman certifikaten genom att följa samma ordning.

  1. Öppna varje mottaget certifikat i en textredigerare.

  2. Om du vill lagra det sammanfogade certifikatet skapar du en fil med namnet mergedcertificate.crt.

  3. Kopiera innehållet för varje certifikat till den här filen. Se till att följa certifikatsekvensen som anges av certifikatkedjan. Börja med certifikatet och sluta med rotcertifikatet, till exempel:

    -----BEGIN CERTIFICATE-----
    <your entire Base64 encoded SSL certificate>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 1>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded intermediate certificate 2>
    -----END CERTIFICATE-----
    
    -----BEGIN CERTIFICATE-----
    <The entire Base64 encoded root certificate>
    -----END CERTIFICATE-----
    

Exportera det sammanfogade privata certifikatet till .pfx

Exportera nu ditt sammanfogade TLS/SSL-certifikat med den privata nyckel som användes för att generera din certifikatbegäran. Om du genererade din certifikatbegäran med hjälp av OpenSSL skapade du en privat nyckelfil.

OpenSSL v3 ändrade standard chiffer från 3DES till AES256. Använd kommandoraden -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1 för att åsidosätta ändringen.

OpenSSL v1 använder 3DES som standard, så de .pfx-filer som genereras stöds utan några särskilda ändringar.

  1. Om du vill exportera certifikatet till en .pfx-fil kör du följande kommando. Ersätt platshållarna <private-key-file> och <merged-certificate-file> med sökvägarna till din privata nyckel och den kopplade certifikatfilen.

    openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>  
    
  2. När du uppmanas att göra det anger du ett lösenord för exportåtgärden. När du laddar upp ditt TLS/SSL-certifikat till App Service senare måste du ange det här lösenordet.

  3. Om du använde IIS eller Certreq.exe för att generera din certifikatbegäran installerar du certifikatet på den lokala datorn och exporterar sedan certifikatet till en .pfx-fil.

Ladda upp certifikatet till App Service

Nu är du redo att ladda upp certifikatet till App Service.

  1. Välj App> i den vänstra rutan i <.

  2. I den vänstra rutan i appen väljer du Certifikat>Ta med egna certifikat (.pfx)>Ladda upp certifikat (.pfx).

    Skärmbild som visar apphanteringssidan med Certifikat, Lämna dina egna certifikat (.pfx), och Ladda upp certifikat .pfx vald.

  3. Använd följande tabell för att ladda upp .pfx-certifikatet:

    Inställning Beskrivning
    PFX-certifikatfil Välj .pfx-filen.
    Certifikatlösenord Ange lösenordet som du skapade när du exporterade .pfx-filen.
    Certifikatsvänligt namn Certifikatnamnet som visas i webbappen.
  4. När du är klar med ditt val väljer du Välj>Verifiera och väljer sedan Lägg till.

    När åtgärden är klar visas certifikatet i listan Bring your own certificates (.pfx).

    Skärmbild som visar fönstret Bring your own certificates (Ta med egna certifikat) med det uppladdade certifikatet i listan.

  5. Om du vill tillhandahålla säkerhet för en anpassad domän med det här certifikatet måste du skapa en certifikatbindning. Följ stegen i Skydda ett anpassat DNS-namn med en TLS/SSL-bindning i Azure App Service.

Ladda upp ett offentligt certifikat

Offentliga certifikat stöds i .cer format.

När du har laddat upp ett offentligt certifikat till en app är det endast tillgängligt för den app som det laddas upp till. Offentliga certifikat måste laddas upp till varje enskild webbapp som behöver åtkomst. Scenarier som är specifika för App Service Environment finns i dokumentationen för certifikat och App Service Environment.

Du kan ladda upp upp till 1 000 offentliga certifikat per App Service-plan.

  1. Välj App> i den vänstra rutan i <.

  2. I den vänstra rutan i appen väljer du Certifikat>offentliga nyckelcertifikat (.cer)>Lägg till certifikat.

  3. Använd följande tabell för att ladda upp .cer-certifikatet:

    Inställning Beskrivning
    .cer certifikatfil Välj din .cer-fil.
    Certifikatsvänligt namn Certifikatnamnet som visas i webbappen.
  4. När du är klar väljer du Lägg till.

    Skärmbild som visar apphanteringssidan. Det visar certifikatet för offentlig nyckel som ska laddas upp och dess namn.

  5. När certifikatet har laddats upp kopierar du certifikatets tumavtryck och granskar sedan Gör certifikatet tillgängligt.

Förnya ett certifikat som upphör att gälla

Innan ett certifikat upphör att gälla måste du lägga till det förnyade certifikatet i App Service. Uppdatera eventuella certifikatbindningar där processen är beroende av certifikattypen. Ett certifikat som importerats från Key Vault, inklusive ett App Service-certifikat, synkroniseras till App Service var 24:e timme och uppdaterar TLS/SSL-bindningen när du förnyar certifikatet.

För ett uppladdat certifikat finns det ingen automatisk bindningsuppdatering. Baserat på ditt scenario granskar du motsvarande avsnitt:

Förnya ett uppladdat certifikat

När du ersätter ett utgånget certifikat kan det sätt på vilket du uppdaterar certifikatbindningen med det nya certifikatet påverka användarupplevelsen negativt. Din inkommande IP-adress kan till exempel ändras när du tar bort en bindning, även om bindningen är IP-baserad. Det här resultatet är särskilt effektivt när du förnyar ett certifikat som redan finns i en IP-baserad bindning.

Följ dessa steg för att undvika en ändring av appens IP-adress och för att undvika driftstopp för din app på grund av HTTPS-fel:

  1. Ladda upp det nya certifikatet.

  2. Gå till sidan Anpassade domäner för din app, välj knappen ... och välj sedan Uppdatera bindning.

  3. Välj det nya certifikatet och välj sedan Uppdatera.

  4. Ta bort det befintliga certifikatet.

Förnya ett certifikat som importerats från Key Vault

Information om hur du förnyar ett App Service-certifikat finns i Förnya ett App Service-certifikat.

Information om hur du förnyar ett certifikat som du har importerat till App Service från Key Vault finns i Förnya ditt Azure Key Vault-certifikat.

När certifikatet har förnyats i nyckelvalvet synkroniserar App Service automatiskt det nya certifikatet och uppdaterar eventuella tillämpliga certifikatbindningar inom 24 timmar. Följ dessa steg för att synkronisera manuellt:

  1. Gå till appens certifikatsida .

  2. Under Bring your own certificates (.pfx), väljer du knappen ... för det importerade nyckelvalvscertifikatet och väljer sedan Synkronisera.

Vanliga frågor och svar

Hur kan jag automatisera processen med att lägga till ett bring-your-own-certifikat i en app?

Kan jag använda ett privat CA-certifikat för inkommande TLS i min app?

Du kan använda ett certifikat för privat certifikatutfärdare (CA) för inkommande TLS i App Service Environment version 3. Den här åtgärden är inte möjlig i App Service (multitenant). Mer information om App Service-multitenant jämfört med en enskild klient finns i Jämförelse mellan App Service Environment v3 och App Service public multitenant.

Kan jag göra utgående anrop med hjälp av ett privat CA-klientcertifikat från min app?

Den här funktionen stöds endast för Windows-containerappar i App Service för flera klienter. Du kan göra utgående anrop med hjälp av ett privat CA-klientcertifikat med både kodbaserade och containerbaserade appar i App Service Environment version 3. Mer information om App Service-multitenant jämfört med en enskild klient finns i Jämförelse mellan App Service Environment v3 och App Service public multitenant.

Kan jag läsa in ett privat CA-certifikat i mitt betrodda App Service-rotarkiv?

Du kan ladda upp ditt eget CA-certifikat in i det betrodda rotarkivet i App Service Environment version 3. Du kan inte ändra listan över betrodda rotcertifikat i App Service (flera klientorganisationer). Mer information om App Service-multitenant jämfört med en enskild klient finns i Jämförelse mellan App Service Environment v3 och App Service public multitenant.

Kan App Service-certifikat användas för andra tjänster?

Ja. Du kan exportera och använda App Service-certifikat med Azure Application Gateway eller andra tjänster. Mer information finns i bloggartikeln Skapa en lokal PFX-kopia av App Service-certifikatet.