2013-07-08 33 views
0

Iam嘗試讀取EG Nr.1360-2002(第120頁)中記錄的數字轉速錶智能卡上的Events_Data文件。它的大小可以從864到1728字節不等。現在我試圖找出測試卡上的確切尺寸。我嘗試按照this SO文章中描述的步驟進行操作,但這些類型的卡的SELECT命令似乎只適用於P2 = 0C(沒有預期的響應)。是否有另一種方法來找出這些文件的大小?確定智能卡上基本文件的大小

回答

1

我從規範的理解:

但對於這些類型的卡SELECT命令似乎只與 P2 = 0℃(無預期的響應)

我同意工作。第36頁指出,它支持標準ISO 7816,但第105頁指出,選擇文件的APDU是有限的(不能有響應數據,只有SW = 9000或錯誤)

它的大小可以從864至1728字節的變化。

基本上,有6個CardEventRecords,每個都由n1(6到12)CardEventRecord(24字節)組成。因此,此文件中有36到72個CardEventRecord。

我試着按照this descriped SO文章

在這種情況下,你可以先讀取864個字節(加快步驟,只是發4層的APDU讀firstt 255個字節,接下來的255個字節,接下來的255個字節和接下來的99個字節)。 然後,循環讀取每24個字節的剩餘字節(CardEventRecord),並在收到SW 6B00或6700時停止。

注意:您還可以爲所有字節塊讀取255個字節,並且當您收到錯誤6CXX,使用XX表示的短長度重新發送讀取的APDU。這應該是更快,但卡可能會發送SW 6700而不是6CXX這是不方便的(取決於卡實施)。

+0

謝謝你的回答幫助了我很多。我試着每個APDU讀取255個字節。前4個響應APDU返回255個字節,第5個返回一個錯誤代碼(甚至認爲我使用了255個字節的偏移量)。我現在假設我可以使用返回的所有字節,而無需計算實際長度。 – BadKarma