mirror of https://github.com/caronc/apprise
PEM backend definitions handling for forwards compatability (#1410)
parent
548e99ac72
commit
969c8db1d3
|
@ -659,7 +659,9 @@ class ApprisePEMController:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# 3. Generate ephemeral EC private key
|
# 3. Generate ephemeral EC private key
|
||||||
ephemeral_private_key = ec.generate_private_key(ec.SECP256R1())
|
ephemeral_private_key = ec.generate_private_key(
|
||||||
|
ec.SECP256R1(), default_backend()
|
||||||
|
)
|
||||||
|
|
||||||
# 4. Derive shared secret
|
# 4. Derive shared secret
|
||||||
shared_secret = ephemeral_private_key.exchange(ec.ECDH(), public_key)
|
shared_secret = ephemeral_private_key.exchange(ec.ECDH(), public_key)
|
||||||
|
@ -769,12 +771,14 @@ class ApprisePEMController:
|
||||||
length=32,
|
length=32,
|
||||||
salt=salt,
|
salt=salt,
|
||||||
info=b"ecies-encryption",
|
info=b"ecies-encryption",
|
||||||
|
backend=default_backend(),
|
||||||
).derive(shared_secret)
|
).derive(shared_secret)
|
||||||
|
|
||||||
# 6. Decrypt using AES-GCM
|
# 6. Decrypt using AES-GCM
|
||||||
decryptor = Cipher(
|
decryptor = Cipher(
|
||||||
algorithms.AES(derived_key),
|
algorithms.AES(derived_key),
|
||||||
modes.GCM(iv, tag),
|
modes.GCM(iv, tag),
|
||||||
|
backend=default_backend(),
|
||||||
).decryptor()
|
).decryptor()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue