diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-09-24 11:45:41 -0500 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-09-27 09:42:03 -0500 |
commit | c6323f16014748bcda0cc755af7dd2a0e8cc457e (patch) | |
tree | c6f58dc45bed979ccdc7bb3856a5b87ef2edec76 /tests/hazmat | |
parent | e025be284e1a1d19e761b0fff907d126f17b4fb0 (diff) | |
download | cryptography-c6323f16014748bcda0cc755af7dd2a0e8cc457e.tar.gz cryptography-c6323f16014748bcda0cc755af7dd2a0e8cc457e.tar.bz2 cryptography-c6323f16014748bcda0cc755af7dd2a0e8cc457e.zip |
Support EC WithNumbers on OpenSSL backend + tests
Diffstat (limited to 'tests/hazmat')
-rw-r--r-- | tests/hazmat/primitives/test_ec.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/hazmat/primitives/test_ec.py b/tests/hazmat/primitives/test_ec.py index 65461f70..a2613db8 100644 --- a/tests/hazmat/primitives/test_ec.py +++ b/tests/hazmat/primitives/test_ec.py @@ -129,6 +129,42 @@ def test_ec_numbers(): @pytest.mark.elliptic +class TestECWithNumbers(object): + @pytest.mark.parametrize( + ("vector", "hash_type"), + list(itertools.product( + load_vectors_from_file( + os.path.join( + "asymmetric", "ECDSA", "FIPS_186-3", "KeyPair.rsp"), + load_fips_ecdsa_key_pair_vectors + ), + _HASH_TYPES.values() + )) + ) + def test_with_numbers(self, backend, vector, hash_type): + curve_type = _CURVE_TYPES[vector['curve']] + + _skip_ecdsa_vector(backend, curve_type, hash_type) + + key = ec.EllipticCurvePrivateNumbers( + vector['d'], + ec.EllipticCurvePublicNumbers( + vector['x'], + vector['y'], + curve_type() + ) + ).private_key(backend) + assert key + + if isinstance(key, interfaces.EllipticCurvePrivateKeyWithNumbers): + priv_num = key.private_numbers() + assert priv_num.private_value == vector['d'] + assert priv_num.public_numbers.x == vector['x'] + assert priv_num.public_numbers.y == vector['y'] + assert curve_type().name == priv_num.public_numbers.curve.name + + +@pytest.mark.elliptic class TestECDSAVectors(object): @pytest.mark.parametrize( ("vector", "hash_type"), |