2017-02-03 15 views
0

32kより大きいスマートカードからファイルを読み込みたいです。 READ BINARYコマンドAPDUは、P1とP2に32767までのオフセットを持つことができます。しかし、ファイルが大きければどうなりますか?完全なファイルを読む方法はありますか? ありがとうございました!スマートカードから大量のバイナリファイル(> 32k)を読んでください。READ BINARYコマンドAPDU

答えて

2

ISO 7816、パート4の新しいリビジョンでは、コマンドデータフィールドにオフセットDO(タグ0x54)を指定する必要がある、奇妙なINSTructionバリアント(つまりINS = 0xB1)が提供されています。幸いなことに、このDOの長さは可変です。したがって、実際に大きなオフセットを指定できます。しかし、奇数命令の命令にはまだまだエキゾチックなタッチがありますが、厳密な仕様では要求されませんが、大きなファイルをサポートするカードでもこの命令の変種をサポートする可能性があります。

私が知っている唯一の欠点は、開始オフセットとして0x7FFFを指定し、カードが許す限り大きな(拡張された長さ)LEを指定することですが、これはかなり大きなファイルでは不十分である可能性があります。

+0

ありがとうございます!それが私を助けました。 2005年から私のISOリビジョンには、Odd Insバイトが含まれていると思います。 2013年のバージョンを手に入れなければならないだろう。ありがとう! – tzippy

+0

@tzippy(この回答を受け入れるように)大歓迎です。実際には、2005年版には、特に強調されていなくても必要なものがすでに含まれています。テーブル42(*バイナリ*を読む)と、* General *セクション7.2.2。もちろん、現在のバージョンの標準をコピーすることは常に良い考えです。 – guidot

関連する問題