aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/primitives/test_serialization.py
diff options
context:
space:
mode:
authorunknown <mrh2@MRH2W7D.uk.cambridgeconsultants.com>2014-09-11 18:27:56 +0100
committerunknown <mrh2@MRH2W7D.uk.cambridgeconsultants.com>2014-09-11 18:27:56 +0100
commit04e783f5610d3983bb3cbdf82720d17a97c779a7 (patch)
tree3e34507f87081a5e9cc06f2c1229f2f0858f822d /tests/hazmat/primitives/test_serialization.py
parentb8599c085d3e295f460f0117f7df9288a4841d7f (diff)
downloadcryptography-04e783f5610d3983bb3cbdf82720d17a97c779a7.tar.gz
cryptography-04e783f5610d3983bb3cbdf82720d17a97c779a7.tar.bz2
cryptography-04e783f5610d3983bb3cbdf82720d17a97c779a7.zip
Implemented support for loading EC private keys
Loads Elliptic Curve private keys from .PEM files, whether encrypted or unencrypted, given that the encryption method is supported. Also included changes to the test files and documentation for said method.
Diffstat (limited to 'tests/hazmat/primitives/test_serialization.py')
-rw-r--r--tests/hazmat/primitives/test_serialization.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/hazmat/primitives/test_serialization.py b/tests/hazmat/primitives/test_serialization.py
index 9333a6bd..4d32fba2 100644
--- a/tests/hazmat/primitives/test_serialization.py
+++ b/tests/hazmat/primitives/test_serialization.py
@@ -46,6 +46,29 @@ class TestPEMSerialization(object):
if isinstance(key, interfaces.RSAPrivateKeyWithNumbers):
_check_rsa_private_numbers(key.private_numbers())
+ def test_load_pem_ec_private_key_unencrypted(self, backend):
+ key = load_vectors_from_file(
+ os.path.join(
+ "asymmetric", "PEM_Serialization", "ec_private_key.pem"),
+ lambda pemfile: load_pem_private_key(
+ pemfile.read().encode(), None, backend
+ )
+ )
+
+ assert key
+ assert isinstance(key, interfaces.EllipticCurvePrivateKey)
+
+ def test_load_pem_ec_private_key_encrypted(self, backend):
+ key = load_vectors_from_file(
+ os.path.join(
+ "asymmetric", "PEM_Serialization", "ec_private_key_encrypted.pem"),
+ lambda pemfile: load_pem_private_key(
+ pemfile.read().encode(), b"123456", backend
+ )
+ )
+
+ assert key
+ assert isinstance(key, interfaces.EllipticCurvePrivateKey)
@pytest.mark.traditional_openssl_serialization
class TestTraditionalOpenSSLSerialization(object):