

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Trust store e gestione dei certificati
<a name="trust-stores-certificate-management"></a>

La creazione e la configurazione di un trust store è un requisito obbligatorio per implementare l'autenticazione TLS reciproca con. CloudFront I trust store contengono i certificati Certificate Authority (CA) CloudFront utilizzati per convalidare i certificati client durante il processo di autenticazione.

## Cos'è un trust store?
<a name="what-is-trust-store"></a>

Un trust store è un archivio di certificati CA CloudFront utilizzato per convalidare i certificati client durante l'autenticazione TLS reciproca. Gli archivi di fiducia contengono i certificati CA root e intermedi che costituiscono la catena di fiducia per l'autenticazione dei certificati client.

Quando si implementa il TLS reciproco con CloudFront, il trust store definisce le autorità di certificazione attendibili per l'emissione di certificati client validi. CloudFront convalida ogni certificato client confrontandolo con il trust store durante l'handshake TLS. Solo i client che presentano certificati collegati a una delle CA del tuo trust store verranno autenticati correttamente.

I trust store in CloudFront sono risorse a livello di account che puoi associare a più distribuzioni. Ciò consente di mantenere politiche di convalida dei certificati coerenti durante l'intera CloudFront distribuzione, semplificando al contempo la gestione dei certificati CA.

## Supporto dell'Autorità di certificazione
<a name="ca-support"></a>

CloudFront supporta i certificati emessi da autorità di certificazione AWS private e autorità di certificazione private di terze parti. Questa flessibilità consente di utilizzare l'infrastruttura di certificazione esistente o di sfruttare i servizi di certificazione AWS gestiti in base ai requisiti organizzativi.
+ **AWS Autorità di certificazione privata:** è possibile utilizzare i certificati emessi da AWS Private CA, che fornisce un servizio gestito di autorità di certificazione privata. Questa integrazione semplifica la gestione del ciclo di vita dei certificati e offre una perfetta integrazione con altri servizi. AWS 
+ **Third-party Autorità di certificazione private:** puoi anche utilizzare i certificati della tua infrastruttura privata di autorità di certificazione esistente, comprese le CA aziendali o altri fornitori di certificati di terze parti. Ciò consente di mantenere gli attuali processi di gestione dei certificati aggiungendo al contempo le funzionalità CloudFront mTLS.

## Requisiti e specifiche del certificato
<a name="certificate-requirements"></a>

I trust store hanno requisiti specifici per i certificati CA che contengono:

### Requisiti di formato dei certificati CA
<a name="ca-cert-format-requirements"></a>
+ **Formato: formato** PEM (Privacy Enhanced Mail)
+ **Limiti del contenuto: i certificati devono essere racchiusi entro i limiti** -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----
+ **Commenti:** deve essere preceduto da un carattere \# e non può contenere alcun carattere -
+ **Interruzioni di riga:** non sono consentite righe vuote tra i certificati

### Specifiche dei certificati supportate
<a name="supported-cert-specs"></a>
+ **Tipo di certificato:** X.509v3
+ **Tipi di chiavi pubbliche:**
  + RSA 2048, RSA 3072, RSA 4096
  + ECDSA: secp256r1, secp384r1
+ **Algoritmi di firma:**
  + SHA256, SHA384, SHA512 con RSA
  + SHA256, SHA384, SHA512 con CE
  + SHA256, SHA384, SHA512 con MGF1 RSASSA-PSS 

### Esempio di formato di pacchetto di certificati
<a name="example-cert-bundle"></a>

Certificati multipli (PEM-encoded):

```
# Root CA Certificate
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAKoK/OvD/XqiMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTcwNzEyMTU0NzQ4WhcNMjcwNzEwMTU0NzQ4WjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAuuExKvY1xzHFylsHiuowqpmzs7rEcuuylOuEszpFp+BtXh0ZuEtts9LP
-----END CERTIFICATE-----
# Intermediate CA Certificate
-----BEGIN CERTIFICATE-----
MIIDXTCCAkWgAwIBAgIJAKoK/OvD/XqjMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTcwNzEyMTU0NzQ4WhcNMjcwNzEwMTU0NzQ4WjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAuuExKvY1xzHFylsHiuowqpmzs7rEcuuylOuEszpFp+BtXh0ZuEtts9LP
-----END CERTIFICATE-----
```

