diff --git a/scd/apdu.c b/scd/apdu.c index 196d58b2b..268c2fa3a 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -2086,7 +2086,7 @@ pcsc_pinpad_verify (int slot, int class, int ins, int p0, int p1, if (!pininfo->minlen) pininfo->minlen = 1; if (!pininfo->maxlen) - pininfo->maxlen = 25; + pininfo->maxlen = 15; /* Note that the 25 is the maximum value the SPR532 allows. */ if (pininfo->minlen < 1 || pininfo->minlen > 25 @@ -2167,7 +2167,7 @@ pcsc_pinpad_modify (int slot, int class, int ins, int p0, int p1, if (!pininfo->minlen) pininfo->minlen = 1; if (!pininfo->maxlen) - pininfo->maxlen = 25; + pininfo->maxlen = 15; /* Note that the 25 is the maximum value the SPR532 allows. */ if (pininfo->minlen < 1 || pininfo->minlen > 25 diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index dd9fabefb..c3a66fafe 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -3358,7 +3358,7 @@ ccid_transceive_secure (ccid_driver_t handle, if (!pininfo->minlen) pininfo->minlen = 1; if (!pininfo->maxlen) - pininfo->maxlen = 25; + pininfo->maxlen = 15; /* Note that the 25 is the maximum value the SPR532 allows. */ if (pininfo->minlen < 1 || pininfo->minlen > 25 @@ -3373,13 +3373,14 @@ ccid_transceive_secure (ccid_driver_t handle, case VENDOR_SCM: /* Tested with SPR 532. */ case VENDOR_KAAN: /* Tested with KAAN Advanced (1.02). */ case VENDOR_FSIJ: /* Tested with Gnuk (0.21). */ + pininfo->maxlen = 25; enable_varlen = 1; break; case VENDOR_VASCO: /* Tested with DIGIPASS 920 */ enable_varlen = 1; - pininfo->maxlen = 15; break; case VENDOR_CHERRY: + pininfo->maxlen = 25; enable_varlen = 1; /* The CHERRY XX44 keyboard echos an asterisk for each entered character on the keyboard channel. We use a special variant