Fix listing private keys and X509 certificates.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
10
sc_hsm.c
10
sc_hsm.c
@@ -189,14 +189,18 @@ int parse_token_info(const file_t *f, int mode) {
|
|||||||
|
|
||||||
static int cmd_list_keys()
|
static int cmd_list_keys()
|
||||||
{
|
{
|
||||||
file_t *f;
|
//first CC
|
||||||
for (int i = 0; i < dynamic_files; i++) {
|
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)) {
|
if ((f->fid & 0xff00) == (PRKD_PREFIX << 8)) {
|
||||||
res_APDU[res_APDU_size++] = KEY_PREFIX;
|
res_APDU[res_APDU_size++] = KEY_PREFIX;
|
||||||
res_APDU[res_APDU_size++] = f->fid & 0xff;
|
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++] = CD_PREFIX;
|
||||||
res_APDU[res_APDU_size++] = f->fid & 0xff;
|
res_APDU[res_APDU_size++] = f->fid & 0xff;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user