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":