Я также исследовал библиотеку Mifare, но образцы показались быть глючным (сектора не могут быть прочитаны при каждом «событии, связанном с картой»).
Поэтому мой вопрос: кто-нибудь знает рабочий метод/библиотеку для Windows, которая делает для меня низкоуровневые вещи ?
РЕДАКТИРОВАНИЕ: я попробовал образец Mifare из пакета PcSc. Там я не могу загрузить ключ:
Код: Выделить всё
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 ...
}
}
Подробнее здесь: https://stackoverflow.com/questions/346 ... rd-windows
Мобильная версия