diff options
author | Rob Austein <sra@hactrn.net> | 2007-12-24 06:36:18 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2007-12-24 06:36:18 +0000 |
commit | e62cfb013638b5e68218c0702e88c6c4dfeb06f9 (patch) | |
tree | 93b5b864915a92a03e805062cf3b5b6d7f8b1e27 /scripts/Old/encode-test.py | |
parent | 6923ec5709af6f4fa5ea8e6e9af9265f5b9e213f (diff) |
Cleanup
svn path=/scripts/Old/check-hashes.sh; revision=1434
Diffstat (limited to 'scripts/Old/encode-test.py')
-rwxr-xr-x | scripts/Old/encode-test.py | 161 |
1 files changed, 161 insertions, 0 deletions
diff --git a/scripts/Old/encode-test.py b/scripts/Old/encode-test.py new file mode 100755 index 00000000..b4709866 --- /dev/null +++ b/scripts/Old/encode-test.py @@ -0,0 +1,161 @@ +# $Id$ + +import os + +def run(func, arg, *cmd): + i, o = func(cmd) + i.write(arg) + i.close() + value = o.read() + o.close() + return value + +def encode(xml, cer, key): + return run(os.popen2, xml, "openssl", "smime", "-sign", "-nodetach", "-outform", "PEM", "-signer", cer, "-inkey", key) + +def decode(cms, dir): + return run(os.popen2, cms, "openssl", "smime", "-verify", "-inform", "PEM", "-CApath", dir) + +def relaxng(xml, rng): + return run(os.popen4, xml, "xmllint", "--noout", "--relaxng", rng, "-") + +def main(): + dir = "biz-certs" + cer = "biz-certs/Alice-EE.cer" + key = "biz-certs/Alice-EE.key" + rng = "up-down-schema.rng" + + for x in xml: + print x + e = encode(x, cer, key) + print e + d = decode(e, dir) + print d + v = relaxng(d, rng) + print v + print "=====\n" + +# Ugly inline stuff here for initial testing + +xml = [ +'''<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + msg_ref="42" + type="error_response"> + <status>2001</status> + <last_msg_processed>17</last_msg_processed> + <description xml:lang="en-US">[Readable text]</description> +</message> +''', +'''<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + msg_ref="42" type="issue"> + <request class_name="class name" + req_resource_set_as="" + req_resource_set_ipv4="10.0.0.44/32" + req_resource_set_ipv6="dead:beef::/32"> + deadbeef + </request> +</message> +''', +'''<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + msg_ref="1" + type="issue_response"> + <class class_name="class name" + cert_url="url" + cert_ski="g(ski)" + resource_set_as="22,42,44444-5555555" + resource_set_ipv4="10.0.0.44-10.3.0.44,10.6.0.2/32" + resource_set_ipv6="dead:beef::/128"> + <certificate cert_url="url" + cert_ski="g(ski)" + cert_aki="g(aki)" + cert_serial="1" + resource_set_as="14-17" + resource_set_ipv4="128.224.1.136/22" + resource_set_ipv6="0:0::/22" + req_resource_set_as="" + req_resource_set_ipv4="10.0.0.77/16,127.0.0.1/8" + req_resource_set_ipv6="dead:beef::/16" + status="match"> + deadbeef + </certificate> + <issuer>deadbeef</issuer> + </class> +</message> +''', +'''<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + msg_ref="42" + type="list"/> +''', +'''<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + msg_ref="42" + type="list_response"> + <class class_name="class name" + cert_url="url" + cert_ski="g(ski)" + resource_set_as="1,2,4,6,16-32" + resource_set_ipv4="128.224.1.1-128.22.4.32" + resource_set_ipv6="" + suggested_sia_head="rsync://wombat.example/fnord/"> + <certificate cert_url="url" + cert_ski="g(ski)" + cert_aki="g(aki)" + cert_serial="1" + resource_set_as="" + resource_set_ipv4="" + resource_set_ipv6="" + req_resource_set_as="" + req_resource_set_ipv4="" + req_resource_set_ipv6="" + status="match"> + deadbeef + </certificate> + <!-- Repeated for each current certificate naming the client as subject --> + <issuer>deadbeef</issuer> + </class> +</message> +''', +'''<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + msg_ref="42" + type="revoke"> + <key class_name="class name" + ski="g(ski)"/> +</message> +''', +'''<?xml version="1.0" encoding="UTF-8"?> +<message xmlns="http://www.apnic.net/specs/rescerts/up-down/" + version="1" + sender="sender name" + recipient="recipient name" + msg_ref="42" + type="revoke_response"> + <key class_name="class name" + ski="g(ski)"/> +</message> +''' +] + +main() |