[][src]Struct sequoia_openpgp::cert::bundle::ComponentBundle

pub struct ComponentBundle<C> { /* fields omitted */ }

A certificate component and its associated signatures.

[See the module level documentation]](index.html) for a detailed description.

Methods

impl<C> ComponentBundle<C>[src]

pub fn component(&self) -> &C[src]

Returns a reference to the bundle's component.

Examples

// Display some information about any unknown components.
for u in cert.unknowns() {
    eprintln!(" - {:?}", u.component());
}

pub fn binding_signature<T>(
    &self,
    policy: &dyn Policy,
    t: T
) -> Result<&Signature> where
    T: Into<Option<SystemTime>>, 
[src]

Returns the active binding signature at time t.

The active binding signature is the most recent, non-revoked self-signature that is valid according to the policy and alive at time t (creation time <= t, t < expiry). If there are multiple such signatures then the signatures are ordered by their MPIs interpreted as byte strings.

Examples

use openpgp::policy::StandardPolicy;
let p = &StandardPolicy::new();

// Display information about each User ID's current active
// binding signature (the `time` parameter is `None`), if any.
for ua in cert.userids() {
    eprintln!("{:?}", ua.binding_signature(p, None));
}

pub fn self_signatures(&self) -> &[Signature][src]

Returns the component's self-signatures.

The signatures are validated, and they are sorted by their creation time, most recent first.

Examples

use openpgp::policy::StandardPolicy;
let p = &StandardPolicy::new();

for (i, ka) in cert.keys().enumerate() {
    eprintln!("Key #{} ({}) has {:?} self signatures",
              i, ka.fingerprint(),
              ka.self_signatures().len());
}

pub fn certifications(&self) -> &[Signature][src]

Returns the component's third-party certifications.

The signatures are not validated. They are sorted by their creation time, most recent first.

Examples

use openpgp::policy::StandardPolicy;
let p = &StandardPolicy::new();

for ua in cert.userids() {
    eprintln!("User ID {} has {:?} unverified, third-party certifications",
              String::from_utf8_lossy(ua.userid().value()),
              ua.certifications().len());
}

pub fn self_revocations(&self) -> &[Signature][src]

Returns the component's revocations that were issued by the certificate holder.

The revocations are validated, and they are sorted by their creation time, most recent first.

Examples

use openpgp::policy::StandardPolicy;
let p = &StandardPolicy::new();

for u in cert.userids() {
    eprintln!("User ID {} has {:?} revocation certificates.",
              String::from_utf8_lossy(u.userid().value()),
              u.self_revocations().len());
}

pub fn other_revocations(&self) -> &[Signature][src]

Returns the component's revocations that were issued by other certificates.

The revocations are not validated. They are sorted by their creation time, most recent first.

Examples

use openpgp::policy::StandardPolicy;
let p = &StandardPolicy::new();

for u in cert.userids() {
    eprintln!("User ID {} has {:?} unverified, third-party revocation certificates.",
              String::from_utf8_lossy(u.userid().value()),
              u.other_revocations().len());
}

impl<P: KeyParts, R: KeyRole> ComponentBundle<Key<P, R>>[src]

pub fn key(&self) -> &Key<P, R>[src]

Returns a reference to the key.

This is just a type-specific alias for ComponentBundle::component.

Examples

// Display some information about the keys.
for ka in cert.keys() {
    eprintln!(" - {:?}", ka.key());
}

impl<P: KeyParts> ComponentBundle<Key<P, SubordinateRole>>[src]

pub fn revocation_status<T>(
    &self,
    policy: &dyn Policy,
    t: T
) -> RevocationStatus where
    T: Into<Option<SystemTime>>, 
[src]

Returns the subkey's revocation status at time t.

A subkey is revoked at time t if:

  • There is a live revocation at time t that is newer than all live self signatures at time t, or

  • There is a hard revocation (even if it is not live at time t, and even if there is a newer self-signature).

Note: Certs and subkeys have different criteria from User IDs and User Attributes.

Note: this only returns whether this subkey is revoked; it does not imply anything about the Cert or other components.

Examples

use openpgp::policy::StandardPolicy;
let p = &StandardPolicy::new();

// Display the subkeys' revocation status.
for ka in cert.keys().subkeys() {
    eprintln!(" Revocation status of {}: {:?}",
              ka.fingerprint(), ka.revocation_status(p, None));
}

impl ComponentBundle<UserID>[src]

pub fn userid(&self) -> &UserID[src]

