aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/primitives
diff options
context:
space:
mode:
authorAviv Palivoda <palaviv@gmail.com>2017-05-20 01:19:54 +0300
committerPaul Kehrer <paul.l.kehrer@gmail.com>2017-05-19 17:19:54 -0500
commitd2574f5b9d8fd6a8e26fad6fd0f439ed6e494391 (patch)
treeae8a9cef47e3d313f05d05e5711b858dd4796737 /tests/hazmat/primitives
parent21ef4080ec7666299f1268f3bbfb136582744359 (diff)
downloadcryptography-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.py52
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"