From 26665730507ceafbcbe8ec5ba432054d7532ea6b Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Fri, 12 Aug 2022 01:00:27 +0200 Subject: [PATCH] Fix dkek status report when device is initialized without dkek. Signed-off-by: Pol Henarejos --- src/hsm/sc_hsm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/hsm/sc_hsm.c b/src/hsm/sc_hsm.c index 6cf2d48..be7f800 100644 --- a/src/hsm/sc_hsm.c +++ b/src/hsm/sc_hsm.c @@ -780,7 +780,6 @@ static int cmd_initialize() { } } } - //At least, the first DKEK shall exist file_t *tf_kd = search_by_fid(EF_KEY_DOMAIN, NULL, SPECIFY_EF); if (!tf_kd) return SW_EXEC_ERROR(); @@ -801,6 +800,11 @@ static int cmd_initialize() { return SW_EXEC_ERROR(); } } + else { + uint16_t d = 0x0000; + if (flash_write_data_to_file(tf_kd, (const uint8_t *)&d, sizeof(d)) != CCID_OK) + return SW_EXEC_ERROR(); + } if (kds) { uint8_t t[MAX_KEY_DOMAINS*2], k = MIN(*kds,MAX_KEY_DOMAINS); memset(t, 0xff, 2*k);