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
Creare l'autorità di certificazione radice (CA)
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.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.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
Generare una richiesta di firma del certificato (CSR) – Server
Questi passaggi vengono solitamente eseguiti su ogni server o dispositivo per il quale si intende richiedere un certificato. Installi OpenSSL se non è presente. In alternativa, è possibile distribuire in modo sicuro la chiave privata al server di destinazione contemporaneamente al certificato. Si consiglia di utilizzare quest'ultimo approccio solo se deve aderire a distribuzioni tramite script per seguire le pratiche CloudOps/DevOps.
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.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.Inserisca le informazioni relative al certificato del server (deve essere specificato l'FQDN esatto utilizzato dal server). Ad esempio:
Inserisca una password nel prompt; è essenziale utilizzare un gestore di password nonché un generatore di password complesse.
Trasferisca il file server.csr alla CA radice.
Elabori la richiesta seguendo le istruzioni riportate in Elaborare una richiesta di firma del certificato (CSR) sull'autorità di certificazione radice (CA) di seguito.
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?