aboutsummaryrefslogtreecommitdiff
path: root/scripts/rpki/sql.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2007-11-07 02:56:12 +0000
committerRob Austein <sra@hactrn.net>2007-11-07 02:56:12 +0000
commit075106e3c1f61e6a6c69c12d6fe2d2ad1e137978 (patch)
tree68a996cb2283bdb77dd1bc6d8eb43cc010dc306f /scripts/rpki/sql.py
parentfdb77eb781425bf679814601832a0e4dd63e1c30 (diff)
Rewrite ca_detail_obj.sql_decode()
svn path=/scripts/rpki/sql.py; revision=1259
Diffstat (limited to 'scripts/rpki/sql.py')
-rw-r--r--scripts/rpki/sql.py24
1 files changed, 14 insertions, 10 deletions
diff --git a/scripts/rpki/sql.py b/scripts/rpki/sql.py
index a944f7f4..be16b24e 100644
--- a/scripts/rpki/sql.py
+++ b/scripts/rpki/sql.py
@@ -311,16 +311,20 @@ class ca_detail_obj(sql_persistant):
def sql_decode(self, vals):
"""Decode SQL representation of a ca_detail_obj."""
sql_persistant.sql_decode(self, vals)
- self.private_key_id = rpki.x509.RSA(DER = self.private_key_id)
- self.public_key = rpki.x509.RSApublic(DER = self.public_key)
- assert self.public_key.get_DER() == self.private_key_id.get_public_DER()
- self.latest_ca_cert = rpki.x509.X509(DER = self.latest_ca_cert)
- self.manifest_private_key_id = rpki.x509.RSA(DER = self.manifest_private_key_id)
- self.manifest_public_key = rpki.x509.RSApublic(DER = self.manifest_public_key)
- assert self.manifest_public_key.get_DER() == self.manifest_private_key_id.get_public_DER()
- self.latest_manifest_cert = rpki.x509.X509(DER = self.latest_manifest_cert)
- self.latest_manifest = rpki.x509.SignedManifest(DER = self.latest_manifest)
- self.latest_crl = rpki.x509.CRL(DER = self.latest_crl)
+ for i,t in (("private_key_id", rpki.x509.RSA),
+ ("public_key", rpki.x509.RSApublic),
+ ("latest_ca_cert", rpki.x509.X509),
+ ("manifest_private_key_id", rpki.x509.RSA),
+ ("manifest_public_key", rpki.x509.RSApublic),
+ ("latest_manifest_cert", rpki.x509.X509),
+ ("latest_manifest", rpki.x509.SignedManifest),
+ ("latest_crl", rpki.x509.CRL)):
+ if getattr(self, i, None) is not None:
+ setattr(self, i, t(DER = getattr(self, i)))
+ assert (self.public_key is None and self.private_key_id is None) or \
+ self.public_key.get_DER() == self.private_key_id.get_public_DER()
+ assert (self.manifest_public_key is None and self.manifest_private_key_id is None) or \
+ self.manifest_public_key.get_DER() == self.manifest_private_key_id.get_public_DER()
def sql_encode(self):
"""Encode SQL representation of a ca_detail_obj."""