licel / jcardsim

https://jcardsim.org
223 stars 123 forks source link

Card can't respond with more than 128 bytes of data #10

Closed licel closed 11 years ago

licel commented 11 years ago

From ndesm...@gmail.com on February 15, 2013 19:26:54

I have an applet which returns more than 128 bytes of data. The applet works well with a real javacard, but not with jcardsim.

With jcardsim everything is fine while the card returns less than or exactly 128 bytes of data. If I try with more than 128 bytes (say 160 or 255 bytes) I get a strange status code "00 02" and no data.

With a real card, the card can respond with 255 bytes of data. For more than 255 bytes I have to do some APDU chaining, but no need to say it doesn't work with jcardsim.

Original issue: http://code.google.com/p/jcardsim/issues/detail?id=10

licel commented 11 years ago

From jcard...@licel.ru on February 18, 2013 06:25:26

It is the bug and the feature simultaneously :) It is connected with backward compatibility with Sun's emulator for JCDK2.2.

We agree with you, but now it is more correctly to use 256, not buffer.length. At the moment jCardSim support T=0 (Short) protocol (as more common), in which size of data in ResponseAPDU can not be larger then 256 bytes - http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-4_annex-a.aspx

Status: Accepted

licel commented 11 years ago

From ndesm...@gmail.com on February 18, 2013 07:51:27

Well as the Sun's emulator is pretty useless in my opinion (with some strange limitations), I hope you're final goal will be to emulate features supported by real cards, and that you will soon be able to address this issue.

Regards

licel commented 11 years ago

From jcard...@licel.ru on June 01, 2013 07:45:57

Status: Fixed