summaryrefslogtreecommitdiff
path: root/monitor/josef_experimental.py
diff options
context:
space:
mode:
Diffstat (limited to 'monitor/josef_experimental.py')
-rwxr-xr-xmonitor/josef_experimental.py71
1 files changed, 61 insertions, 10 deletions
diff --git a/monitor/josef_experimental.py b/monitor/josef_experimental.py
index 979bae8..5df124b 100755
--- a/monitor/josef_experimental.py
+++ b/monitor/josef_experimental.py
@@ -4,6 +4,7 @@
import sys
import os
from josef_lib import *
+from josef_lib2 import *
# import leveldb
import argparse
import json
@@ -126,17 +127,67 @@ def update_roots(log):
open(tempname, 'w').write(data)
mv_file(tempname, fn)
+def parse_entry(e, idx, log):
+ # print the following fields, separated by sep
+ sep = ";"
+
+ s = log["name"]
+ s += sep + str(idx) # index
+ s += sep + e["subject"] # Subject
+ s += sep + e["SAN"] # SAN
+ s += sep + e["issuer"] # issuer
+ s += sep + e["chain_length"] # path length
+ s += sep + e["sig_algorithm"] # Signature algothithm
+ s += sep + e["pubkey_algorithm"] # pubkey algorithm
+ s += sep + e["not_before"] # valid from
+ s += sep + e["not_after"] # valid to
+ s += sep + e["validation"] # EV?
+ s += sep + e["in_mozilla"] # chains to mozilla root?
+
+ return s
+
+def check_api2(url):
+ print "\nTesting " + url
+ try:
+ print get_sth_v2(url)
+ except:
+ print "GET STH Failed..."
if __name__ == '__main__':
- # for log in [CTLOGS[4]]:
- # url = log["url"]
- # try:
- # get_entries(url,8,8)
- # except Exception, e:
- # print "Failed to get entry from " + log["name"], e
- log = CTLOGS[9]
- entries = get_entries(log["url"],0,5000)["entries"]
- print log["name"], len(entries)
- # check_inclusion_by_submission(1,1,[CTLOGS[3]],[CTLOGS[3]])
+
+
+
+
+
+
+ # Data gathering for Niklas
+ if False:
+ log = CTLOGS[0]
+ sth = get_sth(log["url"])
+ # size = sth["tree_size"]
+ # for i in range(15,200):
+ start = 5757748
+ end = 5757847
+ print "Getting " + str(start) + " to " + str(end)
+ entries = get_entries(log["url"],start ,end)["entries"]
+
+ # TODO set filename
+ filename = "ct_log_content.txt"
+ # TODO remove file if exists
+ if os.path.exists(filename):
+ os.remove(filename)
+ # TODO open file
+ with open(filename, 'a') as f:
+ # TODO write lines
+ for i in range(len(entries)):
+ entry = entries[i]
+ res = check_domain_extended(entry)
+ string = parse_entry(res, i + start, log)
+ f.write(string + "\n")
+
+
+
+
+