aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2016-11-17 23:54:04 +0000
committerNIIBE Yutaka <[email protected]>2016-11-17 23:54:04 +0000
commitb6066ab18a67195817babaf9eccf896c2b3c7b0e (patch)
tree7c7faf74180d510c033df8e3ea6bc4a22ce2b110
parentdirmngr: Use a default keyserver if none is explicitly set (diff)
downloadgnupg-b6066ab18a67195817babaf9eccf896c2b3c7b0e.tar.gz
gnupg-b6066ab18a67195817babaf9eccf896c2b3c7b0e.zip
scd: Don't limit to ST-2xxx for PC/SC.
* scd/apdu.c (pcsc_vendor_specific_init): Only check vender ID. -- 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 3e2b609a9..54f3b302f 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -1896,8 +1896,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;
}