[−][src]Struct sequoia_openpgp::packet::key::Key4
Holds a public key, public subkey, private key or private subkey packet.
See Section 5.5 of RFC 4880 for details.
Implementations
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
pub fn parts_into_public(self) -> Key4<PublicParts, R>
[src]
Changes the key's parts tag to PublicParts
.
pub fn parts_as_public(&self) -> &Key4<PublicParts, R>
[src]
Changes the key's parts tag to PublicParts
.
pub fn parts_into_secret(self) -> Result<Key4<SecretParts, R>>
[src]
Changes the key's parts tag to SecretParts
.
pub fn parts_as_secret(&self) -> Result<&Key4<SecretParts, R>>
[src]
Changes the key's parts tag to SecretParts
.
pub fn parts_into_unspecified(self) -> Key4<UnspecifiedParts, R>
[src]
Changes the key's parts tag to UnspecifiedParts
.
pub fn parts_as_unspecified(&self) -> &Key4<UnspecifiedParts, R>
[src]
Changes the key's parts tag to UnspecifiedParts
.
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
pub fn mark_role_primary(self) -> Key4<P, PrimaryRole>
[src]
Changes the key's role tag to PrimaryRole
.
pub fn mark_role_primary_ref(&self) -> &Key4<P, PrimaryRole>
[src]
Changes the key's role tag to PrimaryRole
.
pub fn mark_role_subordinate(self) -> Key4<P, SubordinateRole>
[src]
Changes the key's role tag to SubordinateRole
.
pub fn mark_role_subordinate_ref(&self) -> &Key4<P, SubordinateRole>
[src]
Changes the key's role tag to SubordinateRole
.
pub fn mark_role_unspecified(self) -> Key4<P, UnspecifiedRole>
[src]
Changes the key's role tag to UnspecifiedRole
.
pub fn mark_role_unspecified_ref(&self) -> &Key4<P, UnspecifiedRole>
[src]
Changes the key's role tag to UnspecifiedRole
.
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
pub fn public_cmp<PB, RB>(&self, b: &Key4<PB, RB>) -> Ordering where
PB: KeyParts,
RB: KeyRole,
[src]
PB: KeyParts,
RB: KeyRole,
Compares the public bits of two keys.
This returns Ordering::Equal if the public MPIs,
creation time and algorithm of the two Key4
s match. This
does not consider the packet's encoding, packet's tag or the
secret key material.
pub fn public_eq<PB, RB>(&self, b: &Key4<PB, RB>) -> bool where
PB: KeyParts,
RB: KeyRole,
[src]
PB: KeyParts,
RB: KeyRole,
This method tests for self and other values to be equal modulo the secret bits.
This returns true if the public MPIs, creation time and
algorithm of the two Key4
s match. This does not consider
the packet's encoding, packet's tag or the secret key
material.
impl<R> Key4<PublicParts, R> where
R: KeyRole,
[src]
R: KeyRole,
pub fn new<T>(
creation_time: T,
pk_algo: PublicKeyAlgorithm,
mpis: PublicKey
) -> Result<Self> where
T: Into<SystemTime>,
[src]
creation_time: T,
pk_algo: PublicKeyAlgorithm,
mpis: PublicKey
) -> Result<Self> where
T: Into<SystemTime>,
Creates a new OpenPGP key packet.
pub fn import_public_cv25519<H, S, T>(
public_key: &[u8],
hash: H,
sym: S,
ctime: T
) -> Result<Self> where
H: Into<Option<HashAlgorithm>>,
S: Into<Option<SymmetricAlgorithm>>,
T: Into<Option<SystemTime>>,
[src]
public_key: &[u8],
hash: H,
sym: S,
ctime: T
) -> Result<Self> where
H: Into<Option<HashAlgorithm>>,
S: Into<Option<SymmetricAlgorithm>>,
T: Into<Option<SystemTime>>,
Creates a new OpenPGP public key packet for an existing X25519 key.
The ECDH key will use hash algorithm hash
and symmetric
algorithm sym
. If one or both are None
secure defaults
will be used. The key will have it's creation date set to
ctime
or the current time if None
is given.
pub fn import_public_ed25519<T>(public_key: &[u8], ctime: T) -> Result<Self> where
T: Into<Option<SystemTime>>,
[src]
T: Into<Option<SystemTime>>,
Creates a new OpenPGP public key packet for an existing Ed25519 key.
The ECDH key will use hash algorithm hash
and symmetric
algorithm sym
. If one or both are None
secure defaults
will be used. The key will have it's creation date set to
ctime
or the current time if None
is given.
pub fn import_public_rsa<T>(e: &[u8], n: &[u8], ctime: T) -> Result<Self> where
T: Into<Option<SystemTime>>,
[src]
T: Into<Option<SystemTime>>,
Creates a new OpenPGP public key packet for an existing RSA key.
The RSA key will use public exponent e
and modulo n
. The key will
have it's creation date set to ctime
or the current time if None
is given.
impl<R> Key4<SecretParts, R> where
R: KeyRole,
[src]
R: KeyRole,
pub fn with_secret<T>(
creation_time: T,
pk_algo: PublicKeyAlgorithm,
mpis: PublicKey,
secret: SecretKeyMaterial
) -> Result<Self> where
T: Into<SystemTime>,
[src]
creation_time: T,
pk_algo: PublicKeyAlgorithm,
mpis: PublicKey,
secret: SecretKeyMaterial
) -> Result<Self> where
T: Into<SystemTime>,
Creates a new OpenPGP key packet with secrets.
pub fn import_secret_cv25519<H, S, T>(
private_key: &[u8],
hash: H,
sym: S,
ctime: T
) -> Result<Self> where
H: Into<Option<HashAlgorithm>>,
S: Into<Option<SymmetricAlgorithm>>,
T: Into<Option<SystemTime>>,
[src]
private_key: &[u8],
hash: H,
sym: S,
ctime: T
) -> Result<Self> where
H: Into<Option<HashAlgorithm>>,
S: Into<Option<SymmetricAlgorithm>>,
T: Into<Option<SystemTime>>,
Creates a new OpenPGP secret key packet for an existing X25519 key.
The ECDH key will use hash algorithm hash
and symmetric
algorithm sym
. If one or both are None
secure defaults
will be used. The key will have it's creation date set to
ctime
or the current time if None
is given.
pub fn import_secret_ed25519<T>(private_key: &[u8], ctime: T) -> Result<Self> where
T: Into<Option<SystemTime>>,
[src]
T: Into<Option<SystemTime>>,
Creates a new OpenPGP secret key packet for an existing Ed25519 key.
The ECDH key will use hash algorithm hash
and symmetric
algorithm sym
. If one or both are None
secure defaults
will be used. The key will have it's creation date set to
ctime
or the current time if None
is given.
pub fn import_secret_rsa<T>(
d: &[u8],
p: &[u8],
q: &[u8],
ctime: T
) -> Result<Self> where
T: Into<Option<SystemTime>>,
[src]
d: &[u8],
p: &[u8],
q: &[u8],
ctime: T
) -> Result<Self> where
T: Into<Option<SystemTime>>,
Creates a new OpenPGP public key packet for an existing RSA key.
The RSA key will use public exponent e
and modulo n
. The key will
have it's creation date set to ctime
or the current time if None
is given.
pub fn generate_rsa(bits: usize) -> Result<Self>
[src]
Generates a new RSA key with a public modulos of size bits
.
pub fn generate_ecc(for_signing: bool, curve: Curve) -> Result<Self>
[src]
Generates a new ECC key over curve
.
If for_signing
is false a ECDH key, if it's true either a
EdDSA or ECDSA key is generated. Giving for_signing == true
and curve == Cv25519
will produce an error. Similar for
for_signing == false
and curve == Ed25519
.
signing/encryption
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
pub fn creation_time(&self) -> SystemTime
[src]
Gets the key packet's creation time field.
pub fn set_creation_time<T>(&mut self, timestamp: T) -> Result<SystemTime> where
T: Into<SystemTime>,
[src]
T: Into<SystemTime>,
Sets the key packet's creation time field.
pub fn pk_algo(&self) -> PublicKeyAlgorithm
[src]
Gets the public key algorithm.
pub fn set_pk_algo(&mut self, pk_algo: PublicKeyAlgorithm) -> PublicKeyAlgorithm
[src]
Sets the public key algorithm.
pub fn mpis(&self) -> &PublicKey
[src]
Gets the key packet's MPIs.
pub fn mpis_mut(&mut self) -> &mut PublicKey
[src]
Gets a mutable reference to the key packet's MPIs.
pub fn set_mpis(&mut self, mpis: PublicKey) -> PublicKey
[src]
Sets the key packet's MPIs.
pub fn has_secret(&self) -> bool
[src]
Returns whether the key contains secret key material.
pub fn has_unencrypted_secret(&self) -> bool
[src]
Returns whether the key contains unencrypted secret key material.
pub fn optional_secret(&self) -> Option<&SecretKeyMaterial>
[src]
Gets the key packet's SecretKeyMaterial
, if any.
pub fn key_handle(&self) -> KeyHandle
[src]
Computes and returns the key's fingerprint as per Section 12.2 of RFC 4880 as returns it as a KeyHandle.
pub fn fingerprint(&self) -> Fingerprint
[src]
Computes and returns the key's fingerprint as per Section 12.2 of RFC 4880.
pub fn keyid(&self) -> KeyID
[src]
Computes and returns the key's key ID as per Section 12.2 of RFC 4880.
impl<R> Key4<PublicParts, R> where
R: KeyRole,
[src]
R: KeyRole,
Secret key handling.
pub fn take_secret(self) -> (Key4<PublicParts, R>, Option<SecretKeyMaterial>)
[src]
Takes the key packet's SecretKeyMaterial
, if any.
pub fn add_secret(
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, Option<SecretKeyMaterial>)
[src]
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, Option<SecretKeyMaterial>)
Adds SecretKeyMaterial
to the packet, returning the old if
any.
impl<R> Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
R: KeyRole,
Secret key handling.
pub fn take_secret(self) -> (Key4<PublicParts, R>, Option<SecretKeyMaterial>)
[src]
Takes the key packet's SecretKeyMaterial
, if any.
pub fn add_secret(
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, Option<SecretKeyMaterial>)
[src]
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, Option<SecretKeyMaterial>)
Adds SecretKeyMaterial
to the packet, returning the old if
any.
impl<R> Key4<SecretParts, R> where
R: KeyRole,
[src]
R: KeyRole,
Secret key handling.
pub fn secret(&self) -> &SecretKeyMaterial
[src]
Gets the key packet's SecretKeyMaterial
.
pub fn secret_mut(&mut self) -> &mut SecretKeyMaterial
[src]
Gets a mutable reference to the key packet's
SecretKeyMaterial
.
pub fn take_secret(self) -> (Key4<PublicParts, R>, SecretKeyMaterial)
[src]
Takes the key packet's SecretKeyMaterial
.
pub fn add_secret(
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, SecretKeyMaterial)
[src]
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, SecretKeyMaterial)
Adds SecretKeyMaterial
to the packet, returning the old if
any.
impl<R: KeyRole> Key4<SecretParts, R>
[src]
pub fn into_keypair(self) -> Result<KeyPair>
[src]
Creates a new key pair from a Key packet with an unencrypted secret key.
Errors
Fails if the secret key is missing, or encrypted.
Trait Implementations
impl Arbitrary for Key4<PublicParts, UnspecifiedRole>
[src]
fn arbitrary<G: Gen>(g: &mut G) -> Self
[src]
fn shrink(&self) -> Box<dyn Iterator<Item = Self> + 'static>
[src]
impl Arbitrary for Key4<SecretParts, UnspecifiedRole>
[src]
fn arbitrary<G: Gen>(g: &mut G) -> Self
[src]
fn shrink(&self) -> Box<dyn Iterator<Item = Self> + 'static>
[src]
impl<P: Clone, R: Clone> Clone for Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
impl<P, R> Debug for Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
impl<P, R> Display for Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
impl<P: KeyParts, R: KeyRole> Eq for Key4<P, R>
[src]
impl<'_, '_, P> From<&'_ Key4<P, PrimaryRole>> for &'_ Key4<P, SubordinateRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: &Key4<P, PrimaryRole>) -> Self
[src]
impl<'_, '_, P> From<&'_ Key4<P, PrimaryRole>> for &'_ Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: &Key4<P, PrimaryRole>) -> Self
[src]
impl<'_, '_, P> From<&'_ Key4<P, SubordinateRole>> for &'_ Key4<P, PrimaryRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: &Key4<P, SubordinateRole>) -> Self
[src]
impl<'_, '_, P> From<&'_ Key4<P, SubordinateRole>> for &'_ Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: &Key4<P, SubordinateRole>) -> Self
[src]
impl<'_, '_, P> From<&'_ Key4<P, UnspecifiedRole>> for &'_ Key4<P, PrimaryRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: &Key4<P, UnspecifiedRole>) -> Self
[src]
impl<'_, '_, P> From<&'_ Key4<P, UnspecifiedRole>> for &'_ Key4<P, SubordinateRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: &Key4<P, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, PrimaryRole>> for &'_ Key4<SecretParts, SubordinateRole>
[src]
fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, PrimaryRole>> for &'_ Key4<SecretParts, UnspecifiedRole>
[src]
fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, PrimaryRole>> for &'_ Key4<UnspecifiedParts, SubordinateRole>
[src]
fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, PrimaryRole>> for &'_ Key4<UnspecifiedParts, UnspecifiedRole>
[src]
fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]
impl<'_, '_, R> From<&'_ Key4<PublicParts, R>> for &'_ Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
R: KeyRole,
fn from(p: &Key4<PublicParts, R>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, SubordinateRole>> for &'_ Key4<SecretParts, PrimaryRole>
[src]
fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, SubordinateRole>> for &'_ Key4<SecretParts, UnspecifiedRole>
[src]
fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, SubordinateRole>> for &'_ Key4<UnspecifiedParts, PrimaryRole>
[src]
fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, SubordinateRole>> for &'_ Key4<UnspecifiedParts, UnspecifiedRole>
[src]
fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, UnspecifiedRole>> for &'_ Key4<SecretParts, PrimaryRole>
[src]
fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, UnspecifiedRole>> for &'_ Key4<SecretParts, SubordinateRole>
[src]
fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, UnspecifiedRole>> for &'_ Key4<UnspecifiedParts, PrimaryRole>
[src]
fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<PublicParts, UnspecifiedRole>> for &'_ Key4<UnspecifiedParts, SubordinateRole>
[src]
fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, PrimaryRole>> for &'_ Key4<PublicParts, SubordinateRole>
[src]
fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, PrimaryRole>> for &'_ Key4<PublicParts, UnspecifiedRole>
[src]
fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, PrimaryRole>> for &'_ Key4<UnspecifiedParts, SubordinateRole>
[src]
fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, PrimaryRole>> for &'_ Key4<UnspecifiedParts, UnspecifiedRole>
[src]
fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]
impl<'_, '_, R> From<&'_ Key4<SecretParts, R>> for &'_ Key4<PublicParts, R> where
R: KeyRole,
[src]
R: KeyRole,
fn from(p: &Key4<SecretParts, R>) -> Self
[src]
impl<'_, '_, R> From<&'_ Key4<SecretParts, R>> for &'_ Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
R: KeyRole,
fn from(p: &Key4<SecretParts, R>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, SubordinateRole>> for &'_ Key4<PublicParts, PrimaryRole>
[src]
fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, SubordinateRole>> for &'_ Key4<PublicParts, UnspecifiedRole>
[src]
fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, SubordinateRole>> for &'_ Key4<UnspecifiedParts, PrimaryRole>
[src]
fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, SubordinateRole>> for &'_ Key4<UnspecifiedParts, UnspecifiedRole>
[src]
fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, UnspecifiedRole>> for &'_ Key4<PublicParts, PrimaryRole>
[src]
fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, UnspecifiedRole>> for &'_ Key4<PublicParts, SubordinateRole>
[src]
fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, UnspecifiedRole>> for &'_ Key4<UnspecifiedParts, PrimaryRole>
[src]
fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<SecretParts, UnspecifiedRole>> for &'_ Key4<UnspecifiedParts, SubordinateRole>
[src]
fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &'_ Key4<PublicParts, SubordinateRole>
[src]
fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &'_ Key4<PublicParts, UnspecifiedRole>
[src]
fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &'_ Key4<SecretParts, SubordinateRole>
[src]
fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &'_ Key4<SecretParts, UnspecifiedRole>
[src]
fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
impl<'_, '_, R> From<&'_ Key4<UnspecifiedParts, R>> for &'_ Key4<PublicParts, R> where
R: KeyRole,
[src]
R: KeyRole,
fn from(p: &Key4<UnspecifiedParts, R>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &'_ Key4<PublicParts, PrimaryRole>
[src]
fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &'_ Key4<PublicParts, UnspecifiedRole>
[src]
fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &'_ Key4<SecretParts, PrimaryRole>
[src]
fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &'_ Key4<SecretParts, UnspecifiedRole>
[src]
fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &'_ Key4<PublicParts, PrimaryRole>
[src]
fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &'_ Key4<PublicParts, SubordinateRole>
[src]
fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &'_ Key4<SecretParts, PrimaryRole>
[src]
fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
impl<'_, '_> From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &'_ Key4<SecretParts, SubordinateRole>
[src]
fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
impl<P> From<Key4<P, PrimaryRole>> for Key4<P, SubordinateRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: Key4<P, PrimaryRole>) -> Self
[src]
impl<P> From<Key4<P, PrimaryRole>> for Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: Key4<P, PrimaryRole>) -> Self
[src]
impl<P, R> From<Key4<P, R>> for Key<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
impl<P> From<Key4<P, SubordinateRole>> for Key4<P, PrimaryRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: Key4<P, SubordinateRole>) -> Self
[src]
impl<P> From<Key4<P, SubordinateRole>> for Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: Key4<P, SubordinateRole>) -> Self
[src]
impl<P> From<Key4<P, UnspecifiedRole>> for Key4<P, PrimaryRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: Key4<P, UnspecifiedRole>) -> Self
[src]
impl<P> From<Key4<P, UnspecifiedRole>> for Key4<P, SubordinateRole> where
P: KeyParts,
[src]
P: KeyParts,
fn from(p: Key4<P, UnspecifiedRole>) -> Self
[src]
impl From<Key4<PublicParts, PrimaryRole>> for Key4<SecretParts, SubordinateRole>
[src]
fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]
impl From<Key4<PublicParts, PrimaryRole>> for Key4<SecretParts, UnspecifiedRole>
[src]
fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]
impl From<Key4<PublicParts, PrimaryRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]
fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]
impl From<Key4<PublicParts, PrimaryRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]
fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]
impl<R> From<Key4<PublicParts, R>> for Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
R: KeyRole,
fn from(p: Key4<PublicParts, R>) -> Self
[src]
impl From<Key4<PublicParts, SubordinateRole>> for Key4<SecretParts, PrimaryRole>
[src]
fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]
impl From<Key4<PublicParts, SubordinateRole>> for Key4<SecretParts, UnspecifiedRole>
[src]
fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]
impl From<Key4<PublicParts, SubordinateRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]
fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]
impl From<Key4<PublicParts, SubordinateRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]
fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<SecretParts, PrimaryRole>
[src]
fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<SecretParts, SubordinateRole>
[src]
fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]
fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]
fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<SecretParts, PrimaryRole>> for Key4<PublicParts, SubordinateRole>
[src]
fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]
impl From<Key4<SecretParts, PrimaryRole>> for Key4<PublicParts, UnspecifiedRole>
[src]
fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]
impl From<Key4<SecretParts, PrimaryRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]
fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]
impl From<Key4<SecretParts, PrimaryRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]
fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]
impl<R> From<Key4<SecretParts, R>> for Key4<PublicParts, R> where
R: KeyRole,
[src]
R: KeyRole,
fn from(p: Key4<SecretParts, R>) -> Self
[src]
impl<R> From<Key4<SecretParts, R>> for Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
R: KeyRole,
fn from(p: Key4<SecretParts, R>) -> Self
[src]
impl From<Key4<SecretParts, SubordinateRole>> for Key4<PublicParts, PrimaryRole>
[src]
fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]
impl From<Key4<SecretParts, SubordinateRole>> for Key4<PublicParts, UnspecifiedRole>
[src]
fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]
impl From<Key4<SecretParts, SubordinateRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]
fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]
impl From<Key4<SecretParts, SubordinateRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]
fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<PublicParts, PrimaryRole>
[src]
fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<PublicParts, SubordinateRole>
[src]
fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]
fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]
fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<PublicParts, SubordinateRole>
[src]
fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<PublicParts, UnspecifiedRole>
[src]
fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<SecretParts, SubordinateRole>
[src]
fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<SecretParts, UnspecifiedRole>
[src]
fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
impl<R> From<Key4<UnspecifiedParts, R>> for Key4<PublicParts, R> where
R: KeyRole,
[src]
R: KeyRole,
fn from(p: Key4<UnspecifiedParts, R>) -> Self
[src]
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<PublicParts, PrimaryRole>
[src]
fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<PublicParts, UnspecifiedRole>
[src]
fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<SecretParts, PrimaryRole>
[src]
fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<SecretParts, UnspecifiedRole>
[src]
fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<PublicParts, PrimaryRole>
[src]
fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<PublicParts, SubordinateRole>
[src]
fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<SecretParts, PrimaryRole>
[src]
fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<SecretParts, SubordinateRole>
[src]
fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
impl<P, R> Hash for Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
impl<P: KeyParts, R: KeyRole> Hash for Key4<P, R>
[src]
fn hash<H: Hasher>(&self, state: &mut H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<P, R> Marshal for Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
fn serialize(&self, o: &mut dyn Write) -> Result<()>
[src]
fn export(&self, o: &mut dyn Write) -> Result<()>
[src]
impl<P, R> MarshalInto for Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
P: KeyParts,
R: KeyRole,
fn serialized_len(&self) -> usize
[src]
fn serialize_into(&self, buf: &mut [u8]) -> Result<usize>
[src]
fn to_vec(&self) -> Result<Vec<u8>>
[src]
fn export_into(&self, buf: &mut [u8]) -> Result<usize>
[src]
fn export_to_vec(&self) -> Result<Vec<u8>>
[src]
impl<P: KeyParts, R: KeyRole> PartialEq<Key4<P, R>> for Key4<P, R>
[src]
impl<'_, '_, R> TryFrom<&'_ Key4<PublicParts, R>> for &'_ Key4<SecretParts, R> where
R: KeyRole,
[src]
R: KeyRole,
type Error = Error
The type returned in the event of a conversion error.
fn try_from(p: &Key4<PublicParts, R>) -> Result<Self>
[src]
impl<'_, '_, R> TryFrom<&'_ Key4<UnspecifiedParts, R>> for &'_ Key4<SecretParts, R> where
R: KeyRole,
[src]
R: KeyRole,
type Error = Error
The type returned in the event of a conversion error.
fn try_from(p: &Key4<UnspecifiedParts, R>) -> Result<Self>
[src]
impl<R> TryFrom<Key4<PublicParts, R>> for Key4<SecretParts, R> where
R: KeyRole,
[src]
R: KeyRole,
type Error = Error
The type returned in the event of a conversion error.
fn try_from(p: Key4<PublicParts, R>) -> Result<Self>
[src]
impl<R> TryFrom<Key4<UnspecifiedParts, R>> for Key4<SecretParts, R> where
R: KeyRole,
[src]
R: KeyRole,
Auto Trait Implementations
impl<P, R> RefUnwindSafe for Key4<P, R> where
P: RefUnwindSafe,
R: RefUnwindSafe,
P: RefUnwindSafe,
R: RefUnwindSafe,
impl<P, R> Send for Key4<P, R> where
P: Send,
R: Send,
P: Send,
R: Send,
impl<P, R> Sync for Key4<P, R> where
P: Sync,
R: Sync,
P: Sync,
R: Sync,
impl<P, R> Unpin for Key4<P, R> where
P: Unpin,
R: Unpin,
P: Unpin,
R: Unpin,
impl<P, R> UnwindSafe for Key4<P, R> where
P: UnwindSafe,
R: UnwindSafe,
P: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,