pub struct GoodChecksum<'a> {
pub sig: &'a Signature,
pub ka: ValidKeyAmalgamation<'a, PublicParts, UnspecifiedRole, bool>,
}Expand description
A good signature.
Represents the result of a successful signature verification. It includes the signature and the signing key with all the necessary context (i.e. certificate, time, policy) to evaluate the trustworthiness of the signature using a trust model.
GoodChecksum is used in VerificationResult. See also
VerificationError.
A signature is considered good if and only if all the following conditions are met:
-
The signature has a Signature Creation Time subpacket.
-
The signature is alive at the specified time (the time parameter passed to, e.g.,
VerifierBuilder::with_policy). -
The certificate is alive and not revoked as of the signature’s creation time.
-
The signing key is alive, not revoked, and signing capable as of the signature’s creation time.
-
The signature was generated by the signing key.
Note: This doesn’t mean that the key that generated the
signature is in any way trustworthy in the sense that it
belongs to the person or entity that the user thinks it
belongs to. This property can only be evaluated within a
trust model, such as the web of trust (WoT). This policy is
normally implemented in the VerificationHelper::check
method.
Fields§
§sig: &'a SignatureThe signature.
ka: ValidKeyAmalgamation<'a, PublicParts, UnspecifiedRole, bool>The signing key that made the signature.
The amalgamation of the signing key includes the necessary context (i.e. certificate, time, policy) to evaluate the trustworthiness of the signature using a trust model.
Trait Implementations§
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for GoodChecksum<'a>
impl<'a> !UnwindSafe for GoodChecksum<'a>
impl<'a> Freeze for GoodChecksum<'a>
impl<'a> Send for GoodChecksum<'a>
impl<'a> Sync for GoodChecksum<'a>
impl<'a> Unpin for GoodChecksum<'a>
impl<'a> UnsafeUnpin for GoodChecksum<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more