Outils pour utilisateurs

Outils du site


technique:linux:certificats

Créer un Certificat auto-signé

Version longue Apache

(Note : Instructions pour Apache, adaptable à dovecot, extrait de NetSafe J.F. Moreau

Les instructions suivantes sont issues de la FAQ http://www.apache-ssl.org/#FAQ.

openssl req -config openssl.cnf -new -out mon-serveur.csr

Cela crée un CSR (Certificat Signing Request) et une clef privée. Lorsque l'on vous demande votre “nom de domaine”, donnez le nom de domaine exact de votre serveur Web (par exemple www.mon-serveur.com, 195.125.204.24). Le certificat appartient à ce nom de serveur et les navigateurs se “plaignent” si le nom ne correspond pas.

openssl rsa -in privkey.pem -out mon-serveur.key

Cela enlève la phrase/motdepasse de la clef privée. Vous DEVEZ comprendre ce que cela signifie; mon-serveur.key doit être lisible seulement par le serveur apache et l'administrateur. Vous devez supprimer le fichier .rnd parce qu'il contient l'information d'entropie pour créer la clef et pourrait être employé pour des attaques cryptographiques contre votre clef privée.

openssl x509 -in mon-serveur.csr -out mon-serveur.cert -req -signkey mon-serveur.key -days 365

Cela crée un certificat signé que vous pouvez employer avant que vous n'en obteniez un “réel” d'une autorité de certification. (Le certificat réel est facultatif; si vous connaissez vos utilisateurs, vous pouvez leur dire d'installer le certificat dans leur(s) navigateur(s).) Notez que ce certificat expire après un an, vous pouvez modifier le délai (-days 365) si vous le désirez.

Si vous avez des utilisateurs naviguant avec MS Internet Explorer 4.x et vouliez qu'ils soient capables d'installer le certificat dans leur navigateur (en le téléchargeant et en l'ouvrant), vous devez créer une version codée DER du certificat : openssl x509 -in mon-serveur.cert -out mon-serveur.der.crt -outform DER

Créez un répertoire Apache/conf/ssl et déplacez-y les fichiers mon-serveur.key et mon-serveur.cert.

Créez une liste d'adresses Apache/conf/ssl et déplacez-y server.key et server.crt. Pour Linux créez deux répertoires : ssl.key et ssl.crt. Déplacez server.crt dans ssl.crt et server.key dans ssl.key

Version ultra-simplifiée pour Ubuntu

make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /data/etc/ssl/certs/<mon_domaine>.pem

Convertir un .crt en .pem

Une autorité de certification externe peut fournir le certificat dans différents formats.

openssl x509 -in input.crt -out output.pem -outform PEM

Curieusement, un site indique deux étapes passant par le format DER :

openssl x509 -in input.crt -out input.der -outform DER
openssl x509 -in input.der -inform DER -out output.pem -outform PEM

cree_certificat.sh

#!/bin/sh
#
# Objet : Creation de certificats auto-signes pour serveur
#
# Auteur : Bernard Choppy
# Date : 16 janvier 2010

set +x

if test $# -lt 2
then
        echo "usage: $0 <domaine.ext> <unite organisationnelle>" >&2
        echo "   'OU' peut etre, par exemple, 'Clients' ou 'Sports', etc." >&2
        exit 1
fi

W_ORIG=`pwd`

cd `dirname $0`
W_EXEC=`pwd`

p_domaine=$1
p_ou=$2

# On cree la clef pour l'auto-signature
openssl genrsa -out $W_ORIG/$p_domaine.key 1024

# On cree la demande de certificat
openssl req -new -key $W_ORIG/$p_domaine.key -out $W_ORIG/$p_domaine.csr

# Plus qu'à signer !
openssl x509 -req -days 365 -in $W_ORIG/$p_domaine.csr -signkey $W_ORIG/$p_domaine.key -out $W_ORIG/$p_domaine.crt

# Version courte...
# openssl req -new -x509 -config $W_EXEC/openssl.conf -keyout $W_ORIG/$p_domaine.pem -out $W_ORIG/$p_domaine.pem -days 365 -nodes
technique/linux/certificats.txt · Dernière modification : 2020/04/06 15:38 de 127.0.0.1