Skip to content

Commit 53c459d

Browse files
Added changes to support AES GCM 128 and 192 decryption method
1 parent 6f44315 commit 53c459d

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

client_encryption/jwe_encryption.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,16 @@ def decrypt_payload(payload, config, _params=None):
8484

8585
header = json.loads(decode_jwe(encrypted_value[0]))
8686
cipher_text = decode_jwe(encrypted_value[3])
87+
decryption_method = header['enc']
8788

88-
if header['enc'] == 'A128CBC-HS256':
89+
if decryption_method == 'A128CBC-HS256':
8990
aes = AES.new(key[16:], AES.MODE_CBC, iv) # NOSONAR
90-
else:
91+
elif decryption_method == 'A128GCM' or decryption_method == 'A192GCM' or decryption_method == 'A256GCM':
9192
aad = json.dumps(header).encode("ascii")
9293
aes = AES.new(key, AES.MODE_GCM, iv)
9394
aes.update(aad)
95+
else:
96+
raise EncryptionError("Unsupported decryption method:", decryption_method)
9497

9598
decrypted = aes.decrypt(cipher_text)
9699
decoded_payload = ''.join(c for c in decrypted.decode() if c.isprintable())

0 commit comments

Comments
 (0)