我正在尝试使用PcSc-Sharp创建一个用于通过Mifare1K卡进行写入/读取的C#类。我已经获得了“ATR”数据,但不知道如何从中生成Ndef消息。
我还调查了Mifare库,但样例似乎存在缺陷(无法在每个“card-attached-event”上读取扇区)。因此我的问题是:有没有人知道一个适用于Windows的可行方法/库,可以为我处理底层工作?
编辑:我尝试了PcSc包中的Mifare示例。但我无法加载密钥。
我还调查了Mifare库,但样例似乎存在缺陷(无法在每个“card-attached-event”上读取扇区)。因此我的问题是:有没有人知道一个适用于Windows的可行方法/库,可以为我处理底层工作?
编辑:我尝试了PcSc包中的Mifare示例。但我无法加载密钥。
using (var context = new SCardContext())
{
context.Establish(SCardScope.System);
var readerNames = context.GetReaders();
if (readerNames == null || readerNames.Length < 1)
{
Console.WriteLine("You need at least one reader in order to run this example.");
Console.ReadKey();
return;
}
var readerName = ChooseReader(readerNames);
if (readerName == null)
{
return;
}
using (var isoReader = new IsoReader(context, readerName, SCardShareMode.Shared, SCardProtocol.Any, false))
{
var card = new MifareCard(isoReader);
var loadKeySuccessful = card.LoadKey(
KeyStructure.NonVolatileMemory,
0x00, // first key slot
new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } // key
);
if (!loadKeySuccessful)
{
throw new Exception("LOAD KEY failed.");
}
// ... some more actions here ...
}
}
有人知道loadKey参数是否正确吗?