From 93feb71b664a01d53770f8c5d4a000cf7e257a73 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 20 Mar 2016 10:28:33 +0100 Subject: [PATCH] Normalize fingerprints to allow more formats. https://github.com/Limnoria/Limnoria-doc/issues/76#issuecomment-198794341 --- src/utils/net.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/utils/net.py b/src/utils/net.py index 2cd7656f3..2ec083072 100644 --- a/src/utils/net.py +++ b/src/utils/net.py @@ -131,9 +131,13 @@ def isIPV6(s): return False +normalize_fingerprint = lambda fp: fp.replace(':', '').lower() + FINGERPRINT_ALGORITHMS = ('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512') def check_certificate_fingerprint(conn, trusted_fingerprints): + trusted_fingerprints = set(normalize_fingerprint(fp) + for fp in trusted_fingerprints) cert = conn.getpeercert(binary_form=True) for algorithm in FINGERPRINT_ALGORITHMS: h = hashlib.new(algorithm)