[utils/ldapcertfs] Mise du dico CHAIN au début du fichier

pour finir par le mettre dans un fichier de config à terme
This commit is contained in:
Valentin Samir 2014-10-26 01:31:03 +02:00
parent 38694d3662
commit 55a3a56d65

View file

@ -33,6 +33,13 @@
# How to umount the File-System? # How to umount the File-System?
# fusermount -u mnt # 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 os
import sys import sys
import ssl import ssl
@ -148,9 +155,8 @@ class LdapCertFS(fuse.Fuse):
# dictionnnaire CN => certificat pour construire la chaine de certificat # dictionnnaire CN => certificat pour construire la chaine de certificat
# Il n'est utile ici que de renseigner des CN de CA intermédiaires # Il n'est utile ici que de renseigner des CN de CA intermédiaires
self.chain = { self.chain = CHAIN
'CAcert Class 3 Root' : open('/etc/ssl/certs/cacert.org.pem').read(),
}
# Les fichers certificats que l'on veux créer. fil est une liste représentant # 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 # la concaténation des attributs ldap (bien formaté). chain est un joker pour
# construire la chaine de certificat # construire la chaine de certificat
@ -232,7 +238,10 @@ class LdapCertFS(fuse.Fuse):
for dtype in self.files[file]['file']: for dtype in self.files[file]['file']:
if dtype == "chain": if dtype == "chain":
if cert['issuerCN'][0] in self.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: else:
return None return None
elif dtype == "certificat": elif dtype == "certificat":