diff options
author | michael-hart <michael.hart1994@gmail.com> | 2014-09-26 00:32:25 +0100 |
---|---|---|
committer | michael-hart <michael.hart1994@gmail.com> | 2014-09-26 00:32:25 +0100 |
commit | cd76c42245efd4dd4c779db28fde7de467493e13 (patch) | |
tree | b9b6afc2d228fd5098c02dd077ab7ef7e914a00a /tests | |
parent | a3204baf9bcfd2288d049c4f27e75c535b4397ed (diff) | |
download | cryptography-cd76c42245efd4dd4c779db28fde7de467493e13.tar.gz cryptography-cd76c42245efd4dd4c779db28fde7de467493e13.tar.bz2 cryptography-cd76c42245efd4dd4c779db28fde7de467493e13.zip |
Added all changes lost in merge reset
Diffstat (limited to 'tests')
-rw-r--r-- | tests/hazmat/backends/test_multibackend.py | 6 | ||||
-rw-r--r-- | tests/hazmat/backends/test_openssl.py | 2 | ||||
-rw-r--r-- | tests/hazmat/primitives/test_serialization.py | 37 |
3 files changed, 40 insertions, 5 deletions
diff --git a/tests/hazmat/backends/test_multibackend.py b/tests/hazmat/backends/test_multibackend.py index 655acc44..e4a05aae 100644 --- a/tests/hazmat/backends/test_multibackend.py +++ b/tests/hazmat/backends/test_multibackend.py @@ -217,6 +217,9 @@ class DummyPEMSerializationBackend(object): def load_pem_private_key(self, data, password): pass + def load_pem_public_key(self, data): + pass + class TestMultiBackend(object): def test_ciphers(self): @@ -532,7 +535,10 @@ class TestMultiBackend(object): backend = MultiBackend([DummyPEMSerializationBackend()]) backend.load_pem_private_key(b"keydata", None) + backend.load_pem_public_key(b"keydata") backend = MultiBackend([]) with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_SERIALIZATION): backend.load_pem_private_key(b"keydata", None) + with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_SERIALIZATION): + backend.load_pem_public_key(b"keydata") diff --git a/tests/hazmat/backends/test_openssl.py b/tests/hazmat/backends/test_openssl.py index cf70f109..d4c5e2e7 100644 --- a/tests/hazmat/backends/test_openssl.py +++ b/tests/hazmat/backends/test_openssl.py @@ -473,6 +473,8 @@ class TestOpenSSLSerialisationWithOpenSSL(object): key = pretend.stub(type="unsupported") with raises_unsupported_algorithm(None): backend._evp_pkey_to_private_key(key) + with raises_unsupported_algorithm(None): + backend._evp_pkey_to_public_key(key) def test_very_long_pem_serialization_password(self): password = "x" * 1024 diff --git a/tests/hazmat/primitives/test_serialization.py b/tests/hazmat/primitives/test_serialization.py index 4bc7e811..2ee096be 100644 --- a/tests/hazmat/primitives/test_serialization.py +++ b/tests/hazmat/primitives/test_serialization.py @@ -82,21 +82,40 @@ class TestPEMSerialization(object): assert key assert isinstance(key, interfaces.EllipticCurvePrivateKey) - def test_load_pem_rsa_public_key(self, backend): - key = load_vectors_from_file( + @pytest.mark.parametrize( + ("key_file"), + [ + os.path.join("asymmetric", "PKCS8", "unenc-rsa-pkcs8.pub.pem"), os.path.join( "asymmetric", "PEM_Serialization", "rsa_public_key.pem"), + ), + ] + ) + def test_load_pem_rsa_public_key(self, key_file, backend): + key = load_vectors_from_file( + key_file, lambda pemfile: load_pem_public_key( pemfile.read().encode(), backend ) ) assert key assert isinstance(key, interfaces.RSAPublicKey) + if isinstance(key, interfaces.RSAPublicKeyWithNumbers): + numbers = key.public_numbers() + assert numbers.e == 65537 - def test_load_pem_dsa_public_key(self, backend): + @pytest.mark.parametrize( + ("key_file"), + [ + os.path.join("asymmetric", "PKCS8", "unenc-dsa-pkcs8.pub.pem"), + os.path.join( + "asymmetric", "PEM_Serialization", + "dsa_public_key.pem" +), ), + ] + def test_load_pem_dsa_public_key(self, keyfile, backend): key = load_vectors_from_file( - os.path.join( - "asymmetric", "PEM_Serialization", "dsa_public_key.pem"), + keyfile, lambda pemfile: load_pem_public_key( pemfile.read().encode(), backend ) @@ -104,6 +123,14 @@ class TestPEMSerialization(object): assert key assert isinstance(key, interfaces.DSAPublicKey) + def test_load_pem_ec_public_key(self, backend): + key = load_vectors_from_file( + os.path.join("asymmetric", "PEM_Serialization", + "ec_public_key.pem"), + lambda pemfile: load_pem_public_key( + pemfile.read().encode(), backend + ) + ) @pytest.mark.traditional_openssl_serialization class TestTraditionalOpenSSLSerialization(object): |