This discussion is archived
1 2 Previous Next 17 Replies Latest reply: Apr 4, 2012 1:27 AM by 915199 Go to original post RSS
  • 15. Re: 6E00 ADPU Response
    915199 Newbie
    Currently Being Moderated
    After further testing, the problem occur on JVM 1.6 but seems to be fixed on JVM 1.7.
  • 16. Re: 6E00 ADPU Response
    safarmer Expert
    Currently Being Moderated
    912196 wrote:
    I investigate further on with an USB spy, the problem comes from the Get Response command (effectively in the case of the chaining mode). When I send the get processing option (80A80000028300) the card respond 6114 meaning there is 14 bytes available. But, instead of sending the following APDU (00 C0 00 00 14) it sends (80 C0 00 00 14) which is a Class error, the card than respond 6E00. I suppose SmartCardIO put in the class field of the Get Response the class of the original command (the Get Processing Option) which is an error.
    Does anyone has an idea how to fix this problem? Is this problem known from Oracle and is there a fix available? I have, so far, no clue to fix this point.
    This is because sun.security.smartcardio.CardImpl in smartcardio attempts to handle response chaining for you. I have seen this issue before and the only two workarounds I know of are as follows:

    1) Modify the applet to return 6100 regardless of how many more bytes are being returned when T=0.

    2) Set the undocumented property sun.security.smartcardio.t0GetResponse to false. Then issue GET RESPONSE command yourself. I do not recall this option being viable for us at the time as we had no control over the client JVM. I cannot recall if this method works as expected.

    I used option 1 to solve this problem and then we moved to T=1 cards and the problem was gone anyway.

    Cheers,
    Shane
  • 17. Re: 6E00 ADPU Response
    915199 Newbie
    Currently Being Moderated
    Hi Shane,

    The first solution is not possible for me as I have no influence on the card applet. The second option works fine and it represents an alternative to the use of JDK 1.7.

    Thank you again for your help.

    Best regards.
1 2 Previous Next

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points