Creazione e firma di un certificato X509 - AWS Elastic Beanstalk

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

Creazione e firma di un certificato X509

Puoi creare un certificato X509 per la tua applicazione con OpenSSL. OpenSSL è una libreria open source standard che supporta un'ampia gamma di funzioni di crittografia, tra cui la creazione e la firma di certificati X509. Per ulteriori informazioni su OpenSSL, visita la pagina Web all'indirizzo www.openssl.org.

Nota

È sufficiente creare un certificato in locale se si desidera utilizzare HTTPS in un ambiente a istanza singola o eseguire nuovamente la crittografia al back-end con un certificato autofirmato. Se possiedi un nome di dominio, puoi creare un certificato in AWS e utilizzarlo gratuitamente in un ambiente con bilanciamento del carico mediante AWS Certificate Manager (ACM). Per istruzioni, consulta la pagina relativa alla richiesta di un certificato nella Guida per l'utente di AWS Certificate Manager.

Esegui openssl version alla riga di comando per vedere se OpenSSL è già installato. Se non lo è, puoi creare e installare il codice sorgente utilizzando le istruzioni nel repository GitHub pubblico o utilizzare il tuo programma di gestione dei pacchetti preferito. OpenSSL è installato anche nelle immagini Linux di Elastic Beanstalk, pertanto in alternativa puoi rapidamente connetterti a un'istanza EC2 in un ambiente in esecuzione utilizzando il comando eb ssh dell'EB CLI:

~/eb$ eb ssh [ec2-user@ip-255-55-55-255 ~]$ openssl version OpenSSL 1.0.1k-fips 8 Jan 2015

È necessario creare una chiave privata RSA per creare la richiesta di firma del certificato (CSR). Per creare la chiave privata, utilizza il comando openssl genrsa:

[ec2-user@ip-255-55-55-255 ~]$ openssl genrsa 2048 > privatekey.pem Generating RSA private key, 2048 bit long modulus .................................................................................................................................+++ ...............+++ e is 65537 (0x10001)
privatekey.pem

Il nome del file in cui desideri salvare la chiave privata. Di solito, il comando openssl genrsa stampa il contenuto della chiave privata sullo schermo, ma questo memorizza l'output in un file. Scegli un nome di file e memorizza il file in uno spazio sicuro, in modo che sia possibile recuperarlo in un secondo momento. Se perdi la chiave privata, non potrai più utilizzare il tuo certificato.

Un CSR è un file inviato a un'autorità di certificazione (CA) per richiedere un certificato server digitale. Per creare un CSR, utilizza il comando openssl req:

$ openssl req -new -key privatekey.pem -out csr.pem You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank.

Inserisci le informazioni richieste e premi Enter (Invio). La tabella seguente descrive e mostra esempi per ogni campo:

Nome Descrizione Esempio
Nome paese L'abbreviazione ISO di due lettere per il tuo paese. US = Stati Uniti
Lo stato o la provincia Il nome dello stato o della provincia in cui si trova la tua organizzazione. Questo nome non può essere abbreviato. Washington
Locality Name (Nome località) Il nome della città in cui si trova la tua organizzazione. Seattle
Nome organizzazione La denominazione legale completa della tua organizzazione. Non abbreviare il nome dell'organizzazione. Example Corporation
Unità organizzativa Facoltativo, per informazioni aggiuntive sull'organizzazione. Marketing
Common Name (Nome comune) Il nome di dominio completo del tuo sito Web. Deve corrispondere al nome di dominio che gli utenti vedono quando visitano il sito, in caso contrario verranno mostrati gli errori di certificato. www.example.com
Indirizzo e-mail L'indirizzo e-mail dell'amministratore del sito. someone@example.com

È possibile inviare la richiesta di firma a una terza parte per la firma o firmare personalmente per lo sviluppo e il test. I certificati autofirmati possono inoltre essere utilizzati per gli HTTPS di back-end tra un sistema di bilanciamento del carico e le istanze EC2.

Per firmare il certificato, utilizza il comando openssl x509. L'esempio seguente utilizza la chiave privata della fase precedente (privatekey.pem) e la richiesta di firma (csr.pem) per creare un certificato pubblico denominato public.crt valido per 365 giorni.

$ openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out public.crt Signature ok subject=/C=us/ST=washington/L=seattle/O=example corporation/OU=marketing/CN=www.example.com/emailAddress=someone@example.com Getting Private key

Mantieni la chiave privata e il certificato pubblico per un utilizzo successivo. Puoi annullare la richiesta di firma. Archivia sempre la chiave privata in un percorso sicuro ed evita di aggiungerla al tuo codice sorgente.

Per utilizzare il certificato con la piattaforma Windows Server, è necessario convertirlo in formato PFX. Utilizza il comando seguente per creare un certificato PFX dai file della chiave privata e del certificato pubblico:

$ openssl pkcs12 -export -out example.com.pfx -inkey privatekey.pem -in public.crt Enter Export Password: password Verifying - Enter Export Password: password

Ora che hai un certificato, puoi caricarlo in IAM per utilizzarlo con un sistema di bilanciamento del carico oppure configurare le istanze nel tuo ambiente per terminare HTTPS.