summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsarthurdev <965089+sarthurdev@users.noreply.github.com>2025-07-15 13:21:54 +0200
committersarthurdev <965089+sarthurdev@users.noreply.github.com>2025-07-15 13:21:54 +0200
commit6c3efdc7c7d3c1e1e9f130bfb37c644e1ac0b4bf (patch)
treeff2bdb6713ff06298e7f0a6250b51d7df564babb
parent2103038e57ee282adbab0ad99c559af944e11249 (diff)
downloadvyos-1x-6c3efdc7c7d3c1e1e9f130bfb37c644e1ac0b4bf.tar.gz
vyos-1x-6c3efdc7c7d3c1e1e9f130bfb37c644e1ac0b4bf.zip
tpm: T7628: Fix non-TPM backed encryption
-rwxr-xr-xsrc/helpers/vyos-config-encrypt.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/helpers/vyos-config-encrypt.py b/src/helpers/vyos-config-encrypt.py
index 9c35d90f5..b658b8f43 100755
--- a/src/helpers/vyos-config-encrypt.py
+++ b/src/helpers/vyos-config-encrypt.py
@@ -76,16 +76,17 @@ def load_config(key):
return True
-def encrypt_config(key, recovery_key):
+def encrypt_config(key, recovery_key=None, is_tpm=True):
if is_opened():
raise Exception('An encrypted config volume is already mapped')
# Clear and write key to TPM
- try:
- clear_tpm_key()
- except:
- pass
- write_tpm_key(key)
+ if is_tpm:
+ try:
+ clear_tpm_key()
+ except:
+ pass
+ write_tpm_key(key)
persist_path = cmd(persistpath_cmd).strip()
size = ask_input('Enter size of encrypted config partition (MB): ', numeric_only=True, default=512)
@@ -268,7 +269,7 @@ if __name__ == '__main__':
print('Backup the recovery key in a safe place!')
print('Recovery key: ' + recovery_key.decode())
elif args.enable:
- encrypt_config(recovery_key)
+ encrypt_config(recovery_key, is_tpm=False)
print('Encrypted config volume has been enabled without TPM')
print('Backup the key in a safe place!')