pub trait Pkcs8EncodePrivateKey {
// Required method
fn to_pkcs8_der(&self) -> Result<SecretDocument, Error>;
// Provided methods
fn to_pkcs8_pem(
&self,
line_ending: LineEnding,
) -> Result<Zeroizing<String>, Error> { ... }
fn write_pkcs8_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error> { ... }
fn write_pkcs8_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding,
) -> Result<(), Error> { ... }
}Expand description
Serialize a private key object to a PKCS#8 encoded document.
Required Methods§
Sourcefn to_pkcs8_der(&self) -> Result<SecretDocument, Error>
fn to_pkcs8_der(&self) -> Result<SecretDocument, Error>
Serialize a SecretDocument containing a PKCS#8-encoded private key.
§Errors
Returns format-specific errors in the event the document failed to serialize.
Provided Methods§
Sourcefn to_pkcs8_pem(
&self,
line_ending: LineEnding,
) -> Result<Zeroizing<String>, Error>
fn to_pkcs8_pem( &self, line_ending: LineEnding, ) -> Result<Zeroizing<String>, Error>
Serialize this private key as PEM-encoded PKCS#8 with the given LineEnding.
§Errors
- Returns the same errors as
EncodePrivateKey::to_pkcs8_der. - Returns the same errors as
SecretDocument::to_pem.
Sourcefn write_pkcs8_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
fn write_pkcs8_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
Write ASN.1 DER-encoded PKCS#8 private key to the given path.
§Errors
- Returns the same errors as
EncodePrivateKey::to_pkcs8_der. - Returns errors in the event the file could not be written to the filesystem.
Sourcefn write_pkcs8_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding,
) -> Result<(), Error>
fn write_pkcs8_pem_file( &self, path: impl AsRef<Path>, line_ending: LineEnding, ) -> Result<(), Error>
Write ASN.1 PEM-encoded PKCS#8 private key to the given path.
§Errors
- Returns the same errors as
EncodePrivateKey::to_pkcs8_der. - Returns errors in the event the file could not be written to the filesystem.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl EncodePrivateKey for RsaPrivateKey
impl EncodePrivateKey for RsaPrivateKey
fn to_pkcs8_der(&self) -> Result<SecretDocument, Error>
Source§impl<C> EncodePrivateKey for SecretKey<C>where
C: AssociatedOid + CurveArithmetic,
<C as CurveArithmetic>::AffinePoint: FromSec1Point<C> + ToSec1Point<C>,
<C as Curve>::FieldBytesSize: ModulusSize,
Available on crate features alloc and arithmetic only.
impl<C> EncodePrivateKey for SecretKey<C>where
C: AssociatedOid + CurveArithmetic,
<C as CurveArithmetic>::AffinePoint: FromSec1Point<C> + ToSec1Point<C>,
<C as Curve>::FieldBytesSize: ModulusSize,
Available on crate features
alloc and arithmetic only.fn to_pkcs8_der(&self) -> Result<SecretDocument, Error>
Source§impl<C> EncodePrivateKey for SigningKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic,
<C as CurveArithmetic>::AffinePoint: FromSec1Point<C> + ToSec1Point<C>,
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::Scalar: Invert<Output = CtOption<<C as CurveArithmetic>::Scalar>>,
Available on crate features alloc and pkcs8 only.
impl<C> EncodePrivateKey for SigningKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic,
<C as CurveArithmetic>::AffinePoint: FromSec1Point<C> + ToSec1Point<C>,
<C as Curve>::FieldBytesSize: ModulusSize,
<C as CurveArithmetic>::Scalar: Invert<Output = CtOption<<C as CurveArithmetic>::Scalar>>,
Available on crate features
alloc and pkcs8 only.fn to_pkcs8_der(&self) -> Result<SecretDocument, Error>
Source§impl<D> EncodePrivateKey for BlindedSigningKey<D>where
D: Digest,
Available on crate feature encoding only.
impl<D> EncodePrivateKey for BlindedSigningKey<D>where
D: Digest,
Available on crate feature
encoding only.fn to_pkcs8_der(&self) -> Result<SecretDocument, Error>
Source§impl<D> EncodePrivateKey for SigningKey<D>where
D: Digest,
Available on crate feature encoding only.
impl<D> EncodePrivateKey for SigningKey<D>where
D: Digest,
Available on crate feature
encoding only.fn to_pkcs8_der(&self) -> Result<SecretDocument, Error>
Implementors§
impl EncodePrivateKey for PrivateKeyInfo<Any, OctetString, BitString>
impl EncodePrivateKey for PrivateKeyInfo<AnyRef<'_>, &OctetStringRef, BitStringRef<'_>>
impl<D> EncodePrivateKey for crypto_glue::rsa::pkcs1v15::SigningKey<D>where
D: Digest,
Available on crate feature
encoding only.