public static List<CardInfo> GetReaderNames() { List<CardInfo> lst = new List<CardInfo>(); SmartCardIO cardIO = new SmartCardIO(); List<String> connectedCards = cardIO.GetConnected(); foreach (String s in connectedCards) { CardInfo info = new CardInfo(); ABC4TrustSmartCard smartCard = new ABC4TrustSmartCard(s); info.ReaderName = s; string version; ErrorCode err = smartCard.GetVersion(out version); if (err.IsOK) { info.CardVersion = version; } CardMode cardMode; err = smartCard.GetMode(out cardMode); if (err.IsOK) { info.CardMode = (int)cardMode; } lst.Add(info); } return lst; }
public SmartCardTransaction(ABC4TrustSmartCard device, SCardReaderDisposition disMethod = SCardReaderDisposition.Leave) { this.device = device; this.disMethod = disMethod; int noRetry = 10; int i = 0; if (device.doProfile) { profileLogger = Logger.Instance.getLog(device.pInfo.loggerToUse); timer = new AbcTimer(); timer.Start(); } while (TryTransaction() != 0) { if (i < noRetry) { System.Threading.Thread.Sleep(1000); } else { // TODO find a better exception. throw new Exception("Could not get exclusive lock on card"); } ++i; } }
private void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e) { DataGrid dGrid = sender as DataGrid; if (dGrid.SelectedCells.Count == 0) { return; } CardInfo cInfo; try { cInfo = (CardInfo)dGrid.SelectedCells[0].Item; } catch (Exception) { return; } this.smartCard = new ABC4TrustSmartCard.ABC4TrustSmartCard(cInfo.ReaderName); this.sIO = this.smartCard.sIO; if ((CardMode)cInfo.CardMode == CardMode.VIRGIN) { this.modeButton.Click += modeButton_Root_Click; String content = "SetRootMode"; this.modeButton.Content = content; this.modeButton.Visibility = Visibility.Visible; } if ((CardMode)cInfo.CardMode == CardMode.ROOT) { this.initCard.Visibility = Visibility.Visible; } }
private void UpdateDataGrid() { SmartCardIO cardIO = new SmartCardIO(); List <String> connectedCards = cardIO.GetConnected(); cardInfoLst = new List <CardInfo>(); foreach (String s in connectedCards) { CardInfo info = new CardInfo(); ABC4TrustSmartCard.ABC4TrustSmartCard smartCard = new ABC4TrustSmartCard.ABC4TrustSmartCard(s); info.ReaderName = s; string version; ErrorCode err = smartCard.GetVersion(out version); if (err.IsOK) { info.CardVersion = version; } CardMode cardMode; err = smartCard.GetMode(out cardMode); if (err.IsOK) { info.CardMode = (int)cardMode; } cardInfoLst.Add(info); } this.dataGrid1.ItemsSource = cardInfoLst; this.modeButton.Visibility = Visibility.Hidden; this.initCard.Visibility = Visibility.Hidden; }
public SmartCard(String readerName, byte[] pin) { this.device = new ABC4TrustSmartCard(readerName); this.pin = pin; }
public SmartCard(String readerName, string pin, bool doProfile = false) { this.device = new ABC4TrustSmartCard(readerName); this.pin = Encoding.ASCII.GetBytes(pin); }
private void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e) { DataGrid dGrid = sender as DataGrid; if (dGrid.SelectedCells.Count == 0) { return; } CardInfo cInfo; try { cInfo = (CardInfo)dGrid.SelectedCells[0].Item; } catch (Exception) { return; } this.smartCard = new ABC4TrustSmartCard.ABC4TrustSmartCard(cInfo.ReaderName); this.sIO = this.smartCard.sIO; if ((CardMode)cInfo.CardMode == CardMode.VIRGIN) { this.modeButton.Click += modeButton_Root_Click; String content = "SetRootMode"; this.modeButton.Content = content; this.modeButton.Visibility = Visibility.Visible; } if ((CardMode)cInfo.CardMode == CardMode.ROOT) { this.initCard.Visibility = Visibility.Visible; } }
private void UpdateDataGrid() { SmartCardIO cardIO = new SmartCardIO(); List<String> connectedCards = cardIO.GetConnected(); cardInfoLst = new List<CardInfo>(); foreach (String s in connectedCards) { CardInfo info = new CardInfo(); ABC4TrustSmartCard.ABC4TrustSmartCard smartCard = new ABC4TrustSmartCard.ABC4TrustSmartCard(s); info.ReaderName = s; string version; ErrorCode err = smartCard.GetVersion(out version); if (err.IsOK) { info.CardVersion = version; } CardMode cardMode; err = smartCard.GetMode(out cardMode); if (err.IsOK) { info.CardMode = (int)cardMode; } cardInfoLst.Add(info); } this.dataGrid1.ItemsSource = cardInfoLst; this.modeButton.Visibility = Visibility.Hidden; this.initCard.Visibility = Visibility.Hidden; }