Some more tests, fix some issues with NetscapeSPKI
diff --git a/OpenSSL/test/test_crypto.py b/OpenSSL/test/test_crypto.py
index 168596e..8f4db2c 100644
--- a/OpenSSL/test/test_crypto.py
+++ b/OpenSSL/test/test_crypto.py
@@ -788,6 +788,27 @@
self.assertRaises(ValueError, request.sign, pub, 'MD5')
+ def test_sign(self):
+ """
+ L{X509Req.sign} succeeds when passed a private key object and a valid
+ digest function. C{X509Req.verify} can be used to check the signature.
+ """
+ request = self.signable()
+ key = PKey()
+ key.generate_key(TYPE_RSA, 512)
+ request.set_pubkey(key)
+ request.sign(key, 'MD5')
+ # If the type has a verify method, cover that too.
+ if getattr(request, 'verify', None) is not None:
+ pub = request.get_pubkey()
+ self.assertTrue(request.verify(pub))
+ # Make another key that won't verify.
+ key = PKey()
+ key.generate_key(TYPE_RSA, 512)
+ self.assertRaises(Error, request.verify, key)
+
+
+
class X509ReqTests(TestCase, _PKeyInteractionTestsMixin):
"""
@@ -889,25 +910,6 @@
self.assertRaises(TypeError, request.add_extensions, [], None)
- def test_sign(self):
- """
- L{X509Req.sign} succeeds when passed a private key object and a valid
- digest function. C{X509Req.verify} can be used to check the signature.
- """
- request = self.signable()
- key = PKey()
- key.generate_key(TYPE_RSA, 512)
- request.set_pubkey(key)
- request.sign(key, 'MD5')
- pub = request.get_pubkey()
- self.assertTrue(request.verify(pub))
-
- # Make another key that won't verify.
- key = PKey()
- key.generate_key(TYPE_RSA, 512)
- self.assertRaises(Error, request.verify, key)
-
-
class X509Tests(TestCase, _PKeyInteractionTestsMixin):
"""
@@ -1968,10 +1970,17 @@
-class NetscapeSPKITests(TestCase):
+class NetscapeSPKITests(TestCase, _PKeyInteractionTestsMixin):
"""
Tests for L{OpenSSL.crypto.NetscapeSPKI}.
"""
+ def signable(self):
+ """
+ Return a new L{NetscapeSPKI} for use with signing tests.
+ """
+ return NetscapeSPKI()
+
+
def test_type(self):
"""
L{NetscapeSPKI} and L{NetscapeSPKIType} refer to the same type object
@@ -1988,6 +1997,7 @@
nspki = NetscapeSPKI()
self.assertTrue(isinstance(nspki, NetscapeSPKIType))
+
# XXX sign
# XXX verify
# XXX get_pubkey