diff --git a/attributs.py b/attributs.py index 579c0a0..428c031 100644 --- a/attributs.py +++ b/attributs.py @@ -39,6 +39,7 @@ import re import sys import netaddr import time +import base64 import datetime import functools import smtplib @@ -1285,6 +1286,13 @@ class sshFingerprint(Attr): 'key' : details[1], 'comm' : ' '.join(details[2:]), } + if not self.value['type'] in config.sshfs_ralgo.keys(): + raise ValueError("Seul les clefs ssh de type %s sont supportĂ©es" % ', '.join(config.sshfs_ralgo.keys())) + try: + base64.b64decode(self.value['key']) + except: + raise ValueError("La partie centrale de la clef ssh devrait ĂȘtre du base64 valide") + def __getitem__(self, attr): return self.value.__getitem__(attr)