[][src]Enum sequoia_openpgp::parse::stream::VerificationResult

pub enum VerificationResult<'a> {
    GoodChecksum {
        sig: Signature,
        cert: &'a Cert,
        ka: ValidKeyAmalgamation<'a, PublicParts>,
    },
    NotAlive {
        sig: Signature,
    },
    MissingKey {
        sig: Signature,
    },
    Error {
        sig: Signature,
        error: Error,
    },
}

Contains the result of a signature verification.

Variants

GoodChecksum

The signature is good.

A signature is considered good if:

  • The signature has a Signature Creation Time subpacket.

  • The signature is alive at the specified time (the time parameter passed to, e.g., Verifier::from_reader).

  • 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 anyway 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 of GoodChecksum

sig: Signature

The signature.

cert: &'a Cert

The signature's issuer.

ka: ValidKeyAmalgamation<'a, PublicParts>

The signing key that made the signature.

NotAlive

The signature is good, but it is not alive at the specified time.

See SubpacketAreas::signature_alive for a definition of liveness.

Fields of NotAlive

sig: Signature

The signature.

MissingKey

Unable to verify the signature because the key is missing.

Fields of MissingKey

sig: Signature

The signature.

Error

An error occured while verifying the signature.

This could occur if the signature is invalid (e.g., no Signature Creation Time packet), the key is invalid (e.g., the key is not alive, the key is revoked, the key is not signing capable), etc.

Fields of Error

sig: Signature

The signature.

error: Error

The reason.

Methods

impl<'a> VerificationResult<'a>[src]

pub fn level(&self) -> usize[src]

Gets the signature level.

A level of 0 indicates that the signature is directly over the data, a level of 1 means that the signature is a notarization over all level 0 signatures and the data, and so on.

Trait Implementations

impl<'a> Debug for VerificationResult<'a>[src]

Auto Trait Implementations

impl<'a> !RefUnwindSafe for VerificationResult<'a>

impl<'a> !Send for VerificationResult<'a>

impl<'a> !Sync for VerificationResult<'a>

impl<'a> Unpin for VerificationResult<'a>

impl<'a> !UnwindSafe for VerificationResult<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,