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

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

15 statements  

1""" 

2The Signer API 

3 

4This module provides extensible interfaces for public keys and signers: 

5Some implementations are provided by default but more can be added by users. 

6""" 

7 

8# ruff: noqa: F401 

9from securesystemslib.signer._aws_signer import AWSSigner 

10from securesystemslib.signer._azure_signer import AzureSigner 

11from securesystemslib.signer._crypto_signer import CryptoSigner 

12from securesystemslib.signer._gcp_signer import GCPSigner 

13from securesystemslib.signer._gpg_signer import GPGKey, GPGSigner 

14from securesystemslib.signer._hsm_signer import HSMSigner 

15from securesystemslib.signer._key import KEY_FOR_TYPE_AND_SCHEME, Key, SSlibKey 

16from securesystemslib.signer._signature import Signature 

17from securesystemslib.signer._signer import ( 

18 SIGNER_FOR_URI_SCHEME, 

19 SecretsHandler, 

20 Signer, 

21) 

22from securesystemslib.signer._sigstore_signer import SigstoreKey, SigstoreSigner 

23from securesystemslib.signer._spx_signer import ( 

24 SpxKey, 

25 SpxSigner, 

26 generate_spx_key_pair, 

27) 

28from securesystemslib.signer._vault_signer import VaultSigner 

29 

30# Register supported private key uri schemes and the Signers implementing them 

31SIGNER_FOR_URI_SCHEME.update( 

32 { 

33 CryptoSigner.SCHEME: CryptoSigner, 

34 GCPSigner.SCHEME: GCPSigner, 

35 HSMSigner.SCHEME: HSMSigner, 

36 GPGSigner.SCHEME: GPGSigner, 

37 AzureSigner.SCHEME: AzureSigner, 

38 AWSSigner.SCHEME: AWSSigner, 

39 VaultSigner.SCHEME: VaultSigner, 

40 } 

41) 

42 

43# Signers with currently unstable metadata formats, not supported by default: 

44# SigstoreSigner, 

45# SpxSigner (also does not yet support private key uri scheme) 

46 

47# Register supported key types and schemes, and the Keys implementing them 

48KEY_FOR_TYPE_AND_SCHEME.update( 

49 { 

50 ("ecdsa", "ecdsa-sha2-nistp256"): SSlibKey, 

51 ("ecdsa", "ecdsa-sha2-nistp384"): SSlibKey, 

52 ("ecdsa", "ecdsa-sha2-nistp521"): SSlibKey, 

53 ("ecdsa-sha2-nistp256", "ecdsa-sha2-nistp256"): SSlibKey, 

54 ("ecdsa-sha2-nistp384", "ecdsa-sha2-nistp384"): SSlibKey, 

55 ("ecdsa-sha2-nistp521", "ecdsa-sha2-nistp521"): SSlibKey, 

56 ("ed25519", "ed25519"): SSlibKey, 

57 ("rsa", "rsassa-pss-sha224"): SSlibKey, 

58 ("rsa", "rsassa-pss-sha256"): SSlibKey, 

59 ("rsa", "rsassa-pss-sha384"): SSlibKey, 

60 ("rsa", "rsassa-pss-sha512"): SSlibKey, 

61 ("rsa", "rsa-pkcs1v15-sha224"): SSlibKey, 

62 ("rsa", "rsa-pkcs1v15-sha256"): SSlibKey, 

63 ("rsa", "rsa-pkcs1v15-sha384"): SSlibKey, 

64 ("rsa", "rsa-pkcs1v15-sha512"): SSlibKey, 

65 ("rsa", "pgp+rsa-pkcsv1.5"): GPGKey, 

66 ("dsa", "pgp+dsa-fips-180-2"): GPGKey, 

67 ("eddsa", "pgp+eddsa-ed25519"): GPGKey, 

68 } 

69) 

70 

71# Keys with currently unstable metadata formats, not supported by default: 

72# ("sphincs", "sphincs-shake-128s"): SpxKey, 

73# ("sigstore-oidc", "Fulcio"): SigstoreKey,