diff options
author | Heiko <heiko@schaefer.name> | 2021-04-29 19:18:00 +0200 |
---|---|---|
committer | Heiko <heiko@schaefer.name> | 2021-04-29 19:18:00 +0200 |
commit | 80443eeea03b837260039e88c004b6a5cbf7791a (patch) | |
tree | 3ffde6fb19d7ca31b89661ea3ae6cf8ccc75faf7 | |
parent | 5c8e3a9ba9ab5afb6cb4dae3a83ca38c0f28e32c (diff) | |
download | openpgp-ca-80443eeea03b837260039e88c004b6a5cbf7791a.tar.gz |
Simplify export_certs_as_files()
-rw-r--r-- | src/export.rs | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/export.rs b/src/export.rs index c748f8c..dc356b7 100644 --- a/src/export.rs +++ b/src/export.rs @@ -11,7 +11,7 @@ use crate::pgp::Pgp; use openpgp_keylist::{Key, Keylist, Metadata}; -use anyhow::Result; +use anyhow::{Context, Result}; use std::fs::{File, OpenOptions}; use std::io::Write; @@ -77,21 +77,21 @@ pub fn export_certs_as_files( }; for email in &emails { - if let Ok(certs) = oca.certs_by_email(email) { - if !certs.is_empty() { - let mut c: Vec<_> = vec![]; - for cert in certs { - c.push(Pgp::armored_to_cert(&cert.pub_cert)?); - } - - std::fs::write( - path_append(path, &format!("{}.asc", email))?, - Pgp::certs_to_armored(&c)?, - )?; + let certs = oca + .certs_by_email(email) + .context(format!("Failed to load certs for email '{}'", email))?; + + if !certs.is_empty() { + let mut c: Vec<_> = vec![]; + for cert in certs { + c.push(Pgp::armored_to_cert(&cert.pub_cert)?); } - } else { - println!("ERROR loading certs for email '{}'", email) - }; + + std::fs::write( + path_append(path, &format!("{}.asc", email))?, + Pgp::certs_to_armored(&c)?, + )?; + } } Ok(()) @@ -118,7 +118,7 @@ fn path_append(path: &str, filename: &str) -> Result<PathBuf> { || filename.chars().any(|c| c == ':') { Err(anyhow::anyhow!( - "filename contains special character - maybe a path traversal \ + "Filename contains special character. May be a path traversal \ attack? {}", filename )) @@ -138,7 +138,7 @@ pub fn wkd_export(oca: &OpenpgpCa, domain: &str, path: &Path) -> Result<()> { wkd::insert(&path, domain, None, &ca_cert)?; for cert in oca.user_certs_get_all()? { - // don't export to WKD if the cert is marked "delisted" + // Don't export to WKD if the cert is marked "delisted" if !cert.delisted { let c = Pgp::armored_to_cert(&cert.pub_cert)?; @@ -163,7 +163,7 @@ pub fn export_keylist( let sigfile_name = match signature_uri.split('/').last() { Some(file) => file, None => { - return Err(anyhow::anyhow!("Unexpected signature_uri format")) + return Err(anyhow::anyhow!("Unexpected signature_uri format")); } }; |