Struct sequoia_openpgp::parse::stream::DetachedVerifier [−][src]
pub struct DetachedVerifier<'a, H: VerificationHelper> { /* fields omitted */ }
Expand description
Verifies a detached signature.
To create a DetachedVerifier
, create a
DetachedVerifierBuilder
using Parse
, and customize it to
your needs.
See GoodChecksum
for what it means for a signature to be
considered valid. When the signature(s) are processed,
VerificationHelper::check
will be called with a
MessageStructure
containing exactly one layer, a signature
group.
Examples
use std::io::{self, Read}; use sequoia_openpgp as openpgp; use openpgp::{KeyHandle, Cert, Result}; use openpgp::parse::{Parse, stream::*}; use sequoia_openpgp::policy::StandardPolicy; let p = &StandardPolicy::new(); // This fetches keys and computes the validity of the verification. struct Helper {}; impl VerificationHelper for Helper { fn get_certs(&mut self, _ids: &[KeyHandle]) -> Result<Vec<Cert>> { Ok(Vec::new()) // Feed the Certs to the verifier here... } fn check(&mut self, structure: MessageStructure) -> Result<()> { Ok(()) // Implement your verification policy here. } } let signature = b"-----BEGIN PGP SIGNATURE----- wnUEABYKACcFglt+z/EWoQSOjDP6RiYzeXbZeXgGnAw0jdgsGQmQBpwMNI3YLBkA AHmUAP9mpj2wV0/ekDuzxZrPQ0bnobFVaxZGg7YzdlksSOERrwEA6v6czXQjKcv2 KOwGTamb+ajTLQ3YRG9lh+ZYIXynvwE= =IJ29 -----END PGP SIGNATURE-----"; let data = b"Hello World!"; let h = Helper {}; let mut v = DetachedVerifierBuilder::from_bytes(&signature[..])? .with_policy(p, None, h)?; v.verify_bytes(data)?;
Implementations
Verifies the given data.
Returns a reference to the helper.
Returns a mutable reference to the helper.
Recovers the helper.
Auto Trait Implementations
impl<'a, H> !RefUnwindSafe for DetachedVerifier<'a, H>
impl<'a, H> Send for DetachedVerifier<'a, H> where
H: Send,
impl<'a, H> Sync for DetachedVerifier<'a, H> where
H: Sync,
impl<'a, H> Unpin for DetachedVerifier<'a, H> where
H: Unpin,
impl<'a, H> !UnwindSafe for DetachedVerifier<'a, H>