diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-06-22 23:27:15 -0500 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-06-22 23:27:15 -0500 |
commit | 370c4da9fe2662d07152a4b78bc09ae45f34decb (patch) | |
tree | 3747182affec9eee4a43498af6ddc2c6923e803c /tests/hazmat | |
parent | c952fb18053afc59104e05ea0e35c85460402d59 (diff) | |
download | cryptography-370c4da9fe2662d07152a4b78bc09ae45f34decb.tar.gz cryptography-370c4da9fe2662d07152a4b78bc09ae45f34decb.tar.bz2 cryptography-370c4da9fe2662d07152a4b78bc09ae45f34decb.zip |
fix ec_cdata_to_evp_pkey bug
We weren't actually returning the object and the tests weren't catching
it because we didn't try to use the evp_pkey property in the tests. The
added test confirms it actually works.
Diffstat (limited to 'tests/hazmat')
-rw-r--r-- | tests/hazmat/primitives/test_ec.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/hazmat/primitives/test_ec.py b/tests/hazmat/primitives/test_ec.py index 82b5b3a1..cc185145 100644 --- a/tests/hazmat/primitives/test_ec.py +++ b/tests/hazmat/primitives/test_ec.py @@ -642,6 +642,24 @@ class TestECSerialization(object): DummyKeyEncryption() ) + def test_public_bytes_from_derived_public_key(self, backend): + _skip_curve_unsupported(backend, ec.SECP256R1()) + key = load_vectors_from_file( + os.path.join( + "asymmetric", "PKCS8", "ec_private_key.pem"), + lambda pemfile: serialization.load_pem_private_key( + pemfile.read().encode(), None, backend + ) + ) + _skip_if_no_serialization(key, backend) + public = key.public_key() + pem = public.public_bytes( + serialization.Encoding.PEM, + serialization.PublicFormat.SubjectPublicKeyInfo + ) + parsed_public = serialization.load_pem_public_key(pem, backend) + assert parsed_public + @pytest.mark.requires_backend_interface(interface=EllipticCurveBackend) @pytest.mark.requires_backend_interface(interface=PEMSerializationBackend) |