Ho impostato SSL sul mio server web, ora ho bisogno di due file:
- un certificato
- una chiave di certificato
Come posso creare un certificato autofirmato a scopo di test?
Ho impostato SSL sul mio server web, ora ho bisogno di due file:
Come posso creare un certificato autofirmato a scopo di test?
Risposte:
Ubuntu, anche dal sapore "minimal", viene fornito con il ssl-cert
pacchetto preinstallato, il che significa che non è necessario fare nulla.
I file che stai cercando sono già sul tuo sistema:
/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key
Avanzate:
Se per qualche motivo è necessario creare un nuovo certificato, è possibile eseguire
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Se vuoi cambiare la data di scadenza del tuo certificato, puoi manipolare lo script make-ssl-cert su /usr/sbin/make-ssl-cert
. Intorno come 124 c'è una linea simile a questa:
openssl req -config $TMPFILE -new -x509 -nodes \
Dove è possibile modificare la data di scadenza aggiungendo l' -days
argomento:
openssl req -config $TMPFILE -new -days 365 -x509 -nodes \
Altre opzioni sono disponibili nella pagina di manuale direq
.
/usr/share/ssl-cert/ssleay.cnf
.
www.test.mydomain.com
) Usando il hostname
comando nella CLI della VM. Quindi, rigenerando la chiave come suggerito, con --force-overwrite
, il Nome comune (CN) della chiave corrispondeva quindi all'URL del test. Infine, sul computer host, l'installazione della chiave come autorità di certificazione radice attendibile (nelle Impostazioni di Chrome / Avanzate) mi ha dato l'ambita barra degli indirizzi verde.
make-ssl-cert
comando mi ha salvato la giornata!
Come già accennato, Ubuntu Server viene fornito con gli strumenti necessari. A seconda della versione del tuo server dovrai consultare la documentazione specifica . Proverò a riassumere il processo di generazione del certificato autofirmato dell'attuale LTS (12.04) .
Innanzitutto, generi le chiavi per la Richiesta di firma certificato (CSR):
openssl genrsa -des3 -out server.key 2048
Sta a te inserire una passphrase o no. In tal caso, ogni volta che (ri) avvii un servizio per assegnare quel certificato, dovrai fornire la passphrase. Otoh puoi creare una chiave "insicura" senza una passphrase da quella sicura:
openssl rsa -in server.key -out server.key.insecure
# shuffle the key names to continue without passphrases
mv server.key server.key.secure
mv server.key.insecure server.key
E ora creerai il CSR dalla chiave. Con il CSR e la chiave è possibile generare un certificato autofirmato:
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
L'ultimo passo consiste nell'installare il certificato e la chiave, in Debian / Ubuntu di solito in /etc/ssl
:
sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private
E infine le applicazioni che utilizzano il certificato / chiave devono essere configurate di conseguenza.