Fase 2: creazione di una richiesta di firma del certificato (CSR) e di un certificato - AWS CloudHSM

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

Fase 2: creazione di una richiesta di firma del certificato (CSR) e di un certificato

Per abilitare il protocollo HTTPS, il server Web necessita di un certificato SSL/TLS e di una chiave privata corrispondente. Per utilizzare l'offload SSL/TLS con AWS CloudHSM, è necessario archiviare la chiave privata nell'HSM nel cluster AWS CloudHSM. Per eseguire questa operazione, è possibile utilizzare il provider di archiviazione delle chiavi (KSP) AWS CloudHSM per Cryptography API: Next Generation (CNG) di Microsoft per creare una richiesta di firma del certificato (CSR). La CSR viene quindi inviata a un'autorità di certificazione (CA), che la firma per ottenere un certificato.

Crea un CSR

Utilizza un KSP AWS CloudHSM sul tuo Windows Server per creare una CSR.

Per creare un CSR
  1. Effettuare la connessione al server Windows, se non è stato ancora fatto. Per ulteriori informazioni, consulta la pagina Connessione a un'istanza nella Guida per l'utente di Amazon EC2 per le istanze Windows.

  2. Utilizza il seguente comando per avviare il daemon del client AWS CloudHSM.

    Amazon Linux
    $ sudo start cloudhsm-client
    Amazon Linux 2
    $ sudo service cloudhsm-client start
    CentOS 7
    $ sudo service cloudhsm-client start
    CentOS 8
    $ sudo service cloudhsm-client start
    RHEL 7
    $ sudo service cloudhsm-client start
    RHEL 8
    $ sudo service cloudhsm-client start
    Ubuntu 16.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 18.04 LTS
    $ sudo service cloudhsm-client start
    Windows
    • Per client Windows dalla versione 1.1.2:

      C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
    • Per client Windows 1.1.1 e versioni precedenti:

      C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
  3. Nel Windows Server utilizzare un editor di testo per creare un file di richiesta di certificato denominato IISCertRequest.inf. Di seguito viene mostrato il contenuto di un file IISCertRequest.inf di esempio. Per ulteriori informazioni sulle sezioni, le chiavi e i valori che è possibile specificare nel file, vedi la documentazione Microsoft. Non modificare il valore ProviderName.

    [Version] Signature = "$Windows NT$" [NewRequest] Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer" HashAlgorithm = SHA256 KeyAlgorithm = RSA KeyLength = 2048 ProviderName = "Cavium Key Storage Provider" KeyUsage = 0xf0 MachineKeySet = True [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1
  4. Eseguire il comando certreq Windows per creare una CSR dal file IISCertRequest.inf creato nella fase precedente. L'esempio seguente salva la CSR in un file denominato IISCertRequest.csr. Se si utilizza un nome di file diverso per il file della richiesta di firma di certificato, è necessario sostituire IISCertRequest.inf con il nome file appropriato. È anche possibile sostituire IISCertRequest.csr con un nome di file diverso per il file CSR.

    C:\>certreq -new IISCertRequest.inf IISCertRequest.csr SDK Version: 2.03 CertReq: Request Created

    Il file IISCertRequest.csr contene la CSR. Questa CSR è necessaria per ottenere un certificato firmato.

Come ottenere un certificato firmato e importarlo

In un ambiente di produzione, per creare un certificato da una CSR in genere ci si avvale di un'autorità di certificazione, che non è invece necessaria per un ambiente di test. Se viene utilizzata una CA, è necessario inviarle il file CSR (IISCertRequest.csr) e creare tramite essa un certificato SSL/TLS firmato.

In alternativa all'utilizzo di una CA, è possibile utilizzare uno strumento come OpenSSL per creare un certificato autofirmato.

avvertimento

I certificati autofirmati non sono considerati attendibili dai browser e non devono essere utilizzati negli ambienti di produzione, ma solo negli ambienti di test.

Le procedure seguenti illustrano come creare un certificato autofirmato e utilizzarlo per firmare la CSR del proprio server Web.

Per creare un certificato autofirmato
  1. Eseguire il comando OpenSSL seguente per creare una chiave privata. È anche possibile sostituire SelfSignedCA.key con il nome di file che contiene la chiave privata.

    openssl genrsa -aes256 -out SelfSignedCA.key 2048 Generating RSA private key, 2048 bit long modulus ......................................................................+++ .........................................+++ e is 65537 (0x10001) Enter pass phrase for SelfSignedCA.key: Verifying - Enter pass phrase for SelfSignedCA.key:
  2. Eseguire il comando OpenSSL seguente per creare un certificato autofirmato mediante la chiave privata creata nella fase precedente. Si tratta di un comando interattivo. Leggi le istruzioni a video e segui i prompt. Sostituire SelfSignedCA.key con il nome de file che contiene la chiave privata (se diverso). È anche possibile sostituire SelfSignedCA.crt con il nome di file che contiene il certificato autofirmato.

    openssl req -new -x509 -days 365 -key SelfSignedCA.key -out SelfSignedCA.crt Enter pass phrase for SelfSignedCA.key: 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. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:
Per utilizzare il certificato autofirmato per firmare la CSR del server Web
  • Eseguire il seguente comando OpenSSL per utilizzare la chiave privata e il certificato autofirmato per firmare il CSR. Sostituire gli elementi seguenti con i nomi dei file che contengono i dati corrispondenti (se diversi).

    • IISCertRequest.csr: il nome del file che contiene la CSR del server Web

    • SelfSignedCA.crt: il nome del file che contiene il certificato auto-firmato

    • SelfSignedCA.key: il nome del file che contiene la chiave privata

    • IISCert.crt: il nome del file che contiene il certificato firmato del server Web

    openssl x509 -req -days 365 -in IISCertRequest.csr \ -CA SelfSignedCA.crt \ -CAkey SelfSignedCA.key \ -CAcreateserial \ -out IISCert.crt Signature ok subject=/ST=IIS-HSM/L=IIS-HSM/OU=IIS-HSM/O=IIS-HSM/CN=IIS-HSM/C=IIS-HSM Getting CA Private Key Enter pass phrase for SelfSignedCA.key:

Una volta completato il passaggio precedente, avrai un certificato firmato per il server Web (IISCert.crt) e un certificato autofirmato (SelfSignedCA.crt). A questo punto, vai alla sezione Fase 3: configurazione del server Web.