Aggiungi e gestisci certificati TLS/SSL nel Servizio app di Azure

È possibile aggiungere certificati di sicurezza digitale da usare nel codice dell'applicazione o per proteggere i nomi DNS personalizzati nel servizio app Azure, che offre un servizio di hosting Web altamente scalabile e auto-patch. Attualmente denominati certificati TLS (Transport Layer Security), noti anche come certificati SSL (Secure Socket Layer), questi certificati privati o pubblici consentono di proteggere le connessioni Internet crittografando i dati inviati tra il browser, i siti Web visitati e il server del sito Web.

Nella tabella seguente sono elencate le opzioni per l'aggiunta di certificati in servizio app:

Opzione Descrizione
Creazione di un certificato gestito dal servizio app gratuito Un certificato privato gratuito e facile da usare se è sufficiente proteggere il dominio personalizzato in servizio app.
Importare un certificato servizio app Certificato privato gestito da Azure. Questa opzione combina la semplicità della gestione automatizzata dei certificati e la flessibilità delle opzioni di rinnovo e di esportazione.
Importazione di un certificato da Key Vault Utile se si usa Azure Key Vault per gestire i certificati PKCS12. Vedere Requisiti dei certificati privati.
Caricamento di un certificato privato Se si ha già un certificato privato rilasciato da un provider di terze parti, è possibile caricarlo. Vedere Requisiti dei certificati privati.
Caricamento di un certificato pubblico I certificati pubblici non vengono usati per proteggere i domini personalizzati, ma è possibile caricarli nel codice se sono necessari per accedere a risorse remote.

Prerequisiti

Requisiti dei certificati privati

Il certificato gestito dal servizio app gratuito o il certificato del servizio app soddisfano già i requisiti del servizio. Se si sceglie di caricare o importare un certificato privato nel servizio app, il certificato deve soddisfare i requisiti seguenti:

  • Esportato come file PFX protetto da password, crittografato tramite triple DES.
  • Contenere una chiave privata di almeno 2048 bit
  • Deve contenere tutti i certificati intermedi e il certificato radice nella catena di certificati.

Per proteggere un dominio personalizzato in un'associazione TLS, il certificato ha più requisiti:

  • Contiene un'estensione di utilizzo chiavi avanzato per l'autenticazione server (OID = 1.3.6.1.5.5.7.3.1)
  • Essere firmato da un'autorità di certificazione attendibile

Nota

I certificati ECC (Elliptic Curve Cryptography) funzionano con servizio app, ma non sono trattati in questo articolo. Per i passaggi esatti per creare certificati ECC, usare l'autorità di certificazione.

Nota

Dopo aver aggiunto un certificato privato a un'app, il certificato viene archiviato in un'unità di distribuzione associata al gruppo di risorse, all'area geografica e alla combinazione del sistema operativo del piano servizio app, chiamato internamente uno spazio Web. In questo modo, il certificato è accessibile ad altre app nello stesso gruppo di risorse, area geografica e combinazione del sistema operativo. I certificati privati caricati o importati in servizio app vengono condivisi con servizio app nella stessa unità di distribuzione.

È possibile aggiungere fino a 1000 certificati privati per ogni spazio Web.

Creare un certificato gestito gratuito

Il certificato gratuito gestito dal servizio app è una soluzione rapida ed efficace per proteggere il proprio nome DNS personalizzato nel servizio app. Senza alcuna azione da parte dell'utente, questo certificato server TLS/SSL viene completamente gestito da servizio app e viene rinnovato automaticamente in incrementi di sei mesi, 45 giorni prima della scadenza, purché i prerequisiti configurati rimangano invariati. Tutte le associazioni associate vengono aggiornate con il certificato rinnovato. Si crea e si associa il certificato a un dominio personalizzato e si servizio app eseguire il resto.

Importante

Prima di creare un certificato gestito gratuito, assicurarsi di aver soddisfatto i prerequisiti per l'app.

I certificati gratuiti vengono emessi da DigiCert. Per alcuni domini, è necessario consentire in modo esplicito DigiCert come autorità di certificazione creando un record di dominio CAA con il valore : 0 issue digicert.com.

