diff options
Diffstat (limited to 'tests/hazmat/primitives')
-rw-r--r-- | tests/hazmat/primitives/test_dh.py | 52 |
1 files changed, 35 insertions, 17 deletions
diff --git a/tests/hazmat/primitives/test_dh.py b/tests/hazmat/primitives/test_dh.py index 5b35fe51..bdc592e9 100644 --- a/tests/hazmat/primitives/test_dh.py +++ b/tests/hazmat/primitives/test_dh.py @@ -18,7 +18,9 @@ from ...doubles import DummyKeySerializationEncryption from ...utils import load_nist_vectors, load_vectors_from_file -def _skip_dhx_unsupported(backend): +def _skip_dhx_unsupported(backend, is_dhx): + if not is_dhx: + return if not backend.dh_x942_serialization_supported(): pytest.skip( "DH x9.42 serialization is not supported" @@ -398,30 +400,34 @@ class TestDHPrivateKeySerialization(object): assert loaded_priv_num == priv_num @pytest.mark.parametrize( - ("key_path", "loader_func", "encoding"), + ("key_path", "loader_func", "encoding", "is_dhx"), [ ( os.path.join("asymmetric", "DH", "dhkey.pem"), serialization.load_pem_private_key, serialization.Encoding.PEM, + False, ), ( os.path.join("asymmetric", "DH", "dhkey.der"), serialization.load_der_private_key, serialization.Encoding.DER, + False, ), ( os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.pem"), serialization.load_pem_private_key, serialization.Encoding.PEM, + True, ), ( os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.der"), serialization.load_der_private_key, serialization.Encoding.DER, + True, ) ] ) def test_private_bytes_match(self, key_path, loader_func, - encoding, backend): - _skip_dhx_unsupported(backend) + encoding, is_dhx, backend): + _skip_dhx_unsupported(backend, is_dhx) key_bytes = load_vectors_from_file( key_path, lambda pemfile: pemfile.read(), mode="rb" @@ -434,30 +440,34 @@ class TestDHPrivateKeySerialization(object): assert serialized == key_bytes @pytest.mark.parametrize( - ("key_path", "loader_func", "vec_path"), + ("key_path", "loader_func", "vec_path", "is_dhx"), [ ( os.path.join("asymmetric", "DH", "dhkey.pem"), serialization.load_pem_private_key, - os.path.join("asymmetric", "DH", "dhkey.txt") + os.path.join("asymmetric", "DH", "dhkey.txt"), + False, ), ( os.path.join("asymmetric", "DH", "dhkey.der"), serialization.load_der_private_key, - os.path.join("asymmetric", "DH", "dhkey.txt") + os.path.join("asymmetric", "DH", "dhkey.txt"), + False, ), ( os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.pem"), serialization.load_pem_private_key, - os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.txt") + os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.txt"), + True, ), ( os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.der"), serialization.load_der_private_key, - os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.txt") + os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.txt"), + True, ) ] ) def test_private_bytes_values(self, key_path, loader_func, - vec_path, backend): - _skip_dhx_unsupported(backend) + vec_path, is_dhx, backend): + _skip_dhx_unsupported(backend, is_dhx) key_bytes = load_vectors_from_file( key_path, lambda pemfile: pemfile.read(), mode="rb" @@ -558,30 +568,34 @@ class TestDHPublicKeySerialization(object): assert loaded_pub_num == pub_num @pytest.mark.parametrize( - ("key_path", "loader_func", "encoding"), + ("key_path", "loader_func", "encoding", "is_dhx"), [ ( os.path.join("asymmetric", "DH", "dhpub.pem"), serialization.load_pem_public_key, serialization.Encoding.PEM, + False, ), ( os.path.join("asymmetric", "DH", "dhpub.der"), serialization.load_der_public_key, serialization.Encoding.DER, + False, ), ( os.path.join("asymmetric", "DH", "dhpub_rfc5114_2.pem"), serialization.load_pem_public_key, serialization.Encoding.PEM, + True, ), ( os.path.join("asymmetric", "DH", "dhpub_rfc5114_2.der"), serialization.load_der_public_key, serialization.Encoding.DER, + True, ) ] ) def test_public_bytes_match(self, key_path, loader_func, - encoding, backend): - _skip_dhx_unsupported(backend) + encoding, is_dhx, backend): + _skip_dhx_unsupported(backend, is_dhx) key_bytes = load_vectors_from_file( key_path, lambda pemfile: pemfile.read(), mode="rb" @@ -594,30 +608,34 @@ class TestDHPublicKeySerialization(object): assert serialized == key_bytes @pytest.mark.parametrize( - ("key_path", "loader_func", "vec_path"), + ("key_path", "loader_func", "vec_path", "is_dhx"), [ ( os.path.join("asymmetric", "DH", "dhpub.pem"), serialization.load_pem_public_key, os.path.join("asymmetric", "DH", "dhkey.txt"), + False, ), ( os.path.join("asymmetric", "DH", "dhpub.der"), serialization.load_der_public_key, os.path.join("asymmetric", "DH", "dhkey.txt"), + False, ), ( os.path.join("asymmetric", "DH", "dhpub_rfc5114_2.pem"), serialization.load_pem_public_key, os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.txt"), + True, ), ( os.path.join("asymmetric", "DH", "dhpub_rfc5114_2.der"), serialization.load_der_public_key, os.path.join("asymmetric", "DH", "dhkey_rfc5114_2.txt"), + True, ) ] ) def test_public_bytes_values(self, key_path, loader_func, - vec_path, backend): - _skip_dhx_unsupported(backend) + vec_path, is_dhx, backend): + _skip_dhx_unsupported(backend, is_dhx) key_bytes = load_vectors_from_file( key_path, lambda pemfile: pemfile.read(), mode="rb" |