diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/hazmat/backends/test_multibackend.py | 25 | ||||
-rw-r--r-- | tests/hazmat/primitives/test_rsa.py | 20 |
2 files changed, 35 insertions, 10 deletions
diff --git a/tests/hazmat/backends/test_multibackend.py b/tests/hazmat/backends/test_multibackend.py index ca21c9fc..ce77ce2f 100644 --- a/tests/hazmat/backends/test_multibackend.py +++ b/tests/hazmat/backends/test_multibackend.py @@ -16,7 +16,7 @@ import pytest from cryptography import utils from cryptography.exceptions import UnsupportedAlgorithm from cryptography.hazmat.backends.interfaces import ( - CipherBackend, HashBackend, HMACBackend, PBKDF2HMACBackend + CipherBackend, HashBackend, HMACBackend, PBKDF2HMACBackend, RSABackend ) from cryptography.hazmat.backends.multibackend import MultiBackend from cryptography.hazmat.primitives import hashes, hmac @@ -67,7 +67,7 @@ class DummyHMACBackend(object): @utils.register_interface(PBKDF2HMACBackend) -class DummyPBKDF2HMAC(object): +class DummyPBKDF2HMACBackend(object): def __init__(self, supported_algorithms): self._algorithms = supported_algorithms @@ -80,6 +80,12 @@ class DummyPBKDF2HMAC(object): raise UnsupportedAlgorithm +@utils.register_interface(RSABackend) +class DummyRSABackend(object): + def generate_rsa_private_key(self, public_exponent, private_key): + pass + + class TestMultiBackend(object): def test_ciphers(self): backend = MultiBackend([ @@ -134,7 +140,7 @@ class TestMultiBackend(object): def test_pbkdf2(self): backend = MultiBackend([ - DummyPBKDF2HMAC([hashes.MD5]) + DummyPBKDF2HMACBackend([hashes.MD5]) ]) assert backend.pbkdf2_hmac_supported(hashes.MD5()) @@ -142,3 +148,16 @@ class TestMultiBackend(object): with pytest.raises(UnsupportedAlgorithm): backend.derive_pbkdf2_hmac(hashes.SHA1(), 10, b"", 10, b"") + + def test_rsa(self): + backend = MultiBackend([ + DummyRSABackend() + ]) + + backend.generate_rsa_private_key( + key_size=1024, public_exponent=65537 + ) + + backend = MultiBackend([]) + with pytest.raises(UnsupportedAlgorithm): + backend.generate_rsa_private_key(key_size=1024, public_exponent=3) diff --git a/tests/hazmat/primitives/test_rsa.py b/tests/hazmat/primitives/test_rsa.py index fdd55e73..0e930e44 100644 --- a/tests/hazmat/primitives/test_rsa.py +++ b/tests/hazmat/primitives/test_rsa.py @@ -49,26 +49,32 @@ class TestRSA(object): ) ) def test_generate_rsa_keys(self, backend, public_exponent, key_size): - skey = backend.generate_rsa_private_key(public_exponent, key_size) + skey = rsa.RSAPrivateKey.generate(public_exponent, key_size, backend) _check_rsa_private_key(skey) assert skey.key_size == key_size assert skey.public_exponent == public_exponent def test_generate_bad_rsa_key(self, backend): with pytest.raises(ValueError): - backend.generate_rsa_private_key(public_exponent=1, key_size=2048) + rsa.RSAPrivateKey.generate(public_exponent=1, + key_size=2048, + backend=backend) with pytest.raises(ValueError): - backend.generate_rsa_private_key(public_exponent=4, key_size=2048) + rsa.RSAPrivateKey.generate(public_exponent=4, + key_size=2048, + backend=backend) def test_cant_generate_insecure_tiny_key(self, backend): with pytest.raises(ValueError): - backend.generate_rsa_private_key(public_exponent=65537, - key_size=511) + rsa.RSAPrivateKey.generate(public_exponent=65537, + key_size=511, + backend=backend) with pytest.raises(ValueError): - backend.generate_rsa_private_key(public_exponent=65537, - key_size=256) + rsa.RSAPrivateKey.generate(public_exponent=65537, + key_size=256, + backend=backend) @pytest.mark.parametrize( "pkcs1_example", |