aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rootd.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2008-04-19 22:52:16 +0000
committerRob Austein <sra@hactrn.net>2008-04-19 22:52:16 +0000
commit14f2160b5f9a78c02b8b072930040210220c63cb (patch)
treeb253a47e66ede9ba68c2bef296836a052044ded4 /rpkid/rootd.py
parentbd558a26aad5da955c4b59e446837ecab0618be2 (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-xrpkid/rootd.py18
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