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 dune PKI avec Openssl. Créer une infrastrucure à clefs publiques (PKI) permettant de générer des certificats serveur et client Nous.

Présentations similaires


Présentation au sujet: "TP de mise en oeuvre dune PKI avec Openssl. Créer une infrastrucure à clefs publiques (PKI) permettant de générer des certificats serveur et client Nous."— Transcription de la présentation:

1 TP de mise en oeuvre dune PKI avec Openssl

2 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 lautorité racine sera, elle, en sureté. 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 lautorité racine sera, elle, en sureté. But du TP

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

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

5 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 nimporte où Vous pouvez changer les valeurs de [ req_distinguished_name ] dans ce fichier 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 nimporte où Vous pouvez changer les valeurs de [ req_distinguished_name ] dans ce fichier Création du fichier openssl.cnf

6 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 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 Création des répertoires

7 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 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 Création des répertoires (2)

8 Création du certificat CA On crée un couple de clefs (publique/privée) $ openssl genrsa -out ca/ca.key -des 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 On crée un couple de clefs (publique/privée) $ openssl genrsa -out ca/ca.key -des 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 nest donc pas directement lisible sous unix. Pour cela, il y a une commande openssl : $ openssl x509 -in ca/ca.pem -text -noout Le certificat est au format.pem et nest 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 -des 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 lautorité, la CA. # openssl ca -out cassl/cassl.pem -config./openssl.cnf -extensions CA_SSL -infiles cassl/cassl.crs On crée un couple de clefs (publique/privée) $ openssl genrsa -out cassl/cassl.key -des 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 lautorité, 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 la explicitement demandé -out cassl/cassl.pem Sinon, un fichier identique a été créé dans ca/newcerts/01.pem 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 la 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 -des On crée ensuite un certificat non signé # openssl req -new -key cassl/serverssl.key -out cassl/serverssl.crs -config./openssl.cnf Que lon signe avec lautorité 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, jai 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 On crée un couple de clefs (publique/privée) # openssl genrsa -out cassl/serverssl.key -des On crée ensuite un certificat non signé # openssl req -new -key cassl/serverssl.key -out cassl/serverssl.crs -config./openssl.cnf Que lon signe avec lautorité 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, jai 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 -des 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 On crée un couple de clefs (publique/privée) # openssl genrsa -out cassl/serverssl.key -des 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 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 dune PKI avec Openssl. Créer une infrastrucure à clefs publiques (PKI) permettant de générer des certificats serveur et client Nous."

Présentations similaires


Annonces Google