diff options
author | Werner Koch <[email protected]> | 2021-02-23 11:56:42 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2021-02-23 11:56:42 +0000 |
commit | 33aaa37e5bc0beb75305cdf9d8be850daccaee5e (patch) | |
tree | 7ab0774072679e01afd912a513e624fc9884bba9 /scd/apdu.c | |
parent | scd: Fix readkey --info in case a readkey command is available. (diff) | |
download | gnupg-33aaa37e5bc0beb75305cdf9d8be850daccaee5e.tar.gz gnupg-33aaa37e5bc0beb75305cdf9d8be850daccaee5e.zip |
scd:p15: Make it code work again for D-Trust cards.
* scd/app-p15.c (select_and_read_binary): Allow to skip the select.
(select_and_read_record): Return the statusword. Silence error
message for SW_FILE_STRUCT.
(select_ef_by_path): Fix selection with a home_DF.
(read_first_record): Fallback to read_binary for CardOS and return
info about this.
(read_ef_prkdf): Use info from read_first_record to decide whether to
use record or binary mode.
(read_ef_pukdf): Ditto.
(read_ef_aodf): Ditto.
(read_ef_cdf): Ditto. New arg cdftype for diagnostics.
(read_p15_info): Pass cdftype.
* scd/apdu.h (SW_FILE_STRUCT): New.
* scd/apdu.c (apdu_strerror): Map that one to a string.
* scd/iso7816.c (map_sw): and to a gpg-error.
Diffstat (limited to 'scd/apdu.c')
-rw-r--r-- | scd/apdu.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/scd/apdu.c b/scd/apdu.c index fa0fb7c43..68ad733cb 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -544,6 +544,7 @@ apdu_strerror (int rc) case SW_WRONG_LENGTH : return "wrong length"; case SW_SM_NOT_SUP : return "secure messaging not supported"; case SW_CC_NOT_SUP : return "command chaining not supported"; + case SW_FILE_STRUCT : return "command can't be used for file structure."; case SW_CHV_WRONG : return "CHV wrong"; case SW_CHV_BLOCKED : return "CHV blocked"; case SW_REF_DATA_INV : return "referenced data invalidated"; |