diff options
Diffstat (limited to 'rpkid/rpki/x509.py')
-rw-r--r-- | rpkid/rpki/x509.py | 21 |
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): """ |