Skip to main content

GoodChecksum

Struct GoodChecksum 

Source
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 Signature

The 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§

Source§

impl<'a> Debug for GoodChecksum<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> MaybeSend for T

Source§

impl<T> MaybeSync for T

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more