## Crea un archivio di fiducia
<a name="create-trust-store"></a>

Prima di creare un trust store, devi caricare il tuo pacchetto di certificati CA in formato PEM in un bucket Amazon S3. Il pacchetto di certificati deve contenere tutti i certificati CA root e intermedi affidabili necessari per convalidare i certificati client.

Il pacchetto di certificati CA viene letto solo una volta da S3 durante la creazione di un trust store. Se verranno apportate modifiche future al pacchetto di certificati CA, il trust store dovrà essere aggiornato manualmente. Non viene mantenuta alcuna sincronizzazione tra il trust store e il pacchetto di certificati CA S3.

### Prerequisiti
<a name="trust-store-prerequisites"></a>
+ Un pacchetto di certificati della tua Certificate Authority (CA) caricato in un bucket Amazon S3
+ Le autorizzazioni necessarie per creare risorse CloudFront 

### Per creare un trust store (Console)
<a name="create-trust-store-console"></a>

1. Accedi a Console di gestione AWS e apri la CloudFront console all'indirizzo[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Nel pannello di navigazione, scegli **Trust stores**.

1. Scegli **Crea trust store**.

1. Per il **nome del Trust Store**, inserisci un nome per il tuo Trust Store.

1. Per il **pacchetto Certificate Authority (CA)**, inserisci il percorso Amazon S3 del PEM-format tuo pacchetto di certificati CA.

1. Scegli **Create** trust store.

### Per creare un trust store (AWS CLI)
<a name="create-trust-store-cli"></a>

```
aws cloudfront create-trust-store \
  --name MyTrustStore \
  --ca-certificates-bundle-source '{"CaCertificatesBundleS3Location":{"Bucket":"my-bucket","Key":"ca-bundle.pem","Region":"{{bucket-region}}"}}' \
  --tags Items=[{Key=Environment,Value=Production}]
```

## Associa trust store alle distribuzioni
<a name="associate-trust-store"></a>

Dopo aver creato un trust store, è necessario associarlo a una CloudFront distribuzione per abilitare l'autenticazione TLS reciproca.

### Prerequisiti
<a name="associate-prerequisites"></a>
+ Una CloudFront distribuzione esistente con i criteri del protocollo del HTTPS-only visualizzatore abilitati e il supporto HTTP3 disabilitato.

### Per associare un trust store (Console)
<a name="associate-trust-store-console"></a>

Esistono due modi per associare un trust store all'interno della CloudFront console: tramite la pagina dei dettagli del trust store o tramite la pagina delle impostazioni di distribuzione.

**Associare un trust store tramite la pagina dei dettagli del trust store:**

1. Accedi Console di gestione AWS e apri la CloudFront console all'indirizzo[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Nel pannello di navigazione, scegli **Trust stores**.

1. Scegli il nome del trust store che desideri associare.

1. Scegli **Associa alla distribuzione**.

1. Configura le opzioni Viewer MTLs disponibili:
   + Modalità **di convalida del certificato client: scegli tra la modalità** obbligatoria e quella opzionale. Nella modalità richiesta, tutti i client devono presentare i certificati. In modalità opzionale, i client che presentano certificati vengono convalidati, mentre ai client che non presentano certificati è consentito l'accesso.
   + **Pubblicizza i nomi delle CA del trust store:** scegli se pubblicizzare i nomi delle CA nel tuo trust store ai clienti durante l'handshake TLS.
   + **Ignora la data di scadenza del certificato:** scegli se consentire le connessioni con certificati scaduti (valgono ancora altri criteri di convalida).
   + **Funzione di connessione:** una funzione di connessione opzionale può essere associata alle allow/deny connessioni basate su altri criteri personalizzati.

1. Seleziona una o più distribuzioni da associare al trust store. Solo le distribuzioni con HTTP3 disabilitato e con comportamenti di HTTPS-only cache possono supportare Viewer MTL.

1. Selezionare **Associate (Associa)**.

**Associazione di un trust store tramite la pagina delle impostazioni di distribuzione:**

1. Accedi a Console di gestione AWS e apri la CloudFront console all'indirizzo[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Seleziona la distribuzione che desideri associare

