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(); } }