diff options
Diffstat (limited to 'tests/hazmat')
| -rw-r--r-- | tests/hazmat/backends/test_openssl.py | 2 | ||||
| -rw-r--r-- | tests/hazmat/primitives/test_serialization.py | 39 | 
2 files changed, 40 insertions, 1 deletions
diff --git a/tests/hazmat/backends/test_openssl.py b/tests/hazmat/backends/test_openssl.py index 8fa64bc8..a8198317 100644 --- a/tests/hazmat/backends/test_openssl.py +++ b/tests/hazmat/backends/test_openssl.py @@ -523,7 +523,7 @@ class TestOpenSSLSerializationWithOpenSSL(object):              backend._evp_pkey_to_public_key(key)      def test_very_long_pem_serialization_password(self): -        password = "x" * 1024 +        password = b"x" * 1024          with pytest.raises(ValueError):              load_vectors_from_file( diff --git a/tests/hazmat/primitives/test_serialization.py b/tests/hazmat/primitives/test_serialization.py index 1ba8a3b6..dad056c6 100644 --- a/tests/hazmat/primitives/test_serialization.py +++ b/tests/hazmat/primitives/test_serialization.py @@ -78,6 +78,26 @@ class TestDERSerialization(object):          _check_dsa_private_numbers(key.private_numbers())      @pytest.mark.parametrize( +        "key_path", +        [ +            ["DER_Serialization", "enc-rsa-pkcs8.der"], +        ] +    ) +    @pytest.mark.requires_backend_interface(interface=RSABackend) +    def test_password_not_bytes(self, key_path, backend): +        key_file = os.path.join("asymmetric", *key_path) +        password = u"this password is not bytes" + +        with pytest.raises(TypeError): +            load_vectors_from_file( +                key_file, +                lambda derfile: load_der_private_key( +                    derfile.read(), password, backend +                ), +                mode="rb" +            ) + +    @pytest.mark.parametrize(          ("key_path", "password"),          [              (["DER_Serialization", "ec_private_key.der"], None), @@ -499,6 +519,25 @@ class TestPEMSerialization(object):              ["PKCS8", "enc-rsa-pkcs8.pem"]          ]      ) +    def test_password_not_bytes(self, key_path, backend): +        key_file = os.path.join("asymmetric", *key_path) +        password = u"this password is not bytes" + +        with pytest.raises(TypeError): +            load_vectors_from_file( +                key_file, +                lambda pemfile: load_pem_private_key( +                    pemfile.read().encode(), password, backend +                ) +            ) + +    @pytest.mark.parametrize( +        "key_path", +        [ +            ["Traditional_OpenSSL_Serialization", "testrsa-encrypted.pem"], +            ["PKCS8", "enc-rsa-pkcs8.pem"] +        ] +    )      def test_wrong_password(self, key_path, backend):          key_file = os.path.join("asymmetric", *key_path)          password = b"this password is wrong"  | 
