[−][src]Enum sequoia_openpgp::crypto::mpi::PublicKey
A public key.
Provides a typed and structured way of storing multiple MPIs (and
the occasional elliptic curve) in Key
packets.
Note: This enum cannot be exhaustively matched to allow future extensions.
Variants (Non-exhaustive)
RSA public key.
NIST DSA public key.
Fields of DSA
ElGamal public key.
DJBs "Twisted" Edwards curve DSA public key.
NISTs Elliptic curve DSA public key.
Elliptic curve ElGamal public key.
Fields of ECDH
curve: Curve
Curve we're using.
q: MPI
Public point.
hash: HashAlgorithm
Hash algorithm used for key derivation.
sym: SymmetricAlgorithm
Algorithm used w/the derived key.
Unknown number of MPIs for an unknown algorithm.
Fields of Unknown
Implementations
impl PublicKey
[src]
pub fn bits(&self) -> Option<usize>
[src]
Returns the length of the public key in bits.
For finite field crypto this returns the size of the field we
operate in, for ECC it returns Curve::bits()
.
Note: This information is useless and should not be used to gauge the security of a particular key. This function exists only because some legacy PGP application like HKP need it.
Returns None
for unknown keys and curves.
pub fn algo(&self) -> Option<PublicKeyAlgorithm>
[src]
Returns, if known, the public-key algorithm for this public key.
impl PublicKey
[src]
pub fn parse<R: Read + Send + Sync>(
algo: PublicKeyAlgorithm,
reader: R
) -> Result<Self>
[src]
algo: PublicKeyAlgorithm,
reader: R
) -> Result<Self>
Parses a set of OpenPGP MPIs representing a public key.
See Section 3.2 of RFC 4880 for details.
Trait Implementations
impl Clone for PublicKey
[src]
impl Debug for PublicKey
[src]
impl Eq for PublicKey
[src]
impl Hash for PublicKey
[src]
impl Hash for PublicKey
[src]
pub fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Marshal for PublicKey
[src]
pub fn serialize(&self, w: &mut dyn Write) -> Result<()>
[src]
pub fn export(&self, o: &mut dyn Write) -> Result<()>
[src]
impl MarshalInto for PublicKey
[src]
pub fn serialized_len(&self) -> usize
[src]
pub fn serialize_into(&self, buf: &mut [u8]) -> Result<usize>
[src]
pub fn to_vec(&self) -> Result<Vec<u8>>
[src]
pub fn export_into(&self, buf: &mut [u8]) -> Result<usize>
[src]
pub fn export_to_vec(&self) -> Result<Vec<u8>>
[src]
impl Ord for PublicKey
[src]
pub fn cmp(&self, other: &PublicKey) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<PublicKey> for PublicKey
[src]
impl PartialOrd<PublicKey> for PublicKey
[src]
pub fn partial_cmp(&self, other: &PublicKey) -> Option<Ordering>
[src]
pub fn lt(&self, other: &PublicKey) -> bool
[src]
pub fn le(&self, other: &PublicKey) -> bool
[src]
pub fn gt(&self, other: &PublicKey) -> bool
[src]
pub fn ge(&self, other: &PublicKey) -> bool
[src]
impl StructuralEq for PublicKey
[src]
impl StructuralPartialEq for PublicKey
[src]
Auto Trait Implementations
impl RefUnwindSafe for PublicKey
[src]
impl Send for PublicKey
[src]
impl Sync for PublicKey
[src]
impl Unpin for PublicKey
[src]
impl UnwindSafe for PublicKey
[src]
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DynClone for T where
T: Clone,
[src]
T: Clone,
pub fn __clone_box(&self, Private) -> *mut ()
[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> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
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.
pub 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>,