At 09:00 11/02/2008 +0100, you wrote:

PC/SC does not correctly manage case 4 APDU. pcsc-lite and the driver
will not send a GET RESPONSE by them self.


the PC/SC layer is not supposed to send such GET RESPOSNE by itself!


You should not use case 4 APDU but use a case 3 SELECT (so without Le)
and a case 2 GET RESPONSE.

do you mean when using pcsclite ?
of course MS PC/SC accept a case 4 command & do transmit the Le parameter, note that Le can will required by the card - some of them will return an error if it is not provided.


> The corresponding question is how the applet should handle SELECT: does it return response data and 9000 in all cases, or only if an Le is present in the APDU, or does the applet need to recognize when to return 61xx for SELECT and also handle a GET RESPONSE command APDU?

your applet shall return a response - a FCI - if the command request it, meaning P2 not set to 0x0C, you will simply process it using APDU.setOutgoingAndSend(), the JCRE will manage the protocol itself: under T=1 protocol, it will send the response, under T=0 protocol, it will keep theat response, send a 61xxh status, handle the next incoming Get Response command.

Sylvain.



_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to