OpenSSL
Comment créer le certificat SSL d'une autorité de certification ?
Prérequis : notions de base en shell.
Afin de signer vous-même vos certificats SSL, il vous faut devenir votre propre autorité de certification. Nous allons ici créer le certificat de cette autorité de certification.
Contexte
Les valeurs utiles ici sont les suivantes :
- Le nom du fichier contenant la clef privée : Entreprise_CA.key
- La taille de la clef privée : 8192
- La durée de validité du certificat x509 (en jours): 3650
- Le nom du fichier contenant le certificat : Entreprise_CA.crt
- Le Common Name : Entreprise_CA
Création de la clef privée
On commence par générer une clef privée. Ce sera celle de votre propre autorité de certification.
openssl genrsa -aes256 -out Entreprise_CA.key 8192
L'option -aes256 demande à l'utilisateur d'entrer une passphrase. C'est une mesure de sécurité non négligeable, étant donné que c'est cette clef privée qui sera utilisée pour signer nos futurs certificats. Il faudra bien sûr taper la passphrase à chaque utilisation de la clef.
Création du certificat
Le certificat est créé pour une durée de 10 ans (3650 jours).
openssl req -new -x509 -days 3650 \
-key Entreprise_CA.key \
-out Entreprise_CA.crt \
-subj "/CN=Entreprise_CA"
Si besoin, je peux ajouter d'autres informations à l'option -subj.
Résultat
On se retrouve donc avec deux fichiers :
- Entreprise_CA.key : la clef privée de l'autorité de certification. Veillez à en faire une copie de sauvegarde et à bien la protéger, par exemple en changeant ses permissions. Vous pouvez également protéger la clef avec un mot de passe.
- Entreprise_CA.crt : c'est le certificat d'autorité de certification, avec lequel vous allez pouvoir signer vos futurs certificats.
À noter que le certificat Entreprise_CA.crt généré ici est au format PEM, mais il est possible de le convertir au format DER.