1. Nella scheda **Generale**, all'interno del contenitore **Impostazioni**, scegli **Modifica** nell'angolo in alto a destra

1. Scorri verso il basso fino alla fine della pagina, all'interno del contenitore **Connectivity**, attiva l'opzione **Viewer MTLs**

1. Configura le opzioni Viewer MTLs disponibili:
   + Modalità **di convalida del certificato client: scegli tra la modalità** obbligatoria e quella opzionale. Nella modalità richiesta, tutti i client devono presentare i certificati. In modalità opzionale, i client che presentano certificati vengono convalidati, mentre ai client che non presentano certificati è consentito l'accesso.
   + **Pubblicizza i nomi delle CA del trust store:** scegli se pubblicizzare i nomi delle CA nel tuo trust store ai clienti durante l'handshake TLS.
   + **Ignora la data di scadenza del certificato:** scegli se consentire le connessioni con certificati scaduti (valgono ancora altri criteri di convalida).
   + **Funzione di connessione:** una funzione di connessione opzionale può essere associata alle allow/deny connessioni basate su altri criteri personalizzati.

1. Scegli **Salva modifiche** nell'angolo in basso a destra.

### Per associare un trust store (AWS CLI)
<a name="associate-trust-store-cli"></a>

I trust store possono essere associati alle distribuzioni tramite la DistributionConfig.ViewerMtlsConfig proprietà. Ciò significa che dobbiamo prima recuperare la configurazione di distribuzione e poi fornirla ViewerMtlsConfig in una richiesta successiva. UpdateDistribution 

```
// First fetch the distribution
aws cloudfront get-distribution {DISTRIBUTION_ID}

// Update the distribution config, for example:
Distribution config, file://distConf.json: 
{
  ...other fields,
  ViewerMtlsConfig: {
    Mode: 'required',
    TrustStoreConfig: {
        AdvertiseTrustStoreCaNames: false,
        IgnoreCertificateExpiry: true,
        TrustStoreId: {TRUST_STORE_ID}
    }
  }
}

aws cloudfront update-distribution \
   --id {DISTRIBUTION_ID} \
   --if-match {ETAG} \
   --distribution-config file://distConf.json
```

## Gestisci i trust stores
<a name="manage-trust-stores"></a>

### Visualizza i dettagli del Trust Store
<a name="view-trust-store-details"></a>

1. Accedi Console di gestione AWS e apri la CloudFront console all'indirizzo[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Nel pannello di navigazione, scegli **Trust stores**.

1. Scegli il nome del trust store per visualizzarne la pagina dei dettagli.

La pagina dei dettagli mostra:
+ Nome e ID del Trust Store
+ Numero di certificati CA
+ Data di creazione e data dell'ultima modifica
+ Distribuzioni associate
+ Tag

### Modificare un trust store
<a name="modify-trust-store"></a>

Per sostituire il pacchetto di certificati CA:

1. Accedi a Console di gestione AWS e apri la CloudFront console all'indirizzo[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Nel pannello di navigazione, scegli **Trust stores**.

1. Scegli il nome del trust store.

1. Scegli **Azioni**, quindi **Modifica**.

1. Per il **pacchetto Certificate Authority (CA)**, inserisci la posizione Amazon S3 del file PEM del pacchetto CA aggiornato.

1. **Scegli Update trust store.**

### Elimina un trust store
<a name="delete-trust-store"></a>

**Prerequisiti:** è innanzitutto necessario dissociare il trust store da tutte le CloudFront distribuzioni.

1. Accedi a Console di gestione AWS e apri la console all' CloudFront indirizzo. [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)

1. Nel pannello di navigazione, scegli **Trust stores**.

1. Scegli il nome del trust store.

1. Scegli **Elimina trust store**.

1. Seleziona **Elimina** per confermare.

### Fasi successive
<a name="trust-store-next-steps"></a>

Dopo aver creato e associato il tuo trust store a una CloudFront distribuzione, puoi procedere ad abilitare l'autenticazione TLS reciproca sulla tua distribuzione e configurare impostazioni aggiuntive come l'inoltro delle intestazioni dei certificati alle tue origini. Per istruzioni dettagliate sull'abilitazione degli MTL sulle distribuzioni, consulta. [Abilita il TLS reciproco per le distribuzioni CloudFront](enable-mtls-distributions.md)