NIIBE Yutaka
15200f7001
SCD: Support fixed length PIN input for keypad.
...
* 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-05 14:11:19 +09:00
NIIBE Yutaka
4fe024cf33
SCD: API cleanup for keypad handling.
...
* 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.
2013-02-05 14:09:47 +09:00
NIIBE Yutaka
3d863c298b
SCD: Clean up. Remove PADLEN for keypad input.
...
* scd/apdu.c (struct pininfo_s): Use iso7816_pininfo_s.
(struct reader_table_s): Remove last arg from check_keypad method.
(check_pcsc_keypad, check_pcsc_keypad): Remove PIN_PADLEN.
(pcsc_keypad_verify, pcsc_keypad_modify): Don't check PIN_PADLEN.
(send_apdu_ccid, ccid_keypad_operation): Remove PIN_PADLEN.
(apdu_check_keypad, apdu_keypad_verify, apdu_keypad_modify):
Likewise.
* scd/apdu.h (apdu_check_keypad, apdu_keypad_verify)
(apdu_keypad_modify): Remove PIN_PADLEN.
* scd/ccid-driver.c (ccid_transceive_secure): Remove PIN_PADLEN.
* scd/ccid-driver.h (ccid_transceive_secure): Remove PIN_PADLEN.
* scd/iso7816.c (iso7816_check_keypad, iso7816_verify_kp)
(iso7816_change_reference_data_kp): Remove PADLEN.
* scd/iso7816.h (struct iso7816_pininfo_s): Remove PADLEN, PADCHAR.
--
In the OpenPGPcard specification, password comes with no padding. In
GnuPG, we support keypad input for OpenPGPcard only. Thus, it is
useless to try to support padding for keypad input.
2013-02-05 14:07:53 +09:00
NIIBE Yutaka
196a60078b
Fix pinpad input support for passphrase modification. (backport)
...
* 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-25 10:04:23 +09:00
NIIBE Yutaka
f98a5e8480
scd: PC/SC pinpad support (pinpad input for modify pass phrase). (backport)
...
* 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-25 10:04:22 +09:00
NIIBE Yutaka
c2525d507d
scd: PC/SC pinpad support. (Backported from master.)
...
* 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.
2012-06-25 10:04:22 +09:00
Werner Koch
983f91937c
Fix for extended length Le in decipher
2009-09-03 10:57:23 +00:00
Werner Koch
96abdb1386
Fix for card keys > 2048 bit.
2009-07-10 10:15:33 +00:00
Werner Koch
5f8acaccc0
Add readcert command.
...
fix reading large certificates.
2009-06-17 09:45:50 +00:00
Werner Koch
eeca39ae50
More support for Netkey cards.
...
Small changes to teh CCID driver.
Support 2048 bit OpenPGP cards.
2009-05-08 15:07:45 +00:00
Werner Koch
98e1a75e20
Implement decryption for TCOS 3 cards.
2009-03-30 12:46:06 +00:00
Werner Koch
7784e86a66
Add limited support for NetKey 3.0 cards.
2009-01-08 19:56:30 +00:00
Werner Koch
96f16f736e
Finished support for v2 cards with the exception of secure messaging.
2008-09-25 10:06:02 +00:00
Werner Koch
f899b9683b
Support the Certifciate DO of the v2 OpenPGP cards.
2008-09-23 09:57:45 +00:00
Werner Koch
93d3811abc
Changed to GPLv3.
...
Removed intl/.
2007-07-04 19:49:40 +00:00
Werner Koch
6a13cf2c3d
Preparing an interim release
2005-11-28 11:52:25 +00:00
Werner Koch
6f90f05cb2
Bug fixes and ssh support for the BELPIC.
2005-09-09 11:18:08 +00:00
Werner Koch
1b2f7cbe3b
Basically made Belgian EID cards work.
...
Signature creation has not yet been tested.
Also other changes to better cope with T=0 cards.
2005-09-05 14:36:36 +00:00
Werner Koch
e1f3dc1c77
Added ID keywords because these files are often used in other packages.
2004-10-14 09:12:36 +00:00
Werner Koch
f8d44bc637
*** empty log message ***
2004-03-16 10:49:37 +00:00
Werner Koch
97958029f6
(iso7816_manage_security_env): New.
...
(iso7816_decipher): Add PADIND argument.
** app-nks.c is now functional **
2004-01-28 16:21:57 +00:00
Werner Koch
eb24d8b751
Some minor bug fixes, new test utilities and started support for other
...
smartcard applications.
2004-01-27 16:40:42 +00:00
Werner Koch
f194ebc782
Fixes to make inclusion of card raleted source files into 1.3 easier.
2003-10-02 10:27:34 +00:00
Repo Admin
9ca4830a5b
This commit was manufactured by cvs2svn to create branch
...
'GNUPG-1-9-BRANCH'.
2003-08-05 17:11:04 +00:00