Modifications entre les versions 3 et 19 (s'étendant sur 16 versions)
Version 3 à la date du 2008-02-25 14:17:03
Taille: 2095
Éditeur: ThomasNoël
Commentaire: ouf, merci HSC c'est plus clair ainsi
Version 19 à la date du 2008-03-10 10:40:02
Taille: 3476
Éditeur: ThomasNoël
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
Lectures :
 * http://www.hsc.fr/ressources/breves/ssl_configuration.html.fr
 * http://www.faqs.org/rfcs/rfc2459.html miam miam que du bonheur


Fichier openssl.cnf modèle (en cours d'écriture) : [[attachment:openssl.cnf]]
Ligne 12: Ligne 5:
$ mkdir racine; cd racine; mkdir keys requests certs newcerts ; echo 01 > serial ; echo 01 > crlnumber ; touch index.txt .rand racine$ mkdir racine; cd racine; mkdir certs newcerts ; echo 01 > serial ; echo 01 > crlnumber ; touch index.txt .rand
Ligne 16: Ligne 9:
$ openssl genrsa -out ca-key.pem -des3 2048 racine$ openssl genrsa -out ca-key.pem -des3 2048
Ligne 23: Ligne 16:
 1. Création du certificat auto-signé (on est sur la racine) avec les extensions spécifiques :  1. Etablissement de la demande de certificat (qui sera ensuite auto-signé) :
Ligne 25: Ligne 18:
$ openssl req -new -x509 -key ca-key.pem -out ca-cert.pem -text -config ../openssl.cnf -extensions ca_racine -days $((20*365)) racine$ openssl req -config ../openssl.cnf -new -key ca-key.pem -out request-ca-racine.pem -text
Ligne 36: Ligne 29:
 1. Auto-signature du certificat (on est sur la racine) avec les extensions spécifiques (ca_racine):
 {{{
racine$ openssl ca -config ../openssl.cnf -in request-ca-racine.pem -out ca-cert.pem -selfsign -keyfile ca-key.pem -extensions ca_racine
Using configuration from ../openssl.cnf
Enter pass phrase for ca-key.pem:
Check that the request matches the signature
Signature ok
Certificate Details:
    (...)
Certificate is to be certified until Mar 5 10:20:49 2018 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
}}}
Ligne 37: Ligne 45:
= Résultat = == Vérification des résultats ==
Ligne 39: Ligne 47:
 1. Résultats Examen du certificat produit (vérification des dates et des extensions) :
Ligne 41: Ligne 49:
$ ls
ca-cert.pem ca-key.pem certs crlnumber index.txt keys newcerts openssl.cnf requests serial
racine$ openssl x509 -text -in ca-cert.pem -noout # liste de toutes les données du certificat, notamment dates et extensions
racine$ openssl x509 -purpose -in ca-cert.pem -noout # liste des utilisations possibles du certificat
Ligne 44: Ligne 52:
 1. La clé privée est bien encryptée :
= Création d'une AC régionale =

Dans ce qui suit, remplacer `regionX` par le nom abrégé de la région.

 1. Préparation
Ligne 46: Ligne 59:
$ cat ca-key.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,4BD4AF9549CA734C
region$ mkdir regionX; cd regionX; mkdir certs newcerts ; echo 01 > serial ; echo 01 > crlnumber ; touch index.txt .rand
region$ openssl genrsa -out ca-key.pem -des3 2048 # création de la clé
}}}
 1. Etablissement de la demande de certificat
 {{{
region$ openssl req -config ../openssl.cnf -new -key ca-key.pem -text -out request-ca-regionX.pem
Enter pass phrase for ca-key.pem:
(... exemple pour le BAO ...)
Code ISO du pays (2 lettres) [CA]:SN
Province ou region (nom complet) [Quebec]:.
Ville (nom complet) [Montreal]:Dakar
Organisation [AUF]:
Unite (implantation, service, programme, ...) [DRI]:
Nom canonique (TOUJOURS TRES IMPORTANT) [AUF-AC-RACINE]:AUF-AC-BAO
Adresse electronique (email) [rpv@auf.org]:
}}}
 1. Le fichier `request-ca-regionX.pem` est la demande : il doit être envoyé à l'autorité de certification racine
