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

16 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._constants import ( 

12 ECDSA_SHA2_NISTP256, 

13 ECDSA_SHA2_NISTP384, 

14 ECDSA_SHA2_NISTP521, 

15 ED25519, 

16 KEY_TYPE_ECDSA, 

17 KEY_TYPE_ED25519, 

18 KEY_TYPE_MLDSA, 

19 KEY_TYPE_RSA, 

20 MLDSA_44_1, 

21 MLDSA_65_1, 

22 MLDSA_87_1, 

23 RSA_PKCS1V15_SHA224, 

24 RSA_PKCS1V15_SHA256, 

25 RSA_PKCS1V15_SHA384, 

26 RSA_PKCS1V15_SHA512, 

27 RSASSA_PSS_SHA224, 

28 RSASSA_PSS_SHA256, 

29 RSASSA_PSS_SHA384, 

30 RSASSA_PSS_SHA512, 

31) 

32from securesystemslib.signer._crypto_signer import CryptoSigner 

33from securesystemslib.signer._gcp_signer import GCPSigner 

34from securesystemslib.signer._gpg_signer import GPGKey, GPGSigner 

35from securesystemslib.signer._hsm_signer import HSMSigner 

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

37from securesystemslib.signer._signature import Signature 

38from securesystemslib.signer._signer import ( 

39 SIGNER_FOR_URI_SCHEME, 

40 SecretsHandler, 

41 Signer, 

42) 

43from securesystemslib.signer._sigstore_signer import SigstoreKey, SigstoreSigner 

44from securesystemslib.signer._tkey_signer import TKeySigner 

45from securesystemslib.signer._vault_signer import VaultSigner 

46 

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

48SIGNER_FOR_URI_SCHEME.update( 

49 { 

50 CryptoSigner.SCHEME: CryptoSigner, 

51 GCPSigner.SCHEME: GCPSigner, 

52 HSMSigner.SCHEME: HSMSigner, 

53 GPGSigner.SCHEME: GPGSigner, 

54 AzureSigner.SCHEME: AzureSigner, 

55 AWSSigner.SCHEME: AWSSigner, 

56 VaultSigner.SCHEME: VaultSigner, 

57 TKeySigner.SCHEME: TKeySigner, 

58 } 

59) 

60 

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

62# SigstoreSigner 

63 

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

65KEY_FOR_TYPE_AND_SCHEME.update( 

66 { 

67 (KEY_TYPE_ECDSA, ECDSA_SHA2_NISTP256): SSlibKey, 

68 (KEY_TYPE_ECDSA, ECDSA_SHA2_NISTP384): SSlibKey, 

69 (KEY_TYPE_ECDSA, ECDSA_SHA2_NISTP521): SSlibKey, 

70 # Deprecated: legacy keytype strings (keytype == scheme), use KEY_TYPE_ECDSA 

71 (ECDSA_SHA2_NISTP256, ECDSA_SHA2_NISTP256): SSlibKey, 

72 (ECDSA_SHA2_NISTP384, ECDSA_SHA2_NISTP384): SSlibKey, 

73 (ECDSA_SHA2_NISTP521, ECDSA_SHA2_NISTP521): SSlibKey, 

74 (KEY_TYPE_ED25519, ED25519): SSlibKey, 

75 # ML-DSA keytype defined in https://github.com/theupdateframework/taps/blob/master/tap21.md 

76 (KEY_TYPE_MLDSA, MLDSA_44_1): SSlibKey, 

77 (KEY_TYPE_MLDSA, MLDSA_65_1): SSlibKey, 

78 (KEY_TYPE_MLDSA, MLDSA_87_1): SSlibKey, 

79 (KEY_TYPE_RSA, RSASSA_PSS_SHA256): SSlibKey, 

80 (KEY_TYPE_RSA, RSASSA_PSS_SHA384): SSlibKey, 

81 (KEY_TYPE_RSA, RSASSA_PSS_SHA512): SSlibKey, 

82 (KEY_TYPE_RSA, RSA_PKCS1V15_SHA256): SSlibKey, 

83 (KEY_TYPE_RSA, RSA_PKCS1V15_SHA384): SSlibKey, 

84 (KEY_TYPE_RSA, RSA_PKCS1V15_SHA512): SSlibKey, 

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

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

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

88 } 

89) 

90 

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

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