summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosef Gustafsson <josef.gson@gmail.com>2015-09-21 12:11:30 +0200
committerJosef Gustafsson <josef.gson@gmail.com>2015-09-21 12:11:30 +0200
commit4f3be5f797b16519c69fa2e34f999941bd6ce821 (patch)
tree4d1d1b43c3a2ebb912652bc2c5b81824017abd0e
parent59f065ab412f5777017854ef9b6d41d3d3449e52 (diff)
adding program for moving entries between logs
-rw-r--r--monitor/josef_lib.py4
-rwxr-xr-xmonitor/josef_logreader.py2
-rwxr-xr-xmonitor/josef_mover.py66
-rw-r--r--monitor/monitor_conf.py40
4 files changed, 88 insertions, 24 deletions
diff --git a/monitor/josef_lib.py b/monitor/josef_lib.py
index 28ea0c0..36a0c3d 100644
--- a/monitor/josef_lib.py
+++ b/monitor/josef_lib.py
@@ -32,7 +32,6 @@ def check_domain_all(raw_entry, log=None):
except IndexError:
return None
-
def get_full_cert(entry):
try:
log = "https://" + entry["log"] + "/"
@@ -50,8 +49,6 @@ def get_full_cert(entry):
cert = check_domain_all(raw_entry)
return cert
-
-
def encode_tree(tree):
res = []
for layer in tree:
@@ -512,6 +509,7 @@ def unpack_mtl(merkle_tree_leaf):
issuer_key_hash = timestamped_entry[10:42]
(leafcert, rest_entry) = unpack_tls_array(timestamped_entry[42:], 3)
return (leafcert, timestamp, issuer_key_hash)
+
def get_leaf_hash(merkle_tree_leaf):
leaf_hash = hashlib.sha256()
leaf_hash.update(struct.pack(">b", 0))
diff --git a/monitor/josef_logreader.py b/monitor/josef_logreader.py
index 8be4dd5..d261fd4 100755
--- a/monitor/josef_logreader.py
+++ b/monitor/josef_logreader.py
@@ -41,7 +41,7 @@ def print_log_stats(l):
# break
if line[:len(NEW_STH_STR)] == NEW_STH_STR:
timestamp = datetime.datetime.strptime(line[-20:-1], '%Y-%m-%d %H:%M:%S')
- age = datetime.datetime.now() - timestamp
+ age = datetime.datetime.utcnow() - timestamp
size = line.split("Size: ")[1].split(",")[0]
# print line[:-1]
print "STH age: " + str(age)[:-7]
diff --git a/monitor/josef_mover.py b/monitor/josef_mover.py
new file mode 100755
index 0000000..3de0cb4
--- /dev/null
+++ b/monitor/josef_mover.py
@@ -0,0 +1,66 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+import sys
+import time
+import datetime
+import os
+import json
+
+from monitor_conf import *
+from josef_lib import *
+
+def print_reply(rep, entry, precert):
+ t = datetime.datetime.fromtimestamp(rep['timestamp'] / 1000, UTC()).strftime("%Y-%m-%d %H:%M:%S")
+ log_id = rep["id"]
+
+ # print res
+
+ print "Time:", t
+
+ for log in ctlogs:
+ if str(log_id) == log["id"]:
+ l = log
+ break
+ else:
+ l = {"name" : "Log not found" + log_id}
+
+ print "Log:", l["name"]
+
+ # check_sct_signature(log["url"], entry, rep, precert, log["key"])
+
+ # print "Signature: CHECKING NOT IMPLEMENTED YET!"
+ # print ""
+
+
+source = ctlogs[0]
+dests = [ctlogs[8]]
+
+first = 20001
+last = 20100
+
+entries = get_entries(source["url"], first, last)["entries"]
+
+# print entries
+
+for log in dests:
+ for item in entries:
+ entry = extract_original_entry(item)
+ if entry[2]:
+ precert = True
+ else:
+ precert = False
+ submission = []
+
+ for e in entry[0]:
+ submission.append(base64.b64encode(e))
+
+ if precert:
+ res = add_prechain(log["url"], {"chain" : submission})
+ else:
+ res = add_chain(log["url"], {"chain" : submission})
+
+ print_reply(res, entry, precert)
+
+
+
diff --git a/monitor/monitor_conf.py b/monitor/monitor_conf.py
index b926fd7..86f8505 100644
--- a/monitor/monitor_conf.py
+++ b/monitor/monitor_conf.py
@@ -29,20 +29,20 @@ MONITORED_DOMAINS = [
# CT logs and associated keys
ctlogs = [
- # {"name" : "pilot",
- # "url" : "https://ct.googleapis.com/pilot/",
- # "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfahLEimAoz2t01p3uMziiLOl/fHTDM0YDOhBRuiBARsV4UvxG2LdNgoIGLrtCzWE0J5APC2em4JlvR8EEEFMoA==",
- # "id" : "pLkJkLQYWBSHuxOizGdwCjw1mAT5G9+443fNDsgN3BA="},
+ {"name" : "pilot",
+ "url" : "https://ct.googleapis.com/pilot/",
+ "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfahLEimAoz2t01p3uMziiLOl/fHTDM0YDOhBRuiBARsV4UvxG2LdNgoIGLrtCzWE0J5APC2em4JlvR8EEEFMoA==",
+ "id" : "pLkJkLQYWBSHuxOizGdwCjw1mAT5G9+443fNDsgN3BA="},
- # {"name" : "plausible",
- # "url" : "https://plausible.ct.nordu.net/",
- # "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE9UV9+jO2MCTzkabodO2F7LM03MUBc8MrdAtkcW6v6GA9taTTw9QJqofm0BbdAsbtJL/unyEf0zIkRgXjjzaYqQ==",
- # "id" : "qucLfzy41WbIbC8Wl5yfRF9pqw60U1WJsvd6AwEE880="},
+ {"name" : "plausible",
+ "url" : "https://plausible.ct.nordu.net/",
+ "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE9UV9+jO2MCTzkabodO2F7LM03MUBc8MrdAtkcW6v6GA9taTTw9QJqofm0BbdAsbtJL/unyEf0zIkRgXjjzaYqQ==",
+ "id" : "qucLfzy41WbIbC8Wl5yfRF9pqw60U1WJsvd6AwEE880="},
- # {"name" : "digicert",
- # "url" : "https://ct1.digicert-ct.com/log/",
- # "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAkbFvhu7gkAW6MHSrBlpE1n4+HCFRkC5OLAjgqhkTH+/uzSfSl8ois8ZxAD2NgaTZe1M9akhYlrYkes4JECs6A==",
- # "id" : "VhQGmi/XwuzT9eG9RLI+x0Z2ubyZEVzA75SYVdaJ0N0="},
+ {"name" : "digicert",
+ "url" : "https://ct1.digicert-ct.com/log/",
+ "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAkbFvhu7gkAW6MHSrBlpE1n4+HCFRkC5OLAjgqhkTH+/uzSfSl8ois8ZxAD2NgaTZe1M9akhYlrYkes4JECs6A==",
+ "id" : "VhQGmi/XwuzT9eG9RLI+x0Z2ubyZEVzA75SYVdaJ0N0="},
{"name" : "izenpe",
"url" : "https://ct.izenpe.com/",
@@ -54,15 +54,15 @@ ctlogs = [
"key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECyPLhWKYYUgEc+tUXfPQB4wtGS2MNvXrjwFCCnyYJifBtd2Sk7Cu+Js9DNhMTh35FftHaHu6ZrclnNBKwmbbSA==",
"id" : "zbUXm3/BwEb+6jETaj+PAC5hgvr4iW/syLL1tatgSQA="},
- # {"name" : "aviator",
- # "url" : "https://ct.googleapis.com/aviator/",
- # "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1/TMabLkDpCjiupacAlP7xNi0I1JYP8bQFAHDG1xhtolSY1l4QgNRzRrvSe8liE+NPWHdjGxfx3JhTsN9x8/6Q==",
- # "id" : "aPaY+B9kgr46jO65KB1M/HFRXWeT1ETRCmesu09P+8Q="},
+ {"name" : "aviator",
+ "url" : "https://ct.googleapis.com/aviator/",
+ "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1/TMabLkDpCjiupacAlP7xNi0I1JYP8bQFAHDG1xhtolSY1l4QgNRzRrvSe8liE+NPWHdjGxfx3JhTsN9x8/6Q==",
+ "id" : "aPaY+B9kgr46jO65KB1M/HFRXWeT1ETRCmesu09P+8Q="},
- # {"name" : "rocketeer",
- # "url" : "https://ct.googleapis.com/rocketeer/",
- # "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIFsYyDzBi7MxCAC/oJBXK7dHjG+1aLCOkHjpoHPqTyghLpzA9BYbqvnV16mAw04vUjyYASVGJCUoI3ctBcJAeg==",
- # "id": "7ku9t3XOYLrhQmkfq+GeZqMPfl+wctiDAMR7iXqo/cs="},
+ {"name" : "rocketeer",
+ "url" : "https://ct.googleapis.com/rocketeer/",
+ "key" : "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEIFsYyDzBi7MxCAC/oJBXK7dHjG+1aLCOkHjpoHPqTyghLpzA9BYbqvnV16mAw04vUjyYASVGJCUoI3ctBcJAeg==",
+ "id": "7ku9t3XOYLrhQmkfq+GeZqMPfl+wctiDAMR7iXqo/cs="},
{"name" : "symantec",
"url" : "https://ct.ws.symantec.com/",