2014年8月3日日曜日

【C#】Windows7 以下で FeliCa を読んでみる

最近仕事で C# を使うことが多くなりまして。

NFC というか FeliCa の情報取りたいなーと使い方を調べていると、大体 FeliCa の SDK 使うことを基本に書かれている内容ばかりなのと、ID 読むだけならゴロゴロ情報はあるのですがそれ以外があまり無くて少し困ったのでメモを。
別にオープンな領域に書かれているモノを呼ぶのに SDK 使わなくたってできるでしょ?カード側からそれを受け取るコマンド送れば終わりでしょ?4時間もあれば終わるでしょ。
なんて迂闊なことを行ってしまって見事にハマってしまいました。

今回のメモは FeliCa の非暗号化部分を読み込むところがメインです。

書かれているパラメータの意味は PC/SC や FeliCa の仕様書を読んでみてください。
FeliCaのオープンな部分を読むだけとはいえ、なんかあれこれ煩いことになるのも面倒なのでソースまでは公開してません。

PC/SC をお話するのは PC/SC-Sharp を使っています。
Async な Task を組んだり、Monitor の実装があったり、P/Invoke 周りやデータの変換諸々が非常に楽になります。