aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/x509.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rpki/x509.py')
-rw-r--r--rpkid/rpki/x509.py21
1 files changed, 13 insertions, 8 deletions
diff --git a/rpkid/rpki/x509.py b/rpkid/rpki/x509.py
index ea05c6ef..0b447a4c 100644
--- a/rpkid/rpki/x509.py
+++ b/rpkid/rpki/x509.py
@@ -983,14 +983,19 @@ class ROA(DER_CMS_object):
"""
Build a ROA.
"""
- self = cls()
- r = rpki.roa.RouteOriginAttestation()
- r.version.set(version)
- r.asID.set(asn)
- r.ipAddrBlocks.set((a.to_roa_tuple() for a in (ipv4, ipv6) if a))
- self.set_content(r)
- self.sign(keypair, certs)
- return self
+ try:
+ self = cls()
+ r = rpki.roa.RouteOriginAttestation()
+ r.version.set(version)
+ r.asID.set(asn)
+ r.ipAddrBlocks.set((a.to_roa_tuple() for a in (ipv4, ipv6) if a))
+ self.set_content(r)
+ self.sign(keypair, certs)
+ return self
+ except POW.pkix.DerError, e:
+ rpki.log.debug("Encoding error while generating ROA %r: %s" % (self, e))
+ rpki.log.debug("ROA inner content: %r" % (r,))
+ raise
class XML_CMS_object(CMS_object):
"""