On 16/03/07, Douglas E. Engert <[EMAIL PROTECTED]> wrote:
Can you run the command that is listed in the new opensc.conf:

         # This sets the maximum send and receive sizes.
         # Some reader drivers have limitations, so you need
         # to set these values. For usb devices check the
         # properties with lsusb -vv for dwMaxIFSD

(Although I tried this on my GemPC Twin, and it says 254
  but works with the 256.)

You are confusing dwMaxIFSD: and dwMaxCCIDMessageLength:

dwMaxIFSD is for T=1 cards only. It is the maximum size of a block
accepted by the reader.

dwMaxCCIDMessageLength is for both T=0 and T=1 cards and should  not
be smaller than dwMaxIFSD+10. It is the maximum size of a CCID frame
(APDU plus CCID header of 10 bytes)

For a T=0 card the application shall not send APDU longer than
dwMaxCCIDMessageLength-10. The application can get the maximum length
using SCARD_ATTR_MAXINPUT request [1].

Developers:
I think it is a good idea to have the default set large and let
the card or reader drivers lower it.

Using PC/SC the driver can't lower it. It can just let the application
request the maximum size. Maybe we should add a new PC/SC error code
like SCARD_E_APDU_SIZE_EXCEEDED.

Another possible answer is: do not use limited/bogus/non-ISO smart card readers.

Bye

[1] 
http://svn.debian.org/wsvn/pcsclite/trunk/Drivers/ccid/SCARDGETATTRIB.txt?op=file&rev=0&sc=0

--
 Dr. Ludovic Rousseau
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to