From 42ddcc87f4bca40d605d133b6cdb4e761a49a1c9 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 7 Apr 2020 16:00:11 +0200 Subject: scd:p15: Fix decrypt followed by sign problem for D-Trust cards. * scd/iso7816.c (iso7816_select_mf): New. * scd/app-p15.c (card_product_t): New. (struct app_local_s): Add field 'card_product'. (read_ef_tokeninfo): Detect D-Trust card. (prepare_verify_pin): Switch to D-Trust AID. (do_decipher): Restore a SE for D-TRust cards. Chnage the passing indicator to 0x81. -- Using what I learned from a USB trace running the Governikus Signer Software on Windows this fixes the left over problem with the new D-Trust card support. Signed-off-by: Werner Koch --- scd/iso7816.h | 1 + 1 file changed, 1 insertion(+) (limited to 'scd/iso7816.h') diff --git a/scd/iso7816.h b/scd/iso7816.h index 1a9fed726..a8215808b 100644 --- a/scd/iso7816.h +++ b/scd/iso7816.h @@ -56,6 +56,7 @@ gpg_error_t iso7816_select_application_ext (int slot, unsigned int flags, unsigned char **result, size_t *resultlen); +gpg_error_t iso7816_select_mf (int slot); gpg_error_t iso7816_select_file (int slot, int tag, int is_dir); gpg_error_t iso7816_select_path (int slot, const unsigned short *path, size_t pathlen); -- cgit v1.2.3