TUTOS.EU

Créer son autorité de certification avec OpenSsl - à terminer

Configurer une autorité privée qui permettre de distribuer des certificats pour crypter ses flux

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

On fait une élévation de privilèges :

sudo -s
Lien vers le fichier : cliquez ici Copier le code

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 Copier le code

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 Copier le code

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 Copier le code

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 Copier le code

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 Copier le code

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 Copier le code

Pages Web

Site WebDescription
Openssl.org commandsAide officielle des différentes commandes d'OpenSSL
Feistyduck.com openssl-cookbookFree OpenSSL cookbook indiqué par le site d'OpenSSL
Flat MountainSite qui indique comment faire un custom config file pour openssl : pas testé

2