

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

# Gestire i certificati server in IAM
<a name="id_credentials_server-certs"></a>

*Per abilitare le connessioni HTTPS al tuo sito Web o alla tua applicazione in AWS, devi disporre di un certificato server SSL/TLS.* Per i certificati in una regione supportata da AWS Certificate Manager (ACM), consigliamo di utilizzare ACM per effettuare il provisioning, la gestione e la distribuzione dei certificati server. Nelle regioni non supportate, è necessario utilizzare IAM come gestore di certificati. Per informazioni sulle regioni supportate da ACM, consulta [Endpoint e quote di AWS Certificate Manager](https://docs.aws.amazon.com/general/latest/gr/acm.html) nella *Riferimenti generali di AWS*.

**Importante**  
ACM è lo strumento preferito per il provisioning, la gestione e la distribuzione dei certificati del server. Con ACM puoi richiedere un certificato o distribuire un certificato ACM o esterno esistente alle risorse. AWS I certificati forniti da ACM sono gratuiti e vengono automaticamente rinnovati. In una [regione supportata](https://docs.aws.amazon.com/general/latest/gr/acm.html) è possibile utilizzare ACM per gestire i certificati server dalla console o a livello di programmazione. Per ulteriori informazioni sull'utilizzo di ACM, consulta la [https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html). Per ulteriori informazioni su come richiedere un certificato ACM, consulta [Richiesta di un certificato pubblico](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) o [Richiesta di un certificato privato](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) nella *Guida per l'utente di AWS Certificate Manager *. Per ulteriori informazioni sull'importazione di certificati di terza parte in ACM, consulta [Importazione di certificati](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) nella *Guida per l'utente di AWS Certificate Manager *.

Utilizza IAM come gestore di certificati solo quando è necessario il supporto alle connessioni HTTPS in una regione che [non è supportata da ACM](https://docs.aws.amazon.com/general/latest/gr/acm.html). IAM crittografa in modo sicuro le chiavi private e archivia la versione crittografata nella memoria dei certificati SSL di IAM. IAM supporta la distribuzione di certificati server in tutte le regioni, ma è necessario ottenere il certificato da un provider esterno per utilizzarlo con. AWS Non è possibile caricare un certificato ACM in IAM. Inoltre, non è possibile gestire i certificati dalla console IAM.

Per ulteriori informazioni sul caricamento di certificati di terze parti in IAM, consulta i seguenti argomenti.

**Topics**
+ [Carica un certificato server (AWS API)](#upload-server-certificate)
+ [AWS Operazioni API per i certificati del server](#id_credentials_server-certs-api)
+ [Risolvere i problemi relativi ai certificati server](#server-certificate-troubleshooting)

## Carica un certificato server (AWS API)
<a name="upload-server-certificate"></a>

Per caricare un certificato del server in IAM, è necessario fornire il certificato e la chiave privata corrispondente. Quando il certificato non è autofirmato, è necessario fornire anche una catena di certificati. (La catena di certificati non necessaria se si carica un certificato autofirmato). Prima di caricare un certificato, assicurarsi di disporre di tutti questi elementi e di soddisfare i seguenti criteri:
+ Il certificato deve essere valido al momento del caricamento. Non è possibile caricare un certificato prima dell'inizio del periodo di validità `NotBefore` o dopo la data di scadenza (la data `NotAfter` del certificato).
+ La chiave di accesso non deve essere crittografata. Non è possibile caricare una chiave di accesso privata protetta da password o da passphrase. Per informazioni sulla decodifica di una chiave privata crittografata, consultare [Risolvere i problemi relativi ai certificati server](#server-certificate-troubleshooting).
+ Il certificato, la chiave privata e la catena di certificati devono tutti essere codificati con PEM. Per informazioni sulla conversione di tali elementi in formato PEM, consultare [Risolvere i problemi relativi ai certificati server](#server-certificate-troubleshooting).

Per utilizzare l'[API IAM](https://docs.aws.amazon.com/IAM/latest/APIReference/) per caricare un certificato, invia una [UploadServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UploadServerCertificate.html)richiesta. L'esempio seguente mostra come eseguire questa operazione con l'[AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/). L'esempio presuppone quanto segue:
+ Il certificato con codifica PEM è archiviato in un file denominato `Certificate.pem`.
+ La catena di certificati con codifica PEM è archiviata in un file denominato `CertificateChain.pem`.
+ La chiave privata non crittografata con codifica PEM è archiviata in un file denominato `PrivateKey.pem`.
+ (Facoltativo) Desideri applicare un tag al certificato del server con una coppia chiave-valore. Ad esempio, è possibile aggiungere la chiave tag `Department` e il valore tag `Engineering` per facilitare l'identificazione e l'organizzazione dei certificati.

Per utilizzare il seguente comando esemplificativo, sostituisci questi nomi di file con il tuo. Sostituiscilo *ExampleCertificate* con un nome per il certificato caricato. Se desideri etichettare il certificato, sostituisci la coppia chiave-valore *ExampleKey* e *ExampleValue* tag con i tuoi valori. Digitare il comando su una linea continua. L'esempio seguente include interruzioni di linea e spazi aggiuntivi per agevolare la lettura.

```
aws iam upload-server-certificate --server-certificate-name ExampleCertificate
                                    --certificate-body file://Certificate.pem
                                    --certificate-chain file://CertificateChain.pem
                                    --private-key file://PrivateKey.pem
                                    --tags '{"Key": "ExampleKey", "Value": "ExampleValue"}'
```

Quando il comando precedente viene completato, restituisce i metadati relativi al certificato caricati, tra cui il relativo [Amazon Resource Name (ARN)](reference_identifiers.md#identifiers-arns), il nome descrittivo, l'identificatore (ID), la data di scadenza, i tag e molte altre informazioni.

**Nota**  
Se stai caricando un certificato server da utilizzare con Amazon CloudFront, devi specificare un percorso utilizzando l'`--path`opzione. Il percorso deve iniziare con `/cloudfront` e devono includere una barra finale (ad esempio, `/cloudfront/test/`).

Per utilizzare l'opzione AWS Tools for Windows PowerShell per caricare un certificato, usa [Publish- IAMServer Certificate](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Publish-IAMServerCertificate.html&tocid=Publish-IAMServerCertificate).

## AWS Operazioni API per i certificati del server
<a name="id_credentials_server-certs-api"></a>

Utilizza i seguenti comandi per visualizzare, aggiungere tag, rinominare ed eliminare i certificati server.
+ Utilizzare [GetServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServerCertificate.html)per recuperare un certificato. Questa richiesta restituisce il certificato, la la catena di certificati (se ne è stata caricata una) e i metadati sul certificato.
**Nota**  
Non è possibile scaricare o recuperare una chiave privata da IAM dopo averla caricata.
+ Usa [Get- IAMServer Certificate](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Get-IAMServerCertificate.html&tocid=Get-IAMServerCertificate) per recuperare un certificato.
+ Utilizzalo [ListServerCertificates](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServerCertificates.html)per elencare i certificati del server caricati. La richiesta restituisce un elenco che contiene metadati relativi a ciascun certificato.
+ Usa [Get- IAMServer Certificates](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Get-IAMServerCertificates.html&tocid=Get-IAMServerCertificates) per elencare i certificati del server caricati.
+ [TagServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagServerCertificate.html)Da utilizzare per etichettare un certificato server esistente. 
+ Utilizzato [UntagServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagServerCertificate.html)per rimuovere i tag da un certificato server.
+ Utilizzato [UpdateServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServerCertificate.html)per rinominare un certificato del server o aggiornarne il percorso.

   L'esempio seguente mostra come eseguire questa operazione con l' AWS CLI.

  Per utilizzare il seguente comando di esempio, sostituire i nomi dei certificati precedenti e nuovi e il percorso del certificato e digitare il comando su una riga continua. L'esempio seguente include interruzioni di linea e spazi aggiuntivi per agevolare la lettura.

  ```
  aws iam update-server-certificate --server-certificate-name ExampleCertificate
                                      --new-server-certificate-name CloudFrontCertificate
                                      --new-path /cloudfront/
  ```

  Per utilizzare il AWS Tools for Windows PowerShell per rinominare un certificato del server o aggiornarne il percorso, usa [Update- IAMServer](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Update-IAMServerCertificate.html&tocid=Update-IAMServerCertificate) Certificate.
+ Utilizzare [DeleteServerCertificate](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServerCertificate.html)per eliminare un certificato del server. 

  Per utilizzare il AWS Tools for Windows PowerShell per eliminare un certificato del server, utilizzare [Remove- IAMServer Certificate](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=Remove-IAMServerCertificate.html&tocid=Remove-IAMServerCertificate).

## Risolvere i problemi relativi ai certificati server
<a name="server-certificate-troubleshooting"></a>

Prima di poter caricare un certificato in IAM, è necessario assicurarsi che il certificato, la chiave privata e la catena di certificati dispongano tutti della codifica PEM. È inoltre necessario assicurarsi che la chiave privata non sia crittografata. Fare riferimento agli esempi riportati di seguito.

**Example Esempio di certificato con codifica PEM**  

```
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
```

**Example Esempio di chiave privata con codifica PEM, non crittografata**  

```
-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----
```

**Example Esempio di catena di certificati con codifica PEM**  
Una catena di certificati contiene uno o più certificati. Puoi utilizzare un editor di testo, il comando di copia in Windows, oppure il comando Linux cat per concatenare i tuoi file del certificato in una catena. Quando includi più certificati, ogni certificato deve certificare il certificato precedente. Puoi farlo concatenando i certificati, incluso il certificato CA radice per ultimo.  
L'esempio seguente contiene tre certificati, ma la catena di certificati può contenerne un numero maggiore o minore di certificati.  

```
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded certificate
-----END CERTIFICATE-----
```

Se questi elementi non sono nel formato corretto per il caricamento in IAM, puoi utilizzare [OpenSSL](https://openssl.org/) per convertirli nel formato corretto.

**Per convertire un certificato o una catena di certificati da DER a PEM**  
Utilizzare il [comando OpenSSL **x509**](https://openssl.org/docs/manmaster/man1/x509.html), come nell'esempio seguente. Nel seguente comando di esempio, sostituire `Certificate.der` con il nome del file che contiene il certificato con codifica DER. Sostituire `Certificate.pem` con il nome preferito del file di output per contenere il certificato con codifica PEM.  

```
openssl x509 -inform DER -in Certificate.der -outform PEM -out Certificate.pem
```
 

**Per convertire una chiave privata da DER a PEM**  
Utilizzare il [comando OpenSSL **rsa**](https://openssl.org/docs/manmaster/man1/rsa.html), come nell'esempio seguente. Nel seguente comando di esempio, sostituire `PrivateKey.der` con il nome del file che contiene la chiave privata con codifica DER. Sostituire `PrivateKey.pem` con il nome preferito del file di output per contenere la chiave privata con codifica PEM.  

```
openssl rsa -inform DER -in PrivateKey.der -outform PEM -out PrivateKey.pem
```
 

**Per decrittografare una chiave privata crittografata (rimuovere la password o la passphrase)**  
Utilizzare il [comando OpenSSL **rsa**](https://openssl.org/docs/manmaster/man1/rsa.html), come nell'esempio seguente. Per utilizzare il seguente comando di esempio, sostituire `EncryptedPrivateKey.pem` con il nome del file che contiene la chiave privata crittografata. Sostituire `PrivateKey.pem` con il nome preferito del file di output per contenere la chiave privata con codifica PEM non crittografata.  

```
openssl rsa -in EncryptedPrivateKey.pem -out PrivateKey.pem
```
 

**Per convertire un bundle di certificati da PKCS \$1 12 (PFX) a PEM**  
Utilizzare il [comando OpenSSL **pkcs12**](https://openssl.org/docs/manmaster/man1/pkcs12.html), come nell'esempio seguente. Nel seguente comando di esempio, sostituire `CertificateBundle.p12` con il nome del file che contiene il bundle di certificati con codifica PKCS\$112. Sostituire `CertificateBundle.pem` con il nome preferito del file di output per contenere il bundle di certificati con codifica PEM.  

```
openssl pkcs12 -in CertificateBundle.p12 -out CertificateBundle.pem -nodes
```
 

**Per convertire un bundle di certificati da PKCS\$17 a PEM**  
Utilizzare il [comando OpenSSL **pkcs7**](https://openssl.org/docs/manmaster/man1/pkcs7.html), come nell'esempio seguente. Nel seguente comando di esempio, sostituire `CertificateBundle.p7b` con il nome del file che contiene il bundle di certificati con codifica PKCS\$17. Sostituire `CertificateBundle.pem` con il nome preferito del file di output per contenere il bundle di certificati con codifica PEM.  

```
openssl pkcs7 -in CertificateBundle.p7b -print_certs -out CertificateBundle.pem
```