diff options
author | Aviv Palivoda <palaviv@gmail.com> | 2017-05-20 01:19:54 +0300 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2017-05-19 17:19:54 -0500 |
commit | d2574f5b9d8fd6a8e26fad6fd0f439ed6e494391 (patch) | |
tree | ae8a9cef47e3d313f05d05e5711b858dd4796737 /tests/hazmat/primitives | |
parent | 21ef4080ec7666299f1268f3bbfb136582744359 (diff) | |
download | cryptography-d2574f5b9d8fd6a8e26fad6fd0f439ed6e494391.tar.gz cryptography-d2574f5b9d8fd6a8e26fad6fd0f439ed6e494391.tar.bz2 cryptography-d2574f5b9d8fd6a8e26fad6fd0f439ed6e494391.zip |
Don't skip DH tests when dhx unsupported and no dhx is required (#3484)
* Don't skip DH tests when dhx unsupported and no dhx is required
* Add is_dhx parameter
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" |