aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/primitives/test_ec.py
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-03-10 08:38:57 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-03-10 08:38:57 -0500
commit1955ebfb81ac498a86ccd50fd582ca8216a5fa56 (patch)
tree4ce1741c43f8f810ca55d64047aacc8104bc0fd1 /tests/hazmat/primitives/test_ec.py
parentd0109a59993ba568bb81a67a062dcfb460692447 (diff)
downloadcryptography-1955ebfb81ac498a86ccd50fd582ca8216a5fa56.tar.gz
cryptography-1955ebfb81ac498a86ccd50fd582ca8216a5fa56.tar.bz2
cryptography-1955ebfb81ac498a86ccd50fd582ca8216a5fa56.zip
support DER serialization of public keys
Diffstat (limited to 'tests/hazmat/primitives/test_ec.py')
-rw-r--r--tests/hazmat/primitives/test_ec.py31
1 files changed, 23 insertions, 8 deletions
diff --git a/tests/hazmat/primitives/test_ec.py b/tests/hazmat/primitives/test_ec.py
index 40b1741c..a0d7861d 100644
--- a/tests/hazmat/primitives/test_ec.py
+++ b/tests/hazmat/primitives/test_ec.py
@@ -558,19 +558,34 @@ class TestECSerialization(object):
@pytest.mark.requires_backend_interface(interface=EllipticCurveBackend)
@pytest.mark.requires_backend_interface(interface=PEMSerializationBackend)
class TestEllipticCurvePEMPublicKeySerialization(object):
- def test_public_bytes_unencrypted_pem(self, backend):
+ @pytest.mark.parametrize(
+ ("key_path", "loader_func", "encoding"),
+ [
+ (
+ os.path.join(
+ "asymmetric", "PEM_Serialization", "ec_public_key.pem"
+ ),
+ serialization.load_pem_public_key,
+ serialization.Encoding.PEM,
+ ), (
+ os.path.join(
+ "asymmetric", "DER_Serialization", "ec_public_key.der"
+ ),
+ serialization.load_der_public_key,
+ serialization.Encoding.DER,
+ )
+ ]
+ )
+ def test_public_bytes_match(self, key_path, loader_func, encoding,
+ backend):
_skip_curve_unsupported(backend, ec.SECP256R1())
key_bytes = load_vectors_from_file(
- os.path.join(
- "asymmetric", "PEM_Serialization", "ec_public_key.pem"
- ),
- lambda pemfile: pemfile.read().encode()
+ key_path, lambda pemfile: pemfile.read(), mode="rb"
)
- key = serialization.load_pem_public_key(key_bytes, backend)
+ key = loader_func(key_bytes, backend)
_skip_if_no_serialization(key, backend)
serialized = key.public_bytes(
- serialization.Encoding.PEM,
- serialization.PublicFormat.SubjectPublicKeyInfo,
+ encoding, serialization.PublicFormat.SubjectPublicKeyInfo,
)
assert serialized == key_bytes