Azure gestisce completamente i certificati per conto dell'utente, in modo che qualsiasi aspetto del certificato gestito, incluso l'emittente radice, possa cambiare in qualsiasi momento. Queste modifiche sono esterne al controllo. Assicurarsi di evitare dipendenze hard e certificati di procedura di aggiunta al certificato gestito o a qualsiasi parte della gerarchia di certificati. Se è necessario il comportamento di aggiunta del certificato, aggiungere un certificato al dominio personalizzato usando qualsiasi altro metodo disponibile in questo articolo.

Il certificato gratuito presenta le limitazioni seguenti:

  • Non supporta i certificati con caratteri jolly.
  • Non supporta l'utilizzo come certificato client usando l'identificazione personale del certificato. Questa funzionalità è pianificata per la deprecazione e la rimozione.
  • Non supporta il DNS privato.
  • Non è esportabile.
  • Non è supportato in un ambiente del servizio app.
  • Supporta solo caratteri alfanumerici, trattini (-) e punti (.).
  • Sono supportati solo domini personalizzati di lunghezza fino a 64 caratteri.
  • Deve avere un record A che punta all'indirizzo IP dell'app Web.
  • Non è supportato nelle app che non sono accessibili pubblicamente.
  • Non è supportato con i domini radice integrati con Gestione traffico.
  • Deve soddisfare tutti i passaggi precedenti per il corretto rilascio e i rinnovi dei certificati.
  1. Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>

  2. Nel menu di spostamento dell'app selezionare Certificati. Nel riquadro Certificati gestiti selezionare Aggiungi certificato.

    Screenshot del menu dell'app con l'opzione

  3. Selezionare il dominio personalizzato per il certificato gratuito e quindi selezionare Convalida. Al termine della convalida, selezionare Aggiungi. È possibile creare un solo certificato gestito per ogni dominio personalizzato supportato.

    Al termine dell'operazione, il certificato viene visualizzato nell'elenco Certificati gestiti.

    Screenshot del riquadro

  4. Per proteggere un dominio personalizzato con questo certificato, è comunque necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app Azure.

Importare un certificato servizio app

Per importare un certificato servizio app, acquistare e configurare prima un certificato servizio app, quindi seguire questa procedura.

  1. Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>

  2. Dal menu di spostamento dell'app selezionare Certificati>Bring your own certificates (.pfx)>Aggiungi certificato.

  3. In Origine selezionare Importa servizio app certificato.

  4. In servizio app certificato selezionare il certificato appena creato.

  5. In Nome descrittivo certificato assegnare un nome al certificato nell'app.

  6. Selezionare Convalida. Al termine della convalida, selezionare Aggiungi.

    Screenshot della pagina di gestione delle app con l'opzione

    Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring your own certificates (Bring your own certificates ).

    Screenshot del riquadro

  7. Per proteggere un dominio personalizzato con questo certificato, è comunque necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app Azure.

Importazione di un certificato da Key Vault

Se si usa Azure Key Vault per gestire i certificati, è possibile importare un certificato PKCS12 in servizio app da Key Vault se si soddisfano i requisiti.

Autorizzare il servizio app per la lettura dall'insieme di credenziali

Per impostazione predefinita, il provider di risorse servizio app non ha accesso all'insieme di credenziali delle chiavi. Per usare un insieme di credenziali delle chiavi per una distribuzione di certificati, è necessario autorizzare l'accesso in lettura per il provider di risorse all'insieme di credenziali delle chiavi.

Nota

Attualmente, il portale di Azure non consente di configurare un certificato servizio app in Key Vault per l'uso del modello di controllo degli accessi in base al ruolo. È tuttavia possibile usare l'interfaccia della riga di comando di Azure, Azure PowerShell o una distribuzione di modelli di Resource Manager per eseguire questa configurazione. Per altre informazioni, vedere Fornire l'accesso a chiavi, certificati e segreti di Key Vault con un controllo degli accessi in base al ruolo di Azure.

Provider di risorse AppId entità servizio Autorizzazioni di accesso al segreto dell'insieme di credenziali delle chiavi Autorizzazioni per i certificati dell'insieme di credenziali delle chiavi
Servizio Microsoft app Azure o Microsoft.Azure.WebSites - abfa0a7c-a6b6-4736-8310-5855508787cd, che è lo stesso per tutte le sottoscrizioni di Azure

- Per Azure per enti pubblici ambiente cloud, usare 6a02c803-dafd-4136-b4c3-5a6f318b4714.
Recupero Recupero
Microsoft.Azure.CertificateRegistration Recupero
List
Set
Elimina
Recupero
List

