pub trait SpkiEncodePublicKey {
// Required method
fn to_public_key_der(&self) -> Result<Document, Error>;
// Provided methods
fn to_public_key_pem(
&self,
line_ending: LineEnding,
) -> Result<String, Error> { ... }
fn write_public_key_der_file(
&self,
path: impl AsRef<Path>,
) -> Result<(), Error> { ... }
fn write_public_key_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding,
) -> Result<(), Error> { ... }
}Expand description
Serialize a public key object to a SPKI-encoded document.
Required Methods§
Provided Methods§
Sourcefn to_public_key_pem(&self, line_ending: LineEnding) -> Result<String, Error>
fn to_public_key_pem(&self, line_ending: LineEnding) -> Result<String, Error>
Serialize this public key as PEM-encoded SPKI with the given LineEnding.
Sourcefn write_public_key_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
fn write_public_key_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
Write ASN.1 DER-encoded public key to the given path
Sourcefn write_public_key_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding,
) -> Result<(), Error>
fn write_public_key_pem_file( &self, path: impl AsRef<Path>, line_ending: LineEnding, ) -> Result<(), Error>
Write ASN.1 DER-encoded public key to the given path
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.
Implementations on Foreign Types§
Source§impl EncodePublicKey for RsaPublicKey
impl EncodePublicKey for RsaPublicKey
Source§impl<C> EncodePublicKey for VerifyingKey<C>where
C: PrimeCurve + AssociatedOid + CurveArithmetic + PointCompression,
<C as CurveArithmetic>::AffinePoint: FromEncodedPoint<C> + ToEncodedPoint<C>,
<C as Curve>::FieldBytesSize: ModulusSize,
Available on crate feature pem only.
impl<C> EncodePublicKey for VerifyingKey<C>where
C: PrimeCurve + AssociatedOid + CurveArithmetic + PointCompression,
<C as CurveArithmetic>::AffinePoint: FromEncodedPoint<C> + ToEncodedPoint<C>,
<C as Curve>::FieldBytesSize: ModulusSize,
Available on crate feature
pem only.Source§impl<C> EncodePublicKey for PublicKey<C>where
C: AssociatedOid + CurveArithmetic,
<C as CurveArithmetic>::AffinePoint: FromEncodedPoint<C> + ToEncodedPoint<C>,
<C as Curve>::FieldBytesSize: ModulusSize,
Available on crate features alloc and pkcs8 only.
impl<C> EncodePublicKey for PublicKey<C>where
C: AssociatedOid + CurveArithmetic,
<C as CurveArithmetic>::AffinePoint: FromEncodedPoint<C> + ToEncodedPoint<C>,
<C as Curve>::FieldBytesSize: ModulusSize,
Available on crate features
alloc and pkcs8 only.