diff options
Diffstat (limited to 'tools/josef_experimental.py')
-rwxr-xr-x | tools/josef_experimental.py | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/tools/josef_experimental.py b/tools/josef_experimental.py index 4cb16f8..e44dcd4 100755 --- a/tools/josef_experimental.py +++ b/tools/josef_experimental.py @@ -6,6 +6,8 @@ import base64 import urllib import urllib2 import sys +import subprocess + # from pympler.asizeof import asizeof from certtools import * from Crypto.Signature import PKCS1_v1_5 @@ -61,6 +63,23 @@ def get_proof_by_index(baseurl, index, tree_size): print "ERROR:", e.read() sys.exit(1) +def my_get_cert_info(s): + p = subprocess.Popen( + ["openssl", "x509", "-text", "-noout", + "-certopt", "no_header,no_version,no_serial,no_signame,no_validity,no_aux", "-inform", "der"], + # ["openssl", "x509", "-noout", "-subject", "-issuer", "-inform", "der"], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + parsed = p.communicate(s) + if parsed[1]: + print "ERROR:", parsed[1] + sys.exit(1) + result = {} + for line in parsed[0].split("\n"): + (key, sep, value) = line.partition("=") + if sep == "=": + result[key] = value + return result base_urls = [ "https://plausible.ct.nordu.net/", @@ -96,19 +115,21 @@ monitored_domains = [ "symantec.com", ] -raw_entry = get_entries(base_urls[0], 1000, 1000)["entries"] +raw_entry = get_entries(base_urls[0], 1000, 1005)["entries"] orig_entries = [] for item in raw_entry: - print item + # print item + orig_entry = extract_original_entry(item) + cert_info = my_get_cert_info(orig_entry[0][0]) - cert_info = get_cert_info(item) - for md in monitored_domains: - if md in cert_info["subject"]: - print md + " certifed by " + cert_info["issuer"] + print cert_info + # for md in monitored_domains: + # if md in cert_info["subject"]: + # print md + " certifed by " + cert_info["issuer"] - print "\n\n" - print item + # print "\n\n" + # print item |