From 41f0b53dd5fa52430c37b2f1682c7def557ef006 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Thu, 3 Mar 2022 17:56:22 +0100 Subject: [PATCH] Fix listing private keys and X509 certificates. Signed-off-by: Pol Henarejos --- sc_hsm.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sc_hsm.c b/sc_hsm.c index dc4230b..f89c09a 100644 --- a/sc_hsm.c +++ b/sc_hsm.c @@ -189,14 +189,18 @@ int parse_token_info(const file_t *f, int mode) { static int cmd_list_keys() { - file_t *f; + //first CC for (int i = 0; i < dynamic_files; i++) { - f = &dynamic_file[i]; + file_t *f = &dynamic_file[i]; if ((f->fid & 0xff00) == (PRKD_PREFIX << 8)) { res_APDU[res_APDU_size++] = KEY_PREFIX; res_APDU[res_APDU_size++] = f->fid & 0xff; } - else if ((f->fid & 0xff00) == (CD_PREFIX << 8)) { + } + //second CD + for (int i = 0; i < dynamic_files; i++) { + file_t *f = &dynamic_file[i]; + if ((f->fid & 0xff00) == (CD_PREFIX << 8)) { res_APDU[res_APDU_size++] = CD_PREFIX; res_APDU[res_APDU_size++] = f->fid & 0xff; }