Struct sequoia_openpgp::packet::key::Key4 [−][src]
Holds a public key, public subkey, private key or private subkey packet.
Use Key4::generate_rsa
or Key4::generate_ecc
to create a
new key.
Existing key material can be turned into an OpenPGP key using
Key4::with_secret
, Key4::import_public_cv25519
,
Key4::import_public_ed25519
, Key4::import_public_rsa
,
Key4::import_secret_cv25519
, Key4::import_secret_ed25519
,
and Key4::import_secret_rsa
.
Whether you create a new key or import existing key material, you still need to create a binding signature, and, for signing keys, a back signature before integrating the key into a certificate.
Normally, you won’t directly use Key4
, but Key
, which is a
relatively thin wrapper around Key4
.
See Section 5.5 of RFC 4880 and the documentation for Key
for more details.
Implementations
impl<R> Key4<SecretParts, R> where
R: KeyRole,
[src]
impl<R> Key4<SecretParts, R> where
R: KeyRole,
[src]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]
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]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]
pub fn import_secret_ed25519<T>(private_key: &[u8], ctime: T) -> Result<Self> where
T: Into<Option<SystemTime>>,
[src]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]
pub fn import_secret_rsa<T>(
d: &[u8],
p: &[u8],
q: &[u8],
ctime: T
) -> Result<Self> where
T: Into<Option<SystemTime>>,
[src]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]
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]
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. Likewise
for_signing == false
and curve == Ed25519
will produce an error.
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]pub fn parts_into_public(self) -> Key4<PublicParts, R>
[src]
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]
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]
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]
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]
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]
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]
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]pub fn role_into_primary(self) -> Key4<P, PrimaryRole>
[src]
pub fn role_into_primary(self) -> Key4<P, PrimaryRole>
[src]Changes the key’s role tag to PrimaryRole
.
pub fn role_as_primary(&self) -> &Key4<P, PrimaryRole>
[src]
pub fn role_as_primary(&self) -> &Key4<P, PrimaryRole>
[src]Changes the key’s role tag to PrimaryRole
.
pub fn role_into_subordinate(self) -> Key4<P, SubordinateRole>
[src]
pub fn role_into_subordinate(self) -> Key4<P, SubordinateRole>
[src]Changes the key’s role tag to SubordinateRole
.
pub fn role_as_subordinate(&self) -> &Key4<P, SubordinateRole>
[src]
pub fn role_as_subordinate(&self) -> &Key4<P, SubordinateRole>
[src]Changes the key’s role tag to SubordinateRole
.
pub fn role_into_unspecified(self) -> Key4<P, UnspecifiedRole>
[src]
pub fn role_into_unspecified(self) -> Key4<P, UnspecifiedRole>
[src]Changes the key’s role tag to UnspecifiedRole
.
pub fn role_as_unspecified(&self) -> &Key4<P, UnspecifiedRole>
[src]
pub fn role_as_unspecified(&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]
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]pub fn hash_algo_security(&self) -> HashAlgoSecurity
[src]
pub fn hash_algo_security(&self) -> HashAlgoSecurity
[src]The security requirements of the hash algorithm for self-signatures.
A cryptographic hash algorithm usually has three security properties: pre-image resistance, second pre-image resistance, and collision resistance. If an attacker can influence the signed data, then the hash algorithm needs to have both second pre-image resistance, and collision resistance. If not, second pre-image resistance is sufficient.
In general, an attacker may be able to influence third-party signatures. But direct key signatures, and binding signatures are only over data fully determined by signer. And, an attacker’s control over self signatures over User IDs is limited due to their structure.
These observations can be used to extend the life of a hash algorithm after its collision resistance has been partially compromised, but not completely broken. For more details, please refer to the documentation for HashAlgoSecurity.
pub fn public_cmp<PB, RB>(&self, b: &Key4<PB, RB>) -> Ordering where
PB: KeyParts,
RB: KeyRole,
[src]
pub fn public_cmp<PB, RB>(&self, b: &Key4<PB, RB>) -> Ordering where
PB: KeyParts,
RB: KeyRole,
[src]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 packets’ encodings, packets’ tags or their secret
key material.
pub fn public_eq<PB, RB>(&self, b: &Key4<PB, RB>) -> bool where
PB: KeyParts,
RB: KeyRole,
[src]
pub fn public_eq<PB, RB>(&self, b: &Key4<PB, RB>) -> bool where
PB: KeyParts,
RB: KeyRole,
[src]Tests whether two keys are equal modulo their secret key material.
This returns true if the public MPIs, creation time and
algorithm of the two Key4
s match. This does not consider
the packets’ encodings, packets’ tags or their secret key
material.
impl<R> Key4<PublicParts, R> where
R: KeyRole,
[src]
impl<R> Key4<PublicParts, R> where
R: KeyRole,
[src]pub fn new<T>(
creation_time: T,
pk_algo: PublicKeyAlgorithm,
mpis: PublicKey
) -> Result<Self> where
T: Into<SystemTime>,
[src]
pub fn new<T>(
creation_time: T,
pk_algo: PublicKeyAlgorithm,
mpis: PublicKey
) -> Result<Self> where
T: Into<SystemTime>,
[src]Creates an OpenPGP public key from the specified key material.
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]
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]Creates an OpenPGP public key packet from existing X25519 key material.
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 its 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]
pub fn import_public_ed25519<T>(public_key: &[u8], ctime: T) -> Result<Self> where
T: Into<Option<SystemTime>>,
[src]Creates an OpenPGP public key packet from existing Ed25519 key material.
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 its 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]
pub fn import_public_rsa<T>(e: &[u8], n: &[u8], ctime: T) -> Result<Self> where
T: Into<Option<SystemTime>>,
[src]Creates an OpenPGP public key packet from existing RSA key material.
The RSA key will use the public exponent e
and the modulo
n
. The key will have its creation date set to ctime
or the
current time if None
is given.
impl<R> Key4<SecretParts, R> where
R: KeyRole,
[src]
impl<R> Key4<SecretParts, R> where
R: KeyRole,
[src]pub fn with_secret<T>(
creation_time: T,
pk_algo: PublicKeyAlgorithm,
mpis: PublicKey,
secret: SecretKeyMaterial
) -> Result<Self> where
T: Into<SystemTime>,
[src]
pub fn with_secret<T>(
creation_time: T,
pk_algo: PublicKeyAlgorithm,
mpis: PublicKey,
secret: SecretKeyMaterial
) -> Result<Self> where
T: Into<SystemTime>,
[src]Creates an OpenPGP key packet from the specified secret key material.
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
impl<P, R> Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]pub fn creation_time(&self) -> SystemTime
[src]
pub fn creation_time(&self) -> SystemTime
[src]Gets the Key
’s creation time.
pub fn set_creation_time<T>(&mut self, timestamp: T) -> Result<SystemTime> where
T: Into<SystemTime>,
[src]
pub fn set_creation_time<T>(&mut self, timestamp: T) -> Result<SystemTime> where
T: Into<SystemTime>,
[src]Sets the Key
’s creation time.
timestamp
is converted to OpenPGP’s internal format,
Timestamp
: a 32-bit quantity containing the number of
seconds since the Unix epoch.
timestamp
is silently rounded to match the internal
resolution. An error is returned if timestamp
is out of
range.
pub fn pk_algo(&self) -> PublicKeyAlgorithm
[src]
pub fn pk_algo(&self) -> PublicKeyAlgorithm
[src]Gets the public key algorithm.
pub fn set_pk_algo(&mut self, pk_algo: PublicKeyAlgorithm) -> PublicKeyAlgorithm
[src]
pub fn set_pk_algo(&mut self, pk_algo: PublicKeyAlgorithm) -> PublicKeyAlgorithm
[src]Sets the public key algorithm.
Returns the old public key algorithm.
pub fn set_mpis(&mut self, mpis: PublicKey) -> PublicKey
[src]
pub fn set_mpis(&mut self, mpis: PublicKey) -> PublicKey
[src]Sets the Key
’s MPIs.
This function returns the old MPIs, if any.
pub fn has_secret(&self) -> bool
[src]
pub fn has_secret(&self) -> bool
[src]Returns whether the Key
contains secret key material.
pub fn has_unencrypted_secret(&self) -> bool
[src]
pub fn has_unencrypted_secret(&self) -> bool
[src]Returns whether the Key
contains unencrypted secret key
material.
This returns false if the Key
doesn’t contain any secret key
material.
pub fn optional_secret(&self) -> Option<&SecretKeyMaterial>
[src]
pub fn optional_secret(&self) -> Option<&SecretKeyMaterial>
[src]Returns Key
’s secret key material, if any.
pub fn key_handle(&self) -> KeyHandle
[src]
pub fn key_handle(&self) -> KeyHandle
[src]Computes and returns the Key
’s Fingerprint
and returns it as
a KeyHandle
.
pub fn fingerprint(&self) -> Fingerprint
[src]
pub fn fingerprint(&self) -> Fingerprint
[src]Computes and returns the Key
’s Fingerprint
.
impl<R> Key4<PublicParts, R> where
R: KeyRole,
[src]
impl<R> Key4<PublicParts, R> where
R: KeyRole,
[src]Secret key material handling.
pub fn take_secret(self) -> (Key4<PublicParts, R>, Option<SecretKeyMaterial>)
[src]
pub fn take_secret(self) -> (Key4<PublicParts, R>, Option<SecretKeyMaterial>)
[src]Takes the Key
’s SecretKeyMaterial
, if any.
pub fn add_secret(
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, Option<SecretKeyMaterial>)
[src]
pub fn add_secret(
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, Option<SecretKeyMaterial>)
[src]Adds the secret key material to the Key
, returning
the old secret key material, if any.
impl<R> Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
impl<R> Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]Secret key material handling.
pub fn take_secret(self) -> (Key4<PublicParts, R>, Option<SecretKeyMaterial>)
[src]
pub fn take_secret(self) -> (Key4<PublicParts, R>, Option<SecretKeyMaterial>)
[src]Takes the Key
’s SecretKeyMaterial
, if any.
pub fn add_secret(
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, Option<SecretKeyMaterial>)
[src]
pub fn add_secret(
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, Option<SecretKeyMaterial>)
[src]Adds the secret key material to the Key
, returning
the old secret key material, if any.
impl<R> Key4<SecretParts, R> where
R: KeyRole,
[src]
impl<R> Key4<SecretParts, R> where
R: KeyRole,
[src]Secret key handling.
pub fn secret(&self) -> &SecretKeyMaterial
[src]
pub fn secret(&self) -> &SecretKeyMaterial
[src]Gets the Key
’s SecretKeyMaterial
.
pub fn secret_mut(&mut self) -> &mut SecretKeyMaterial
[src]
pub fn secret_mut(&mut self) -> &mut SecretKeyMaterial
[src]Gets a mutable reference to the Key
’s SecretKeyMaterial
.
pub fn take_secret(self) -> (Key4<PublicParts, R>, SecretKeyMaterial)
[src]
pub fn take_secret(self) -> (Key4<PublicParts, R>, SecretKeyMaterial)
[src]Takes the Key
’s SecretKeyMaterial
.
pub fn add_secret(
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, SecretKeyMaterial)
[src]
pub fn add_secret(
self,
secret: SecretKeyMaterial
) -> (Key4<SecretParts, R>, SecretKeyMaterial)
[src]Adds SecretKeyMaterial
to the Key
.
This function returns the old secret key material, if any.
pub fn decrypt_secret(self, password: &Password) -> Result<Self>
[src]
pub fn decrypt_secret(self, password: &Password) -> Result<Self>
[src]Decrypts the secret key material using password
.
In OpenPGP, secret key material can be protected with a password. The password is usually hardened using a KDF.
Refer to the documentation of Key::decrypt_secret
for
details.
This function returns an error if the secret key material is not encrypted or the password is incorrect.
pub fn encrypt_secret(self, password: &Password) -> Result<Key4<SecretParts, R>>
[src]
pub fn encrypt_secret(self, password: &Password) -> Result<Key4<SecretParts, R>>
[src]Encrypts the secret key material using password
.
In OpenPGP, secret key material can be protected with a password. The password is usually hardened using a KDF.
Refer to the documentation of Key::encrypt_secret
for
details.
This returns an error if the secret key material is already encrypted.
impl<R: KeyRole> Key4<SecretParts, R>
[src]
impl<R: KeyRole> Key4<SecretParts, R>
[src]pub fn into_keypair(self) -> Result<KeyPair>
[src]
pub fn into_keypair(self) -> Result<KeyPair>
[src]Creates a new key pair from a secret Key
with an unencrypted
secret key.
Errors
Fails if the secret key is encrypted. You can use
Key::decrypt_secret
to decrypt a key.
Trait Implementations
impl<P> From<&'_ Key4<P, PrimaryRole>> for &Key4<P, SubordinateRole> where
P: KeyParts,
[src]
impl<P> From<&'_ Key4<P, PrimaryRole>> for &Key4<P, SubordinateRole> where
P: KeyParts,
[src]fn from(p: &Key4<P, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<P, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<P> From<&'_ Key4<P, PrimaryRole>> for &Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]
impl<P> From<&'_ Key4<P, PrimaryRole>> for &Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]fn from(p: &Key4<P, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<P, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<P> From<&'_ Key4<P, SubordinateRole>> for &Key4<P, PrimaryRole> where
P: KeyParts,
[src]
impl<P> From<&'_ Key4<P, SubordinateRole>> for &Key4<P, PrimaryRole> where
P: KeyParts,
[src]fn from(p: &Key4<P, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<P, SubordinateRole>) -> Self
[src]Performs the conversion.
impl<P> From<&'_ Key4<P, SubordinateRole>> for &Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]
impl<P> From<&'_ Key4<P, SubordinateRole>> for &Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]fn from(p: &Key4<P, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<P, SubordinateRole>) -> Self
[src]Performs the conversion.
impl<P> From<&'_ Key4<P, UnspecifiedRole>> for &Key4<P, PrimaryRole> where
P: KeyParts,
[src]
impl<P> From<&'_ Key4<P, UnspecifiedRole>> for &Key4<P, PrimaryRole> where
P: KeyParts,
[src]fn from(p: &Key4<P, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<P, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl<P> From<&'_ Key4<P, UnspecifiedRole>> for &Key4<P, SubordinateRole> where
P: KeyParts,
[src]
impl<P> From<&'_ Key4<P, UnspecifiedRole>> for &Key4<P, SubordinateRole> where
P: KeyParts,
[src]fn from(p: &Key4<P, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<P, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, PrimaryRole>> for &Key4<SecretParts, SubordinateRole>
[src]
impl From<&'_ Key4<PublicParts, PrimaryRole>> for &Key4<SecretParts, SubordinateRole>
[src]fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, PrimaryRole>> for &Key4<SecretParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<PublicParts, PrimaryRole>> for &Key4<SecretParts, UnspecifiedRole>
[src]fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, PrimaryRole>> for &Key4<UnspecifiedParts, SubordinateRole>
[src]
impl From<&'_ Key4<PublicParts, PrimaryRole>> for &Key4<UnspecifiedParts, SubordinateRole>
[src]fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, PrimaryRole>> for &Key4<UnspecifiedParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<PublicParts, PrimaryRole>> for &Key4<UnspecifiedParts, UnspecifiedRole>
[src]fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<R> From<&'_ Key4<PublicParts, R>> for &Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
impl<R> From<&'_ Key4<PublicParts, R>> for &Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]fn from(p: &Key4<PublicParts, R>) -> Self
[src]
fn from(p: &Key4<PublicParts, R>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, SubordinateRole>> for &Key4<SecretParts, PrimaryRole>
[src]
impl From<&'_ Key4<PublicParts, SubordinateRole>> for &Key4<SecretParts, PrimaryRole>
[src]fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, SubordinateRole>> for &Key4<SecretParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<PublicParts, SubordinateRole>> for &Key4<SecretParts, UnspecifiedRole>
[src]fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, SubordinateRole>> for &Key4<UnspecifiedParts, PrimaryRole>
[src]
impl From<&'_ Key4<PublicParts, SubordinateRole>> for &Key4<UnspecifiedParts, PrimaryRole>
[src]fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, SubordinateRole>> for &Key4<UnspecifiedParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<PublicParts, SubordinateRole>> for &Key4<UnspecifiedParts, UnspecifiedRole>
[src]fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, UnspecifiedRole>> for &Key4<SecretParts, PrimaryRole>
[src]
impl From<&'_ Key4<PublicParts, UnspecifiedRole>> for &Key4<SecretParts, PrimaryRole>
[src]fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, UnspecifiedRole>> for &Key4<SecretParts, SubordinateRole>
[src]
impl From<&'_ Key4<PublicParts, UnspecifiedRole>> for &Key4<SecretParts, SubordinateRole>
[src]fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, UnspecifiedRole>> for &Key4<UnspecifiedParts, PrimaryRole>
[src]
impl From<&'_ Key4<PublicParts, UnspecifiedRole>> for &Key4<UnspecifiedParts, PrimaryRole>
[src]fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<PublicParts, UnspecifiedRole>> for &Key4<UnspecifiedParts, SubordinateRole>
[src]
impl From<&'_ Key4<PublicParts, UnspecifiedRole>> for &Key4<UnspecifiedParts, SubordinateRole>
[src]fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<PublicParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, PrimaryRole>> for &Key4<PublicParts, SubordinateRole>
[src]
impl From<&'_ Key4<SecretParts, PrimaryRole>> for &Key4<PublicParts, SubordinateRole>
[src]fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, PrimaryRole>> for &Key4<PublicParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<SecretParts, PrimaryRole>> for &Key4<PublicParts, UnspecifiedRole>
[src]fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, PrimaryRole>> for &Key4<UnspecifiedParts, SubordinateRole>
[src]
impl From<&'_ Key4<SecretParts, PrimaryRole>> for &Key4<UnspecifiedParts, SubordinateRole>
[src]fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, PrimaryRole>> for &Key4<UnspecifiedParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<SecretParts, PrimaryRole>> for &Key4<UnspecifiedParts, UnspecifiedRole>
[src]fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<R> From<&'_ Key4<SecretParts, R>> for &Key4<PublicParts, R> where
R: KeyRole,
[src]
impl<R> From<&'_ Key4<SecretParts, R>> for &Key4<PublicParts, R> where
R: KeyRole,
[src]fn from(p: &Key4<SecretParts, R>) -> Self
[src]
fn from(p: &Key4<SecretParts, R>) -> Self
[src]Performs the conversion.
impl<R> From<&'_ Key4<SecretParts, R>> for &Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
impl<R> From<&'_ Key4<SecretParts, R>> for &Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]fn from(p: &Key4<SecretParts, R>) -> Self
[src]
fn from(p: &Key4<SecretParts, R>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, SubordinateRole>> for &Key4<PublicParts, PrimaryRole>
[src]
impl From<&'_ Key4<SecretParts, SubordinateRole>> for &Key4<PublicParts, PrimaryRole>
[src]fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, SubordinateRole>> for &Key4<PublicParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<SecretParts, SubordinateRole>> for &Key4<PublicParts, UnspecifiedRole>
[src]fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, SubordinateRole>> for &Key4<UnspecifiedParts, PrimaryRole>
[src]
impl From<&'_ Key4<SecretParts, SubordinateRole>> for &Key4<UnspecifiedParts, PrimaryRole>
[src]fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, SubordinateRole>> for &Key4<UnspecifiedParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<SecretParts, SubordinateRole>> for &Key4<UnspecifiedParts, UnspecifiedRole>
[src]fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, UnspecifiedRole>> for &Key4<PublicParts, PrimaryRole>
[src]
impl From<&'_ Key4<SecretParts, UnspecifiedRole>> for &Key4<PublicParts, PrimaryRole>
[src]fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, UnspecifiedRole>> for &Key4<PublicParts, SubordinateRole>
[src]
impl From<&'_ Key4<SecretParts, UnspecifiedRole>> for &Key4<PublicParts, SubordinateRole>
[src]fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, UnspecifiedRole>> for &Key4<UnspecifiedParts, PrimaryRole>
[src]
impl From<&'_ Key4<SecretParts, UnspecifiedRole>> for &Key4<UnspecifiedParts, PrimaryRole>
[src]fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<SecretParts, UnspecifiedRole>> for &Key4<UnspecifiedParts, SubordinateRole>
[src]
impl From<&'_ Key4<SecretParts, UnspecifiedRole>> for &Key4<UnspecifiedParts, SubordinateRole>
[src]fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<SecretParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &Key4<PublicParts, SubordinateRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &Key4<PublicParts, SubordinateRole>
[src]fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &Key4<PublicParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &Key4<PublicParts, UnspecifiedRole>
[src]fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &Key4<SecretParts, SubordinateRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &Key4<SecretParts, SubordinateRole>
[src]fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &Key4<SecretParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, PrimaryRole>> for &Key4<SecretParts, UnspecifiedRole>
[src]fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<R> From<&'_ Key4<UnspecifiedParts, R>> for &Key4<PublicParts, R> where
R: KeyRole,
[src]
impl<R> From<&'_ Key4<UnspecifiedParts, R>> for &Key4<PublicParts, R> where
R: KeyRole,
[src]fn from(p: &Key4<UnspecifiedParts, R>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, R>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &Key4<PublicParts, PrimaryRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &Key4<PublicParts, PrimaryRole>
[src]fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &Key4<PublicParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &Key4<PublicParts, UnspecifiedRole>
[src]fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &Key4<SecretParts, PrimaryRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &Key4<SecretParts, PrimaryRole>
[src]fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &Key4<SecretParts, UnspecifiedRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, SubordinateRole>> for &Key4<SecretParts, UnspecifiedRole>
[src]fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &Key4<PublicParts, PrimaryRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &Key4<PublicParts, PrimaryRole>
[src]fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &Key4<PublicParts, SubordinateRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &Key4<PublicParts, SubordinateRole>
[src]fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &Key4<SecretParts, PrimaryRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &Key4<SecretParts, PrimaryRole>
[src]fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &Key4<SecretParts, SubordinateRole>
[src]
impl From<&'_ Key4<UnspecifiedParts, UnspecifiedRole>> for &Key4<SecretParts, SubordinateRole>
[src]fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
fn from(p: &Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl<P> From<Key4<P, PrimaryRole>> for Key4<P, SubordinateRole> where
P: KeyParts,
[src]
impl<P> From<Key4<P, PrimaryRole>> for Key4<P, SubordinateRole> where
P: KeyParts,
[src]fn from(p: Key4<P, PrimaryRole>) -> Self
[src]
fn from(p: Key4<P, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<P> From<Key4<P, PrimaryRole>> for Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]
impl<P> From<Key4<P, PrimaryRole>> for Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]fn from(p: Key4<P, PrimaryRole>) -> Self
[src]
fn from(p: Key4<P, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<P> From<Key4<P, SubordinateRole>> for Key4<P, PrimaryRole> where
P: KeyParts,
[src]
impl<P> From<Key4<P, SubordinateRole>> for Key4<P, PrimaryRole> where
P: KeyParts,
[src]fn from(p: Key4<P, SubordinateRole>) -> Self
[src]
fn from(p: Key4<P, SubordinateRole>) -> Self
[src]Performs the conversion.
impl<P> From<Key4<P, SubordinateRole>> for Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]
impl<P> From<Key4<P, SubordinateRole>> for Key4<P, UnspecifiedRole> where
P: KeyParts,
[src]fn from(p: Key4<P, SubordinateRole>) -> Self
[src]
fn from(p: Key4<P, SubordinateRole>) -> Self
[src]Performs the conversion.
impl<P> From<Key4<P, UnspecifiedRole>> for Key4<P, PrimaryRole> where
P: KeyParts,
[src]
impl<P> From<Key4<P, UnspecifiedRole>> for Key4<P, PrimaryRole> where
P: KeyParts,
[src]fn from(p: Key4<P, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<P, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl<P> From<Key4<P, UnspecifiedRole>> for Key4<P, SubordinateRole> where
P: KeyParts,
[src]
impl<P> From<Key4<P, UnspecifiedRole>> for Key4<P, SubordinateRole> where
P: KeyParts,
[src]fn from(p: Key4<P, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<P, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, PrimaryRole>> for Key4<SecretParts, SubordinateRole>
[src]
impl From<Key4<PublicParts, PrimaryRole>> for Key4<SecretParts, SubordinateRole>
[src]fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, PrimaryRole>> for Key4<SecretParts, UnspecifiedRole>
[src]
impl From<Key4<PublicParts, PrimaryRole>> for Key4<SecretParts, UnspecifiedRole>
[src]fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, PrimaryRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]
impl From<Key4<PublicParts, PrimaryRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, PrimaryRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]
impl From<Key4<PublicParts, PrimaryRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<PublicParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<R> From<Key4<PublicParts, R>> for Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
impl<R> From<Key4<PublicParts, R>> for Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]fn from(p: Key4<PublicParts, R>) -> Self
[src]
fn from(p: Key4<PublicParts, R>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, SubordinateRole>> for Key4<SecretParts, PrimaryRole>
[src]
impl From<Key4<PublicParts, SubordinateRole>> for Key4<SecretParts, PrimaryRole>
[src]fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, SubordinateRole>> for Key4<SecretParts, UnspecifiedRole>
[src]
impl From<Key4<PublicParts, SubordinateRole>> for Key4<SecretParts, UnspecifiedRole>
[src]fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, SubordinateRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]
impl From<Key4<PublicParts, SubordinateRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, SubordinateRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]
impl From<Key4<PublicParts, SubordinateRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<PublicParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<SecretParts, PrimaryRole>
[src]
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<SecretParts, PrimaryRole>
[src]fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<SecretParts, SubordinateRole>
[src]
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<SecretParts, SubordinateRole>
[src]fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]
impl From<Key4<PublicParts, UnspecifiedRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<PublicParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, PrimaryRole>> for Key4<PublicParts, SubordinateRole>
[src]
impl From<Key4<SecretParts, PrimaryRole>> for Key4<PublicParts, SubordinateRole>
[src]fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, PrimaryRole>> for Key4<PublicParts, UnspecifiedRole>
[src]
impl From<Key4<SecretParts, PrimaryRole>> for Key4<PublicParts, UnspecifiedRole>
[src]fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, PrimaryRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]
impl From<Key4<SecretParts, PrimaryRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, PrimaryRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]
impl From<Key4<SecretParts, PrimaryRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<SecretParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<R> From<Key4<SecretParts, R>> for Key4<PublicParts, R> where
R: KeyRole,
[src]
impl<R> From<Key4<SecretParts, R>> for Key4<PublicParts, R> where
R: KeyRole,
[src]fn from(p: Key4<SecretParts, R>) -> Self
[src]
fn from(p: Key4<SecretParts, R>) -> Self
[src]Performs the conversion.
impl<R> From<Key4<SecretParts, R>> for Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]
impl<R> From<Key4<SecretParts, R>> for Key4<UnspecifiedParts, R> where
R: KeyRole,
[src]fn from(p: Key4<SecretParts, R>) -> Self
[src]
fn from(p: Key4<SecretParts, R>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, SubordinateRole>> for Key4<PublicParts, PrimaryRole>
[src]
impl From<Key4<SecretParts, SubordinateRole>> for Key4<PublicParts, PrimaryRole>
[src]fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, SubordinateRole>> for Key4<PublicParts, UnspecifiedRole>
[src]
impl From<Key4<SecretParts, SubordinateRole>> for Key4<PublicParts, UnspecifiedRole>
[src]fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, SubordinateRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]
impl From<Key4<SecretParts, SubordinateRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, SubordinateRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]
impl From<Key4<SecretParts, SubordinateRole>> for Key4<UnspecifiedParts, UnspecifiedRole>
[src]fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<SecretParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<PublicParts, PrimaryRole>
[src]
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<PublicParts, PrimaryRole>
[src]fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<PublicParts, SubordinateRole>
[src]
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<PublicParts, SubordinateRole>
[src]fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<UnspecifiedParts, PrimaryRole>
[src]fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]
impl From<Key4<SecretParts, UnspecifiedRole>> for Key4<UnspecifiedParts, SubordinateRole>
[src]fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<SecretParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<PublicParts, SubordinateRole>
[src]
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<PublicParts, SubordinateRole>
[src]fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<PublicParts, UnspecifiedRole>
[src]
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<PublicParts, UnspecifiedRole>
[src]fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<SecretParts, SubordinateRole>
[src]
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<SecretParts, SubordinateRole>
[src]fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<SecretParts, UnspecifiedRole>
[src]
impl From<Key4<UnspecifiedParts, PrimaryRole>> for Key4<SecretParts, UnspecifiedRole>
[src]fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, PrimaryRole>) -> Self
[src]Performs the conversion.
impl<R> From<Key4<UnspecifiedParts, R>> for Key4<PublicParts, R> where
R: KeyRole,
[src]
impl<R> From<Key4<UnspecifiedParts, R>> for Key4<PublicParts, R> where
R: KeyRole,
[src]fn from(p: Key4<UnspecifiedParts, R>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, R>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<PublicParts, PrimaryRole>
[src]
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<PublicParts, PrimaryRole>
[src]fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<PublicParts, UnspecifiedRole>
[src]
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<PublicParts, UnspecifiedRole>
[src]fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<SecretParts, PrimaryRole>
[src]
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<SecretParts, PrimaryRole>
[src]fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<SecretParts, UnspecifiedRole>
[src]
impl From<Key4<UnspecifiedParts, SubordinateRole>> for Key4<SecretParts, UnspecifiedRole>
[src]fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, SubordinateRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<PublicParts, PrimaryRole>
[src]
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<PublicParts, PrimaryRole>
[src]fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<PublicParts, SubordinateRole>
[src]
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<PublicParts, SubordinateRole>
[src]fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<SecretParts, PrimaryRole>
[src]
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<SecretParts, PrimaryRole>
[src]fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<SecretParts, SubordinateRole>
[src]
impl From<Key4<UnspecifiedParts, UnspecifiedRole>> for Key4<SecretParts, SubordinateRole>
[src]fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]
fn from(p: Key4<UnspecifiedParts, UnspecifiedRole>) -> Self
[src]Performs the conversion.
impl<P, R> MarshalInto for Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]
impl<P, R> MarshalInto for Key4<P, R> where
P: KeyParts,
R: KeyRole,
[src]impl<R> TryFrom<&'_ Key4<PublicParts, R>> for &Key4<SecretParts, R> where
R: KeyRole,
[src]
impl<R> TryFrom<&'_ Key4<PublicParts, R>> for &Key4<SecretParts, R> where
R: KeyRole,
[src]impl<R> TryFrom<&'_ Key4<UnspecifiedParts, R>> for &Key4<SecretParts, R> where
R: KeyRole,
[src]
impl<R> TryFrom<&'_ Key4<UnspecifiedParts, R>> for &Key4<SecretParts, R> where
R: KeyRole,
[src]impl<R> TryFrom<Key4<PublicParts, R>> for Key4<SecretParts, R> where
R: KeyRole,
[src]
impl<R> TryFrom<Key4<PublicParts, R>> for Key4<SecretParts, R> where
R: KeyRole,
[src]impl<R> TryFrom<Key4<UnspecifiedParts, R>> for Key4<SecretParts, R> where
R: KeyRole,
[src]
impl<R> TryFrom<Key4<UnspecifiedParts, R>> for Key4<SecretParts, R> where
R: KeyRole,
[src]impl<P: KeyParts, R: KeyRole> Eq for Key4<P, R>
[src]
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> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more