diff options
author | Josef Gustafsson <josef.gson@gmail.com> | 2015-09-30 13:28:50 +0200 |
---|---|---|
committer | Josef Gustafsson <josef.gson@gmail.com> | 2015-09-30 13:28:50 +0200 |
commit | c188640f84f33e45c05d0aecc678adf9e753e722 (patch) | |
tree | 49a0cb114bad798680376c76b49be08cb6dd4bcf /monitor/josef_lib.py | |
parent | beaf6e3b91ebfc3a7134398c1607a679434859f7 (diff) |
refactor
Diffstat (limited to 'monitor/josef_lib.py')
-rw-r--r-- | monitor/josef_lib.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/monitor/josef_lib.py b/monitor/josef_lib.py index d78de48..0f6ac24 100644 --- a/monitor/josef_lib.py +++ b/monitor/josef_lib.py @@ -16,6 +16,7 @@ import datetime import cStringIO import zipfile import shutil +from copy import deepcopy from certkeys import publickeys from Crypto.Hash import SHA256 @@ -47,6 +48,16 @@ def get_all_roots(base_url): root_cert = base64.decodestring(accepted_cert) return certs +def check_domain(raw_entry, log=None): + orig_entry = extract_original_entry(raw_entry) + try: + cert_info = my_get_cert_info(orig_entry[0][0]) + if log: + cert_info["log"] = log[8:-1] # strip generic URL stuff + return cert_info + except IndexError: + return None + def check_domain_all(raw_entry, log=None): orig_entry = extract_original_entry(raw_entry) try: @@ -917,3 +928,15 @@ def reduce_subtree_to_root(layers): return next_merkle_layer(layers[0]) return layers[0] +def verify_subtree(sth, subtree, base_url): + try: + tmp = deepcopy(subtree) + root = base64.b64encode(reduce_subtree_to_root(tmp)[0]) + + if root == sth["sha256_root_hash"]: + return True + else: + return False + except: + return False + |