From 2a46fbe7fcdd0a4b549e00507edc4f673b320f51 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Thu, 2 Aug 2007 16:32:49 +0000 Subject: Checkpoint svn path=/scripts/Makefile; revision=820 --- scripts/rpki/up_down.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'scripts/rpki/up_down.py') diff --git a/scripts/rpki/up_down.py b/scripts/rpki/up_down.py index 4811d068..b66691c5 100644 --- a/scripts/rpki/up_down.py +++ b/scripts/rpki/up_down.py @@ -25,8 +25,11 @@ class base_elt(object): elt.set(key, str(val)) return elt - def make_b64elt(self, elt, name): - lxml.etree.SubElement(elt, "{%s}%s" % (xmlns, name), nsmap=nsmap).text = base64.b64encode(getattr(self, name)) + def make_b64elt(self, elt, name, value=None): + if value is None: + value = getattr(self, name, None) + if value is not None: + lxml.etree.SubElement(elt, "{%s}%s" % (xmlns, name), nsmap=nsmap).text = base64.b64encode(value) class certificate_elt(base_elt): """ @@ -76,7 +79,8 @@ class class_elt(base_elt): def endElement(self, stack, name, text): if name == "issuer": - self.issuer = base64.b64decode(text) + self.issuer = POW.pkix.Certificate() + self.issuer.fromString(base64.b64decode(text)) else: assert name == "class", "Unexpected name %s, stack %s" % (name, stack) stack.pop() @@ -84,7 +88,7 @@ class class_elt(base_elt): def toXML(self): elt = self.make_elt("class", "class_name", "cert_url", "resource_set_as", "resource_set_ipv4", "resource_set_ipv6", "suggested_sia_head") elt.extend([i.toXML() for i in self.certs]) - self.make_b64elt(elt, "issuer") + self.make_b64elt(elt, "issuer", self.issuer.toString()) return elt class list_pdu(base_elt): -- cgit v1.2.3