aboutsummaryrefslogtreecommitdiff
path: root/rpkid/tests/smoketest.py
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-02-20 23:03:11 +0000
committerRob Austein <sra@hactrn.net>2014-02-20 23:03:11 +0000
commit401bbea99c1ba43ae0987b6346c65293a8efafa0 (patch)
treebde4f7e451ab6795b211631cb2e62db1ac07d481 /rpkid/tests/smoketest.py
parent4c537cad182aa3f4f5aea9322759cea88e2210bc (diff)
Whack RSA-specific code to a more general API using PrivateKey and
PublicKey classes, with RSA and ECDSA as subclasses extending PrivateKey. Revised API not necessarily in final form yet, but good enough for smoketest to generate ECDSA keys for testing router certs. svn path=/branches/tk671/; revision=5679
Diffstat (limited to 'rpkid/tests/smoketest.py')
-rw-r--r--rpkid/tests/smoketest.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/rpkid/tests/smoketest.py b/rpkid/tests/smoketest.py
index 7f284550..5512b5bc 100644
--- a/rpkid/tests/smoketest.py
+++ b/rpkid/tests/smoketest.py
@@ -134,6 +134,8 @@ pubd_pubd_cert = None
pubd_last_cms_time = None
+ecdsa_params = None
+
class CantRekeyYAMLLeaf(Exception):
"""
Can't rekey YAML leaf.
@@ -380,12 +382,18 @@ class router_cert(object):
Representation for a router_cert object.
"""
+ _ecparams = None
+
+ @classmethod
+ def ecparams(cls):
+ if cls._ecparams is None:
+ cls._ecparams = rpki.x509.KeyParams.generateEC()
+ return cls._ecparams
+
def __init__(self, asn, router_id):
self.asn = rpki.resource_set.resource_set_as("".join(str(asn).split()))
self.router_id = router_id
-
- rpki.log.warn("Code to generate ECDSA keys not written yet, generating RSA as hack for testing")
- self.keypair = rpki.x509.RSA.generate()
+ self.keypair = rpki.x509.ECDSA.generate(self.ecparams())
self.pkcs10 = rpki.x509.PKCS10.create(
keypair = self.keypair,
cn = "ROUTER-%d" % self.asn[0].min,