From 7c1ef56799d17c30d8ff1b415013aaece98595bd Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Mon, 7 Apr 2025 01:27:57 +0200 Subject: [PATCH] Fix ne parameter when secure message protocol is used. Signed-off-by: Pol Henarejos --- pico-keys-sdk | 2 +- src/hsm/sc_hsm.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pico-keys-sdk b/pico-keys-sdk index 2c3fe5b..580b0ac 160000 --- a/pico-keys-sdk +++ b/pico-keys-sdk @@ -1 +1 @@ -Subproject commit 2c3fe5bebf6cf6a9a5fb9c685aa744529c8548cb +Subproject commit 580b0acffa8e685caee4508fb656b78247064248 diff --git a/src/hsm/sc_hsm.c b/src/hsm/sc_hsm.c index e5554bc..fba0fbf 100644 --- a/src/hsm/sc_hsm.c +++ b/src/hsm/sc_hsm.c @@ -761,6 +761,7 @@ static const cmd_t cmds[] = { }; int sc_hsm_process_apdu() { + uint32_t ne = apdu.ne; int r = sm_unwrap(); if (r != PICOKEY_OK) { return SW_DATA_INVALID(); @@ -769,6 +770,9 @@ int sc_hsm_process_apdu() { if (cmd->ins == INS(apdu)) { int res = cmd->cmd_handler(); sm_wrap(); + if ((CLA(apdu) >> 2) & 0x3) { + apdu.ne = ne; + } return res; } }