aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/primitives
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
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')
-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):