Ligne 51: Ligne 77:
hsGEs99W6Rll5+x2WJlkcoeMpMXihgFaeKErvT/UWor/sJuMkLAZsnP1sRyd/vPf
(...)
DoO4h8lbMXwA6TtOC9uklFghpAmPQpbaYJ8IQMD+YMM=
-----END RSA PRIVATE KEY-----
'''Sur l'AC racine''', signature de la demande pour création d'un certificat `certs/ca-regionX.pem` :
 {{{
racine$ openssl ca -config ../openssl.cnf -in request-ca-regionX.pem -extensions ca_region -out certs/ca-regionX.pem
Ligne 56: Ligne 81:
 1. Examen du certificat produit (vérification dates et extensions) :
 {{{
$ openssl x509 -text -in ca-cert.pem -noout # liste de toutes les données du certificat, notamment dates et extensions
$ openssl x509 -purpose -in ca-cert.pem -noout # liste des utilisations possibles du certificat
}}}

Le fichier `certs/ca-regionX.pem` est renvoyé à l'autorité régionale, qui le renomme `ca-cert.pem` (certificat, à côté de `ca-key.pem` qui est la clé privée correspondante).

/* vérifications ... */

Création d'une AC racine

  1. Préparation
    racine$ mkdir racine; cd racine; mkdir certs newcerts ; echo 01 > serial ; echo 01 > crlnumber ; touch index.txt .rand 
  2. Création d'une clef privée 2048 bits, cryptée par un mot de passe :
    racine$ openssl genrsa -out ca-key.pem -des3 2048
    Generating RSA private key, 2048 bit long modulus
    ......................+++
    e is 65537 (0x10001)
    Enter pass phrase for ca-key.pem: 
    Verifying - Enter pass phrase for ca-key.pem:
  3. Etablissement de la demande de certificat (qui sera ensuite auto-signé) :
    racine$ openssl req -config ../openssl.cnf -new -key ca-key.pem -out request-ca-racine.pem -text
    Enter pass phrase for ca-key.pem:
    (...)
    Code ISO du pays (2 lettres) [CA]:
    Province ou region (nom complet) [Quebec]:
    Ville (nom complet) [Montreal]:
    Organisation [AUF]:
    Unite (implantation, service, programme, ...) [DRI]:
    Nom canonique (TOUJOURS TRES IMPORTANT) [AUF-AC-RACINE]:
    Adresse electronique (email) [rpv@auf.org]:
  4. Auto-signature du certificat (on est sur la racine) avec les extensions spécifiques (ca_racine):
    racine$ openssl ca -config ../openssl.cnf -in request-ca-racine.pem -out ca-cert.pem -selfsign -keyfile ca-key.pem -extensions ca_racine
    Using configuration from ../openssl.cnf
    Enter pass phrase for ca-key.pem:
    Check that the request matches the signature
    Signature ok
    Certificate Details:
        (...)
    Certificate is to be certified until Mar  5 10:20:49 2018 GMT (3650 days)
    Sign the certificate? [y/n]:y
    1 out of 1 certificate requests certified, commit? [y/n]y
    Write out database with 1 new entries
    Data Base Updated

Vérification des résultats

Examen du certificat produit (vérification des dates et des extensions) :

  • racine$ openssl x509 -text -in ca-cert.pem -noout     # liste de toutes les données du certificat, notamment dates et extensions
    racine$ openssl x509 -purpose -in ca-cert.pem -noout  # liste des utilisations possibles du certificat

Création d'une AC régionale

Dans ce qui suit, remplacer regionX par le nom abrégé de la région.

  1. Préparation
    region$ mkdir regionX; cd regionX; mkdir certs newcerts ; echo 01 > serial ; echo 01 > crlnumber ; touch index.txt .rand 
    region$ openssl genrsa -out ca-key.pem -des3 2048    # création de la clé
  2. Etablissement de la demande de certificat
    region$ openssl req -config ../openssl.cnf -new -key ca-key.pem -text -out request-ca-regionX.pem
    Enter pass phrase for ca-key.pem:
    (... exemple pour le BAO ...)
    Code ISO du pays (2 lettres) [CA]:SN
    Province ou region (nom complet) [Quebec]:.
    Ville (nom complet) [Montreal]:Dakar
    Organisation [AUF]:
    Unite (implantation, service, programme, ...) [DRI]:
    Nom canonique (TOUJOURS TRES IMPORTANT) [AUF-AC-RACINE]:AUF-AC-BAO
    Adresse electronique (email) [rpv@auf.org]:
  3. Le fichier request-ca-regionX.pem est la demande : il doit être envoyé à l'autorité de certification racine

Sur l'AC racine, signature de la demande pour création d'un certificat certs/ca-regionX.pem :

  • racine$ openssl ca -config ../openssl.cnf -in request-ca-regionX.pem -extensions ca_region -out certs/ca-regionX.pem

Le fichier certs/ca-regionX.pem est renvoyé à l'autorité régionale, qui le renomme ca-cert.pem (certificat, à côté de ca-key.pem qui est la clé privée correspondante).

Projet/PKI/Archives/PKIOpenSSL/CréationDesAutorités (dernière édition le 2008-10-14 09:26:15 par ThomasNoël)