11import pytest
2+ import warnings
23from cryptography .hazmat .primitives import serialization
34from cryptography .hazmat .primitives .asymmetric import rsa , dsa , ec , ed25519 , ed448
45from openleadr .messaging import get_signature_algorithm_from_private_key
56
67
7- @pytest .mark .parametrize ("key, expected_alg" , [
8- (rsa .generate_private_key (public_exponent = 65537 , key_size = 2048 ), "rsa-sha256" ),
9- (dsa .generate_private_key (key_size = 2048 ), "dsa-sha256" ),
10- (ec .generate_private_key (ec .SECP256R1 ()), "ecdsa-sha3-256" ),
11- (ed25519 .Ed25519PrivateKey .generate (), "rsa-sha256" ),
12- (ed448 .Ed448PrivateKey .generate (), "rsa-sha256" ),
8+ def fxn ():
9+ warnings .warn ("deprecated" , DeprecationWarning )
10+
11+ with warnings .catch_warnings (action = "ignore" ):
12+ fxn ()
13+
14+
15+ test_keys = {
16+ "rsa" : rsa .generate_private_key (public_exponent = 65537 , key_size = 2048 ),
17+ "dsa" : dsa .generate_private_key (key_size = 2048 ),
18+ "ec" : ec .generate_private_key (ec .SECP256R1 ()),
19+ "ed25519" : ed25519 .Ed25519PrivateKey .generate (),
20+ "ed448" : ed448 .Ed448PrivateKey .generate ()
21+ }
22+
23+
24+ @pytest .mark .parametrize ("key_type, expected_alg" , [
25+ ("rsa" , "rsa-sha256" ),
26+ ("dsa" , "dsa-sha256" ),
27+ ("ec" , "ecdsa-sha-256" ),
28+ ("ed25519" , "rsa-sha256" ),
29+ ("ed448" , "rsa-sha256" ),
1330])
14- def test_key_type_sign_alg_match (key , expected_alg ):
31+ def test_key_type_sign_alg_match (key_type , expected_alg ):
32+ test_key = test_keys [key_type ]
1533 key_encoding = serialization .Encoding .PEM
1634 key_format = serialization .PrivateFormat .PKCS8
1735 key_encryption_alg = serialization .NoEncryption ()
18- key_bytes = key .private_bytes (key_encoding , key_format , key_encryption_alg )
36+ key_bytes = test_key .private_bytes (key_encoding , key_format , key_encryption_alg )
37+
1938 detected_alg = get_signature_algorithm_from_private_key (key_bytes )
2039
21- assert detected_alg == expected_alg , f"Expected { expected_alg } but got { detected_alg } "
40+ assert detected_alg == expected_alg
0 commit comments