private byte[] Transmit(byte[] send) { try { reader.Reconnect(SCardShareMode.Shared, SCardProtocol.Any, SCardReaderDisposition.Leave); } catch (NoSmartcardException) { return(null); } byte[] recv = new byte[1024]; int recvLength = reader.Transmit(send, recv); recv = recv.Where((val, idx) => idx < recvLength).ToArray(); Console.WriteLine(string.Join("", send.Select(val => $"{val:x02}"))); Console.WriteLine(string.Join("", recv.Select(val => $"{val:x02}"))); if (!(recv[recv.Length - 2] == 0x90 && recv[recv.Length - 1] == 0x00)) { return(null); } var response = recv.Where((val, idx) => 1 <= idx && idx < recv.Length - 2).ToArray(); return(response); }