mirror of https://github.com/borgbackup/borg.git
fix traceback in --cipher 1 mode (aes-ctr + hmac)
This commit is contained in:
parent
b1bca71483
commit
1f64ce7709
|
@ -338,12 +338,12 @@ class AES_CTR_HMAC:
|
||||||
_, data = self.enc_cipher.compute_mac_and_encrypt(data)
|
_, data = self.enc_cipher.compute_mac_and_encrypt(data)
|
||||||
self.enc_iv = increment_iv(meta.iv, len(data))
|
self.enc_iv = increment_iv(meta.iv, len(data))
|
||||||
aad = get_aad(meta)
|
aad = get_aad(meta)
|
||||||
mac = HMAC(self.hmac_key, aad + data, sha256).digest() # XXX mac / hash flexibility
|
mac = HMAC_SHA256(self.hmac_key, aad + data).digest() # XXX mac / hash flexibility
|
||||||
return mac, data
|
return mac, data
|
||||||
|
|
||||||
def check_mac_and_decrypt(self, mac, meta, data):
|
def check_mac_and_decrypt(self, mac, meta, data):
|
||||||
aad = get_aad(meta)
|
aad = get_aad(meta)
|
||||||
if HMAC(self.hmac_key, aad + data, sha256).digest() != mac:
|
if HMAC_SHA256(self.hmac_key, aad + data).digest() != mac: # XXX mac / hash flexibility
|
||||||
raise IntegrityError('Encryption envelope checksum mismatch')
|
raise IntegrityError('Encryption envelope checksum mismatch')
|
||||||
self.dec_cipher.reset(iv=meta.iv)
|
self.dec_cipher.reset(iv=meta.iv)
|
||||||
data = self.dec_cipher.check_mac_and_decrypt(None, data)
|
data = self.dec_cipher.check_mac_and_decrypt(None, data)
|
||||||
|
|
Loading…
Reference in New Issue