Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/securesystemslib/signer/_crypto_utils.py: 25%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

12 statements  

1"""Signer utils for internal use that require pyca/cryptography.""" 

2 

3from cryptography.hazmat.primitives.hashes import ( 

4 SHA224, 

5 SHA256, 

6 SHA384, 

7 SHA512, 

8 HashAlgorithm, 

9) 

10 

11 

12def get_hash_algorithm(name: str) -> HashAlgorithm: 

13 """Helper to return hash algorithm object for name.""" 

14 if name == "sha224": 

15 return SHA224() 

16 elif name == "sha256": 

17 return SHA256() 

18 elif name == "sha384": 

19 return SHA384() 

20 elif name == "sha512": 

21 return SHA512() 

22 

23 raise ValueError(f"Unsupported hash algorithm: {name}")