Authorité de Certification - Memento
Réflexions sur les clés
- http://www.git-attitude.fr/2010/09/13/comprendre-et-maitriser-les-cles-ssh/ => clé RSA 2 ou 4ko
- Algorithme de hashage https://www.securiteinfo.com/cryptographie/cracked.shtml => SHA-256
Voir la commande openssl pour connaitre les algorithmes dispos.
Vocabulaire :
Les clés vont servir à chiffrer la communication.
Chaque utilisateur possède deux clés : une publique et une privée.
Un certificat permet de transmettre la clé publique et/ou privée en les accompagnant d’infos pour les valider.
Créer sa propre authorité de certification :
Architecture des AC
AC Root
+- AC Web
+- AC Users
Architecture de répertoires dans /root/pki
/root/pki/
+- acroot/ : les mêmes fichiers et sous-répertoires doivent être créés pour toutes les autorités
+- index.txt : fichier d'index de la base de données
+- index.txt.attr
+- serial : initialisé à 1 [echo "01" > serial]
+- crlnumber : initialisé à 1 [echo "01" > serial]
+- certs/ : certificats fabriqués par l'autorité
+- csr/ : demande de certifications
+- crl/ : liste de révocation fabriquée par l'autorité
+- private/ : clés privées générées par l'autorité
+- config/ : fichiers de configuration
+- /acweb
+- /acusers
Génération pour l’autorité racine
Fichier de conf
Voir acroot.cnf
Génération clé privée et certificat
Le certificat étant auto-signé, il est généré directement en une seule commande (option -x509). La clé privée et le certificat (contenant la clé publique) sont générés en même temps.
$ su - root
$ cd /root/pki/acroot
$ openssl req -new -x509 -config config/acroot.cnf -newkey rsa:4096 -keyout private/acroot.key -out acroot.pem -days 3650
La passphrase protège la clé privée : il faut absolument la renseigner !
[TODO: Voir si les options newkey et days sont obligatoires puisque déjà présentes dans le fichier de conf]
[TODO: Voir les répertoires utilisés dans la commande pour les fichiers de sortie]
La clé privée se trouve dans private/acroot.key et va permettre de signer les autorités filles.
Génération de l’autorité web
Fichier de conf
Voir acweb.cnf
Génération clé privée et CSR
Comme l’autorité n’est pas auto-signée, il faut d’abord créer un fichier CSR (Certificat Signing Request), que nous signerons ensuite avec la clé privée de l’autorité racine. La clé privée et le fichier CSR (acweb.req) (contenant la clé publique) sont générés en même temps.
$ su - root
$ cd /root/pki/acweb
$ openssl req -new -config config/acweb.cnf -newkey rsa:4096 -keyout private/acweb.key -out acweb.req
La passphrase protège la clé privée : il faut absolument la renseigner !
Signature de l’autorité web
La signature de l’autorité web se passe comme suit :
$ cd /root/pki/acroot
$ openssl ca -config config/acroot.cnf -extensions ac__web -out ../acweb/acweb.pem -infiles ../acweb/acweb.req
[TODO: Changer le nom de l’extension sslca par acweb dans le fichier de conf de l’ac root]
[TODO: Reprendre à la génération des listes de révocation]