aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts/examples/nisttest.py
diff options
context:
space:
mode:
authorlloyd <[email protected]>2015-02-16 20:12:38 +0000
committerlloyd <[email protected]>2015-02-16 20:12:38 +0000
commit3b9a0c1535e40f8f9fc4cfbc734144ee229df65d (patch)
tree30c1d4363b4c85561204d26344f40de3e78f6d9d /src/scripts/examples/nisttest.py
parent85caef829c9eeb7c224ad3b2e3ffbcfe981c2428 (diff)
Add new module `ffi` which provides a plain C interface, plus a new
ctypes Python wrapper that uses it. The API is intentionally designed to have a very simple ABI (extern "C", all structs are opaque, no memory ownership passing the FFI boundary, limited set of simple types as args) so the ctypes wrapper is quite simple. Currently ffi provides ciphers, hashes, MACs, RNGs, PBKDF, KDF, bcrypt, and most public key operations. Remove the old boost.python wrapper and all the build code for it.
Diffstat (limited to 'src/scripts/examples/nisttest.py')
-rwxr-xr-xsrc/scripts/examples/nisttest.py61
1 files changed, 0 insertions, 61 deletions
diff --git a/src/scripts/examples/nisttest.py b/src/scripts/examples/nisttest.py
deleted file mode 100755
index 1260b1226..000000000
--- a/src/scripts/examples/nisttest.py
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/usr/bin/python
-
-import sys, os, botan
-from os.path import join;
-
-def validate(ca_certs, certs, crls, ee_certs):
- store = botan.X509_Store()
- for cert in certs:
- if cert not in ee_certs:
- store.add_cert(botan.X509_Certificate(cert), cert in ca_certs)
-
- for crl in crls:
- r = store.add_crl(botan.X509_CRL(crl))
- if r != botan.verify_result.verified:
- return r
-
- for ee in ee_certs:
- r = store.validate(botan.X509_Certificate(ee))
- if r != botan.verify_result.verified:
- return r
-
- return botan.verify_result.verified
-
-def run_test(files, rootdir, testname, expected):
- crls = [join(rootdir,x) for x in files if x.endswith(".crl")]
- certs = [join(rootdir,x) for x in files if x.endswith(".crt")]
- end_entity = [x for x in certs if x.find("end.crt") != -1]
- ca_certs = [x for x in certs if x.find("root.crt") != -1]
-
- print "%s..." % testname,
-
- result = validate(ca_certs, certs, crls, end_entity)
- result = repr(result).replace('botan._botan.verify_result.', '')
-
- if result != expected:
- print "FAILED: got %s, expected %s" % (result, expected)
- else:
- print "passed"
-
-def main():
- def load_results(file):
- results = {}
- for line in open(file, 'r'):
- line = line[0:line.find('#')].strip()
- if line:
- test,result = line.split(' ')
- results[test] = result
- return results
-
- results = load_results('results.vec')
-
- for root, dirs, files in os.walk('../../checks/nist_tests/tests'):
- if files:
- thistest = root[root.rfind('/')+1:]
- if thistest in results:
- run_test(files, root, thistest, results[thistest])
- else:
- print "%s... skipping - no expected result set" % thistest
-
-if __name__ == "__main__":
- sys.exit(main())