diff options
author | NIIBE Yutaka <[email protected]> | 2016-11-17 23:54:04 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2016-11-30 00:32:18 +0000 |
commit | 3089c76a4a6a4250489a8ea373e5810bc9593654 (patch) | |
tree | 3770e8815dbebe01cc8bcd07ee66c1f6ddc15129 | |
parent | scd: Fix status info encoding. (diff) | |
download | gnupg-3089c76a4a6a4250489a8ea373e5810bc9593654.tar.gz gnupg-3089c76a4a6a4250489a8ea373e5810bc9593654.zip |
scd: Don't limit to ST-2xxx for PC/SC.
* scd/apdu.c (pcsc_vendor_specific_init): Only check vender ID.
--
Backport of master commit: b6066ab18a67195817babaf9eccf896c2b3c7b0e
Some other products by Cherry works with pinpad, although it only works
for smaller keys (RSA 1024). TPDU support is good for larger keys.
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | scd/apdu.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scd/apdu.c b/scd/apdu.c index 570e1501a..0beee25f7 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -1855,8 +1855,12 @@ pcsc_vendor_specific_init (int slot) reader_table[slot].is_spr532 = 1; reader_table[slot].pinpad_varlen_supported = 1; } - else if (vendor == 0x046a && product == 0x003e) /* Cherry ST-2xxx */ + else if (vendor == 0x046a) { + /* Cherry ST-2xxx (product == 0x003e) supports TPDU level + * exchange. Other products which only support short APDU level + * exchange only work with shorter keys like RSA 1024. + */ reader_table[slot].pcsc.pinmax = 15; reader_table[slot].pinpad_varlen_supported = 1; } |