From 55a3a56d656b5670a9864be49273449ea3429a9e Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Sun, 26 Oct 2014 01:31:03 +0200 Subject: [PATCH] =?UTF-8?q?[utils/ldapcertfs]=20Mise=20du=20dico=20CHAIN?= =?UTF-8?q?=20au=20d=C3=A9but=20du=20fichier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pour finir par le mettre dans un fichier de config à terme --- utils/ldapcertfs.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/utils/ldapcertfs.py b/utils/ldapcertfs.py index e96d0780..f4b0ea35 100755 --- a/utils/ldapcertfs.py +++ b/utils/ldapcertfs.py @@ -33,6 +33,13 @@ # How to umount the File-System? # fusermount -u mnt +# dictionnnaire CommonName => certificat_dict pour construire la chaine de certificat +# certificat_dict est 'content' => PEM ou 'path' => chemin vers fichier contenent le PEM +# Il n'est utile ici que de renseigner des CN de CA intermédiaires +CHAIN = { + 'CAcert Class 3 Root' : {'path':'/etc/ssl/certs/cacert.org.pem'}, +} + import os import sys import ssl @@ -148,9 +155,8 @@ class LdapCertFS(fuse.Fuse): # dictionnnaire CN => certificat pour construire la chaine de certificat # Il n'est utile ici que de renseigner des CN de CA intermédiaires - self.chain = { - 'CAcert Class 3 Root' : open('/etc/ssl/certs/cacert.org.pem').read(), - } + self.chain = CHAIN + # Les fichers certificats que l'on veux créer. fil est une liste représentant # la concaténation des attributs ldap (bien formaté). chain est un joker pour # construire la chaine de certificat @@ -232,7 +238,10 @@ class LdapCertFS(fuse.Fuse): for dtype in self.files[file]['file']: if dtype == "chain": if cert['issuerCN'][0] in self.chain: - data+=self.chain[str(cert['issuerCN'][0])] + if 'path' in self.chain[str(cert['issuerCN'][0])]: + data += open(self.chain[str(cert['issuerCN'][0])]['path']).read() + elif 'content' in self.chain[str(cert['issuerCN'][0])]: + data += self.chain[str(cert['issuerCN'][0])]['content'] else: return None elif dtype == "certificat":