[][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 for a detailed description.

Implementations

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

pub fn parts_into_public(self) -> KeyBundle<PublicParts, R>[src]

Changes the key's parts tag to PublicParts.

pub fn parts_as_public(&self) -> &KeyBundle<PublicParts, R>[src]

Changes the key's parts tag to PublicParts.

pub fn parts_into_secret(self) -> Result<KeyBundle<SecretParts, R>>[src]

Changes the key's parts tag to SecretParts.

pub fn parts_as_secret(&self) -> Result<&KeyBundle<SecretParts, R>>[src]

Changes the key's parts tag to SecretParts.

pub fn parts_into_unspecified(self) -> KeyBundle<UnspecifiedParts, R>[src]

Changes the key's parts tag to UnspecifiedParts.

pub fn parts_as_unspecified(&self) -> &KeyBundle<UnspecifiedParts, R>[src]

Changes the key's parts tag to UnspecifiedParts.

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

pub fn role_into_primary(self) -> KeyBundle<P, PrimaryRole>[src]

Changes the key's role tag to PrimaryRole.

pub fn role_as_primary(&self) -> &KeyBundle<P, PrimaryRole>[src]

Changes the key's role tag to PrimaryRole.

pub fn role_into_subordinate(self) -> KeyBundle<P, SubordinateRole>[src]

Changes the key's role tag to SubordinateRole.

pub fn role_as_subordinate(&self) -> &KeyBundle<P, SubordinateRole>[src]

Changes the key's role tag to SubordinateRole.

pub fn role_into_unspecified(self) -> KeyBundle<P, UnspecifiedRole>[src]

Changes the key's role tag to UnspecifiedRole.

pub fn role_as_unspecified(&self) -> &KeyBundle<P, UnspecifiedRole>[src]

Changes the key's role tag to UnspecifiedRole.

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.bundle().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.bundle().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.bundle().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.bundle().other_revocations().len());
}

pub fn attestations(&self) -> impl Iterator<Item = &Signature> + Send + Sync[src]

Returns all of the component's Attestation Key Signatures.

This feature is experimental.

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

A certificate owner can use Attestation Key Signatures to attest to third party certifications. Currently, only userid and user attribute certifications can be attested. See Section 5.2.3.30 of RFC 4880bis for details.

Examples

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

for (i, uid) in cert.userids().enumerate() {
    eprintln!("UserID #{} ({:?}) has {:?} attestation key signatures",
              i, uid.email(),
              uid.attestations().count());
}

pub fn signatures(&self) -> impl Iterator<Item = &Signature> + Send + Sync[src]

Returns all of the component's signatures.

Only the self-signatures are validated. The signatures are sorted first by type, then by creation time. The self revocations come first, then the self signatures, then any key attestation signatures, certifications, and third-party revocations coming last. This function may return additional types of signatures that could be associated to this component.

Examples

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

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

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<C: Clone> Clone for ComponentBundle<C>[src]

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

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

type Target = C

The resulting type after dereferencing.

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, 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, 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<'_, '_> 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<UnspecifiedParts, SubordinateRole>[src]

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

impl<R, '_, '_> From<&'_ ComponentBundle<Key<PublicParts, R>>> for &'_ KeyBundle<UnspecifiedParts, R> where
    R: KeyRole
[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<UnspecifiedParts, PrimaryRole>[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, SubordinateRole>[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<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<UnspecifiedParts, SubordinateRole>[src]

impl<'_, '_> From<&'_ ComponentBundle<Key<SecretParts, PrimaryRole>>> for &'_ KeyBundle<UnspecifiedParts, UnspecifiedRole>[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<'_, '_> 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<UnspecifiedParts, PrimaryRole>[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, SubordinateRole>[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<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<SecretParts, SubordinateRole>[src]

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

impl<R, '_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, R>>> for &'_ KeyBundle<PublicParts, R> where
    R: KeyRole
[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<SecretParts, PrimaryRole>[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, SubordinateRole>[src]

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

impl<'_, '_> From<&'_ ComponentBundle<Key<UnspecifiedParts, UnspecifiedRole>>> for &'_ KeyBundle<SecretParts, SubordinateRole>[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, 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, 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 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<UnspecifiedParts, SubordinateRole>[src]

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

impl<R> From<ComponentBundle<Key<PublicParts, R>>> for KeyBundle<UnspecifiedParts, R> where
    R: KeyRole
[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<UnspecifiedParts, PrimaryRole>[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, SubordinateRole>[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<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<UnspecifiedParts, SubordinateRole>[src]

impl From<ComponentBundle<Key<SecretParts, PrimaryRole>>> for KeyBundle<UnspecifiedParts, UnspecifiedRole>[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 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<UnspecifiedParts, PrimaryRole>[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, SubordinateRole>[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<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<SecretParts, SubordinateRole>[src]

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

impl<R> From<ComponentBundle<Key<UnspecifiedParts, R>>> for KeyBundle<PublicParts, R> where
    R: KeyRole
[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<SecretParts, PrimaryRole>[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, SubordinateRole>[src]

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

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

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

impl<C> StructuralPartialEq 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<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<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.

Auto Trait Implementations

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

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

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

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

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

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

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

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

impl<T> Same<T> for T

type Output = T

Should always be Self

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

type Owned = T

The resulting type after obtaining ownership.

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.