aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2016-11-17 23:54:04 +0000
committerNIIBE Yutaka <[email protected]>2016-11-30 00:32:18 +0000
commit3089c76a4a6a4250489a8ea373e5810bc9593654 (patch)
tree3770e8815dbebe01cc8bcd07ee66c1f6ddc15129
parentscd: Fix status info encoding. (diff)
downloadgnupg-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.c6
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;
}