private void Monitor_CardInserted(object sender, CardStatusEventArgs e) { var contextFactory = ContextFactory.Instance; try { using (var ctx = contextFactory.Establish(SCardScope.System)) { using (var isoReader = new IsoReader(ctx, monitor.ReaderNames[0], SCardShareMode.Shared, SCardProtocol.Any, false)) { var apdu = new CommandApdu(IsoCase.Case2Short, isoReader.ActiveProtocol) { CLA = 0xFF, Instruction = (InstructionCode)0xCA, P1 = 0x00, P2 = 0x00, Le = 0x00 }; var response = isoReader.Transmit(apdu); var data = response.GetData(); UidReceived(this, new CardUidReceivedEventArgs(data)); LogAction?.Invoke("SCardWatcher Received : " + BitConverter.ToString(data)); } } } catch (Exception ex) { LogAction?.Invoke("SCardWatcher Error - " + ex); } }
void cardMonitor_CardInserted(object sender, CardStatusEventArgs e) { var cardReader = new SCardReader(cardContext); cardReader.Connect(e.ReaderName, SCardShareMode.Shared, SCardProtocol.T0 | SCardProtocol.T1); int rxBuffLen = 32; byte[] recieveBuff = new byte[rxBuffLen]; cardReader.Transmit(new byte[] { 0xFF, 0xCA, 0x00, 0x00, 0x04 }, recieveBuff, ref rxBuffLen); string tag = BitConverter.ToString(recieveBuff, 0, rxBuffLen); if (IsMonitoring == true) { base.RaiseTagRead(tag); foreach (var listener in TagListeners) { listener.TagRead(new RFIDTag { RFIDTagType = RFIDTag.TagType.Short, Tag = tag }); } } cardReader.Disconnect(SCardReaderDisposition.Leave); }
void Initialized(object sender, CardStatusEventArgs args) { SCardMonitor monitor = (SCardMonitor)sender; //Console.WriteLine(">> Initialized Event for reader: " + args.ReaderName); //Console.WriteLine(" ATR: " + StringAtr(args.Atr)); //Console.WriteLine(" State: " + args.State + "\n"); }
private void _Removed(string eventName, CardStatusEventArgs unknown) { if (eventCardRemoved != null) { eventCardRemoved(); } }
/// <summary> /// <para>Card inserted event.</para> /// <para>If TrainMode is off, starts reading a card and initiates the authentication with the card</para> /// <para>If TrainMode is on, starts to perfom the pairing with the card</para> /// </summary> /// <param name="info">The info send by the event</param> private void CardInserted(CardStatusEventArgs info) { if (!TrainMode) { var res = Authenticate(info.ReaderName); if (isTrusted(res)) { Console.Beep(6200, 50); Console.Beep(6200, 50); Console.Beep(6200, 50); Console.Beep(6200, 50); Console.Beep(6200, 50); Console.Beep(6200, 50); _isOk(res); } else { Console.Beep(2200, 200); Console.Beep(1200, 200); _isOk(new AltsInfo { Authenticated = false, AuthDeviceId = "Not Trusted" }); } } else { Console.Out.WriteLine("trainMode On"); TrustDevice(info.ReaderName); TrainMode = false; } }
private void Monitor_CardInserted(object sender, CardStatusEventArgs e) { if (CardInserted != null) { CardInserted(this, new EventArgs()); } }
private void OnCardInserted(object sender, CardStatusEventArgs e) { SmartCardReaderUtil sCardMonitor = SmartCardReaderUtil.Instance; string cardUID = sCardMonitor.GetCardUID(); if (!string.IsNullOrEmpty(cardUID)) { // Scan smart card successfully DAL_User dalUser = new DAL_User(); Trinity.BE.User user = dalUser.GetUserBySmartCardId(cardUID); if (user != null) { MessageBox.Show("This smart card is already in used by another person. Please user another card.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } // Then stop Smart Card and Start to scan finger print sCardMonitor.StopSmartCardMonitor(); btnScanSmartcard.Enabled = false; _currentUser.SmartCardId = cardUID; StartToScanFingerprint(); UpdateNote("Scan smart card successfully. Please scan your finger print to continue", Color.Blue); return; } UpdateNote("Could not scan the smart card", Color.Red); }
private void CardInsertedHandler(object sender, CardStatusEventArgs args) { this.Acr122DisableBuzzerOnNewCard(); this.CardId = this.GetCardId(); this.OnCardInserted(EventArgs.Empty); PcscService.logger.Debug("NFC card placed on reader, cardID: " + this.CardId); }
private void _monitor_CardInserted(object sender, CardStatusEventArgs e) { if (e.State == SCRState.Present) { try { BChipSmartCard insertedCard = new BChipSmartCard(e.ReaderName) { ATR = e.Atr, LastConnected = DateTime.Now, IsConnected = true }; if (insertedCard.Type() == CardType.BChip) { ScanAndLoadConnectedCards(insertedCard); } } catch (Exception ex) { Logger.Log(ex); } } }
/// <summary> /// CardInserted event /// </summary> /// <param name="e">CardStatusEventArgs object</param> private void CardInserted(CardStatusEventArgs e) { /* * Timing problem with fast card readers; delay should be > 300ms */ System.Threading.Thread.Sleep(EVRCardReaderAppSettings.CardAccessDelay); this.ReadingCardData(e.ReaderName); }
private void OnCardInserted(object sender, CardStatusEventArgs e) { Debug.WriteLine("OnCardInserted"); string cardUID = SmartCardReaderUtil.Instance.GetCardUID(); Debug.WriteLine($"Card UID: {cardUID}"); SmartCardLoginProcess(cardUID); }
private void Monitor_CardInserted(object sender, CardStatusEventArgs e) { if (HorekaNFCReader.connectCard()) { NFCUID = HorekaNFCReader.GetCardUID(); LoginRequested?.Invoke(); } }
static void CardRemoved(object sender, CardStatusEventArgs args) { SCardMonitor monitor = (SCardMonitor)sender; Console.WriteLine(">> CardRemoved Event for reader: " + args.ReaderName); Console.WriteLine(" ATR: " + StringAtr(args.Atr)); Console.WriteLine(" State: " + args.State + "\n"); }
private void CardInserted(object sender, CardStatusEventArgs args) { Console.WriteLine("Card Inserted"); var hex = BitConverter.ToString(args.Atr ?? new byte[0]); cp.NFCData = hex; cp.Invoke((MethodInvoker)(() => this.cp.SetNFCData())); ReadData(); }
private void OnCardInserted(object sender, CardStatusEventArgs e) { Debug.WriteLine("OnCardInserted"); Trinity.Common.Monitor.SCardMonitor sCardMonitor = Trinity.Common.Monitor.SCardMonitor.Instance; string cardUID = sCardMonitor.GetCardUID(); Debug.WriteLine($"Card UID: {cardUID}"); SmartCardLoginProcess(cardUID); }
static void ev(string eventName, CardStatusEventArgs args) { Console.ForegroundColor = ConsoleColor.DarkYellow; Console.Write($" {args.ReaderName,-42} "); Console.ForegroundColor = ConsoleColor.DarkCyan; Console.Write($" {eventName,-15} {"",19}{args.State,-18}"); /*if ((args.State & SCRState.Present) != 0) GetUID(args.ReaderName);*/ Console.WriteLine($"{(eventName.Equals("Card Removed") ? "\r\n\n" : "")}"); Console.ResetColor(); }
private void Monitor_CardRemoved(object sender, CardStatusEventArgs args) { if (blockCardEvents > 0) { return; } StatusMessage?.Invoke("Tag removed on " + args.ReaderName); CardRemoved?.Invoke(args.ReaderName); }
private void OnCardInserted(object sender, CardStatusEventArgs e) { LogManager.Debug("OnCardInserted..."); string cardUID = SmartCardReaderUtil.Instance.GetCardUID(); LogManager.Debug("Smart Card UID: " + cardUID); if (!string.IsNullOrEmpty(cardUID) && GetCardInfoSucceeded != null) { GetCardInfoSucceeded(cardUID); } }
private void CardRemovedHandler(object sender, CardStatusEventArgs args) { this.CardId = string.Empty; EventHandler cardRemoved = this.CardRemoved; if (cardRemoved != null) { cardRemoved((object)this, EventArgs.Empty); } this.OnCardRemoved(EventArgs.Empty); PcscService.logger.Debug("NFC card removed from reader"); }
private void OnCardInitialized(object sender, CardStatusEventArgs e) { Debug.WriteLine("onCardInitialized"); string cardUID = SmartCardReaderUtil.Instance.GetCardUID(); if (string.IsNullOrEmpty(cardUID)) { return; } Debug.WriteLine($"Card UID: {cardUID}"); SmartCardLoginProcess(cardUID); }
private void _monitor_CardRemoved(object sender, CardStatusEventArgs e) { if (LoadedBChips != null) { if (LoadedBChips.ReaderName == e.ReaderName) { ChangePageUi(PageToShow.NoCard, null); // single card only. // bchip.IsConnected = false; LoadedBChips = null; } } }
private void OnCardInitialized(object sender, CardStatusEventArgs e) { Debug.WriteLine("onCardInitialized"); Trinity.Common.Monitor.SCardMonitor sCardMonitor = Trinity.Common.Monitor.SCardMonitor.Instance; string cardUID = sCardMonitor.GetCardUID(); if (string.IsNullOrEmpty(cardUID)) { return; } Debug.WriteLine($"Card UID: {cardUID}"); SmartCardLoginProcess(cardUID); }
private void CardEvent(object sender, CardStatusEventArgs args) { if (this.Dispatcher.CheckAccess()) { UpdateDataGrid(); } else { this.Dispatcher.Invoke((Action)(() => { UpdateDataGrid(); })); } }
private static void ProcessEvent(MainForm mf, CardStatusEventArgs ea) { if ("Present" == ea.State.ToString()) { string uid = GetCardUID(ea.ReaderName); if (uid != null) { try { mf.CardRead(ea.ReaderName, uid); } catch (Exception e) { Log.Error(e, "Card event process error."); } } } }
/// <summary> /// Invoked when a new card was inserted into the reader /// </summary> /// <param name="sender"></param> /// <param name="args"></param> protected void CardInserted(object sender, CardStatusEventArgs args) { Log.Info("Card detected."); try { byte[] uid = UidFromConnectedCard(args.ReaderName); // We only care about the first 4 bytes byte[] shortUid = new byte[4]; Array.Copy(uid, shortUid, 4); string uidString = BitConverter.ToString(shortUid).Replace("-", string.Empty); Log.InfoFormat("Read UID '{0}' from '{1}'.", uidString, args.ReaderName); BroadcastUidEvent(shortUid); } catch (Exception ex) { Log.Error(ex.Message); BroadcastErrorEvent(new byte[] { 0 }); } }
private void CardInserted(object sender, CardStatusEventArgs e) { Log.Debug("Card inserted"); try { using (var reader = new IsoReader(CardContext, GetReader(), SCardShareMode.Shared, SCardProtocol.Any, false)) { var id = GetCardId(reader); var status = GetReaderStatus(reader); var cardName = GetCardName(status.Atr); var cardType = GetInt16(cardName); var isMifare = cardType == Mifare1KCard || cardType == Mifare4KCard; var isMifareUltralight = cardType == MifareUltralightCard; //var bytes = GetAllCardBytes(reader, isMifareUltralight ? 4 : 16); var isShopCard = true; // IsShopCard(bytes); Log.Debug(String.Format("Card Id: {0}, Shop Card: {1}", BitConverter.ToString(id), isShopCard)); if (isShopCard) { var cardString = BitConverter.ToString(cardName.Concat(id).ToArray()).Replace("-", ""); EventAggregator.Publish(new CardInserted { CardId = cardString }); } else { EventAggregator.Publish(new InvalidCardInserted { }); } } } catch (Exception ex) { Log.Error(ex); EventAggregator.Publish(new InvalidCardInserted { }); } }
private void Monitor_CardInserted(object sender, CardStatusEventArgs e) { if (this.InvokeRequired) { try { this.Invoke(new MethodInvoker(delegate() { this.CardInserted(e); })); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { this.CardInserted(e); } }
private void OnCardRemoved(object sender, CardStatusEventArgs e) { var readerContext = Readers[e.ReaderName]; if (readerContext.CardContext != null) { readerContext.IsoReader.Dispose(); readerContext.IsoReader = null; readerContext.CardContext.Cancel(); readerContext.CardContext.Dispose(); readerContext.CardContext = null; } lock (_lock) { _activeReaderName = string.Empty; } }
private void _cardInitalised(object sender, CardStatusEventArgs e) { string temp_message = string.Empty; if (string.IsNullOrEmpty(_connectedReader) || _monitor == null) { return; } if (_monitor.Monitoring) { _monitoredReaders = _monitor.ReaderNames; string monitoredReaders = _monitor.ReaderNames.Aggregate(string.Empty, (current, reader) => current + " " + reader); temp_message = string.Format("Now monitoring {0}", monitoredReaders); // TODO: Update the UI } else { temp_message = "Not monitoring any card readers, won't detect that a new card is inserted."; } }
private void OnCardInserted(object sender, CardStatusEventArgs e) { lock (_lock) { // One reader can be active at a time. if (_activeReaderName == string.Empty) { _activeReaderName = e.ReaderName; } else { return; } } var readerContext = Readers[e.ReaderName]; readerContext.CardContext = ContextFactory.Instance.Establish(SCardScope.System); readerContext.IsoReader = new IsoReader( readerContext.CardContext, e.ReaderName, SCardShareMode.Shared, SCardProtocol.Any, false); //// var uid0 = ReadBinary(0, 0, 4); //// var uid1 = ReadBinary(0, 1, 4); /// if (uid0.Length != 0) /// { /// var tagId = new byte[] ///{ ////uid0[0], uid0[1], uid0[2], uid1[0], uid1[1], uid1[2], uid1[3] ///}; ////var tagIdStr = BitConverter.ToString(tagId); ////Debug.WriteLine($"TAG ID: {tagIdStr}"); /// } var tagAtrStr = BitConverter.ToString(e.Atr).Replace("-", " "); Debug.WriteLine($"TAG ATR: {tagAtrStr}"); Debug.WriteLine($"TAG STATE: {e.State}"); }