aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/left_right.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rpki/left_right.py')
-rw-r--r--rpkid/rpki/left_right.py38
1 files changed, 14 insertions, 24 deletions
diff --git a/rpkid/rpki/left_right.py b/rpkid/rpki/left_right.py
index 5a3ae255..e14ed7cb 100644
--- a/rpkid/rpki/left_right.py
+++ b/rpkid/rpki/left_right.py
@@ -610,21 +610,16 @@ class parent_elt(data_elt):
sender = self.sender_name,
recipient = self.recipient_name)
q_elt = q_msg.toXML()
- try:
- rpki.relaxng.up_down.assertValid(q_elt)
- except lxml.etree.DocumentInvalid:
- rpki.log.error("Message does not pass schema check: " + lxml.etree.tostring(q_elt, pretty_print = True))
- raise
- q_cms = rpki.cms.xml_sign(q_elt, bsc.private_key_id, bsc.signing_cert, encoding = "UTF-8")
-
- r_cms = rpki.https.client(server_ta = self.peer_biz_cert,
- client_key = bsc.private_key_id,
- client_certs = bsc.signing_cert,
- msg = q_cms,
- url = self.peer_contact_uri)
-
- r_elt = rpki.cms.xml_verify(r_cms, self.peer_biz_cert)
- rpki.relaxng.up_down.assertValid(r_elt)
+ q_cms = rpki.x509.up_down_pdu.build(q_elt, bsc.private_key_id, bsc.signing_cert)
+
+ der = rpki.https.client(server_ta = self.peer_biz_cert,
+ client_key = bsc.private_key_id,
+ client_certs = bsc.signing_cert,
+ msg = q_cms.get_DER(),
+ url = self.peer_contact_uri)
+
+ r_cms = rpki.x509.up_down_pdu(DER = der)
+ r_elt = r_cms.verify(self.peer_biz_cert)
r_msg = rpki.up_down.sax_handler.saxify(r_elt)
r_msg.payload.check_response()
return r_msg
@@ -704,8 +699,8 @@ class child_elt(data_elt):
bsc = self.bsc()
if bsc is None:
raise rpki.exceptions.BSCNotFound, "Could not find BSC %s" % self.bsc_id
- q_elt = rpki.cms.xml_verify(query, self.peer_biz_cert)
- rpki.relaxng.up_down.assertValid(q_elt)
+ q_cms = rpki.x509.up_down_pdu(DER = query)
+ q_elt = q_cms.verify(self.peer_biz_cert)
q_msg = rpki.up_down.sax_handler.saxify(q_elt)
q_msg.payload.gctx = self.gctx
if enforce_strict_up_down_xml_sender and q_msg.sender != str(self.child_id):
@@ -721,13 +716,8 @@ class child_elt(data_elt):
# May require refactoring, ignore the issue for now.
#
r_elt = r_msg.toXML()
- try:
- rpki.relaxng.up_down.assertValid(r_elt)
- except:
- rpki.log.debug(lxml.etree.tostring(r_elt, pretty_print = True, encoding = "UTF-8"))
- rpki.log.error(traceback.format_exc())
- raise
- return rpki.cms.xml_sign(r_elt, bsc.private_key_id, bsc.signing_cert, encoding = "UTF-8")
+ r_cms = rpki.x509.up_down_pdu.build(r_elt, bsc.private_key_id, bsc.signing_cert)
+ return r_cms.get_DER()
class repository_elt(data_elt):
"""<repository/> element."""