diff options
author | Rob Austein <sra@hactrn.net> | 2008-04-19 22:52:16 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2008-04-19 22:52:16 +0000 |
commit | 14f2160b5f9a78c02b8b072930040210220c63cb (patch) | |
tree | b253a47e66ede9ba68c2bef296836a052044ded4 /rpkid/rootd.py | |
parent | bd558a26aad5da955c4b59e446837ecab0618be2 (diff) |
Convert CMS code to something vaguely object-oriented, to simplify
handling of eContentType OIDs, etc. Unifiy some of the redundant XML
processing as method routines.
svn path=/pow/POW-0.7/POW.c; revision=1679
Diffstat (limited to 'rpkid/rootd.py')
-rwxr-xr-x | rpkid/rootd.py | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/rpkid/rootd.py b/rpkid/rootd.py index ba767917..21b1b371 100755 --- a/rpkid/rootd.py +++ b/rpkid/rootd.py @@ -26,7 +26,7 @@ Default configuration file is rootd.conf, override with --config option. import traceback, os, time, getopt, sys, lxml import rpki.resource_set, rpki.up_down, rpki.left_right, rpki.x509 -import rpki.https, rpki.config, rpki.cms, rpki.exceptions, rpki.relaxng +import rpki.https, rpki.config, rpki.exceptions, rpki.relaxng import rpki.sundial, rpki.log rpki_subject_lifetime = rpki.sundial.timedelta(days = 30) @@ -130,8 +130,8 @@ class sax_handler(rpki.sax_utils.handler): def up_down_handler(query, path): try: - q_elt = rpki.cms.xml_verify(query, cms_ta) - rpki.relaxng.up_down.assertValid(q_elt) + q_cms = rpki.x509.up_down_pdu(DER = query) + q_elt = q_cms.verify(cms_ta) q_msg = sax_handler.saxify(q_elt) except Exception, data: rpki.log.error(traceback.format_exc()) @@ -139,19 +139,15 @@ def up_down_handler(query, path): try: r_msg = q_msg.serve_top_level(None) r_elt = r_msg.toXML() - try: - rpki.relaxng.up_down.assertValid(r_elt) - except lxml.etree.DocumentInvalid: - rpki.log.debug(lxml.etree.tostring(r_elt, pretty_print = True, encoding ="utf-8", xml_declaration = True)) - raise - return 200, rpki.cms.xml_sign(r_elt, cms_key, cms_certs, encoding = "utf-8") + r_cms = rpki.x509.up_down_pdu.build(r_elt, cms_key, cms_certs) + return 200, r_cms.get_DER() except Exception, data: rpki.log.error(traceback.format_exc()) try: r_msg = q_msg.serve_error(data) r_elt = r_msg.toXML() - rpki.relaxng.up_down.assertValid(r_elt) - return 200, rpki.cms.xml_sign(r_elt, cms_key, cms_certs, encoding = "utf-8") + r_cms = rpki.x509.up_down_pdu.build(r_elt, cms_key, cms_certs) + return 200, r_cms.get_DER() except Exception, data: rpki.log.error(traceback.format_exc()) return 500, "Could not process PDU: %s" % data |