From 0f566c67223026645f63bbfd34c97d627e55e2f0 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Wed, 15 Jul 2026 22:50:31 +0200 Subject: [PATCH] Fixed durable counter persistence and enforced counters for symmetric crypto, EC derivation, and XKEK derivation. Signed-off-by: Pol Henarejos --- src/hsm/cmd_derive_asym.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/hsm/cmd_derive_asym.c b/src/hsm/cmd_derive_asym.c index 18424d2..4ed9160 100644 --- a/src/hsm/cmd_derive_asym.c +++ b/src/hsm/cmd_derive_asym.c @@ -45,6 +45,9 @@ int cmd_derive_asym(void) { if (!(fkey = file_search((KEY_PREFIX << 8) | key_id)) || !file_has_data(fkey)) { return SW_FILE_NOT_FOUND(); } + if (get_key_counter(fkey) == 0) { + return SW_FILE_FULL(); + } if (key_has_purpose(fkey, ALGO_EC_DERIVE) == false) { return SW_CONDITIONS_NOT_SATISFIED(); } @@ -97,5 +100,6 @@ int cmd_derive_asym(void) { else { return SW_WRONG_DATA(); } + decrement_key_counter(fkey); return SW_OK(); }