aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/primitives/test_serialization.py
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2014-12-21 15:58:19 -0800
committerAlex Gaynor <alex.gaynor@gmail.com>2014-12-21 15:58:19 -0800
commit6e9a42d9badb4601eea935e534c0379bcd60aa8d (patch)
tree4834fc83b5767175caa0e595c888f9c3becb2c26 /tests/hazmat/primitives/test_serialization.py
parent7dc50989d6dcd7e2fd069ebef61d3107fd40fb95 (diff)
downloadcryptography-6e9a42d9badb4601eea935e534c0379bcd60aa8d.tar.gz
cryptography-6e9a42d9badb4601eea935e534c0379bcd60aa8d.tar.bz2
cryptography-6e9a42d9badb4601eea935e534c0379bcd60aa8d.zip
Reduce duplication in the serialization tests -- refs #1564
Diffstat (limited to 'tests/hazmat/primitives/test_serialization.py')
-rw-r--r--tests/hazmat/primitives/test_serialization.py57
1 files changed, 22 insertions, 35 deletions
diff --git a/tests/hazmat/primitives/test_serialization.py b/tests/hazmat/primitives/test_serialization.py
index 341ccf80..6169dd83 100644
--- a/tests/hazmat/primitives/test_serialization.py
+++ b/tests/hazmat/primitives/test_serialization.py
@@ -31,12 +31,30 @@ from ...utils import raises_unsupported_algorithm
@pytest.mark.requires_backend_interface(interface=PEMSerializationBackend)
class TestPEMSerialization(object):
- def test_load_pem_rsa_private_key(self, backend):
+ @pytest.mark.parametrize(
+ ("key_file", "password"),
+ [
+ (["PEM_Serialization", "rsa_private_key.pem"], b"123456"),
+ (["PKCS8", "unenc-rsa-pkcs8.pem"], None),
+ (["PKCS8", "enc-rsa-pkcs8.pem"], b"foobar"),
+ (["PKCS8", "enc2-rsa-pkcs8.pem"], b"baz"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9607.pem"], b"123456"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9671.pem"], b"123456"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9925.pem"], b"123456"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9926.pem"], b"123456"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9927.pem"], b"123456"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9928.pem"], b"123456"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9929.pem"], b"123456"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9930.pem"], b"123456"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9931.pem"], b"123456"),
+ (["PKCS8", "pkcs12_s2k_pem-X_9932.pem"], b"123456"),
+ ]
+ )
+ def test_load_pem_rsa_private_key(self, key_file, password, backend):
key = load_vectors_from_file(
- os.path.join(
- "asymmetric", "PEM_Serialization", "rsa_private_key.pem"),
+ os.path.join("asymmetric", *key_file),
lambda pemfile: load_pem_private_key(
- pemfile.read().encode(), b"123456", backend
+ pemfile.read().encode(), password, backend
)
)
@@ -360,37 +378,6 @@ class TestTraditionalOpenSSLSerialization(object):
@pytest.mark.requires_backend_interface(interface=PEMSerializationBackend)
class TestPKCS8Serialization(object):
- @pytest.mark.parametrize(
- ("key_file", "password"),
- [
- ("unenc-rsa-pkcs8.pem", None),
- ("enc-rsa-pkcs8.pem", b"foobar"),
- ("enc2-rsa-pkcs8.pem", b"baz"),
- ("pkcs12_s2k_pem-X_9607.pem", b"123456"),
- ("pkcs12_s2k_pem-X_9671.pem", b"123456"),
- ("pkcs12_s2k_pem-X_9925.pem", b"123456"),
- ("pkcs12_s2k_pem-X_9926.pem", b"123456"),
- ("pkcs12_s2k_pem-X_9927.pem", b"123456"),
- ("pkcs12_s2k_pem-X_9928.pem", b"123456"),
- ("pkcs12_s2k_pem-X_9929.pem", b"123456"),
- ("pkcs12_s2k_pem-X_9930.pem", b"123456"),
- ("pkcs12_s2k_pem-X_9931.pem", b"123456"),
- ("pkcs12_s2k_pem-X_9932.pem", b"123456"),
- ]
- )
- def test_load_pem_rsa_private_key(self, key_file, password, backend):
- key = load_vectors_from_file(
- os.path.join(
- "asymmetric", "PKCS8", key_file),
- lambda pemfile: load_pem_private_key(
- pemfile.read().encode(), password, backend
- )
- )
-
- assert key
- assert isinstance(key, interfaces.RSAPrivateKey)
- if isinstance(key, interfaces.RSAPrivateKeyWithNumbers):
- _check_rsa_private_numbers(key.private_numbers())
@pytest.mark.parametrize(
("key_file", "password"),