Visual Basic 中学校 掲示板 投稿内容
タグのない投稿を抽出 統計 RSS

Visual Basic 中学校 > 投稿一覧 >

vb.netで

タグの編集...

投稿者 VB勉強   (社会人)   投稿日時 2021/4/25 07:34:14
VB.NETでSONY パソリを使用しICカードのIDを読みたいです
出来るだけ製作者の明解なDLLやSDKを使用したいと考えてます
dLLやSDKはもちろん有償でも構いません
どなたか使用例をご存じないですか?
ご教授お願いします


投稿者 (削除されました)   ()   投稿日時 2021/4/25 15:07:26
(削除されました)

投稿者 魔界の仮面弁士   (社会人)   投稿日時 2021/4/26 10:07:19
> ICカードのIDを読みたいです

ここでいう ID が、具体的に何を指しているのかにもよりますが、
Type-F カードで良く使われるのは、8 バイトの『NFCID2』というものですね。
これは FeliCa の用語では【IDm】と呼ばれるものであり、カード内に
複数のシステム(Edy とか Suica とか)がある場合、IDm も複数存在することがあります。

ちなみに Type-B では『NFCID0』(4 バイト)、DEP のものは『NFCID3』(10バイト)、
Type-A では『NFCID1』(simple 4 バイト or double 7 バイト or triple 10 バイト)と
呼ばれますが、おおむね同じようなものです。MIFARE の UID は NFCID1 ですね。

ご存じかもしれませんが、Suica や Edy が Type-F (いわゆる FeliCa)、
自動車運転免許証は Type-B カードにあたります。

これら NFCID は、カード製造時に IC チップに記録され、書き換えができない番号では
ありますが、通信が暗号化されておらず偽装が容易なため、入退室管理などに用いることは
できませんのでご注意ください。 https://note.com/ibuta/n/n69eeca83f997


カードのフォーマットによる差はありますが、FeliCa を例に挙げてみると、
たとえば Suica の領域を読み取る場合は、システムコード 0003 を指定して
Polling コマンドを呼び出します。FeliCa Networks Common Area(共通領域)に
アクセスする場合はシステムコード FE00 です。カードの種類が分からず
フォーマット判別が必要な場合は、ワイルドカード指定となるシステムコード FFFF を
最初に送出して反応を見てから、個々のシステムコードを試すことができます。
このあたりの手順については、Sony から提供されている
フォーマットシーケンス設計ガイドラインをご覧ください。


FeliCa の IDm はカードごとに一意な番号になるケースと、一位にならないケースがあります。
8 バイトのうち、上位 2 バイトは製造者コード、下位 6 バイトはカード識別番号を示します。

製造者コード 01FE … カード識別番号は乱数値
製造者コード 02FE … カード識別番号の番号体系の規定なし
製造者コード 03FE … カード識別番号はデータフォーマットコードを含む番号体系
製造者コード n4FE … カード識別番号は乱数を含む体系(上位 4 bit はカード内システム番号)
製造者コード 05FE … カード識別番号は乱数値(未発行状態)
製造者コード xxFE … 予約  ※xx は上記以外の任意の値
製造者コードが上記以外 … カード識別番号は、カード製造者ごとが規定する体系に従う




> 出来るだけ製作者の明解なDLLやSDKを使用したいと考えてます
FeliCa なら、製作者やソースコードが提供されているものとして、
村上 卓弥さんが作成された FeliCaLib (BSD License) が挙げられます。
http://felicalib.tmurakam.org/
https://github.com/tmurakam/felicalib

そしてそれを .NET から使いやすいよう追加改修した、
坂本 啓法さんの FeliCaLib.DotNet (MIT License) などが有名どころです。
https://github.com/sakapon/felicalib-remodeled


> どなたか使用例をご存じないですか?
別の掲示板にサンプルを掲載しています。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=97296

SDK については、Sony から販売されています。
SDK の場合の使用例については、販売元にご相談ください。
https://www.sony.co.jp/Products/felica/business/products/sdk.html