Comment créer un certificat SSL auto-signé?

59

J'ai configuré SSL sur mon serveur Web, maintenant j'ai besoin de deux fichiers:

  • un certificat
  • une clé de certificat

Comment créer un certificat auto-signé à des fins de test?

    
posée Stefano Palazzo 17.06.2011 - 08:35
la source

2 réponses

84

Ubuntu, même la version «minimale», est fournie avec le package ssl-cert pré-installé, ce qui signifie que vous n'avez rien à faire.

Les fichiers que vous recherchez sont déjà sur votre système:

/etc/ssl/certs/ssl-cert-snakeoil.pem
/etc/ssl/private/ssl-cert-snakeoil.key


Avancé:

Si pour une raison quelconque vous devez créer un nouveau certificat, vous pouvez exécuter

sudo make-ssl-cert generate-default-snakeoil --force-overwrite 

Si vous souhaitez modifier la date d’expiration de votre certificat, vous pouvez manipuler le script make-ssl-cert à /usr/sbin/make-ssl-cert . Autour de 124 il y a une ligne similaire à ceci:

openssl req -config $TMPFILE -new -x509 -nodes \ 

Où vous pouvez modifier la date d'expiration en ajoutant l'argument -days :

openssl req -config $TMPFILE -new -days 365 -x509 -nodes \ 

Vous trouverez d'autres options dans la page de manuel de req . .

    
réponse donnée Stefano Palazzo 17.06.2011 - 08:36
la source
23

Comme déjà mentionné, Ubuntu Server est fourni avec les outils nécessaires. Selon la version de votre serveur, vous devrez rechercher la documentation spécifique . Je vais essayer de résumer le processus de génération de certificat auto-signé de l'actuel LTS (12.04) .

D'abord, vous générez les clés pour la demande de signature de certificat (CSR):

openssl genrsa -des3 -out server.key 2048

Il vous appartient de saisir une phrase secrète ou non. Si vous le faites, chaque fois que vous (re) démarrez un service, utilisez ce certificat, vous devrez fournir la phrase secrète. Otoh, vous pouvez créer une clé "non sécurisée" sans phrase de passe sécurisée:

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

Et maintenant, vous allez créer le CSR à partir de la clé. Avec le CSR et la clé, un certificat auto-signé peut être généré:

openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

La dernière étape consiste à installer le certificat et la clé, dans Debian / Ubuntu, généralement dans /etc/ssl :

sudo cp server.crt /etc/ssl/certs
sudo cp server.key /etc/ssl/private

Enfin, les applications utilisant le certificat / la clé doivent être configurées en conséquence.

    
réponse donnée nietonfir 27.05.2013 - 16:01
la source

Lire d'autres questions sur les étiquettes