Trait DecodePublicKey

Source
pub trait DecodePublicKey: Sized {
    // Required method
    fn from_public_key_der(bytes: &[u8]) -> Result<Self>;

    // Provided methods
    fn from_public_key_pem(s: &str) -> Result<Self> { ... }
    fn read_public_key_der_file(path: impl AsRef<Path>) -> Result<Self> { ... }
    fn read_public_key_pem_file(path: impl AsRef<Path>) -> Result<Self> { ... }
}
Expand description

Parse a public key object from an encoded SPKI document.

Required Methods§

Source

fn from_public_key_der(bytes: &[u8]) -> Result<Self>

Deserialize object from ASN.1 DER-encoded SubjectPublicKeyInfo (binary format).

Provided Methods§

Source

fn from_public_key_pem(s: &str) -> Result<Self>

Deserialize PEM-encoded SubjectPublicKeyInfo.

Keys in this format begin with the following delimiter:

-----BEGIN PUBLIC KEY-----
Source

fn read_public_key_der_file(path: impl AsRef<Path>) -> Result<Self>

Load public key object from an ASN.1 DER-encoded file on the local filesystem (binary format).

Source

fn read_public_key_pem_file(path: impl AsRef<Path>) -> Result<Self>

Load public key object from a PEM-encoded file on the local filesystem.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T> DecodePublicKey for T
where T: for<'a> TryFrom<SubjectPublicKeyInfoRef<'a>, Error = Error>,

impl<C> DecodePublicKey for VerifyingKey<C>
where C: PrimeCurve + AssociatedOid + ProjectiveArithmetic + PointCompression, AffinePoint<C>: FromEncodedPoint<C> + ToEncodedPoint<C>, FieldSize<C>: ModulusSize,