For the complete documentation index, see llms.txt. This page is also available as Markdown.

Generare certificati server e client autofirmati con OpenSSL

Questa è la guida definitiva per creare certificati sicuri, sia per i server sia per i client, utilizzando OpenSSL.

Procedura

Su Windows, si consiglia di utilizzare Chocolatey per installare OpenSSL e le sue dipendenze. La riga di comando è semplicemente choco install openssl.

Creare l'autorità di certificazione radice (CA)

  1. Generi la chiave privata della CA radice utilizzando la seguente riga di comando: openssl ecparam -name prime256v1 -genkey -noout -out ca.key. Ogni certificato deve avere una chiave privata corrispondente.

  2. Generi il certificato della CA radice (Certificate Authority) utilizzando la seguente riga di comando: openssl req -new -x509 -sha256 -key ca.key -out ca.crt.

  3. Inserisca le informazioni relative alla CA (il certificato verrà generato nel file ca.crt):

    Country Name (2 letter code) [AU]:US
    State or Province Name (full name) [Some-State]:CA
    Locality Name (eg, city) []:Toontown
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Acme inc.
    Organizational Unit Name (eg, section) []:Security
    Common Name (e.g. server FQDN or your name) []:acme.com
    Email Address []:security@acme.com
  4. Installi il certificato.

    Noti che il certificato deve essere installato sul server e su tutti i client per convalidare la legittimità dei certificati emessi. Alcuni browser presentano anche particolarità descritte nell'argomento.

Generare una richiesta di firma del certificato (CSR) – Server

  1. Generi la chiave privata del certificato del server utilizzando la seguente riga di comando: openssl ecparam -name prime256v1 -genkey -noout -out server.key (chiave privata a 256 bit nel file server.key). Ogni certificato deve avere una chiave privata corrispondente.

  2. Generi la richiesta di firma del certificato (CSR) del server utilizzando la seguente riga di comando: openssl req -new -sha256 -key server.key -out server.csr. Questa richiesta verrà elaborata successivamente sul server della CA radice.

  3. Inserisca le informazioni relative al certificato del server (deve essere specificato l'FQDN esatto utilizzato dal server). Ad esempio:

  4. Inserisca una password nel prompt; è essenziale utilizzare un gestore di password nonché un generatore di password complesse.

  5. Trasferisca il file server.csr alla CA radice.

  6. Elabori la richiesta seguendo le istruzioni riportate in Elaborare una richiesta di firma del certificato (CSR) sull'autorità di certificazione radice (CA) di seguito.

  7. Distribuisca il certificato.

Generare una richiesta di firma del certificato (CSR) – Client

Segua la stessa procedura utilizzata per il certificato del server, ma deve adattare alle sue esigenze due attributi delle informazioni inserite, ovvero il Common Name e l'Email Address.

Elaborare una richiesta di firma del certificato (CSR) sull'autorità di certificazione radice (CA)

Elabori la CSR generando un certificato.

Lo generi utilizzando la seguente riga di comando, dove il file server.csr è stato generato sul server: openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 1000 -sha256

In questo modo il certificato viene generato nel file server.crt. Deve distribuirlo al server sul quale ha generato la CSR.

Ultimo aggiornamento

È stato utile?