Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/jose/constants.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

66 statements  

1import hashlib 

2 

3 

4class Algorithms: 

5 # DS Algorithms 

6 NONE = "none" 

7 HS256 = "HS256" 

8 HS384 = "HS384" 

9 HS512 = "HS512" 

10 RS256 = "RS256" 

11 RS384 = "RS384" 

12 RS512 = "RS512" 

13 ES256 = "ES256" 

14 ES384 = "ES384" 

15 ES512 = "ES512" 

16 

17 # Content Encryption Algorithms 

18 A128CBC_HS256 = "A128CBC-HS256" 

19 A192CBC_HS384 = "A192CBC-HS384" 

20 A256CBC_HS512 = "A256CBC-HS512" 

21 A128GCM = "A128GCM" 

22 A192GCM = "A192GCM" 

23 A256GCM = "A256GCM" 

24 

25 # Pseudo algorithm for encryption 

26 A128CBC = "A128CBC" 

27 A192CBC = "A192CBC" 

28 A256CBC = "A256CBC" 

29 

30 # CEK Encryption Algorithms 

31 DIR = "dir" 

32 RSA1_5 = "RSA1_5" 

33 RSA_OAEP = "RSA-OAEP" 

34 RSA_OAEP_256 = "RSA-OAEP-256" 

35 A128KW = "A128KW" 

36 A192KW = "A192KW" 

37 A256KW = "A256KW" 

38 ECDH_ES = "ECDH-ES" 

39 ECDH_ES_A128KW = "ECDH-ES+A128KW" 

40 ECDH_ES_A192KW = "ECDH-ES+A192KW" 

41 ECDH_ES_A256KW = "ECDH-ES+A256KW" 

42 A128GCMKW = "A128GCMKW" 

43 A192GCMKW = "A192GCMKW" 

44 A256GCMKW = "A256GCMKW" 

45 PBES2_HS256_A128KW = "PBES2-HS256+A128KW" 

46 PBES2_HS384_A192KW = "PBES2-HS384+A192KW" 

47 PBES2_HS512_A256KW = "PBES2-HS512+A256KW" 

48 

49 # Compression Algorithms 

50 DEF = "DEF" 

51 

52 HMAC = {HS256, HS384, HS512} 

53 RSA_DS = {RS256, RS384, RS512} 

54 RSA_KW = {RSA1_5, RSA_OAEP, RSA_OAEP_256} 

55 RSA = RSA_DS.union(RSA_KW) 

56 EC_DS = {ES256, ES384, ES512} 

57 EC_KW = {ECDH_ES, ECDH_ES_A128KW, ECDH_ES_A192KW, ECDH_ES_A256KW} 

58 EC = EC_DS.union(EC_KW) 

59 AES_PSEUDO = {A128CBC, A192CBC, A256CBC, A128GCM, A192GCM, A256GCM} 

60 AES_JWE_ENC = {A128CBC_HS256, A192CBC_HS384, A256CBC_HS512, A128GCM, A192GCM, A256GCM} 

61 AES_ENC = AES_JWE_ENC.union(AES_PSEUDO) 

62 AES_KW = {A128KW, A192KW, A256KW} 

63 AEC_GCM_KW = {A128GCMKW, A192GCMKW, A256GCMKW} 

64 AES = AES_ENC.union(AES_KW) 

65 PBES2_KW = {PBES2_HS256_A128KW, PBES2_HS384_A192KW, PBES2_HS512_A256KW} 

66 

67 HMAC_AUTH_TAG = {A128CBC_HS256, A192CBC_HS384, A256CBC_HS512} 

68 GCM = {A128GCM, A192GCM, A256GCM} 

69 

70 SUPPORTED = HMAC.union(RSA_DS).union(EC_DS).union([DIR]).union(AES_JWE_ENC).union(RSA_KW).union(AES_KW) 

71 

72 ALL = SUPPORTED.union([NONE]).union(AEC_GCM_KW).union(EC_KW).union(PBES2_KW) 

73 

74 HASHES = { 

75 HS256: hashlib.sha256, 

76 HS384: hashlib.sha384, 

77 HS512: hashlib.sha512, 

78 RS256: hashlib.sha256, 

79 RS384: hashlib.sha384, 

80 RS512: hashlib.sha512, 

81 ES256: hashlib.sha256, 

82 ES384: hashlib.sha384, 

83 ES512: hashlib.sha512, 

84 } 

85 

86 KEYS = {} 

87 

88 

89ALGORITHMS = Algorithms() 

90 

91 

92class Zips: 

93 DEF = "DEF" 

94 NONE = None 

95 SUPPORTED = {DEF, NONE} 

96 

97 

98ZIPS = Zips() 

99 

100JWE_SIZE_LIMIT = 250 * 1024