Returns a reference to the User ID.

This is just a type-specific alias for ComponentBundle::component.

Examples

// Display some information about the User IDs.
for ua in cert.userids() {
    eprintln!(" - {:?}", ua.userid());
}

pub fn revocation_status<T>(
    &self,
    policy: &dyn Policy,
    t: T
) -> RevocationStatus where
    T: Into<Option<SystemTime>>, 
[src]

Returns the User ID's revocation status at time t.

A User ID is revoked at time t if:

  • There is a live revocation at time t that is newer than all live self signatures at time t.

Note: Certs and subkeys have different criteria from User IDs and User Attributes.

Note: this only returns whether this User ID is revoked; it does not imply anything about the Cert or other components.

Examples

use openpgp::policy::StandardPolicy;
let p = &StandardPolicy::new();

// Display the User IDs' revocation status.
for ua in cert.userids() {
    eprintln!(" Revocation status of {}: {:?}",
              String::from_utf8_lossy(ua.userid().value()),
              ua.revocation_status(p, None));
}

impl ComponentBundle<UserAttribute>[src]

pub fn user_attribute(&self) -> &UserAttribute[src]

Returns a reference to the User Attribute.

This is just a type-specific alias for ComponentBundle::component.

Examples

// Display some information about the User Attributes
for ua in cert.user_attributes() {
    eprintln!(" - {:?}", ua.user_attribute());
}

pub fn revocation_status<T>(
    &self,
    policy: &dyn Policy,
    t: T
) -> RevocationStatus where
    T: Into<Option<SystemTime>>, 
[src]

Returns the User Attribute's revocation status at time t.

A User Attribute is revoked at time t if:

  • There is a live revocation at time t that is newer than all live self signatures at time t.

Note: Certs and subkeys have different criteria from User IDs and User Attributes.

Note: this only returns whether this User Attribute is revoked; it does not imply anything about the Cert or other components.

Examples

use openpgp::policy::StandardPolicy;
let p = &StandardPolicy::new();

// Display the User Attributes' revocation status.
for (i, ua) in cert.user_attributes().enumerate() {
    eprintln!(" Revocation status of User Attribute #{}: {:?}",
              i, ua.revocation_status(p, None));
}

impl ComponentBundle<Unknown>[src]

pub fn unknown(&self) -> &Unknown[src]

Returns a reference to the unknown component.

This is just a type-specific alias for ComponentBundle::component.

Examples

// Display some information about the User Attributes
for u in cert.unknowns() {
    eprintln!(" - {:?}", u.unknown());
}

Trait Implementations

impl<R> From<ComponentBundle<Key<PublicParts, R>>> for KeyBundle<UnspecifiedParts, R> where
    R: KeyRole
[src]

impl<R, '_, '_> From<&'_ ComponentBundle<Key<PublicParts, R>>> for &'_ KeyBundle<UnspecifiedParts, R> where
    R: KeyRole
[src]

impl<R> From<ComponentBundle<Key<SecretParts, R>>> for KeyBundle<PublicParts, R> where
    R: KeyRole
[src]

impl<R, '_, '_> From<&'_ ComponentBundle<Key<SecretParts, R>>> for &'_ KeyBundle<PublicParts, R> where
    R: KeyRole
[src]

impl<R> From<ComponentBundle<Key<SecretParts, R>>> for KeyBundle<UnspecifiedParts, R> where
    R: KeyRole
[src]

impl<R, '_, '_> From<&'_ ComponentBundle<Key<SecretParts, R>>> for &'_ KeyBundle<UnspecifiedParts, R> where
    R: KeyRole
[src]

impl<R> From<ComponentBundle<Key<UnspecifiedParts, R>>> for KeyBundle<PublicParts, R> where
    R: KeyRole
[src]

impl<R, '_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, R>>> for &'_ KeyBundle<PublicParts, R> where
    R: KeyRole
[src]

impl<P> From<ComponentBundle<Key<P, PrimaryRole>>> for KeyBundle<P, SubordinateRole> where
    P: KeyParts
[src]

impl<P, '_, '_> From<&'_ ComponentBundle<Key<P, PrimaryRole>>> for &'_ KeyBundle<P, SubordinateRole> where
    P: KeyParts
[src]

impl<P> From<ComponentBundle<Key<P, PrimaryRole>>> for KeyBundle<P, UnspecifiedRole> where
    P: KeyParts
[src]

