Modifications entre les versions 1 et 2
Version 1 à la date du 2008-03-14 01:32:12
Taille: 3782
Éditeur: ThomasNoël
Commentaire:
Version 2 à la date du 2008-10-14 09:26:11
Taille: 3844
Éditeur: ThomasNoël
Commentaire: on va passer à EJBCA
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
## page was renamed from Projet/PKI/UtilisationDesAutorités
  • BROUILLON TOTAL, je jette mes idées... n'hésitez pas à ajouter les vôtres

Emission de certificats

Principe :

  1. Le demandeur génère une clé privée
  2. A partir de cette clé, il établit une demande de certificat. Elle contient les informations nécessaires, surtout au niveau du CN (canonical name, nom canonique)

  3. La demande est envoyée à l'Autorité de Certification (AC) régionale concernée, en précisant le type de certificat attendu en retour
  4. l'AC signe la demande afin de produire le certificat. Celui-ci possède certaines extensions x509v3 en fonction du type de certificat demandé
  5. l'AC renvoie le certificat au demandeur

Certificat pour un serveur type Web, IMAP, SMTP, ...

Lors de la demande de certificat, on indique le nom du serveur dans le champ "CN", c'est à dire le Nom canonique.

Sur la machine cible, création de la clé et de la demande de certificat :

  • serveur$ openssl req -config ../openssl.cnf -newkey rsa:1024 -keyout serveur-key.pem -out serveur-request.pem
    Generating a 1024 bit RSA private key
    ...................................++++++
    ............................++++++
    writing new private key to 'serveur-key.pem'
    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:
    (...)
    Code ISO du pays (2 lettres) [CA]: GN
    Province ou region (nom complet) [Quebec]: .
    Ville (nom complet) [Montreal]: Conakry
    Organisation [AUF]:
    Unite (implantation, service, programme, ...) [DRI]:
    Nom canonique (TOUJOURS TRES IMPORTANT) [AUF-AC-RACINE]: www.gn.auf.org
    Adresse electronique (email) [rpv@auf.org]: www@gn.auf.org

La demande serveur-request.pem doit être envoyée à l'autorité régionale, qui la signera pour en faire un certificat.

Sur l'AC régionale, signature de la demande et création du certificat certs/serveur.pem :

  • region$ REGION=bao openssl ca -config ../openssl.cnf -in serveur-request.pem -extensions server -out certs/serveur-cert.pem 

Le certificat certs/serveur-cert.pem est alors renvoyé au serveur.

/!\ Par défaut la clé serveur-key.pem générée sur le serveur est cryptée. Cela peut être problématique si elle doit être utilisée par un serveur qui doit démarrer automatiquement. Dans ce cas on peut vouloir obtenir une version non cryptée de la clé : openssl rsa -in serveur-key.pem -out serveur-clear.pem

Pour un serveur avec plusieurs noms (VirtualHost)

Pour un serveur avec plusieurs noms possibles (cas d'un serveur web avec plusieurs VirtualHost sur une seule adresse IP), il faut le préciser lors de la demande de certificat. Pour cela, positionner la variable d'environnement ALTNAME et utiliser le jeu d'extensions alt_req :

  • serveur$ ALTNAME="DNS:www.site1.org,DNS:www.site2.org" openssl req -config ../openssl.cnf -newkey rsa:1024 -keyout serveur-key.pem -out serveur-request.pem -reqexts alt_req

Note : une fois le certificat généré, il est impossible d'y rajouter un nom. Pour cela, il faut demander un nouveau certificat (l'ancien est alors révoqué).

Noeuds OpenVPN pour le RPV2

Deux certificats : un "server" (écoute les connexions), un "client" (établissement des connexions, lancé par autotun)

  • CN = nom@subnet-masque, exemple dakar@10.196.0.0-20

Lors de la signature par l'AC : un "-extensions server" et un "-extensions client"

Idée/Question : deux certifs pour une seule clé privée, ça serait plus simple à gérer (une seule demande à émettre, deux certifs reçus)

Utilisateur OpenVPN du RPV2 (nomade)

  • email = prenom.nom@auf.org

  • CN = prenom.nom-xxxx (xxx = le nom de la machine cible)

Révocation d'un certificat

  • faire une page wiki à part ?

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