1 / 14

TP de mise en oeuvre d’une PKI avec Openssl

TP de mise en oeuvre d’une PKI avec Openssl. 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

nasia
Download Presentation

TP de mise en oeuvre d’une PKI avec Openssl

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 autorité fille CA Root Clef pub: 00110100 11001100 01110101 Signée par la CA Autosigné CA Root CAssl Clef pub: 00110100 10100100 01110101 CA Root

  4. Schéma On créé ensuite une demande certificat serveur CA Root Clef pub: 00110100 11001100 01110101 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: 00110100 10100100 01110101 Cert Server Clef pub: 00110100 10100100 01110101 Cert Client Clef pub: 00110100 10100100 01110101 CA Root CAssl CAssl

  5. Création du fichier openssl.cnf • Sur le site: • http://www.hsc.fr/ressources/breves/ssl_configuration.html.fr • 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 email 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

More Related