From 69a18d727261d598e10db13b9120feaec4b7b965 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Mon, 20 Jun 2016 17:32:45 +0200 Subject: [PATCH] utils: fix handling of multiple private keys (fixes #11475) --- mellon/utils.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mellon/utils.py b/mellon/utils.py index 5f27eb6..b65e7c5 100644 --- a/mellon/utils.py +++ b/mellon/utils.py @@ -54,7 +54,7 @@ def create_server(request): private_key = app_settings.PRIVATE_KEY private_key_password = app_settings.PRIVATE_KEY_PASSWORD elif app_settings.PRIVATE_KEYS: - private_key = app_settings.PRIVATE_KEYS + private_key = app_settings.PRIVATE_KEYS[0] private_key_password = None if isinstance(private_key, (tuple, list)): private_key_password = private_key[1] @@ -65,7 +65,11 @@ def create_server(request): server = lasso.Server.newFromBuffers(metadata, private_key_content=private_key, private_key_password=private_key_password) server.setEncryptionPrivateKeyWithPassword(private_key, private_key_password) - for key in app_settings.PRIVATE_KEYS: + private_keys = app_settings.PRIVATE_KEYS + # skip first key if it is already loaded + if not app_settings.PRIVATE_KEY: + private_keys = app_settings.PRIVATE_KEYS[1:] + for key in private_keys: password = None if isinstance(key, (tuple, list)): password = key[1] -- 2.1.4