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
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 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 è possibile utilizzare ACM per gestire i certificati server dalla console o a livello di programmazione. Per ulteriori informazioni sull'utilizzo di ACM, consulta la Guida per l'utente di AWS Certificate Manager . Per ulteriori informazioni su come richiedere un certificato ACM, consulta Richiesta di un certificato pubblico o Richiesta di un certificato privato 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 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. 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.
Argomenti
Carica un certificato server (AWS API)
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à
NotBeforeo dopo la data di scadenza (la dataNotAfterdel 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.
-
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.
Per utilizzare l'API IAM per caricare un certificato, invia una UploadServerCertificaterichiesta. L'esempio seguente mostra come eseguire questa operazione con l'AWS Command Line Interface (AWS CLI)
-
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
Departmente il valore tagEngineeringper 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-nameExampleCertificate--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), 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'--pathopzione. 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.
AWS Operazioni API per i certificati del server
Utilizza i seguenti comandi per visualizzare, aggiungere tag, rinominare ed eliminare i certificati server.
-
Utilizzare GetServerCertificateper 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 per recuperare un certificato.
-
Utilizzalo ListServerCertificatesper elencare i certificati del server caricati. La richiesta restituisce un elenco che contiene metadati relativi a ciascun certificato.
-
Usa Get- IAMServer Certificates per elencare i certificati del server caricati.
-
TagServerCertificateDa utilizzare per etichettare un certificato server esistente.
-
Utilizzato UntagServerCertificateper rimuovere i tag da un certificato server.
-
Utilizzato UpdateServerCertificateper 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-nameExampleCertificate--new-server-certificate-nameCloudFrontCertificate--new-path/cloudfront/Per utilizzare il AWS Tools for Windows PowerShell per rinominare un certificato del server o aggiornarne il percorso, usa Update- IAMServer Certificate.
-
Utilizzare DeleteServerCertificateper eliminare un certificato del server.
Per utilizzare il AWS Tools for Windows PowerShell per eliminare un certificato del server, utilizzare Remove- IAMServer Certificate.
Risolvere i problemi relativi ai certificati server
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.
Esempio Esempio di certificato con codifica PEM
-----BEGIN CERTIFICATE-----Base64-encoded certificate-----END CERTIFICATE-----
Esempio Esempio di chiave privata con codifica PEM, non crittografata
-----BEGIN RSA PRIVATE KEY-----Base64-encoded private key-----END RSA PRIVATE KEY-----
Esempio 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
- Per convertire un certificato o una catena di certificati da DER a PEM
-
Utilizzare il comando OpenSSL x509
, come nell'esempio seguente. Nel seguente comando di esempio, sostituire con il nome del file che contiene il certificato con codifica DER. SostituireCertificate.dercon il nome preferito del file di output per contenere il certificato con codifica PEM.Certificate.pemopenssl x509 -inform DER -inCertificate.der-outform PEM -outCertificate.pem - Per convertire una chiave privata da DER a PEM
-
Utilizzare il comando OpenSSL rsa
, come nell'esempio seguente. Nel seguente comando di esempio, sostituire con il nome del file che contiene la chiave privata con codifica DER. SostituirePrivateKey.dercon il nome preferito del file di output per contenere la chiave privata con codifica PEM.PrivateKey.pemopenssl rsa -inform DER -inPrivateKey.der-outform PEM -outPrivateKey.pem - Per decrittografare una chiave privata crittografata (rimuovere la password o la passphrase)
-
Utilizzare il comando OpenSSL rsa
, come nell'esempio seguente. Per utilizzare il seguente comando di esempio, sostituire con il nome del file che contiene la chiave privata crittografata. SostituireEncryptedPrivateKey.pemcon il nome preferito del file di output per contenere la chiave privata con codifica PEM non crittografata.PrivateKey.pemopenssl rsa -inEncryptedPrivateKey.pem-outPrivateKey.pem - Per convertire un bundle di certificati da PKCS # 12 (PFX) a PEM
-
Utilizzare il comando OpenSSL pkcs12
, come nell'esempio seguente. Nel seguente comando di esempio, sostituire con il nome del file che contiene il bundle di certificati con codifica PKCS#12. SostituireCertificateBundle.p12con il nome preferito del file di output per contenere il bundle di certificati con codifica PEM.CertificateBundle.pemopenssl pkcs12 -inCertificateBundle.p12-outCertificateBundle.pem-nodes - Per convertire un bundle di certificati da PKCS#7 a PEM
-
Utilizzare il comando OpenSSL pkcs7
, come nell'esempio seguente. Nel seguente comando di esempio, sostituire con il nome del file che contiene il bundle di certificati con codifica PKCS#7. SostituireCertificateBundle.p7bcon il nome preferito del file di output per contenere il bundle di certificati con codifica PEM.CertificateBundle.pemopenssl pkcs7 -inCertificateBundle.p7b-print_certs -outCertificateBundle.pem