using NFC; using NFC.Mifare_DESFire; using NFC.Mifare_DESFire.Enums; using NFC.Readers.PCSC; using NUnit.Framework; using System; using System.Collections.Generic; using System.Text; namespace NFC_Test { //[TestFixture] //public class REAL_Windows_CardSetUp //{ // public static UInt32 FabAccessAID = 0x001100; // public static string CardReaderID = "ACS ACR122U PICC Interface 0"; // public static byte[] PICC_MasterKey = new byte[] // { // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // }; // public static byte[] APP_MasterKey = new byte[] // { // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // }; // public static byte[] APP_Key_1 = new byte[] // { // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // }; // public static byte[] APP_Key_2 = new byte[] // { // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // }; // public static byte[] Empty_Key = new byte[] // { // 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // }; // public static byte FabAccessIdentFileID = 0x01; // public static string UserDomain = "user1@fabaccess.org"; // [Test] // public void ResetCard() // { // IHardware hardware = new Hardware(); // IReader reader = hardware.OpenReader(CardReaderID); // bool connected_successfully = false; // ReaderEventHandler handler = (sender, card) => // { // card.Connect(); // MIFARE_DESFire mifareDESFire = new MIFARE_DESFire(card); // mifareDESFire.AuthenticateISO_DES(0x01, PICC_MasterKey); // mifareDESFire.Format(); // connected_successfully = true; // card.Disconnect(); // }; // reader.CardDiscovered += handler; // reader.Start(); // Assert.AreEqual(true, connected_successfully); // reader.Stop(); // reader.CardDiscovered -= handler; // } // [Test] // public void ProvisionCard() // { // IHardware hardware = new Hardware(); // IReader reader = hardware.OpenReader(CardReaderID); // bool connected_successfully = false; // ReaderEventHandler handler = (sender, card) => // { // card.Connect(); // MIFARE_DESFire mifareDESFire = new MIFARE_DESFire(card); // mifareDESFire.AuthenticateISO_DES(0x01, APP_MasterKey); // mifareDESFire.CreateApplication(FabAccessAID); // mifareDESFire.SelectApplication(FabAccessAID); // mifareDESFire.AuthenticateDES(0x00, Empty_Key); // mifareDESFire.ChangeApplicationMasterKey(APP_MasterKey); // mifareDESFire.AuthenticateDES(0x00, APP_MasterKey); // mifareDESFire.ChangeApplicationKey(0x01, APP_Key_1); // connected_successfully = true; // card.Disconnect(); // }; // reader.CardDiscovered += handler; // reader.Start(); // Assert.AreEqual(true, connected_successfully); // reader.Stop(); // reader.CardDiscovered -= handler; // } // [Test] // public void SetUpUserCard() // { // IHardware hardware = new Hardware(); // IReader reader = hardware.OpenReader(CardReaderID); // bool connected_successfully = false; // ReaderEventHandler handler = (sender, card) => // { // card.Connect(); // MIFARE_DESFire mifareDESFire = new MIFARE_DESFire(card); // mifareDESFire.SelectApplication(FabAccessAID); // mifareDESFire.AuthenticateDES(0x00, Empty_Key); // UInt16 fileAccessRight = mifareDESFire.GenerateFileAccessRight(AccessRights.FREE, 0x00, 0x00, 0x00); // mifareDESFire.CreateFile(FabAccessIdentFileID, FileCommunication.PLAIN, fileAccessRight, (UInt32)0x90); // System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); // mifareDESFire.WirteData(FabAccessIdentFileID, 0x00000000, 0x00000000, enc.GetBytes(UserDomain)); // connected_successfully = true; // card.Disconnect(); // }; // reader.CardDiscovered += handler; // reader.Start(); // Assert.AreEqual(true, connected_successfully); // reader.Stop(); // reader.CardDiscovered -= handler; // } // [Test] // public void AuthenticateCard() // { // IHardware hardware = new Hardware(); // IReader reader = hardware.OpenReader(CardReaderID); // bool connected_successfully = false; // ReaderEventHandler handler = (sender, card) => // { // card.Connect(); // MIFARE_DESFire mifareDESFire = new MIFARE_DESFire(card); // mifareDESFire.SelectApplication(FabAccessAID); // byte[] filedata = mifareDESFire.ReadData(FabAccessIdentFileID, 0x00000000, 0x00000000); // System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); // string userdomain = enc.GetString(filedata); // Console.WriteLine(userdomain); // mifareDESFire.AuthenticateDES(0x01, APP_Key_1); // connected_successfully = true; // card.Disconnect(); // }; // reader.CardDiscovered += handler; // reader.Start(); // Assert.AreEqual(true, connected_successfully); // reader.Stop(); // reader.CardDiscovered -= handler; // } //} }