diff options
author | Rob Austein <sra@hactrn.net> | 2013-10-03 19:28:11 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2013-10-03 19:28:11 +0000 |
commit | 0f4e6b81d500fea8d8cc5050f7c48b3b8e3fa1f4 (patch) | |
tree | 5d08abddb5a96aa530ab15e76e8a691d9784c54f | |
parent | 0a169990ab2e3c1bb1b91354499aaba4289fd862 (diff) |
This script hadn't tracked last rpki.POW rewrite.
svn path=/trunk/; revision=5539
-rw-r--r-- | scripts/x509-dot.py | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/scripts/x509-dot.py b/scripts/x509-dot.py index c820018e..42e1543a 100644 --- a/scripts/x509-dot.py +++ b/scripts/x509-dot.py @@ -65,13 +65,16 @@ class x509(object): else: self.pow = rpki.POW.X509.derRead(text) - self.extensions = dict((e[0], e[2]) for e in (self.pow.getExtension(i) for i in xrange(self.pow.countExtensions()))) - if "subjectKeyIdentifier" in self.extensions: - self.ski = ":".join(["%02X" % ord(i) for i in self.extensions.get("subjectKeyIdentifier")[1:]]) + try: + self.ski = ":".join(["%02X" % ord(i) for i in self.pow.getSKI()]) + except: + pass - if "authorityKeyIdentifier" in self.extensions: - self.aki = ":".join(["%02X" % ord(i) for i in self.extensions.get("authorityKeyIdentifier")[3:]]) + try: + self.aki = ":".join(["%02X" % ord(i) for i in self.pow.getAKI()]) + except: + pass self.subject = self.canonize(self.pow.getSubject()) self.issuer = self.canonize(self.pow.getIssuer()) @@ -83,10 +86,15 @@ class x509(object): def canonize(self, name): - if self.cn_only and len(name) == 1 and name[0][0] == "CN": - return name[0][1] - else: - return "".join("/%s=%s" % n for n in name) + # Probably should just use rpki.x509.X501DN class here. + + try: + if self.cn_only and name[0][0][0] == "2.5.4.3": + return name[0][0][1] + except: + pass + + return name def set_node(self, node): |