2016/01/10

[nfc]PC/SCを試す (8)

SELECT FILE自体は、VERIFYで暗証番号を確認していなくても成功した。
なので、VERIFYが意味を持つのはREAD BINARYなのだろう。

また、DF1をSELECTした状態でVERIFYの短縮EF識別子を指定すると、エラーになった。
0x69, 0x81で「ファイル構造と矛盾したコマンドである」だ。
短縮EF識別子は相対パスのフォルダ名みたいなものだから、ちゃんとMFをSELECTしてからVERIFYしないといけないのだろう。


では、まずVERIFYをせずに、MF/EF01にREAD BINARYしてみる。
・・・エラーだ。
0x69, 0x81だから「ファイル構造と矛盾したコマンドである」になった。
そういうものなのか?

SELECT FILEでMF/EF01を指定し、P1=0x80, P2=0x00でREAD BINARYしたのだ。
カレントEFを読んでいるつもりなのだが。
CaseをCase2ExtendedからCase2Shortにしてみたが、変わらん。
相対アドレス15bit指定でP1=0x00, P2=0x00としたが、変わらん。
うーん・・・

あ、MF/EF01のEF識別子は、0x0001じゃなくて0x2F01だ!
そこだけルールが違うのか。。。
0x2F01を指定したら、ちゃんと「仕様書バージョン」「交付年月日」「有効期間の末日」が取って来れた。

 

試しに、DF1/EF01をREAD BINARYすると、こちらは0x69, 0x82が返ってきた。
「セキュリティステータスが満足されない」ということで、こちらはVERIFYを実行していないから読み込めないのだ。

けれども、ひとまずはType-Bでの簡単なアクセスはできたと思う。
書き込みはできないけれども、まあ、仕方ない。

 

作ったものはgithubに置いた。
あ、最後のコミットコメントが「k悪人」になってるけど、「確認」の間違いね。
https://github.com/hirokuma/PcscSample01

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。