diff --git a/src/web/hkp.rs b/src/web/hkp.rs index 20c7d48..335bacf 100644 --- a/src/web/hkp.rs +++ b/src/web/hkp.rs @@ -1,5 +1,7 @@ use std::fmt; +use std::time::SystemTime; + use rocket::Data; use rocket::Outcome; use rocket::http::{ContentType, Status}; @@ -223,7 +225,7 @@ fn key_to_hkp_index(db: rocket::State, query: Query) let mut out = String::default(); let p = tpk.primary(); - let ctime = format!("{}", p.creation_time().elapsed().unwrap().as_secs()); + let ctime = format!("{}", p.creation_time().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs()); let is_rev = if tpk.revoked(None) != RevocationStatus::NotAsFarAsWeKnow { "r" @@ -250,7 +252,7 @@ fn key_to_hkp_index(db: rocket::State, query: Query) let ctime = uid .binding_signature(None) .and_then(|x| x.signature_creation_time()) - .and_then(|time| time.elapsed().ok()) + .and_then(|time| time.duration_since(SystemTime::UNIX_EPOCH).ok()) .map(|x| format!("{}", x.as_secs())) .unwrap_or_default(); let is_rev = if uid.revoked(None) diff --git a/src/web/mod.rs b/src/web/mod.rs index b5f41e6..2f3ab42 100644 --- a/src/web/mod.rs +++ b/src/web/mod.rs @@ -568,6 +568,8 @@ pub mod tests { use sequoia_openpgp::parse::Parse; use sequoia_openpgp::serialize::Serialize; + use std::time::SystemTime; + use crate::database::*; use super::*; @@ -1074,7 +1076,7 @@ pub mod tests { let algo: u8 = tpk.primary().pk_algo().into(); assert!(body.contains(&format!("pub:{}:{}:", primary_fpr, algo))); - let creation_time = tpk.primary().creation_time().elapsed().unwrap().as_secs(); + let creation_time = tpk.primary().creation_time().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs(); assert!(body.contains(&format!(":{}:", creation_time))); }