summaryrefslogtreecommitdiff
path: root/tools/josef_experimental.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/josef_experimental.py')
-rwxr-xr-xtools/josef_experimental.py76
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