## page was renamed from Projet/PKI/UtilisationDesAutorités ||<#ff0000> '''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 1. 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) 1. La demande est envoyée à l'Autorité de Certification (AC) régionale concernée, en précisant le type de certificat attendu en retour 1. l'AC signe la demande afin de produire le certificat. Celui-ci possède certaines extensions x509v3 en fonction du type de certificat demandé 1. 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 ?