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?
Ubuntu, anche il sapore "minimale", viene fornito con il pacchetto ssl-cert
preinstallato, il che significa che non devi fare nulla.
I file che stai cercando sono già presenti nel tuo sistema:
/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key
Avanzate
Se per qualche motivo hai bisogno di creare un nuovo certificato, puoi eseguire
sudo make-ssl-cert generate-default-snakeoil --force-overwrite
Se si desidera modificare la data di scadenza del certificato, è possibile modificare lo script make-ssl-cert in /usr/sbin/make-ssl-cert
. Intorno come 124 c'è una linea simile a questa:
openssl req -config $TMPFILE -new -x509 -nodes \
Dove puoi modificare la data di scadenza aggiungendo l'argomento -days
:
openssl req -config $TMPFILE -new -days 365 -x509 -nodes \
Puoi trovare più opzioni nella pagina di manuale di req
.
Come già accennato, Ubuntu Server viene fornito con gli strumenti necessari. A seconda della versione del server, dovrai cercare la documentazione specifica . Proverò a riepilogare il processo di generazione del certificato autofirmato di l'attuale LTS (12.04) .
Per prima cosa generi le chiavi per la Certificate Signing Request (CSR):
openssl genrsa -des3 -out server.key 2048
Dipende da te inserire una passphrase o meno. Se lo fai, ogni volta che (ri) inizi un servizio che firma questo certificato, dovrai fornire la passphrase. Otoh puoi creare una chiave "non sicura" senza 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 può essere generato 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.