Adjust to changes in openpgp-card-sequoia

This commit is contained in:
Heiko Schaefer 2022-07-25 17:24:35 +02:00
parent b614716c0b
commit 430afda40a
No known key found for this signature in database
GPG key ID: 4A849A1904CCBD7D
3 changed files with 19 additions and 19 deletions

View file

@ -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())?);

View file

@ -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<dyn std::error::Error>> {
let args = std::env::args().collect::<Vec<_>>();
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<dyn std::error::Error>> {
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();

View file

@ -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<dyn std::error::Error>> {
let args = std::env::args().collect::<Vec<_>>();
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<dyn std::error::Error>> {
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();