diff --git a/card-functionality/src/tests.rs b/card-functionality/src/tests.rs index 93d115c..5f0fe12 100644 --- a/card-functionality/src/tests.rs +++ b/card-functionality/src/tests.rs @@ -65,14 +65,18 @@ pub fn test_decrypt( "test_decrypt needs filenames for 'cert' and 'encrypted'" ); - let cert = Cert::from_str(param[0])?; let msg = param[1].to_string(); pgpt.verify_pw1_user(b"123456")?; let p = StandardPolicy::new(); - let res = openpgp_card_sequoia::util::decrypt(&mut pgpt, &cert, msg.into_bytes(), &|| {}, &p)?; + let mut open = Open::new(pgpt)?; + + let mut user = open.user_card().unwrap(); + let d = user.decryptor(&|| {})?; + + let res = openpgp_card_sequoia::util::decrypt(d, msg.into_bytes(), &p)?; let plain = String::from_utf8_lossy(&res); assert_eq!(plain, "Hello world!\n"); @@ -94,8 +98,13 @@ pub fn test_sign( let cert = Cert::from_str(param[0])?; + let mut open = Open::new(pgpt)?; + + let mut sign = open.signing_card().unwrap(); + let s = sign.signer(&|| {})?; + let msg = "Hello world, I am signed."; - let sig = openpgp_card_sequoia::util::sign(&mut pgpt, &cert, &mut msg.as_bytes(), &|| {})?; + let sig = openpgp_card_sequoia::util::sign(s, &mut msg.as_bytes())?; // validate sig assert!(util::verify_sig(&cert, msg.as_bytes(), sig.as_bytes())?); diff --git a/openpgp-card-examples/src/bin/decrypt.rs b/openpgp-card-examples/src/bin/decrypt.rs index 1a70905..62352c0 100644 --- a/openpgp-card-examples/src/bin/decrypt.rs +++ b/openpgp-card-examples/src/bin/decrypt.rs @@ -7,20 +7,18 @@ use openpgp_card_sequoia::card::Open; use openpgp::parse::{stream::DecryptorBuilder, Parse}; use openpgp::policy::StandardPolicy; -use openpgp::Cert; use sequoia_openpgp as openpgp; fn main() -> Result<(), Box> { let args = std::env::args().collect::>(); - if args.len() < 3 { - eprintln!("Usage: decrypt card-ident pin-file cert-file"); + if args.len() < 2 { + eprintln!("Usage: decrypt card-ident pin-file"); return Ok(()); } let card_ident = &args[0]; let pin_file = &args[1]; - let cert_file = &args[2]; let mut card = PcscBackend::open_by_ident(card_ident, None)?; let mut pgp = OpenPgp::new(&mut card); @@ -34,10 +32,8 @@ fn main() -> Result<(), Box> { let mut user = open.user_card().unwrap(); let p = StandardPolicy::new(); - let cert = Cert::from_file(cert_file)?; - let d = user.decryptor(&cert, &|| { - println!("Touch confirmation needed for decryption") - })?; + + let d = user.decryptor(&|| println!("Touch confirmation needed for decryption"))?; let stdin = std::io::stdin(); let mut stdout = std::io::stdout(); diff --git a/openpgp-card-examples/src/bin/detach-sign.rs b/openpgp-card-examples/src/bin/detach-sign.rs index 5091273..f78ddb7 100644 --- a/openpgp-card-examples/src/bin/detach-sign.rs +++ b/openpgp-card-examples/src/bin/detach-sign.rs @@ -5,22 +5,19 @@ use openpgp_card::OpenPgp; use openpgp_card_pcsc::PcscBackend; use openpgp_card_sequoia::card::Open; -use openpgp::parse::Parse; use openpgp::serialize::stream::{Armorer, Message, Signer}; -use openpgp::Cert; use sequoia_openpgp as openpgp; fn main() -> Result<(), Box> { let args = std::env::args().collect::>(); - if args.len() < 3 { - eprintln!("Usage: detach-sign card-ident pin-file cert-file"); + if args.len() < 2 { + eprintln!("Usage: detach-sign card-ident pin-file"); return Ok(()); } let card_ident = &args[0]; let pin_file = &args[1]; - let cert_file = &args[2]; let mut card = PcscBackend::open_by_ident(card_ident, None)?; let mut pgp = OpenPgp::new(&mut card); @@ -32,9 +29,7 @@ fn main() -> Result<(), Box> { open.verify_user_for_signing(&pin)?; let mut sign = open.signing_card().unwrap(); - - let cert = Cert::from_file(cert_file)?; - let s = sign.signer(&cert, &|| println!("Touch confirmation needed for signing"))?; + let s = sign.signer(&|| println!("Touch confirmation needed for signing"))?; let stdout = std::io::stdout();