aboutsummaryrefslogtreecommitdiff
path: root/rpki/irdb/zookeeper.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2016-04-26 22:58:04 +0000
committerRob Austein <sra@hactrn.net>2016-04-26 22:58:04 +0000
commit883112a925885a7dcfcbdaaa4d748e16140f8389 (patch)
treedbed843daf1de3a1884f97e6aa9c9cfdbb3fdc8c /rpki/irdb/zookeeper.py
parent89245def44ce5d2f7fbf665155b42794484c507d (diff)
Handle non-existant root certificate correctly in rpkic extract_root_* commands. Fixes #808.
svn path=/branches/tk705/; revision=6393
Diffstat (limited to 'rpki/irdb/zookeeper.py')
-rw-r--r--rpki/irdb/zookeeper.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/rpki/irdb/zookeeper.py b/rpki/irdb/zookeeper.py
index f0fda08a..72daa952 100644
--- a/rpki/irdb/zookeeper.py
+++ b/rpki/irdb/zookeeper.py
@@ -392,7 +392,11 @@ class Zookeeper(object):
r_msg = self.call_rpkid(q_msg)
assert len(r_msg) == 1 and r_msg[0].tag == rpki.left_right.tag_parent
- cert = rpki.x509.X509(Base64 = r_msg[0].findtext(rpki.left_right.tag_rpki_root_cert))
+ b64 = r_msg[0].findtext(rpki.left_right.tag_rpki_root_cert)
+ if not b64:
+ return None, ()
+
+ cert = rpki.x509.X509(Base64 = b64)
caDirectory, rpkiManifest, signedObjectRepository, rpkiNotify = cert.get_SIA()
sia_base = r_msg[0].get("sia_base")
fn = cert.gSKI() + ".cer"