2017-07-20 9 views
0

は、私が1443タイプBのカードを持っていると私はこれが応答であるREADBINARYコマンドAndroidでスマートカードATRを読むには?

00 B0 00 00 00
をATRを読むことにより、ファイルIDが0x2F01であるとSELECTコマンドを送信してから送信することができます。
4301F84703F741E07F6608020205F0020205F09000

しかし、なぜコマンド00 B0 81 00 00は機能しません。 ISO/IEC7816-4によれば、このコマンドは、ファイルの短いID(00001)として5ビットのP1xP2でEFを読み取るために使用し、Le = 0x00はファイルの全バイトを読み取る必要があることを指定する。 私は何かが恋しいですか?短いIDのファイルを読むには?

返されるATRについては、SC17_N5781_ISO_IEC_FDIS_7816-62_Identificationで定義されています。これは、ことを示しています - >カードサービスデータ
長さ01 - > 1バイト
バリューF8 - >参照ISO/IEC 7816-4 12.1.1.5

タグ47

タグ43 - - >カード機能
長さ03 - > 3バイト
値F7 41 E0 - >参照ISO/IEC 7816-4 12.1.1.9

タグ7F66 - >拡張長APDU
長さ08 - →8バイト
値 - >参照ISO/IEC 7816-4 12.7.1
タグ02
長さ02
値05 F0
タグ02
長さ02
値05 F0
しかし、私は7816を見つけることができません-4セクション12を参照してください。したがって、私はATRの成功を今読むことができますが、返されたATRの値の定義を明確にすることはできません。この標準は公開されていますか?

答えて

1

ISO/IEC 14443 Aタイプのカードをお持ちの場合、ATSにはATRに格納されている情報のほとんどが含まれます。その場合、カードに定義されたEF.ATRが存在する可能性は低い - このファイルの可用性は必須ではない。

EF.ATRの存在は、ISO/IEC 14443タイプBカードの方が、ATSが欠落する可能性が高いためです。

EF.ATRが存在する場合は、ファイルID(2F01)でSELECTを使用して選択できます。このファイルはです。質問でREAD BINARYコマンドを試してみると短いファイル識別子が0_0001(5ビットバイナリ)になりますが、完全なファイルIDで試してみることをお勧めします。その後、ファイルを読み取ることができない場合は、READ BINARYまたはGET DATAを使用してファイルを読み込みます。

+0

私は自分の質問を編集しました。あなたはそれを@Maarten Bodewesで見ることができますか? – neo

関連する問題