public void Run(string readerName) { var reader = new SmartCardReader(readerName); try { ConsoleWriter.Instance.PrintSplitter(); ConsoleWriter.Instance.PrintTask($"Connecting to {reader.PcscReaderName}"); ReaderHelper.ConnectToReaderWithCard(reader); ConsoleWriter.Instance.PrintMessage($"Connected\nConnection Mode: {reader.ConnectionMode}"); ReaderHelper.GetDataCommand(reader, "Get Historical Bytes", GetDataCommand.Type.Specific); ConsoleWriter.Instance.PrintSplitter(); } catch (Exception e) { ConsoleWriter.Instance.PrintError(e.Message); } finally { if (reader.IsConnected) { reader.Disconnect(CardDisposition.Unpower); ConsoleWriter.Instance.PrintMessage("Reader connection closed"); } ConsoleWriter.Instance.PrintSplitter(); } }
public void Run(string readerName) { var reader = new SmartCardReader(readerName); try { ConsoleWriter.Instance.PrintSplitter(); ConsoleWriter.Instance.PrintTask($"Connecting to {reader.PcscReaderName}"); ReaderHelper.ConnectToReaderWithCard(reader); ConsoleWriter.Instance.PrintMessage($"Connected\nConnection Mode: {reader.ConnectionMode}"); ReaderHelper.ConnectToReaderWithCard(reader); SendUpdateBinaryCommand(reader, UpdateBinaryCommand.Type.Plain, 0x00, "ABCDEF01"); ConsoleWriter.Instance.PrintSplitter(); } catch (Exception e) { ConsoleWriter.Instance.PrintError(e.Message); } finally { if (reader.IsConnected) { reader.Disconnect(CardDisposition.Unpower); ConsoleWriter.Instance.PrintMessage("Reader connection closed"); } ConsoleWriter.Instance.PrintSplitter(); } }
public void Run(string readerName) { var reader = new SmartCardReader(readerName); try { ConsoleWriter.Instance.PrintSplitter(); ConsoleWriter.Instance.PrintTask($"Connecting to {reader.PcscReaderName}"); ReaderHelper.ConnectToReaderWithCard(reader); ConsoleWriter.Instance.PrintMessage($"Connected\nConnection Mode: {reader.ConnectionMode}"); ConsoleWriter.Instance.PrintSplitter(); ReaderHelper.GeneralAuthenticateMifare(reader, "Authenticate with key from slot nr ", 0x04, GeneralAuthenticateCommand.MifareKeyType.MifareKeyA, 0x02); ReaderHelper.ReadBinaryMifareCommand(reader, "Read Binary block nr ", 0x04, 0x00); ReaderHelper.GeneralAuthenticateMifare(reader, "Authenticate with key from slot nr ", 0x05, GeneralAuthenticateCommand.MifareKeyType.MifareKeyA, 0x02); ReaderHelper.ReadBinaryMifareCommand(reader, "Read Binary block nr ", 0x05, 0x00); ReaderHelper.GeneralAuthenticateMifare(reader, "Authenticate with key from slot nr ", 0x06, GeneralAuthenticateCommand.MifareKeyType.MifareKeyA, 0x02); ReaderHelper.ReadBinaryMifareCommand(reader, "Read Binary block nr ", 0x06, 0x00); ReaderHelper.GeneralAuthenticateMifare(reader, "Authenticate with key from slot nr ", 0x07, GeneralAuthenticateCommand.MifareKeyType.MifareKeyA, 0x02); ReaderHelper.ReadBinaryMifareCommand(reader, "Read Binary block nr ", 0x07, 0x00); ConsoleWriter.Instance.PrintSplitter(); } catch (Exception e) { ConsoleWriter.Instance.PrintError(e.Message); } finally { if (reader.IsConnected) { reader.Disconnect(CardDisposition.Unpower); ConsoleWriter.Instance.PrintMessage("Reader connection closed"); } ConsoleWriter.Instance.PrintSplitter(); } }
public void Run(string readerName) { var reader = new SmartCardReader(readerName); try { ConsoleWriter.Instance.PrintSplitter(); ConsoleWriter.Instance.PrintTask($"Connecting to {reader.PcscReaderName}"); ReaderHelper.ConnectToReaderWithCard(reader); ConsoleWriter.Instance.PrintMessage($"Connected\nConnection Mode: {reader.ConnectionMode}"); ConsoleWriter.Instance.PrintSplitter(); ReaderHelper.GeneralAuthenticateMifare(reader, "Authenticate with key from slot nr ", 0x04, GeneralAuthenticateCommand.MifareKeyType.MifareKeyA, 0x02); // Update block 4 with write operation in value block format: // 4 byte value LSByte first, 4 byte bit inverted represetaton of value LSByte first, 4 byte value LSByte first, 1 byte block address, 1 byte bit inverted block address, 1 byte block address, 1 byte bit inverted block address string valueTypeData = GetMifareValueTypeData(1234567, 0x04); ReaderHelper.UpdateBinaryCommand(reader, "Create value type in block nr ", UpdateBinaryCommand.Type.Plain, 0x04, valueTypeData); SendDecrementCommand(reader, "Decrement value in block nr: ", 1, 0x04); ConsoleWriter.Instance.PrintSplitter(); } catch (Exception e) { ConsoleWriter.Instance.PrintError(e.Message); } finally { if (reader.IsConnected) { reader.Disconnect(CardDisposition.Unpower); ConsoleWriter.Instance.PrintMessage("Reader connection closed"); } ConsoleWriter.Instance.PrintSplitter(); } }
public void Run(string readerName) { var reader = new SmartCardReader(readerName); try { ConsoleWriter.Instance.PrintSplitter(); ConsoleWriter.Instance.PrintTask($"Connecting to {reader.PcscReaderName}"); ReaderHelper.ConnectToReaderWithCard(reader); ConsoleWriter.Instance.PrintMessage($"Connected\nConnection Mode: {reader.ConnectionMode}"); ConsoleWriter.Instance.PrintSplitter(); ReaderHelper.GeneralAuthenticateiClass(reader, "Authenticate with implicit selection. Key from slot: ", BookNumber.Book0, PageNumber.Page0, GeneralAuthenticateCommand.ImplicitSelection.On, GeneralAuthenticateCommand.iClassKeyType.PicoPassCreditKeyKC, 0x23); ReaderHelper.ReadBinaryiClassCommand(reader, "Read block without select, block: ", ReadBinaryCommand.ReadOption.WithoutSelect, 0x14, 0x00); ConsoleWriter.Instance.PrintSplitter(); } catch (Exception e) { ConsoleWriter.Instance.PrintError(e.Message); } finally { if (reader.IsConnected) { reader.Disconnect(CardDisposition.Unpower); ConsoleWriter.Instance.PrintMessage("Reader connection closed"); } ConsoleWriter.Instance.PrintSplitter(); } }