2014/09/12

[android]MifareClassicクラス

NXPにMIFARE Classicという種類のタグがある。
これは、NFC Forumの分類Type 1~4 Tagの中には入っていない。
入っていないのだが、値段やセキュリティがついていることから普及率はかなり高いと思う。
NXP独自でNDEFフォーマットを決め、Android APIにもクラスを突っ込んだくらいだ。
(このあたり、SONYさんもやっていただきたかった。。。)

さて、FeliCa Lite-Sの認証を見ているので、どこか参考になるものはないかと考え、MifareClassicクラスに思い至ったというところだ。
MIFARE Ultralight-Cも認証はあるんだけど、許可を得ないといかんようで仕様書の入手方法がわからん。。。


MifareClassic
http://developer.android.com/reference/android/nfc/tech/MifareClassic.html

最初に断っておくと「Implementation of this class on a Android NFC device is optional」と書かれているように、このクラスの有無については端末依存だ(存在はするけど使えない、のかな)。
使えるときはNfcAとして検出されるらしい。
確か、Nexus7(2012)にはPN65が載っているからサポートされて、Nexus7(2013)にはBroadcomのチップが載っているからサポートされてない(NCI対応だから、の方なのかな?)。
ざっと見たが、IOExceptionとTagLostExceptionがあるくらいで、認証失敗例外、みたいなものはないようだ。

ただ、authenticateSectorWithKeyAとBというメソッドがあるのだが、そこのSee Alsoが気になる。
何かあったのかもしれないが、エラーになっていてリンク先がない(android developerのページに飛ぶ)。
http://tools.oesf.biz/android-4.4.0_r1.0/xref/frameworks/base/core/java/android/nfc/tech/MifareClassic.java
なんだ、Javadocの書き間違えか。

0 件のコメント:

コメントを投稿

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

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