impl<P, '_, '_> From<&'_ ComponentBundle<Key<P, PrimaryRole>>> for &'_ KeyBundle<P, UnspecifiedRole> where
    P: KeyParts
[src]

impl<P> From<ComponentBundle<Key<P, SubordinateRole>>> for KeyBundle<P, PrimaryRole> where
    P: KeyParts
[src]

impl<P, '_, '_> From<&'_ ComponentBundle<Key<P, SubordinateRole>>> for &'_ KeyBundle<P, PrimaryRole> where
    P: KeyParts
[src]

impl<P> From<ComponentBundle<Key<P, SubordinateRole>>> for KeyBundle<P, UnspecifiedRole> where
    P: KeyParts
[src]

impl<P, '_, '_> From<&'_ ComponentBundle<Key<P, SubordinateRole>>> for &'_ KeyBundle<P, UnspecifiedRole> where
    P: KeyParts
[src]

impl<P> From<ComponentBundle<Key<P, UnspecifiedRole>>> for KeyBundle<P, PrimaryRole> where
    P: KeyParts
[src]

impl<P, '_, '_> From<&'_ ComponentBundle<Key<P, UnspecifiedRole>>> for &'_ KeyBundle<P, PrimaryRole> where
    P: KeyParts
[src]

impl<P> From<ComponentBundle<Key<P, UnspecifiedRole>>> for KeyBundle<P, SubordinateRole> where
    P: KeyParts
[src]

impl<P, '_, '_> From<&'_ ComponentBundle<Key<P, UnspecifiedRole>>> for &'_ KeyBundle<P, SubordinateRole> where
    P: KeyParts
[src]

impl From<ComponentBundle<Key<PublicParts, PrimaryRole>>> for KeyBundle<SecretParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, PrimaryRole>>> for &'_ KeyBundle<SecretParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<PublicParts, PrimaryRole>>> for KeyBundle<SecretParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, PrimaryRole>>> for &'_ KeyBundle<SecretParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<PublicParts, PrimaryRole>>> for KeyBundle<UnspecifiedParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, PrimaryRole>>> for &'_ KeyBundle<UnspecifiedParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<PublicParts, PrimaryRole>>> for KeyBundle<UnspecifiedParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, PrimaryRole>>> for &'_ KeyBundle<UnspecifiedParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<PublicParts, SubordinateRole>>> for KeyBundle<SecretParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, SubordinateRole>>> for &'_ KeyBundle<SecretParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<PublicParts, SubordinateRole>>> for KeyBundle<SecretParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, SubordinateRole>>> for &'_ KeyBundle<SecretParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<PublicParts, SubordinateRole>>> for KeyBundle<UnspecifiedParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, SubordinateRole>>> for &'_ KeyBundle<UnspecifiedParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<PublicParts, SubordinateRole>>> for KeyBundle<UnspecifiedParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, SubordinateRole>>> for &'_ KeyBundle<UnspecifiedParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<PublicParts, UnspecifiedRole>>> for KeyBundle<SecretParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, UnspecifiedRole>>> for &'_ KeyBundle<SecretParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<PublicParts, UnspecifiedRole>>> for KeyBundle<SecretParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, UnspecifiedRole>>> for &'_ KeyBundle<SecretParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<PublicParts, UnspecifiedRole>>> for KeyBundle<UnspecifiedParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, UnspecifiedRole>>> for &'_ KeyBundle<UnspecifiedParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<PublicParts, UnspecifiedRole>>> for KeyBundle<UnspecifiedParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<PublicParts, UnspecifiedRole>>> for &'_ KeyBundle<UnspecifiedParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<SecretParts, PrimaryRole>>> for KeyBundle<PublicParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, PrimaryRole>>> for &'_ KeyBundle<PublicParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<SecretParts, PrimaryRole>>> for KeyBundle<PublicParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, PrimaryRole>>> for &'_ KeyBundle<PublicParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<SecretParts, PrimaryRole>>> for KeyBundle<UnspecifiedParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, PrimaryRole>>> for &'_ KeyBundle<UnspecifiedParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<SecretParts, PrimaryRole>>> for KeyBundle<UnspecifiedParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, PrimaryRole>>> for &'_ KeyBundle<UnspecifiedParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<SecretParts, SubordinateRole>>> for KeyBundle<PublicParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, SubordinateRole>>> for &'_ KeyBundle<PublicParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<SecretParts, SubordinateRole>>> for KeyBundle<PublicParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, SubordinateRole>>> for &'_ KeyBundle<PublicParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<SecretParts, SubordinateRole>>> for KeyBundle<UnspecifiedParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, SubordinateRole>>> for &'_ KeyBundle<UnspecifiedParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<SecretParts, SubordinateRole>>> for KeyBundle<UnspecifiedParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, SubordinateRole>>> for &'_ KeyBundle<UnspecifiedParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<SecretParts, UnspecifiedRole>>> for KeyBundle<PublicParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, UnspecifiedRole>>> for &'_ KeyBundle<PublicParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<SecretParts, UnspecifiedRole>>> for KeyBundle<PublicParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, UnspecifiedRole>>> for &'_ KeyBundle<PublicParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<SecretParts, UnspecifiedRole>>> for KeyBundle<UnspecifiedParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, UnspecifiedRole>>> for &'_ KeyBundle<UnspecifiedParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<SecretParts, UnspecifiedRole>>> for KeyBundle<UnspecifiedParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, UnspecifiedRole>>> for &'_ KeyBundle<UnspecifiedParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, PrimaryRole>>> for KeyBundle<PublicParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, PrimaryRole>>> for &'_ KeyBundle<PublicParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, PrimaryRole>>> for KeyBundle<PublicParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, PrimaryRole>>> for &'_ KeyBundle<PublicParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, PrimaryRole>>> for KeyBundle<SecretParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, PrimaryRole>>> for &'_ KeyBundle<SecretParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, PrimaryRole>>> for KeyBundle<SecretParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, PrimaryRole>>> for &'_ KeyBundle<SecretParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, SubordinateRole>>> for KeyBundle<PublicParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, SubordinateRole>>> for &'_ KeyBundle<PublicParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, SubordinateRole>>> for KeyBundle<PublicParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, SubordinateRole>>> for &'_ KeyBundle<PublicParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, SubordinateRole>>> for KeyBundle<SecretParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, SubordinateRole>>> for &'_ KeyBundle<SecretParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, SubordinateRole>>> for KeyBundle<SecretParts, UnspecifiedRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, SubordinateRole>>> for &'_ KeyBundle<SecretParts, UnspecifiedRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, UnspecifiedRole>>> for KeyBundle<PublicParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, UnspecifiedRole>>> for &'_ KeyBundle<PublicParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, UnspecifiedRole>>> for KeyBundle<PublicParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, UnspecifiedRole>>> for &'_ KeyBundle<PublicParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, UnspecifiedRole>>> for KeyBundle<SecretParts, PrimaryRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, UnspecifiedRole>>> for &'_ KeyBundle<SecretParts, PrimaryRole>[src]