Importare un certificato nell'app dall'insieme di credenziali

  1. Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>

  2. Dal menu di spostamento dell'app selezionare Certificati>Bring your own certificates (.pfx)>Aggiungi certificato.

  3. In Origine selezionare Importa da Key Vault.

  4. Selezionare Seleziona certificato dell'insieme di credenziali delle chiavi.

    Screenshot della pagina di gestione delle app con l'opzione 'Certificati', 'Bring your own certificates (.pfx)' e 'Import from Key Vault' selezionata

  5. Per facilitare la selezione del certificato, usare la tabella seguente:

    Impostazione Descrizione
    Abbonamento Sottoscrizione associata all'insieme di credenziali delle chiavi.
    Key vault Insieme di credenziali delle chiavi con il certificato da importare.
    Certificate In questo elenco selezionare un certificato PKCS12 presente nell'insieme di credenziali. Tutti i certificati PKCS12 nell'insieme di credenziali sono elencati con le relative identificazioni, ma non tutti sono supportati nel servizio app.
  6. Al termine della selezione, selezionare Seleziona, Convalida e quindi Aggiungi.

    Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring your own certificates (Bring your own certificates ). Se l'importazione non riesce e viene restituito un errore, significa che il certificato non soddisfa i requisiti per il servizio app.

    Screenshot del riquadro

    Nota

    Se si aggiorna il certificato in Key Vault con un nuovo certificato, servizio app sincronizza automaticamente il certificato entro 24 ore.

  7. Per proteggere un dominio personalizzato con questo certificato, è comunque necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app Azure.

Caricamento di un certificato privato

Dopo aver ottenuto un certificato dal provider di certificati, preparare il certificato per servizio app seguendo i passaggi descritti in questa sezione.

Unire i certificati intermedi

Se l'autorità di certificazione fornisce più certificati nella catena di certificati, è necessario unire i certificati seguendo lo stesso ordine.

  1. In un editor di testo aprire ogni certificato ricevuto.

  2. Per archiviare il certificato unito, creare un file denominato mergedcertificate.crt.

  3. Copiare il contenuto per ogni certificato in questo file. Assicurarsi di seguire la sequenza di certificati specificata dalla catena di certificati, a partire dal certificato e terminando con il certificato radice, ad esempio:

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

Esportare un certificato privato unito in PFX

A questo punto, esportare il certificato TLS/SSL unito con la chiave privata usata per generare la richiesta di certificato. Se è stata generata la richiesta di certificato usando OpenSSL, è stato creato un file di chiave privata.

Nota

OpenSSL v3 ha modificato la crittografia predefinita da 3DES a AES256, ma è possibile eseguirne l'override nella riga di comando -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -macalg SHA1. OpenSSL v1 usa 3DES come impostazione predefinita, quindi i file PFX generati sono supportati senza modifiche speciali.

  1. Per esportare il certificato in un file PFX, eseguire il comando seguente, ma sostituire i segnaposto <private-key-file> e <merge-certificate-file> con i percorsi della chiave privata e il file di certificato unito.

    openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>  
    
  2. Quando richiesto, specificare una password per l'operazione di esportazione. Quando si carica il certificato TLS/SSL in servizio app versioni successive, è necessario specificare questa password.

  3. Se è stato usato IIS o Certreq.exe per generare la richiesta di certificato, installare il certificato nel computer locale e quindi esportare il certificato in un file PFX.

Caricare il certificato nel servizio app

A questo punto si è pronti per caricare il certificato nel Servizio app.

  1. Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>

  2. Dal menu di spostamento dell'app selezionare Certificati>Bring your own certificates (.pfx)Upload Certificate (.pfx)>Upload Certificate (Carica certificato).

    Screenshot di 'Certificati', 'Bring your own certificates (.pfx)', 'Upload Certificate' selezionato.

  3. Per caricare il certificato pfx, usare la tabella seguente:

    Impostazione Descrizione
    File di certificato PFX Selezionare il file pfx.
    Password certificato Immettere la password creata durante l'esportazione del file PFX.
    Nome descrittivo del certificato Nome del certificato che verrà visualizzato nell'app Web.
  4. Al termine della selezione, selezionare Seleziona, Convalida e quindi Aggiungi.

    Al termine dell'operazione, il certificato viene visualizzato nell'elenco Bring your own certificates (Bring your own certificates ).

    Screenshot del riquadro

  5. Per proteggere un dominio personalizzato con questo certificato, è comunque necessario creare un'associazione di certificati. Seguire la procedura descritta in Proteggere un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app Azure.

