From 36fe6a0206c51de907c2aa14afe70629f4e88d02 Mon Sep 17 00:00:00 2001 From: Jennifer Richards <jennifer@staff.ietf.org> Date: Fri, 19 May 2023 14:57:27 -0300 Subject: [PATCH] fix: Store nomcom private key in session as str bytes are incompatible with JSONSerializer --- ietf/nomcom/factories.py | 2 +- ietf/nomcom/utils.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ietf/nomcom/factories.py b/ietf/nomcom/factories.py index 8ef4e07fa..6fd6819b0 100644 --- a/ietf/nomcom/factories.py +++ b/ietf/nomcom/factories.py @@ -66,7 +66,7 @@ Tdb0MiLc+r/zvx8oXtgDjDUa def provide_private_key_to_test_client(testcase): session = testcase.client.session - session['NOMCOM_PRIVATE_KEY_%s'%testcase.nc.year()] = key + session['NOMCOM_PRIVATE_KEY_%s'%testcase.nc.year()] = key.decode("utf8") session.save() def nomcom_kwargs_for_year(year=None, *args, **kwargs): diff --git a/ietf/nomcom/utils.py b/ietf/nomcom/utils.py index 4c91bfd1d..5cc41f820 100644 --- a/ietf/nomcom/utils.py +++ b/ietf/nomcom/utils.py @@ -183,7 +183,7 @@ def retrieve_nomcom_private_key(request, year): settings.OPENSSL_COMMAND, command_line_safe_secret(settings.NOMCOM_APP_SECRET) ), - private_key + private_key.encode("utf8") ) if code != 0: log("openssl error: %s:\n Error %s: %s" %(command, code, error)) @@ -205,8 +205,8 @@ def store_nomcom_private_key(request, year, private_key): if code != 0: log("openssl error: %s:\n Error %s: %s" %(command, code, error)) if error and error!=b"*** WARNING : deprecated key derivation used.\nUsing -iter or -pbkdf2 would be better.\n": - out = '' - request.session['NOMCOM_PRIVATE_KEY_%s' % year] = out + out = b'' + request.session['NOMCOM_PRIVATE_KEY_%s' % year] = out.decode("utf8") def validate_private_key(key):