La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

TP de mise en oeuvre d’une PKI avec Openssl

Présentations similaires


Présentation au sujet: "TP de mise en oeuvre d’une PKI avec Openssl"— Transcription de la présentation:

1 TP de mise en oeuvre d’une PKI avec Openssl

2 But du TP Créer une infrastrucure à clefs publiques
(PKI) permettant de générer des certificats serveur et client Nous allons de plus créer une autorité fille intermédiaire qui signera tout les certificats et pourra être remplacé si un pirate vole sa clef privée, car l’autorité racine sera, elle, en sureté.

3 Schéma On commence par créer un certificat racine On créé ensuite une
CA Root Clef pub: On commence par créer un certificat racine On créé ensuite une autorité fille Signée par la CA Autosigné CA Root CAssl Clef pub: CA Root

4 Schéma On créé ensuite une demande
CA Root Clef pub: On créé ensuite une demande certificat serveur On refait les mêmes opérations pour le certificat client Que l’on va signer avec l’autorité fille CA Root CAssl Clef pub: Cert Server Clef pub: Cert Client Clef pub: CA Root CAssl CAssl

5 Création du fichier openssl.cnf
Sur le site: Aller dans les annexes et copier le contenu du fichier openssl.cnf Coller ce contenu dans un fichier openssl.cnf que vous pouvez créer n’importe où Vous pouvez changer les valeurs de [ req_distinguished_name ] dans ce fichier

6 Création des répertoires
Créez un répertoire pour votre PKI, par exemple: # mkdir /tp_pki Copiez openssl.cnf dans ce répertoire Allez dans ce répertoire

7 Création des répertoires (2)
Créez les répertoires et fichiers nécessaires au bon fonctionnement On crée les fichiers et répertoires nécessaires : $ mkdir -p ca/newcerts # Répertoire recueillant les certificats # émis par CA ROOT $ touch ca/index.txt # Base de données des certificats émis $ echo '01' > ca/serial # Numéro de série, initialisé à 1. # Incrémenté par la suite $ mkdir -p cassl/newcerts #idem, pour CA SSL $ touch cassl/index.txt $ echo '01' > cassl/serial

8 Création du certificat CA
On crée un couple de clefs (publique/privée) $ openssl genrsa -out ca/ca.key -des3 2048 On crée ensuite un certificat qui va être signé (validé) par lui-même, car il est le certificat racine # openssl req -new -x509 -key ca/ca.key -out ca/ca.pem -config ./openssl.cnf -extensions CA_ROOT Vous devriez donc avoir ce certificat autosigné dans le répertoire ca, nommé ca.pem

9 Vérification du certificat CA
Le certificat est au format .pem et n’est donc pas directement lisible sous unix. Pour cela, il y a une commande openssl : $ openssl x509 -in ca/ca.pem -text -noout

10 Création du certificat CAssl (fille)
On crée un couple de clefs (publique/privée) $ openssl genrsa -out cassl/cassl.key -des3 2048 On crée ensuite un certificat non signé (.crs certificate signing request) ATTENTION de bien utiliser les mêmes valeurs de pays, ville, etc. Seuls les name et changent # openssl req -new -key cassl/cassl.key -out cassl/cassl.crs -config ./openssl.cnf Et on le signe avec la clef privée de l’autorité, la CA. # openssl ca -out cassl/cassl.pem -config ./openssl.cnf -extensions CA_SSL -infiles cassl/cassl.crs

11 Création du certificat CAssl (fille)
Il en ressort un beau certificat signé cassl.pem a vérifier !!! $ openssl x509 -in cassl/cassl.pem -text -noout Le fichier cassl.pem a été créé car on l’a explicitement demandé -out cassl/cassl.pem Sinon, un fichier identique a été créé dans ca/newcerts/01.pem

12 Création du certificat serveur
On crée un couple de clefs (publique/privée) # openssl genrsa -out cassl/serverssl.key -des3 1024 On crée ensuite un certificat non signé # openssl req -new -key cassl/serverssl.key -out cassl/serverssl.crs -config ./openssl.cnf Que l’on signe avec l’autorité fille (cassl.pem) # openssl ca -out cassl/serverssl.pem -name CA_ssl_default -config ./openssl.cnf -extensions SERVER_RSA_SSL -infiles cassl/serverssl.crs Attention, j’ai ajouté ici -out cassl/serverssl.pem pour créer explicitement le certificat serverssl.pem qui est en fait une copie de cassl/newcerts/01.pem

13 Création du certificat client
On crée un couple de clefs (publique/privée) # openssl genrsa -out cassl/serverssl.key -des3 1024 On refait les même commandes que pour le certificat serveur, en remplaçant par “client” # openssl req -new -key cassl/clientssl.key -out cassl/clientssl.crs -config ./openssl.cnf # openssl ca -out cassl/clientssl.pem -name CA_ssl_default -config ./openssl.cnf -extensions CLIENT_RSA_SSL -infiles cassl/clientssl.crs

14 Exportation du certificat client
On transforme le .pem en .p12 qui est un format exécutable sous windows ou linux pour mettre en place facilement le certificat $ openssl pkcs12 -export -inkey cassl/clientssl.key -in cassl/clientssl.pem -out clientssl.p12 -name "Certificat client" Et hop ! vous pouvez maintenant en créer autant que vous voulez en réitérant cette démarche, avec les bonnes options Vous pouvez aussi créer un script qui automatise toute cette démarche


Télécharger ppt "TP de mise en oeuvre d’une PKI avec Openssl"

Présentations similaires


Annonces Google