aboutsummaryrefslogtreecommitdiffstats
path: root/scd/app-openpgp.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-08-29scd: add support for RSA_CRT and RSA_CRT_N key import.Jonas Borgström1-7/+68
* scd/app-openpgp.c (do_writekey): Added RSA_CRT and RSA_CRT_N support. -- Updates of original patch by wk: - unsigned char *rsa_u, *rsa_dp, rsa_dq; + unsigned char *rsa_u, *rsa_dp, *rsa_dq; and AUTHORS. Missing signed-off-by assumed due to DCO send the other day. (cherry picked from commit cc67918c088e90c1d9a507af5f6288e8faa93d87) Solved conflicts: AUTHORS => Removed scd/app-openpgp.c => s/.rsa.format/.format/.
2013-08-27scd: fix parsing login-data DO.NIIBE Yutaka1-12/+13
* scd/app-openpgp.c (parse_login_data): Release RELPTR. Fix parsing. -- Signed-off-by: NIIBE Yutaka
2013-02-08scd: Rename 'keypad' to 'pinpad'.NIIBE Yutaka1-43/+43
* NEWS: Mention scd changes. * agent/divert-scd.c (getpin_cb): Change message. * agent/call-scd.c (inq_needpin): Change the protocol to POPUPPINPADPROMPT and DISMISSPINPADPROMPT. * scd/command.c (pin_cb): Likewise. * scd/apdu.c (struct reader_table_s): Rename member functions. (check_pcsc_pinpad, pcsc_pinpad_verify, pcsc_pinpad_modify, check_ccid_pinpad, ccid_pinpad_operation, apdu_check_pinpad apdu_pinpad_verify, apdu_pinpad_modify): Rename. * scd/apdu.h (SW_HOST_NO_PINPAD, apdu_check_pinpad) (apdu_pinpad_verify, apdu_pinpad_modify): Rename. * scd/iso7816.h (iso7816_check_pinpad): Rename. * scd/iso7816.c (map_sw): Use SW_HOST_NO_PINPAD. (iso7816_check_pinpad): Rename. (iso7816_verify_kp, iso7816_change_reference_data_kp): Follow the change. * scd/ccid-driver.h (CCID_DRIVER_ERR_NO_PINPAD): Rename. * scd/ccid-driver.c (ccid_transceive_secure): Use it. * scd/app-dinsig.c (verify_pin): Follow the change. * scd/app-nks.c (verify_pin): Follow the change. * scd/app-openpgp.c (check_pinpad_request): Rename. (parse_login_data, verify_a_chv, verify_chv3, do_change_pin): Follow the change. * scd/scdaemon.c (oDisablePinpad, oEnablePinpadVarlen): Rename. * scd/scdaemon.h (opt): Rename to disable_pinpad, enable_pinpad_varlen. * tools/gpgconf-comp.c (gc_options_scdaemon): Rename to disable-pinpad.
2013-02-05scd: Fix check_keypad_request.NIIBE Yutaka1-1/+1
* scd/app-openpgp.c (check_keypad_request): 0 means not to use pinpad.
2013-02-05SCD: Support P=N format for login data.NIIBE Yutaka1-24/+24
* scd/app-openpgp.c (parse_login_data): Support P=N format.
2013-02-05SCD: Defaults to use pinpad if the reader has the capability.NIIBE Yutaka1-25/+25
* scd/app-openpgp.c (struct app_local_s): Remove VARLEN. (parse_login_data): "P=0" means to disable pinpad. (check_keypad_request): Default is to use pinpad if available.
2013-02-05SCD: handle keypad request on the card.NIIBE Yutaka1-6/+104
* scd/app-openpgp.c: Add 2013. (struct app_local_s): Add keypad structure. (parse_login_data): Add parsing keypad request on the card. (check_keypad_request): New. (verify_a_chv, verify_chv3, do_change_pin): Call check_keypad_request to determine use of keypad.
2013-02-05SCD: Support fixed length PIN input for keypad.NIIBE Yutaka1-3/+3
* scd/iso7816.h (struct pininfo_s): Remove MODE and add FIXEDLEN. * scd/app-dinsig.c (verify_pin): Initialize FIXEDLEN to unknown. * scd/app-nks.c (verify_pin): Likewise. * scd/app-openpgp.c (verify_a_chv, verify_chv3, do_change_pin): Likewise. * scd/apdu.c (check_pcsc_keypad): Add comment. (pcsc_keypad_verify, pcsc_keypad_modify): PC/SC driver only support readers with the feature of variable length input (yet). (apdu_check_keypad): Set FIXEDLEN. * scd/ccid-driver.c (ccid_transceive_secure): Add GEMPC_PINPAD specific settings. Support fixed length PIN input for keypad.
2013-02-05SCD: API cleanup for keypad handling.NIIBE Yutaka1-3/+3
* scd/iso7816.h (struct pininfo_s): Rename from iso7816_pininfo_s. Change meaning of MODE. (pininfo_t): Rename from iso7816_pininfo_t. * scd/sc-copykeys.c: Include "iso7816.h". * scd/scdaemon.c, scd/command.c: Likewise. * scd/ccid-driver.c: Include "scdaemon.h" and "iso7816.h". (ccid_transceive_secure): Follow the change of PININFO_T. * scd/app.c: Include "apdu.h" after "iso7816.h". * scd/iso7816.c (iso7816_check_keypad, iso7816_verify_kp) (iso7816_change_reference_data_kp): Follow the change of API. * scd/apdu.c (struct reader_table_s): Change API of CHECK_KEYPAD, KEYPAD_VERIFY, KEYPAD_MODIFY to have arg of PININFO_T. (check_pcsc_keypad, check_ccid_keypad): Likewise. (apdu_check_keypad, apdu_keypad_verify, apdu_keypad_modify): Likewise. (pcsc_keypad_verify, pcsc_keypad_modify, ct_send_apdu) (pcsc_send_apdu_direct, pcsc_send_apdu_wrapped, pcsc_send_apdu) (send_apdu_ccid, ccid_keypad_operation, my_rapdu_send_apdu, send_apdu) (send_le): Follow the change of API. * scd/apdu.h (apdu_check_keypad, apdu_keypad_verify) (apdu_keypad_modify): Change the API. * scd/app-dinsig.c, scd/app-nks.c, scd/app-openpgp.c: Follow the change.
2012-12-13SCD: Fix the process of writing key or generating key.NIIBE Yutaka1-2/+2
* scd/app-openpgp.c (store_fpr): Flush KEY-FPR and KEY-TIME.
2012-11-06Allow decryption with card keys > 3072 bitWerner Koch1-0/+10
* scd/command.c (MAXLEN_SETDATA): New. (cmd_setdata): Add option --append. * g10/call-agent.c (agent_scd_pkdecrypt): Use new option for long data * scd/app-openpgp.c (struct app_local_s): Add field manufacturer. (app_select_openpgp): Store manufacturer. (do_decipher): Print a note for broken cards. -- Please note that I was not able to run a full test because I only have broken cards (S/N < 346) available.
2012-11-06Remove trailing white space from some filesWerner Koch1-150/+150
--
2012-08-24Actually show translators comments in PO filesDavid Prévot1-2/+1
2012-06-25Fix pinpad input support for passphrase modification. (backport)NIIBE Yutaka1-112/+66
* apdu.c (pcsc_keypad_verify): Have dummy Lc field with value 0. (pcsc_keypad_modify): Likewise. (pcsc_keypad_modify): It's only for ISO7816_CHANGE_REFERENCE_DATA. bConfirmPIN value is determined by the parameter p0. * app-openpgp.c (do_change_pin): The flag use_keypad should be 0 when reset_mode is on, or resetcode is on. use_keypad only makes sense for iso7816_change_reference_data_kp. * iso7816.h (iso7816_put_data_kp): Remove. (iso7816_reset_retry_counter_kp): Remove. (iso7816_reset_retry_counter_with_rc_kp): Remove. (iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE. * iso7816.c (iso7816_put_data_kp): Remove. (iso7816_reset_retry_counter_kp): Remove. (iso7816_reset_retry_counter_with_rc_kp): Remove. (iso7816_change_reference_data_kp): Add an argument: IS_EXCHANGE.
2012-06-25scd: Fix pinpad input support (backport from master)NIIBE Yutaka1-37/+98
* app-openpgp.c (do_change_pin): Fix pincb messages when use_keypad == 1.
2012-06-25scd: PC/SC pinpad support (pinpad input for modify pass phrase). (backport)NIIBE Yutaka1-19/+41
* iso7816.h (iso7816_change_reference_data_kp): Remove arguments of OLDCHV, OLDCHVLEN, NEWCHV, and NEWCHVLEN. * iso7816.c (iso7816_change_reference_data_kp): Call apdu_keypad_modify. (iso7816_change_reference_data): Don't call iso7816_change_reference_data_kp. * apdu.h (apdu_keypad_modify): New. * apdu.c (pcsc_keypad_modify, apdu_keypad_modify): New. (struct reader_table_s): New memeber function keypad_modify. (new_reader_slot, open_ct_reader, open_ccid_reader) (open_rapdu_reader): Initialize keypad_modify. * app-openpgp.c (do_change_pin): Handle keypad and call iso7816_change_reference_data_kp if it is the case.
2012-06-25scd: PC/SC pinpad support. (Backported from master.)NIIBE Yutaka1-2/+2
* iso7816.h (iso7816_verify_kp): Remove arguments of CHV and CHVLEN. * iso7816.c (iso7816_verify_kp): Call apdu_keypad_verify. Only handle thecase with PININFO. (iso7816_verify): Call apdu_send_simple. * app-openpgp.c (verify_a_chv, verify_chv3): Follow the change of iso7816_verify_kp. * app-nks.c (verify_pin): Likewise. * app-dinsig.c (verify_pin): Likewise. * apdu.c: Include "iso7816.h". (struct reader_table_s): New memeber function keypad_verify. Add fields verify_ioctl and modify_ioctl in pcsc. (CM_IOCTL_GET_FEATURE_REQUEST, FEATURE_VERIFY_PIN_DIRECT) (FEATURE_MODIFY_PIN_DIRECT): New. (pcsc_control): New. (control_pcsc_direct, control_pcsc_wrapped, control_pcsc) (check_pcsc_keypad, pcsc_keypad_verify): New. (ccid_keypad_verify, apdu_keypad_verify): New. (new_reader_slot): Initialize with check_pcsc_keypad, pcsc_keypad_verify, verify_ioctl and modify_ioctl. (open_ct_reader): Initialize keypad_verify with NULL. (open_ccid_reader): Initialize keypad_verify. (open_rapdu_reader): Initialize keypad_verify with NULL. (apdu_open_reader): Initialize pcsc_control. * pcsc-wrapper.c (load_pcsc_driver): Initialize pcsc_control. (handle_control): New. (main): Handle the case 6 of handle_control.
2011-07-07Allow generation of card keys up to 4096 bit.Werner Koch1-9/+20
This patch implementes a chunk mode to pass the key parameters from scdaemon to gpg. This allows to pass arbitrary long key paremeters; it is used for keys larger than 3072 bit.
2009-09-03Fix for extended length Le in decipherWerner Koch1-8/+12
2009-08-05Ask for the keysize when generating a new card key.Werner Koch1-0/+48
2009-07-10Better reset the PIN verification stati after changing the key attributes.Werner Koch1-0/+3
2009-07-10Fix for card keys > 2048 bit.Werner Koch1-3/+31
2009-07-09Support writing of existing keys with non-matching key sizes.Werner Koch1-5/+74
2009-06-29Reworked the estream memory buffer allocation.Werner Koch1-35/+37
Committed already posted patches for the v2 card.
2009-06-17Add readcert command.Werner Koch1-52/+74
fix reading large certificates.
2009-06-09app-openpgp changesWerner Koch1-4/+8
2009-06-08Typo fix. Updated German translation.Werner Koch1-5/+5
2009-05-20Make PIN changing code work for v2 cards.Werner Koch1-130/+246
2009-05-15Made card key generate with backup key work for 2048 bit.Werner Koch1-0/+3
Improved card key generation prompts.
2009-05-08More support for Netkey cards.Werner Koch1-34/+70
Small changes to teh CCID driver. Support 2048 bit OpenPGP cards.
2009-04-01Prepare for OpenPGP cards with extended length support.Werner Koch1-4/+8
2009-03-30Implement decryption for TCOS 3 cards.Werner Koch1-2/+4
2009-03-18Add server option with-ephemeral-keys.Werner Koch1-1/+3
Extend SCD LEARN command.
2009-03-10Add new attribute KEY-ATTR.Werner Koch1-8/+35
2009-03-05New PIN Callback attributes in gpg-agent.Werner Koch1-64/+61
Common prompts for keypad and simple card reader. More support for Netkey cards; PIN management works now.
2008-12-05Add option --card-timeout.Werner Koch1-3/+6
Add a new attribyte to app-openpgp.c Fix two portability bugs. Have gpg-connect-agent autostart gpg-agent on W32.
2008-11-03Use bin2hex if possible.Werner Koch1-13/+10
2008-10-20Marked all unused args on non-W32 platforms.Werner Koch1-0/+5
2008-09-25Finished support for v2 cards with the exception of secure messaging.Werner Koch1-88/+425
2008-09-23Improvements for 2k keys.Werner Koch1-37/+137
2008-09-23Support the Certifciate DO of the v2 OpenPGP cards.Werner Koch1-13/+169
2008-08-312008-08-30 Moritz <[email protected]>Moritz Schulte1-4/+4
* scdaemon.c (main): Use estream_asprintf instead of asprintf. * command.c (update_reader_status_file): Likewise. (cmd_serialno): Use estream_asprintf instead of asprintf and xfree instead of free to release memory allocated through (estream_)asprintf. (cmd_learn): Likewise. (pin_cb): Likewise. * app-openpgp.c (get_public_key): Likewise.
2008-08-18Fix new test for v2 cards.Werner Koch1-2/+2
2008-07-30prompt change.Werner Koch1-2/+2
2008-07-17Do not run the setuid test if running under as root proper.Werner Koch1-2/+60
Documentation fixes. Some enhancements for the new OpenPGP Card.
2008-06-24Add support for the TCOS NullPIN feature.Werner Koch1-1/+3
2008-04-21Use default PIN flagWerner Koch1-1/+20
2008-03-26Preparing a release.Werner Koch1-21/+69
2007-12-12Support DSA2.Werner Koch1-1/+1
Support Camellia for testing. More audit stuff.
2007-12-10Fix for bug 851.Werner Koch1-3/+44
Fixed auto generation of the stub key for the card. Allow to encrypt toElgamal encryption keys of type 20.