adjust to changed openpgp-card-sequoia API

This commit is contained in:
Heiko Schaefer 2022-10-28 18:32:24 +02:00
parent db682c45db
commit fd441dbd14
No known key found for this signature in database
GPG key ID: 4A849A1904CCBD7D
17 changed files with 29 additions and 27 deletions

View file

@ -4,7 +4,7 @@
use anyhow::Result;
use openpgp_card_pcsc::PcscBackend;
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
fn main() -> Result<()> {
println!("The following OpenPGP cards are connected to your system:");

View file

@ -16,10 +16,11 @@ use sequoia_openpgp::Cert;
use openpgp_card::algorithm::AlgoSimple;
use openpgp_card::card_do::{KeyGenerationTime, Sex};
use openpgp_card::{Error, KeyType, OpenPgp, OpenPgpTransaction, StatusBytes};
use openpgp_card_sequoia::card::{Card, Transaction};
use openpgp_card_sequoia::sq_util;
use openpgp_card_sequoia::util::{
make_cert, public_key_material_and_fp_to_key, public_key_material_to_key,
};
use openpgp_card_sequoia::{state::Transaction, Card};
use crate::cards::TestCardData;
use crate::util;
@ -72,7 +73,7 @@ pub fn test_decrypt(pgp: &mut OpenPgp, param: &[&str]) -> Result<TestOutput, Tes
let mut user = transaction.user_card().unwrap();
let d = user.decryptor(&|| {})?;
let res = openpgp_card_sequoia::util::decrypt(d, msg.into_bytes(), &p)?;
let res = sq_util::decrypt(d, msg.into_bytes(), &p)?;
let plain = String::from_utf8_lossy(&res);
assert_eq!(plain, "Hello world!\n");
@ -96,7 +97,7 @@ pub fn test_sign(pgp: &mut OpenPgp, param: &[&str]) -> Result<TestOutput, TestEr
let s = sign.signer(&|| {})?;
let msg = "Hello world, I am signed.";
let sig = openpgp_card_sequoia::util::sign(s, &mut msg.as_bytes())?;
let sig = sq_util::sign(s, &mut msg.as_bytes())?;
// validate sig
assert!(util::verify_sig(&cert, msg.as_bytes(), sig.as_bytes())?);

View file

@ -2,7 +2,7 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
use openpgp_card_pcsc::PcscBackend;
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use openpgp::parse::{stream::DecryptorBuilder, Parse};
use openpgp::policy::StandardPolicy;

View file

@ -2,7 +2,7 @@
// SPDX-License-Identifier: MIT OR Apache-2.0
use openpgp_card_pcsc::PcscBackend;
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use openpgp::serialize::stream::{Armorer, Message, Signer};
use sequoia_openpgp as openpgp;

View file

@ -5,7 +5,7 @@
use anyhow::{anyhow, Result};
use clap::{Parser, ValueEnum};
use openpgp_card_sequoia::card::{Admin, Open, Transaction};
use openpgp_card_sequoia::state::{Admin, Open, Transaction};
use openpgp_card_sequoia::util::public_key_material_to_key;
use sequoia_openpgp::types::{HashAlgorithm, SymmetricAlgorithm};
@ -23,7 +23,7 @@ use sequoia_openpgp::serialize::SerializeInto;
use sequoia_openpgp::Cert;
use openpgp_card_sequoia::types::AlgoSimple;
use openpgp_card_sequoia::{card::Card, types::KeyType};
use openpgp_card_sequoia::{types::KeyType, Card};
use crate::versioned_output::{OutputBuilder, OutputFormat, OutputVersion};
use crate::{output, util, ENTER_ADMIN_PIN, ENTER_USER_PIN};

View file

@ -7,7 +7,7 @@ use std::path::PathBuf;
use anyhow::Result;
use clap::{Parser, ValueEnum};
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use openpgp_card_sequoia::types::KeyType;

View file

@ -7,7 +7,7 @@ use clap::Parser;
use std::path::PathBuf;
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use sequoia_openpgp::{
parse::{stream::DecryptorBuilder, Parse},
policy::StandardPolicy,

View file

@ -4,7 +4,7 @@
use anyhow::{anyhow, Result};
use clap::Parser;
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use crate::util;

View file

@ -5,7 +5,7 @@
use anyhow::Result;
use clap::Parser;
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use crate::output;
use crate::pick_card_for_reading;

View file

@ -7,7 +7,7 @@ use std::path::PathBuf;
use anyhow::Result;
use clap::Parser;
use openpgp_card_sequoia::card::{Card, Open, Transaction};
use openpgp_card_sequoia::{state::Open, state::Transaction, Card};
use crate::util;
use crate::util::{load_pin, print_gnuk_note};

View file

@ -8,7 +8,7 @@ use clap::Parser;
use std::path::PathBuf;
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use sequoia_openpgp::serialize::SerializeInto;
use openpgp_card_sequoia::types::KeyType;
@ -58,7 +58,7 @@ pub fn print_pubkey(
let user_pin = util::get_pin(&mut card, command.user_pin, crate::ENTER_USER_PIN)?;
let pkm = card.public_key(KeyType::Signing)?;
let pkm = card.public_key_material(KeyType::Signing)?;
let times = card.key_generation_times()?;
let fps = card.fingerprints()?;
@ -70,7 +70,7 @@ pub fn print_pubkey(
)?;
let mut key_dec = None;
if let Ok(pkm) = card.public_key(KeyType::Decryption) {
if let Ok(pkm) = card.public_key_material(KeyType::Decryption) {
if let Some(ts) = times.decryption() {
key_dec = Some(public_key_material_and_fp_to_key(
&pkm,
@ -82,7 +82,7 @@ pub fn print_pubkey(
}
let mut key_aut = None;
if let Ok(pkm) = card.public_key(KeyType::Authentication) {
if let Ok(pkm) = card.public_key_material(KeyType::Authentication) {
if let Some(ts) = times.authentication() {
key_aut = Some(public_key_material_and_fp_to_key(
&pkm,

View file

@ -4,7 +4,7 @@
use anyhow::Result;
use clap::{Parser, ValueEnum};
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use crate::util;

View file

@ -7,7 +7,7 @@ use clap::Parser;
use std::path::{Path, PathBuf};
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use sequoia_openpgp::serialize::stream::{Armorer, Message, Signer};
use crate::util;

View file

@ -5,7 +5,7 @@
use anyhow::Result;
use clap::Parser;
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use openpgp_card_sequoia::types::KeyType;
@ -49,7 +49,7 @@ pub fn print_ssh(
}
// Show authentication subkey as openssh public key string
if let Ok(pkm) = card.public_key(KeyType::Authentication) {
if let Ok(pkm) = card.public_key_material(KeyType::Authentication) {
if let Ok(ssh) = util::get_ssh_pubkey_string(&pkm, ident) {
output.ssh_public_key(ssh);
}

View file

@ -5,7 +5,7 @@
use anyhow::Result;
use clap::Parser;
use openpgp_card_sequoia::card::{Card, Open};
use openpgp_card_sequoia::{state::Open, Card};
use openpgp_card_sequoia::types::KeyType;
@ -101,7 +101,7 @@ pub fn print_status(
}
if command.pkm {
if let Ok(pkm) = card.public_key(KeyType::Signing) {
if let Ok(pkm) = card.public_key_material(KeyType::Signing) {
signature_key.public_key_material(pkm.to_string());
}
}
@ -130,7 +130,7 @@ pub fn print_status(
decryption_key.status(format!("{}", ks));
}
if command.pkm {
if let Ok(pkm) = card.public_key(KeyType::Decryption) {
if let Ok(pkm) = card.public_key_material(KeyType::Decryption) {
decryption_key.public_key_material(pkm.to_string());
}
}
@ -155,7 +155,7 @@ pub fn print_status(
authentication_key.status(format!("{}", ks));
}
if command.pkm {
if let Ok(pkm) = card.public_key(KeyType::Authentication) {
if let Ok(pkm) = card.public_key_material(KeyType::Authentication) {
authentication_key.public_key_material(pkm.to_string());
}
}

View file

@ -8,10 +8,10 @@ use clap::Parser;
use sequoia_openpgp::Cert;
use openpgp_card_sequoia::card::{Card, Open, Transaction};
use openpgp_card_sequoia::types::CardBackend;
use openpgp_card_sequoia::util::make_cert;
use openpgp_card_sequoia::PublicKey;
use openpgp_card_sequoia::{state::Open, state::Transaction, Card};
mod cli;
mod commands;

View file

@ -5,10 +5,11 @@ use anyhow::{anyhow, Context, Result};
use std::path::{Path, PathBuf};
use openpgp_card_pcsc::PcscBackend;
use openpgp_card_sequoia::card::{Admin, Card, Sign, Transaction, User};
use openpgp_card_sequoia::state::{Admin, Sign, Transaction, User};
use openpgp_card_sequoia::types::{
Algo, CardBackend, Curve, EccType, Error, PublicKeyMaterial, StatusBytes,
};
use openpgp_card_sequoia::Card;
pub(crate) fn cards() -> Result<Vec<Box<dyn CardBackend + Send + Sync>>, Error> {
PcscBackend::cards(None).map(|cards| cards.into_iter().map(|c| c.into()).collect())