Fixes a couple c&p

This commit is contained in:
Trenton Holmes 2024-06-05 20:44:04 -07:00 committed by Trenton H
parent 6d5812fe45
commit 281347aa4d
4 changed files with 16 additions and 12 deletions

View File

@ -378,8 +378,8 @@ class Command(SecurityMixin, BaseCommand):
metadata[EXPORTER_CRYPTO_SETTINGS_NAME] = { metadata[EXPORTER_CRYPTO_SETTINGS_NAME] = {
EXPORTER_CRYPTO_ALGO_NAME: self.kdf_algorithm, EXPORTER_CRYPTO_ALGO_NAME: self.kdf_algorithm,
EXPORTER_CRYPTO_KEY_ITERATIONS_NAME: self.key_iterations, EXPORTER_CRYPTO_KEY_ITERATIONS_NAME: self.key_iterations,
EXPORTER_CRYPTO_SALT_NAME: self.salt,
EXPORTER_CRYPTO_KEY_SIZE_NAME: self.key_size, EXPORTER_CRYPTO_KEY_SIZE_NAME: self.key_size,
EXPORTER_CRYPTO_SALT_NAME: self.salt,
} }
extra_metadata_path.write_text( extra_metadata_path.write_text(
json.dumps( json.dumps(
@ -563,6 +563,6 @@ class Command(SecurityMixin, BaseCommand):
self.setup_crypto(passphrase=self.passphrase) self.setup_crypto(passphrase=self.passphrase)
for mail_account_record in manifest["mail_accounts"]: for mail_account_record in manifest["mail_accounts"]:
mail_account_record["password"] = self.encrypt_string( mail_account_record["fields"]["password"] = self.encrypt_string(
value=mail_account_record["password"], value=mail_account_record["fields"]["password"],
) )

View File

@ -33,6 +33,8 @@ from documents.models import Tag
from documents.parsers import run_convert from documents.parsers import run_convert
from documents.settings import EXPORTER_ARCHIVE_NAME from documents.settings import EXPORTER_ARCHIVE_NAME
from documents.settings import EXPORTER_CRYPTO_ALGO_NAME from documents.settings import EXPORTER_CRYPTO_ALGO_NAME
from documents.settings import EXPORTER_CRYPTO_KEY_ITERATIONS_NAME
from documents.settings import EXPORTER_CRYPTO_KEY_SIZE_NAME
from documents.settings import EXPORTER_CRYPTO_SALT_NAME from documents.settings import EXPORTER_CRYPTO_SALT_NAME
from documents.settings import EXPORTER_CRYPTO_SETTINGS_NAME from documents.settings import EXPORTER_CRYPTO_SETTINGS_NAME
from documents.settings import EXPORTER_FILE_NAME from documents.settings import EXPORTER_FILE_NAME
@ -181,16 +183,16 @@ class Command(SecurityMixin, BaseCommand):
) )
elif EXPORTER_CRYPTO_SETTINGS_NAME in data: elif EXPORTER_CRYPTO_SETTINGS_NAME in data:
# Load up the values for setting up decryption # Load up the values for setting up decryption
self.kdf_algorithm = data[EXPORTER_CRYPTO_SETTINGS_NAME][ self.kdf_algorithm: str = data[EXPORTER_CRYPTO_SETTINGS_NAME][
EXPORTER_CRYPTO_ALGO_NAME EXPORTER_CRYPTO_ALGO_NAME
] ]
self.key_iterations = data[EXPORTER_CRYPTO_SETTINGS_NAME][ self.key_iterations: int = data[EXPORTER_CRYPTO_SETTINGS_NAME][
EXPORTER_CRYPTO_ALGO_NAME EXPORTER_CRYPTO_KEY_ITERATIONS_NAME
] ]
self.key_size = data[EXPORTER_CRYPTO_SETTINGS_NAME][ self.key_size: int = data[EXPORTER_CRYPTO_SETTINGS_NAME][
EXPORTER_CRYPTO_ALGO_NAME EXPORTER_CRYPTO_KEY_SIZE_NAME
] ]
self.salt = data[EXPORTER_CRYPTO_SETTINGS_NAME][ self.salt: str = data[EXPORTER_CRYPTO_SETTINGS_NAME][
EXPORTER_CRYPTO_SALT_NAME EXPORTER_CRYPTO_SALT_NAME
] ]
@ -420,4 +422,6 @@ class Command(SecurityMixin, BaseCommand):
for record in self.manifest: for record in self.manifest:
if record["model"] == "paperless_mail.mailaccount": if record["model"] == "paperless_mail.mailaccount":
record["password"] = self.decrypt_string(value=record["password"]) record["fields"]["password"] = self.decrypt_string(
value=record["fields"]["password"],
)

View File

@ -101,7 +101,7 @@ class SecurityMixin:
f"{self.kdf_algorithm} is an unknown key derivation function", f"{self.kdf_algorithm} is an unknown key derivation function",
) )
key = base64.urlsafe_b64encode(kdf.derive(passphrase.encode())) key = base64.urlsafe_b64encode(kdf.derive(passphrase.encode("utf-8")))
self.fernet = Fernet(key) self.fernet = Fernet(key)

View File

@ -7,5 +7,5 @@ EXPORTER_ARCHIVE_NAME = "__exported_archive_name__"
EXPORTER_CRYPTO_SETTINGS_NAME = "__crypto__" EXPORTER_CRYPTO_SETTINGS_NAME = "__crypto__"
EXPORTER_CRYPTO_SALT_NAME = "__salt_hex__" EXPORTER_CRYPTO_SALT_NAME = "__salt_hex__"
EXPORTER_CRYPTO_KEY_ITERATIONS_NAME = "__key_iters__" EXPORTER_CRYPTO_KEY_ITERATIONS_NAME = "__key_iters__"
EXPORTER_CRYPTO_KEY_SIZE_NAME = "__key_iters__" EXPORTER_CRYPTO_KEY_SIZE_NAME = "__key_size__"
EXPORTER_CRYPTO_ALGO_NAME = "__key_algo__" EXPORTER_CRYPTO_ALGO_NAME = "__key_algo__"