From 15413628661f157dbc9e6fc18fda8c81c1795692 Mon Sep 17 00:00:00 2001 From: Klas Lindfors Date: Wed, 24 Jun 2015 13:03:14 +0200 Subject: [PATCH] add macros for IS_ECKEY and IS_RSAKEY, also fix tag on ECCP384 --- lib/ykpiv.c | 2 +- lib/ykpiv.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/ykpiv.c b/lib/ykpiv.c index e907b19..89fbe55 100644 --- a/lib/ykpiv.c +++ b/lib/ykpiv.c @@ -563,7 +563,7 @@ static ykpiv_rc _general_authenticate(ykpiv_state *state, dataptr += set_length(dataptr, in_len + bytes + 3); *dataptr++ = 0x82; *dataptr++ = 0x00; - *dataptr++ = algorithm == YKPIV_ALGO_ECCP256 && decipher ? 0x85 : 0x81; + *dataptr++ = IS_ECKEY(algorithm) && decipher ? 0x85 : 0x81; dataptr += set_length(dataptr, in_len); memcpy(dataptr, sign_in, (size_t)in_len); dataptr += in_len; diff --git a/lib/ykpiv.h b/lib/ykpiv.h index 8333a86..d213f5c 100644 --- a/lib/ykpiv.h +++ b/lib/ykpiv.h @@ -126,6 +126,9 @@ extern "C" #define YKPIV_INS_RESET 0xfb #define YKPIV_INS_SET_PIN_RETRIES 0xfa +#define IS_ECKEY(a) ((a == YKPIV_ALGO_ECCP256 || a == YKPIV_ALGO_ECCP384)) +#define IS_RSAKEY(a) ((a == YKPIV_ALGO_RSA1024 || a == YKPIV_ALGO_RSA2048)) + #ifdef __cplusplus } #endif