J'ai mis en place 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 ?
J'ai mis en place SSL sur mon serveur web, maintenant j'ai besoin de deux fichiers :
Comment créer un certificat auto-signé à des fins de test ?
Ubuntu, même la version "minimale", est livrée avec l'option ssl-cert
est 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 script à l'adresse suivante /usr/sbin/make-ssl-cert
. Vers 124, il y a une ligne similaire à celle-ci :
openssl req -config $TMPFILE -new -x509 -nodes \
où vous pouvez modifier la date d'expiration en ajoutant l'élément -days
argument :
openssl req -config $TMPFILE -new -days 365 -x509 -nodes \
Vous trouverez d'autres options dans la section page du manuel de req
.
Comme nous l'avons déjà mentionné, Ubuntu Server est livré avec les outils nécessaires. En fonction de la version de votre serveur, vous devrez rechercher le fichier documentation spécifique . Je vais essayer de résumer le processus de génération d'un certificat auto-signé de la manière suivante le LTS actuel (12.04) .
Vous devez d'abord générer les clés pour la demande de signature de certificat (CSR) :
openssl genrsa -des3 -out server.key 2048
C'est à vous d'entrer une phrase de passe ou non. Si vous le faites, chaque fois que vous (re)démarrez un service utilisant ce certificat, vous devrez fournir la phrase de passe. En revanche, vous pouvez créer une clé "non sécurisée" sans phrase de passe à partir de la clé 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
Et enfin, les applications utilisant le certificat/la clé doivent être configurées en conséquence.
Les autres réponses sont bonnes, mais si pour une raison ou une autre vous n'avez pas la liste ou ne voulez pas les utiliser, j'ai trouvé un outil open source qui est très simple simple :
minica -domains localhost
Cela créera un fichier clé minica-key.pem
et le fichier de certification minica.pem
. L'outil pour les créer est un simple fichier en langage Go, sans aucune dépendance externe. externes :
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.