From 9a3b47f0fa9bf81c49631ff727dff4a06f7cbc0f Mon Sep 17 00:00:00 2001 From: Heiko Schaefer Date: Sun, 12 Dec 2021 21:50:30 +0100 Subject: [PATCH] Get pcsc card via PcscClient::open_by_ident(), instead of manually filtering it from a list of all cards. --- card-functionality/src/cards.rs | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/card-functionality/src/cards.rs b/card-functionality/src/cards.rs index 23f60a0..ef3e8c0 100644 --- a/card-functionality/src/cards.rs +++ b/card-functionality/src/cards.rs @@ -97,19 +97,7 @@ impl TestCard { let res = ScdClient::shutdown_scd(None); log::trace!(" Attempt to shutdown scd: {:?}", res); - for mut ca in PcscClient::cards()? { - // Set Card Capabilities (chaining, command length, ..) - let ard = ca.application_related_data()?; - let app_id = ard.application_id()?; - - if app_id.ident().as_str() == ident.to_uppercase() { - // println!("opened pcsc card {}", ident); - - return Ok(ca); - } - } - - Err(anyhow!("Pcsc card {} not found", ident)) + Ok(PcscClient::open_by_ident(ident)?) } Self::Scdc(serial) => { // println!("open scdc card {}", serial);