Caricamento di un certificato pubblico

I certificati pubblici sono supportati nel formato .cer.

Nota

Dopo aver caricato un certificato pubblico in un'app, è accessibile solo dall'app in cui viene caricato. I certificati pubblici devono essere caricati in ogni singola app Web che necessita dell'accesso. Per ambiente del servizio app scenari specifici, vedere la documentazione relativa ai certificati e all'ambiente del servizio app

È possibile caricare fino a 1000 certificati pubblici per ogni piano di servizio app.

  1. Nel portale di Azure, nel menu a sinistra selezionare servizio app s<>app-name.>

  2. Dal menu di spostamento dell'app selezionare Certificati>certificati chiave pubblica (.cer)>Aggiungi certificato.

  3. Per caricare il certificato .cer, usare la tabella seguente:

    Impostazione Descrizione
    File del certificato CER Selezionare il file .cer.
    Nome descrittivo del certificato Nome del certificato che verrà visualizzato nell'app Web.
  4. Al termine, selezionare Aggiungi.

    Screenshot del nome e del certificato di chiave pubblica da caricare.

  5. Dopo aver caricato il certificato, copiare l'identificazione personale del certificato e quindi esaminare Rendi il certificato accessibile.

Rinnovare un certificato in scadenza

Prima della scadenza di un certificato, assicurarsi di aggiungere il certificato rinnovato a servizio app e aggiornare le associazioni di certificati in cui il processo dipende dal tipo di certificato. Ad esempio, un certificato importato da Key Vault, incluso un certificato servizio app, esegue automaticamente la sincronizzazione con servizio app ogni 24 ore e aggiorna l'associazione TLS/SSL quando si rinnova il certificato. Per un certificato caricato, non è disponibile alcun aggiornamento automatico dell'associazione. In base allo scenario, esaminare la sezione corrispondente:

Rinnovare il certificato caricato

Quando si sostituisce un certificato in scadenza, il modo in cui si aggiorna l'associazione di certificati con il nuovo certificato potrebbe influire negativamente sull'esperienza utente. Ad esempio, l'indirizzo IP in ingresso potrebbe cambiare quando si elimina un'associazione, anche se tale associazione è basata su IP. Questo risultato è particolarmente significativo quando si rinnova un certificato già in un'associazione basata su IP. Per evitare una modifica nell'indirizzo IP dell'app e per evitare tempi di inattività per l'app a causa di errori HTTPS, seguire questa procedura nella sequenza specificata:

  1. Caricare il nuovo certificato.

  2. Passare alla pagina Domini personalizzati per l'app, selezionare il pulsante azioni ... e selezionare Aggiorna associazione.

  3. Selezionare il nuovo certificato e selezionare Aggiorna.

  4. Eliminare il certificato esistente.

Rinnovare un certificato importato da Key Vault

Nota

Per rinnovare un certificato servizio app, vedere Rinnovare un certificato servizio app.

Per rinnovare un certificato importato in servizio app da Key Vault, vedere Rinnovare il certificato di Azure Key Vault.

Dopo il rinnovo del certificato all'interno dell'insieme di credenziali delle chiavi, servizio app sincronizza automaticamente il nuovo certificato e aggiorna qualsiasi associazione di certificati applicabile entro 24 ore. Per eseguire la sincronizzazione manualmente, seguire questa procedura:

  1. Passare alla pagina Certificato dell'app.

  2. In Bring your own certificates (.pfx), selezionare il pulsante ... details (Dettagli) per il certificato dell'insieme di credenziali delle chiavi importato e quindi selezionare Sincronizza.

Domande frequenti

Come è possibile automatizzare l'aggiunta di un bring-your-owncertificate a un'app?

È possibile configurare un certificato ca privato nell'app?

servizio app include un elenco di certificati radice attendibili che non è possibile modificare nella versione variante multi-tenant di servizio app, ma è possibile caricare il proprio certificato ca nell'archivio radice attendibile in un ambiente del servizio app (A edizione Standard), che è un ambiente a tenant singolo in servizio app. I piani di servizio app Gratuito, Basic, Standard e Premium sono tutti multi-tenant e i piani isolati sono a tenant singolo.

Altre risorse