diff --git a/src/pkcs1v15.rs b/src/pkcs1v15.rs index dc9a94d3..5fb377e8 100644 --- a/src/pkcs1v15.rs +++ b/src/pkcs1v15.rs @@ -4,7 +4,7 @@ use core::fmt::{Debug, Display, Formatter, LowerHex, UpperHex}; use core::marker::PhantomData; use core::ops::Deref; use digest::Digest; -use pkcs8::{AssociatedOid, Document, EncodePublicKey}; +use pkcs8::{AssociatedOid, Document, EncodePrivateKey, EncodePublicKey, SecretDocument}; use rand_core::{CryptoRng, RngCore}; #[cfg(feature = "hazmat")] use signature::hazmat::{PrehashSigner, PrehashVerifier}; @@ -376,6 +376,15 @@ where } } +impl EncodePrivateKey for SigningKey +where + D: Digest, +{ + fn to_pkcs8_der(&self) -> pkcs8::Result { + self.inner.to_pkcs8_der() + } +} + impl Signer for SigningKey where D: Digest, diff --git a/src/pss.rs b/src/pss.rs index 69704416..e9a8953e 100644 --- a/src/pss.rs +++ b/src/pss.rs @@ -5,7 +5,7 @@ use core::fmt::{Debug, Display, Formatter, LowerHex, UpperHex}; use core::marker::PhantomData; use core::ops::Deref; use digest::{Digest, DynDigest, FixedOutputReset}; -use pkcs8::{Document, EncodePublicKey}; +use pkcs8::{Document, EncodePrivateKey, EncodePublicKey, SecretDocument}; use rand_core::{CryptoRng, RngCore}; #[cfg(feature = "hazmat")] use signature::hazmat::{PrehashVerifier, RandomizedPrehashSigner}; @@ -574,6 +574,15 @@ where } } +impl EncodePrivateKey for SigningKey +where + D: Digest, +{ + fn to_pkcs8_der(&self) -> pkcs8::Result { + self.inner.to_pkcs8_der() + } +} + impl RandomizedSigner for SigningKey where D: Digest + FixedOutputReset, @@ -688,6 +697,15 @@ where } } +impl EncodePrivateKey for BlindedSigningKey +where + D: Digest, +{ + fn to_pkcs8_der(&self) -> pkcs8::Result { + self.inner.to_pkcs8_der() + } +} + impl RandomizedSigner for BlindedSigningKey where D: Digest + FixedOutputReset,