API version 16
iOSAndroidWindows
|
説明 |
Mifare Classicタグのセクタに対し、KeyBによる認証を行います。 詳細はMifare Classicのドキュメントなどを参照してください。
|
||||||||||||||||
|
呼出形式 |
nfc.Mifare_AuthenticateSectorWithKeyB( sectorIndex , keyType [, key ] )
|
||||||||||||||||
|
戻り値 |
なし
|
||||||||||||||||
|
引数 |
Integer sectorIndex |
0から開始する、認証を行うセクタのインデックスを指定します。 |
|||||||||||||||
|
|
Integer keyType |
認証キーを自分で指定するか、よく知られているキーを使うかを指定します。 下記の値を指定します。
|
|||||||||||||||
|
|
ByteArray key |
6byteの認証キーを指定します。 keyTypeがMIFARE_KEY_USERの場合に使用します。
キーのサイズが6byteではない場合、FUNC-4例外が発生します。
|
|||||||||||||||
|
例外 |
FUNC-4 |
引数が不正です。 |
|||||||||||||||
|
|
RTM-50 |
NFCタグへのアクセスに失敗しました。 |
|||||||||||||||
|
|
RTM-85 |
Mifare Classicコマンドの発行に失敗しました。
|
|||||||||||||||
|
使用例 |
var nfc = null;
try {
nfc = Runtime.DiscoverNfcTag("Mifare Classicのカードをかざしてください");
} catch(e) {
MessageBox("NFCタグ探索失敗");
return;
}
if(!nfc.IsMifareClassicTag) {
nfc.Close(false, "Mifare Classic以外のタグが読み取られました");
return;
}
try {
nfc.SetMessage("読取中...");
var key = new ByteArray(0,1,2,3,4,5);
/* 0番目のセクタに対しKeyBで認証を行う*/
nfc.Mifare_AuthenticateSectorWithKeyB(0,NfcTagConnection.MIFARE_KEY_USER,key);
/* 0番目のブロックからデータを取得*/
var blockData = nfc.Mifare_ReadBlock(0);
var blockDataStr = "";
var len = blockData.length;
for (var i = 0; i < len; i++) {
var b = blockData.ByteAt(i);
blockDataStr += b.ToString(16) + str(" ");
}
/* NFCとの通信を終了 */
nfc.Close(true, "ブロックデータ : " + blockDataStr);
} catch(e) {
nfc.Close(false, "読取エラー");
}
|
||||||||||||||||
|
関連項目 |
|||||||||||||||||