Start milestone 3

- Add functionality to query online sources (Keyservers, etc) for
  certificates.
- Use introducers to determine which UserIDs should be fetched from
  online soources. Check certifications before importing certifiactes
  into the local cert store.
- start docker image for local end-to-end testing.
This commit is contained in:
Malte Meiboom
2026-01-23 12:57:26 +01:00
parent 4270bf4ceb
commit 30b1d29274
23 changed files with 685 additions and 10 deletions
+24
View File
@@ -29,5 +29,29 @@ impl Introducer {
false
}
}
pub fn is_introducing(&self, cert: &Cert) -> bool {
let policy = StandardPolicy::new();
let mut result = false;
let my_keyid = self.cert.keyid();
if let Ok(vc) = cert.with_policy(&policy, None) {
vc.userids()
.revoked(false)
.for_each(|u| {
u.certifications().for_each(|s| {
if s.signature_alive(None, None).is_ok() {
s.issuers().for_each(|i| {
if i == &my_keyid { result = true; }
});
}
})
});
}
result
}
}