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 skydda anpassade DNS-namn i Azure App Service, vilket ger en mycket skalbar webbvärdtjänst med självkorrigering. För närvarande kallas TLS-certifikat (Transport Layer Security), även tidigare kallade SSL-certifikat (Secure Socket Layer), dessa privata eller offentliga certifikat hjälper dig att skydda Internetanslutningar genom att kryptera 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 Description
Skapa ett kostnadsfritt Hanterat App Service-certifikat Ett privat certifikat som är kostnadsfritt och enkelt att använda om du bara behöver skydda din anpassade domän i App Service.
Importera ett App Service-certifikat Ett privat certifikat som hanteras av Azure. Den kombinerar enkelheten i automatiserad certifikathantering och flexibiliteten med förnyelse- och exportalternativ.
Importera ett certifikat från Key Vault Användbart om du använder Azure 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 tredjepartsleverantö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, krypterad med triple DES.
  • Innehåller privat nyckel minst 2048 bitar lång
  • Innehåller alla mellanliggande certifikat och rotcertifikatet i certifikatkedjan.

För att skydda en anpassad domän i en TLS-bindning har certifikatet fler krav:

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

Kommentar

ECC-certifikat (Elliptic Curve Cryptography) fungerar med App Service men omfattas inte av den här artikeln. För de exakta stegen för att skapa ECC-certifikat arbetar du med certifikatutfärdare.

Kommentar

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 kallad en webbrymd. 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 App Services 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 för att skydda ditt anpassade DNS-namn i App Service. Utan någon åtgärd från dig hanteras det här TLS/SSL-servercertifikatet fullständigt av App Service och förnyas automatiskt kontinuerligt i sex månaders steg, 45 dagar innan det upphör att gälla, så länge kraven som du har konfigurerat förblir desamma. Alla associerade bindningar uppdateras med det förnyade certifikatet. Du skapar och binder certifikatet till en anpassad domän och låter App Service göra resten.

Viktigt!

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

Kostnadsfria certifikat utfärdas av DigiCert. För vissa domäner måste du uttryckligen tillåta DigiCert som certifikatutfärdare genom att skapa en CAA-domänpost med värdet : 0 issue digicert.com.

Azure hanterar certifikaten helt åt dig, så alla aspekter av det hanterade certifikatet, inklusive rotutfärdaren, kan ändras när som helst. Dessa ä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 någon annan tillgänglig metod i den här artikeln.

Det kostnadsfria certifikatet har följande begränsningar:

  • Stöder inte jokerteckencertifikat.
  • Stöder inte användning som ett klientcertifikat med hjälp av certifikatets tumavtryck, som planeras för utfasning och borttagning.
  • Stöder inte privat DNS.
  • Går inte att exportera.
  • Stöds inte i en App Service-miljön (ASE).
  • Stöder endast alfanumeriska tecken, bindestreck (-) och punkter (.).
  • Endast anpassade domäner med en längd på upp till 64 tecken stöds.
  • Måste ha en A-post som pekar på webbappens IP-adress.
  • Stöds inte för appar som inte är offentligt tillgängliga.
  • Stöds inte med rotdomäner som är integrerade med Traffic Manager.
  • Måste uppfylla alla ovanstående för lyckade certifikatutfärdningar och förnyelser.
  1. I Azure-portalen går du till den vänstra menyn och väljer App Services-appnamn>><.

  2. På appens navigeringsmeny väljer du Certifikat. I fönstret Hanterade certifikat väljer du Lägg till certifikat.

    Skärmbild av appmenyn med

  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 av fönstret Hanterade certifikat med det nyligen skapade certifikatet i listan.

  4. För att skydda en anpassad domän med det här certifikatet måste du fortfarande 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. I Azure-portalen går du till den vänstra menyn och väljer App Services-appnamn>><.

  2. I appens navigeringsmeny väljer du Certifikat>Ta med egna certifikat (.pfx)>Lägg till certifikat.

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

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

  5. I 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 av apphanteringssidan med

    När åtgärden är klar visas certifikatet i listan Bring your own certificates (Ta med dina egna certifikat).

    Skärmbild av fönstret

  7. För att skydda en anpassad domän med det här certifikatet måste du fortfarande 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 Azure 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 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 till nyckelvalvet.

Kommentar