impl From<ComponentBundle<Key<UnspecifiedParts, UnspecifiedRole>>> for KeyBundle<SecretParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, UnspecifiedRole>>> for &'_ KeyBundle<SecretParts, SubordinateRole>[src]

impl<C: PartialEq> PartialEq<ComponentBundle<C>> for ComponentBundle<C>[src]

impl<C: Clone> Clone for ComponentBundle<C>[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl<C> Deref for ComponentBundle<C>[src]

type Target = C

The resulting type after dereferencing.

impl<C: Debug> Debug for ComponentBundle<C>[src]

impl<R> TryFrom<ComponentBundle<Key<PublicParts, R>>> for KeyBundle<SecretParts, R> where
    R: KeyRole
[src]

type Error = Error

The type returned in the event of a conversion error.

impl<R, '_, '_> TryFrom<&'_ ComponentBundle<Key<PublicParts, R>>> for &'_ KeyBundle<SecretParts, R> where
    R: KeyRole
[src]

type Error = Error

The type returned in the event of a conversion error.

impl<R> TryFrom<ComponentBundle<Key<UnspecifiedParts, R>>> for KeyBundle<SecretParts, R> where
    R: KeyRole
[src]

type Error = Error

The type returned in the event of a conversion error.

impl<R, '_, '_> TryFrom<&'_ ComponentBundle<Key<UnspecifiedParts, R>>> for &'_ KeyBundle<SecretParts, R> where
    R: KeyRole
[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

impl<C> Send for ComponentBundle<C> where
    C: Send

impl<C> Sync for ComponentBundle<C> where
    C: Sync

Blanket Implementations

impl<T> From for T[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

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

impl<T, U> TryInto 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<T> DynClone for T where
    T: Clone
[src]