Skip to main content
This is unreleased documentation for the main (development) branch of crypto-glue.

Pkcs8EncodePrivateKey

Trait Pkcs8EncodePrivateKey 

Source
pub trait Pkcs8EncodePrivateKey {
    // Required method
    fn to_pkcs8_der(&self) -> Result<SecretDocument, Error>;

    // Provided methods
    fn to_pkcs8_encrypted_der(
        &self,
        rng: impl CryptoRng + RngCore,
        password: impl AsRef<[u8]>,
    ) -> Result<SecretDocument, Error> { ... }
    fn to_pkcs8_pem(
        &self,
        line_ending: LineEnding,
    ) -> Result<Zeroizing<String>, Error> { ... }
    fn to_pkcs8_encrypted_pem(
        &self,
        rng: impl CryptoRng + RngCore,
        password: impl AsRef<[u8]>,
        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§

Source

fn to_pkcs8_der(&self) -> Result<SecretDocument, Error>

Serialize a SecretDocument containing a PKCS#8-encoded private key.

Provided Methods§

Source

fn to_pkcs8_encrypted_der( &self, rng: impl CryptoRng + RngCore, password: impl AsRef<[u8]>, ) -> Result<SecretDocument, Error>

Create an SecretDocument containing the ciphertext of a PKCS#8 encoded private key encrypted under the given password.

Source

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.

Source

fn to_pkcs8_encrypted_pem( &self, rng: impl CryptoRng + RngCore, password: impl AsRef<[u8]>, line_ending: LineEnding, ) -> Result<Zeroizing<String>, Error>

Serialize this private key as an encrypted PEM-encoded PKCS#8 private key using the provided to derive an encryption key.

Source

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

Source

fn write_pkcs8_pem_file( &self, path: impl AsRef<Path>, line_ending: LineEnding, ) -> Result<(), Error>

Write ASN.1 DER-encoded PKCS#8 private 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 EncodePrivateKey for RsaPrivateKey

Source§

impl<C> EncodePrivateKey for SigningKey<C>

Available on crate feature pem only.
Source§

impl<C> EncodePrivateKey for SecretKey<C>

Available on crate features alloc and arithmetic only.
Source§

impl<D> EncodePrivateKey for BlindedSigningKey<D>
where D: Digest,

Source§

impl<D> EncodePrivateKey for SigningKey<D>
where D: Digest,

Implementors§

Source§

impl<D> EncodePrivateKey for crypto_glue::rsa::pkcs1v15::SigningKey<D>
where D: Digest,