För närvarande tillåter inte Azure-portalen att du konfigurerar ett App Service-certifikat i Key Vault för att använda RBAC-modellen. Du kan dock använda Azure CLI, Azure PowerShell eller en ARM-malldistribution för att utföra den här konfigurationen. Mer information finns i Ge åtkomst till Key Vault-nycklar, certifikat och hemligheter med en rollbaserad åtkomstkontroll i Azure.

Resursprovider AppId för tjänstens huvudnamn Nyckelvalvshemlighetsbehörigheter Behörigheter för Key Vault-certifikat
Microsoft Azure App Service eller Microsoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd, vilket är detsamma för alla Azure-prenumerationer

– För Azure Government-molnmiljö använder du 6a02c803-dafd-4136-b4c3-5a6f318b4714.
Hämta Hämta
Microsoft.Azure.CertificateRegistration Hämta
List
Ställ in
Delete
Hämta
List

Importera ett certifikat från valvet till din app

  1. I Azure-portalen går du till den vänstra menyn och väljer App Services-appnamn>><.

  2. I appens navigeringsmeny väljer du Certifikat>Ta med egna certifikat (.pfx)>Lägg till certifikat.

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

  4. Välj Välj nyckelvalvscertifikat.

    Skärmbild av apphanteringssidan med

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

    Inställning beskrivning
    Abonnemang Prenumerationen som är associerad med nyckelvalvet.
    Nyckelvalv 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 visas med tumavtryck, men alla stöds inte i App Service.
  6. När du är klar med ditt val väljer du Välj, Verifiera och sedan Lägg till.

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

    Skärmbild av fönstret Bring your own certificates (.pfx)

    Kommentar

    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 fortfarande 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 sammanfoga certifikaten i 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 och 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 sammanfogat privat certifikat 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 OpenSSL skapade du en privat nyckelfil.

Kommentar

OpenSSL v3 ändrade standard chiffer från 3DES till AES256, men detta kan åsidosättas på kommandoraden -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1. 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, men ersätter platshållarna <private-key-file> och <merged-certificate-file> med sökvägarna till din privata nyckel och den sammanfogade 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 certifikat till App Service

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

  1. I Azure-portalen går du till den vänstra menyn och väljer App Services-appnamn>><.

  2. I appens navigeringsmeny väljer du Certifikat>Hämta egna certifikat (.pfx)>Ladda upp certifikat.

    Skärmbild av

  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.
    Eget namn på certifikat Certifikatnamnet som ska visas i webbappen.
  4. När du är klar med ditt val väljer du Välj, Verifiera och sedan Lägg till.

    När åtgärden är klar visas certifikatet i listan Bring your own certificates (Ta med dina egna certifikat).

    Skärmbild av fönstret Bring your own certificates (Ta med egna certifikat) med uppladdat certifikat i listan.

  5. För att skydda en anpassad domän med det här certifikatet måste du fortfarande 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.

Kommentar

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. Information om App Service-miljön specifika scenarier finns i dokumentationen för certifikat och App Service-miljön

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

  1. I Azure-portalen går du till den vänstra menyn och väljer App Services-appnamn>><.

  2. I appens navigeringsmeny 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.
    Eget namn på certifikat Certifikatnamnet som ska visas i webbappen.
  4. När du är klar väljer du Lägg till.

    Skärmbild av namn och certifikat för offentlig nyckel som ska laddas upp.

  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 och 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 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 effektfullt när du förnyar ett certifikat som redan finns i en IP-baserad bindning. Följ dessa steg i den angivna sekvensen för att undvika en ändring av appens IP-adress och 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 ... åtgärder och välj Uppdatera bindning.

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

  4. Ta bort det befintliga certifikatet.

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

Kommentar

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

Om du vill förnya ett certifikat som du har importerat till App Service från Key Vault läser du 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 Ta med dina egna certifikat (.pfx)väljer du knappen ... information för det importerade nyckelvalvscertifikatet och väljer sedan Synkronisera.

Vanliga frågor och svar

Hur gör jag för att automatisera tillägg av bring-your-owncertificate till en app?

Kan jag konfigurera ett privat CA-certifikat i min app?

App Service har en lista över betrodda rotcertifikat som du inte kan ändra i variantversionen av App Service för flera klientorganisationer, men du kan läsa in ditt eget CA-certifikat i det betrodda rotarkivet i en App Service-miljön (ASE), som är en miljö med en enda klientorganisation i App Service. (Abonnemangen Kostnadsfri, Basic, Standard och Premium App Service är alla flera klientorganisationer och isolerade planer är en enda klientorganisation.)

Fler resurser