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