diff options
Diffstat (limited to 'tools/josef_experimental.py')
-rwxr-xr-x | tools/josef_experimental.py | 76 |
1 files changed, 54 insertions, 22 deletions
diff --git a/tools/josef_experimental.py b/tools/josef_experimental.py index 6d95894..383e385 100755 --- a/tools/josef_experimental.py +++ b/tools/josef_experimental.py @@ -65,8 +65,7 @@ def get_proof_by_index(baseurl, index, tree_size): 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", "-fingerprint", "-text", "-noout", "-inform", "der"], # ["openssl", "x509", "-noout", "-subject", "-issuer", "-inform", "der"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -74,11 +73,24 @@ def my_get_cert_info(s): if parsed[1]: print "ERROR:", parsed[1] sys.exit(1) + # result = [] result = {} + prev = "" for line in parsed[0].split("\n"): - (key, sep, value) = line.partition("=") - if sep == "=": - result[key] = value + if "Subject:" in line: + result["subject"] = line.split("Subject: ")[1] + # print line.split("Subject: ")[1] + if "Issuer:" in line: + result["issuer"] = line.split("Issuer: ")[1] + # print line.split("Issuer: ")[1] + if "Subject Alternative Name" in prev: + result["SAN"] = line.lstrip() + # print line.lstrip() + if "Not After" in line: + result["not_after"] = line.split(": ")[1] + if "Not Before" in line: + result["not_before"] = line.split(": ")[1] + prev = line return result def read_sth(fn): @@ -124,20 +136,40 @@ monitored_domains = [ "symantec.com", ] -data = read_sth("plausible_cert_data.json") -ss = [] -for item in data: - try: - s = item["subject"].split("CN=")[1] - print s - except: - # if not item["subject"] in ss: - # print item["subject"] - # ss.append(item["subject"]) - pass - -print "\nTotal entries: " + str(len(data)) - - - - +# data = read_sth("plausible_cert_data.json") +# ss = [] +# for item in data: +# try: +# s = item["subject"].split("CN=")[1] +# print s +# except: +# # if not item["subject"] in ss: +# # print item["subject"] +# # ss.append(item["subject"]) +# pass + +# print "\nTotal entries: " + str(len(data)) + +base_url = base_urls[0] + +entries = get_entries(base_url, 11, 11)["entries"] +for item in entries: + orig_entry = extract_original_entry(item) + cert_info = my_get_cert_info(orig_entry[0][0]) + # prev = "" + # res = {} + # for line in cert_info: + # if "Subject:" in line: + # res["subject"] = line.split("Subject: ")[1] + # # print line.split("Subject: ")[1] + # if "Issuer:" in line: + # res["issuer"] = line.split("Issuer: ")[1] + # # print line.split("Issuer: ")[1] + # if "Subject Alternative Name" in prev: + # res["SAN"] = line.lstrip() + # # print line.lstrip() + # if "Not After" in line: + # res["not_after"] = line.split(": ")[1] + + # prev = line + print cert_info |