Il wiki con tanti suggerimenti tecnici
Creazione di un certificato X509 autofirmato da una CA autogenerata
Predisponiamo delle cartelle sul server dove salvare tutti i file
mkdir /opt/ssl-app mkdir /opt/ssl-app/CA/ mkdir /opt/ssl-app/server/
Creiamo la chiave privata per la CA assegnando una password, "pwd12345"
cd /opt/ssl-app/CA/
openssl genrsa -des3 -out ca.server.it.key 2048
Creiamo certificato, per la CA indicando su Organization Name e Common Name "CA-SERVER1"
openssl req -x509 -new -nodes -key ca.server.it.key -sha256 -days 1095 -out ca.server.it.crt
Country Name (2 letter code) [AU]:IT State or Province Name (full name) [Some-State]:ITALIA Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]:CA-SERVER1 Organizational Unit Name (eg, section) []:CA-SERVER1 Common Name (e.g. server FQDN or YOUR name) []:CA-SERVER1 Email Address []:
Creiamo la chiave privata per il server senza password
cd /opt/ssl-app/server/
openssl genrsa -out server.it.key 2048
Creiamo i file di richiesta firma certificato (ovvero richiediamo alla CA di firmare la private key del server):
openssl req -new -key server.it.key -out server.it.csr
Country Name (2 letter code) [AU]:IT State or Province Name (full name) [Some-State]:ITALIA Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]:SERVER1 Organizational Unit Name (eg, section) []:SERVER1 Common Name (e.g. server FQDN or YOUR name) []:SERVER1 Email Address []:
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Firmiamo la richiesta di certificato con la chiave privata e pubblica della CA (verrà richiesta la password della chiave private della CA
openssl x509 -req -in server.it.csr -CA ../CA/ca.server.it.crt -CAkey ../CA/ca.server.it.key -CAcreateserial -out server.it.crt -days 1095 -sha256
Alla fine avremo:
/opt/server/server.it.crt Certificato di richiesta di firma alla CA /opt/server/server.it.csr Certificato pubblico del server /opt/server/server.it.key Certificato privato del server
/opt/CA/ca.server.it.crt Certificato pubblico della CA /opt/CA/ca.server.it.key Certificato privato della CA
Indietro