summaryrefslogtreecommitdiff
path: root/tools/loginfo.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/loginfo.py')
-rwxr-xr-xtools/loginfo.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/loginfo.py b/tools/loginfo.py
new file mode 100755
index 0000000..c61ad1b
--- /dev/null
+++ b/tools/loginfo.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2015, NORDUnet A/S.
+# See LICENSE for licensing information.
+
+import sys
+import argparse
+import yaml
+from certtools import create_ssl_context, get_sth
+
+def main():
+ parser = argparse.ArgumentParser(description='')
+ parser.add_argument('--raw', action='store_true',
+ help="Print all")
+ parser.add_argument('--timestamp', action='store_true',
+ help="Print timestamp")
+ parser.add_argument('--roothash', action='store_true',
+ help="Print root hash")
+ parser.add_argument('--treesize', action='store_true',
+ help="Print tree size")
+ parser.add_argument('--signature', action='store_true',
+ help="Print signature")
+ parser.add_argument('--config', help="System configuration", required=True)
+ parser.add_argument('--localconfig', help="Local configuration",
+ required=True)
+ parser.add_argument('baseurl', help="Log base URL")
+ args = parser.parse_args()
+ #config = yaml.load(open(args.config))
+ localconfig = yaml.load(open(args.localconfig))
+ paths = localconfig["paths"]
+
+ create_ssl_context(cafile=paths["https_cacertfile"])
+ sth = get_sth(args.baseurl)
+
+ if args.raw:
+ print sth
+ if args.timestamp:
+ print sth['timestamp']
+ if args.roothash:
+ print sth['sha256_root_hash']
+ if args.treesize:
+ print sth['tree_size']
+ if args.signature:
+ print sth['tree_head_signature']
+
+if __name__ == '__main__':
+ sys.exit(main())