From b1e09b704727612a6e088d91018224067952b58b Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Wed, 27 Mar 2024 18:10:04 +0100 Subject: [PATCH] Fix fetching some certs. Signed-off-by: Pol Henarejos --- src/openpgp/piv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openpgp/piv.c b/src/openpgp/piv.c index 554152b..0759639 100644 --- a/src/openpgp/piv.c +++ b/src/openpgp/piv.c @@ -374,7 +374,7 @@ static int cmd_get_data() { fid <<= 8; fid |= apdu.data[2 + lt]; } - if ((fid & 0xFFFF00) != 0x5FC100 && fid != EF_PIV_BITGT && fid != EF_PIV_DISCOVERY) { + if ((fid & 0xFFFF00) != 0x5FC100 && (fid & 0xFFFF) != EF_PIV_BITGT && (fid & 0xFFFF) != EF_PIV_DISCOVERY && (fid & 0xFFFF) != EF_PIV_ATTESTATION) { return SW_REFERENCE_NOT_FOUND(); } file_t *ef = NULL; @@ -968,7 +968,7 @@ static int cmd_move_key() { return SW_WRONG_LENGTH(); } uint8_t to = P1(apdu), from = P2(apdu); - if (!IS_KEY(to) || !IS_KEY(from)) { + if ((!IS_KEY(to) && to != 0xFF) || !IS_KEY(from)) { return SW_INCORRECT_P1P2(); } if (from == 0x93) {