aboutsummaryrefslogtreecommitdiffstats
path: root/scd/iso7816.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2019-01-20 10:41:23 +0000
committerWerner Koch <[email protected]>2019-01-20 10:41:23 +0000
commit70bb5c7931598590b1acfae90bf4657f5911d2d3 (patch)
tree2528e900b7df2c1af710afb3a5bccc0e8e926e96 /scd/iso7816.h
parentssh: Simplify the curve name lookup. (diff)
downloadgnupg-70bb5c7931598590b1acfae90bf4657f5911d2d3.tar.gz
gnupg-70bb5c7931598590b1acfae90bf4657f5911d2d3.zip
scd: One new and one improved 7816 function.
* scd/apdu.c (apdu_send_direct): New arg R_SW. * scd/command.c (cmd_apdu): Ditto. * scd/iso7816.c (iso7816_apdu_direct): New arg R_SW. (iso7816_general_authenticate): New. * scd/app-nks.c (get_chv_status, get_nks_version): Pass NULL for new arg. -- iso7816_general_authenticate will be used for the PIV card support. The new arg to iso7816_apdu_direct and apdu_send_direct allows to get the raw status word back without the need to handle an output buffer. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'scd/iso7816.h')
-rw-r--r--scd/iso7816.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/scd/iso7816.h b/scd/iso7816.h
index 332fc0e81..4a366e6eb 100644
--- a/scd/iso7816.h
+++ b/scd/iso7816.h
@@ -63,7 +63,7 @@ gpg_error_t iso7816_list_directory (int slot, int list_dirs,
unsigned char **result, size_t *resultlen);
gpg_error_t iso7816_apdu_direct (int slot,
const void *apdudata, size_t apdudatalen,
- int handle_more,
+ int handle_more, unsigned int *r_sw,
unsigned char **result, size_t *resultlen);
gpg_error_t iso7816_check_pinpad (int slot, int command,
pininfo_t *pininfo);
@@ -104,6 +104,13 @@ gpg_error_t iso7816_internal_authenticate (int slot, int extended_mode,
const unsigned char *data, size_t datalen,
int le,
unsigned char **result, size_t *resultlen);
+gpg_error_t iso7816_general_authenticate (int slot, int extended_mode,
+ int algoref, int keyref,
+ const unsigned char *data,
+ size_t datalen,
+ int le,
+ unsigned char **result,
+ size_t *resultlen);
gpg_error_t iso7816_generate_keypair (int slot, int extended_mode,
const char *data, size_t datalen,
int le,