use anyhow::Result; use openpgp_card::OpenPgp; use openpgp_card_pcsc::PcscBackend; use openpgp_card_sequoia::card::Open; fn main() -> Result<()> { println!("The following OpenPGP cards are connected to your system:"); for mut card in PcscBackend::cards(None)? { let mut pgp = OpenPgp::new(&mut card); let open = Open::new(pgp.transaction()?)?; println!(" {}", open.application_identifier()?.ident()); println!(" {}", open.application_identifier()?.application()); println!(" {}", open.application_identifier()?.version()); println!(" {:?}", open.fingerprints()); } Ok(()) }