On commence par un résumé des différents types de fichiers et certificats pour la suite :
Nom du fichier / extension | Utilité |
---|---|
.key | clé privée |
.crt | certificat d'un serveur |
.csr | demande de signature d'un certificat (Certificate Signing Request). Permet la création d'un certificat (un .crt) signée par votre autorité pour votre serveur |
ca.key | clé privée de votre autorité de certification |
ca.crt | certificat de votre autorité de certification |
Notez que pour l'instant ces notes viennent de l'interprétation de ce qui est indiqué sur
http://itigloo.com/security/generate-an-openssl-certificate-request-with-sha-256-signature/
Mais une méthode est indiquée sur le site openvpn.net explique :
https://openvpn.net/index.php/open-source/documentation/howto.html#pki
Création de l'autorité de certification en commençant par la clé privée : ca.key :
mkdir -p /usr/share/openssl
cd /usr/share/openssl
openssl genrsa -out ca.key 4096 -des3
Lien vers le fichier : cliquez ici
Création du certificat de l'autorité de certification, cad ca.crt, en s'appuyant sur la clé privée, cad la ca.key
Il va falloir répondre à tout un tas de questions à commencer par le code du pays : FR
etc ...
openssl req -new -x509 -days 7200 -key ca.key -out ca.crt
Lien vers le fichier : cliquez ici
On passe maintenant à la création du certificat d'un serveur.
On commence par lui faire une clé privée :
openssl genrsa -out MyUbuntu.key 4096
Lien vers le fichier : cliquez ici
Création d'une demande de signature, cad un .csr (Create a Certificate Signing Request).
Il faudra encore répondre à tout un tas de questions
openssl req -new -key MyUbuntu.key -out MyUbuntu.csr -sha256
Lien vers le fichier : cliquez ici
Vous pouvez éventuellement faire une vérification de la demande de signature si cela vous chante :
openssl req -in MyUbuntu.csr -noout -text
Lien vers le fichier : cliquez ici
On passe à la signature du certificat du serveur.
Pour rappel la demande de signature est le .csr
Une clé privée est en .key
le certificat résultant est un .crt
Ci-dessous j'ai un problème car je ne sais pas pourquoi il faut mettre -set_serial 01
openssl x509 -req -days 7200 -in MyUbuntu.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out MyUbuntu.crt
Lien vers le fichier : cliquez ici
Pages Web
Site Web | Description |
---|---|
Openssl.org commands | Aide officielle des différentes commandes d'OpenSSL |
Feistyduck.com openssl-cookbook | Free OpenSSL cookbook indiqué par le site d'OpenSSL |
Flat Mountain | Site qui indique comment faire un custom config file pour openssl : pas testé |