diff options
author | Werner Koch <[email protected]> | 2003-10-09 15:08:12 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2003-10-09 15:08:12 +0000 |
commit | f633ef17dc34d0ab103e57c78121f11982fd75e4 (patch) | |
tree | a3a5f28f447c993dddc531be71d1ed4e74986974 /g10/cardglue.c | |
parent | * cardglue.c (pin_cb): Detect whether an admin or regular PIN is (diff) | |
download | gnupg-f633ef17dc34d0ab103e57c78121f11982fd75e4.tar.gz gnupg-f633ef17dc34d0ab103e57c78121f11982fd75e4.zip |
* ccid-driver.c (ccid_transceive): Add T=1 chaining for sending.
* sign.c (do_sign) [!ENABLE_CARD_SUPPORT]: Return an error for
card keys.
* cardglue.c (agent_scd_pkdecrypt): Implemented.
* pubkey-enc.c (get_it) [ENABLE_CARD_SUPPORT]: Divert decryption
to card
Diffstat (limited to 'g10/cardglue.c')
-rw-r--r-- | g10/cardglue.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/g10/cardglue.c b/g10/cardglue.c index fd7cf8b3d..91637a776 100644 --- a/g10/cardglue.c +++ b/g10/cardglue.c @@ -631,10 +631,21 @@ agent_scd_pksign (const char *serialno, int hashalgo, int agent_scd_pkdecrypt (const char *serialno, const unsigned char *indata, size_t indatalen, - char **r_buf, size_t *r_buflen) + unsigned char **r_buf, size_t *r_buflen) { - return gpg_error (GPG_ERR_CARD); + APP app; + + *r_buf = NULL; + *r_buflen = 0; + app = current_app? current_app : open_card (); + if (!app) + return gpg_error (GPG_ERR_CARD); + + return app->fnc.decipher (app, serialno, + pin_cb, NULL, + indata, indatalen, + r_buf, r_buflen); } /* Change the PIN of an OpenPGP card or reset the retry counter. */ |