mirror of
https://github.com/borgbackup/borg.git
synced 2026-03-24 03:15:08 -04:00
Merge pull request #6649 from ThomasWaldmann/key-algo-error-msg-1.1
give a more helpful error msg for unsupported encrypted key format (1.1)
This commit is contained in:
commit
65713d81fe
1 changed files with 5 additions and 3 deletions
|
|
@ -621,7 +621,7 @@ class KeyfileKeyBase(AESKeyBase):
|
|||
data = msgpack.unpackb(data)
|
||||
key = Key(internal_dict=data)
|
||||
if key.version != 1:
|
||||
raise IntegrityError('Invalid key file header')
|
||||
raise Error("key version %d is not supported by this borg version.")
|
||||
self.repository_id = key.repository_id
|
||||
self.enc_key = key.enc_key
|
||||
self.enc_hmac_key = key.enc_hmac_key
|
||||
|
|
@ -636,8 +636,10 @@ class KeyfileKeyBase(AESKeyBase):
|
|||
unpacker.feed(data)
|
||||
data = unpacker.unpack()
|
||||
enc_key = EncryptedKey(internal_dict=data)
|
||||
assert enc_key.version == 1
|
||||
assert enc_key.algorithm == 'sha256'
|
||||
if enc_key.version != 1:
|
||||
raise Error("encrypted key version %d is not supported by this borg version." % enc_key.version)
|
||||
if enc_key.algorithm != 'sha256':
|
||||
raise Error("encrypted key algorithm '%s' is not supported by this borg version." % enc_key.algorithm)
|
||||
key = passphrase.kdf(enc_key.salt, enc_key.iterations, 32)
|
||||
data = AES(is_encrypt=False, key=key).decrypt(enc_key.data)
|
||||
if compare_digest(hmac_sha256(key, data), enc_key.hash):
|
||||
|
|
|
|||
Loading…
Reference in a new issue