diff options
Diffstat (limited to 'tools/comparecert.py')
-rwxr-xr-x | tools/comparecert.py | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/tools/comparecert.py b/tools/comparecert.py deleted file mode 100755 index 81893f7..0000000 --- a/tools/comparecert.py +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env python - -# Copyright (c) 2014, NORDUnet A/S. -# See LICENSE for licensing information. - -import argparse -import urllib2 -import urllib -import json -import base64 -import sys -import struct -import hashlib -import itertools -from certtools import * -from certtools import * -from precerttools import * -import os -import signal -import select -import zipfile - -def readfile(filename): - contents = open(filename).read() - certchain = get_certs_from_string(contents) - precerts = get_precerts_from_string(contents) - return (certchain, precerts) - -def testcerts(template, test): - (certchain1, precerts1) = template - (certchain2, precerts2) = test - - if precerts1 != precerts2: - return (False, "precerts are different") - - if certchain1 == certchain2: - return (True, "") - - if len(certchain2) == len(certchain1) + 1: - if certchain2[:-1] != certchain1: - return (False, "certchains are different") - last_issuer = get_cert_info(certchain1[-1])["issuer"] - root_subject = get_cert_info(certchain2[-1])["subject"] - if last_issuer == root_subject: - return (True, "fetched chain has an appended root cert") - else: - return (False, "fetched chain has an extra entry") - - return (False, "certchains are different") - -parser = argparse.ArgumentParser(description='') -parser.add_argument('templates', help="Test templates, separated with colon") -parser.add_argument('test', help="Files to test, separated with colon") -args = parser.parse_args() - -templates = [readfile(filename) for filename in args.templates.split(":")] - -tests = [readfile(filename) for filename in args.test.split(":")] - - -for test in tests: - found = False - errors = [] - for template in templates: - (result, message) = testcerts(template, test) - if result: - print message - found = True - templates.remove(template) - break - else: - errors.append(message) - if not found: - print "Matching template not found for test" - for error in errors: - print error - sys.exit(1) -sys.exit(0) |