impl zeroize for signing key (#16)

This commit is contained in:
zz-sol 2026-05-13 18:11:16 -04:00 committed by GitHub
parent 3a141c3fe3
commit 1b728159eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -56,7 +56,7 @@ pub type SecretKey = [u8; SECRET_KEY_LENGTH];
/// An Ed25519 signing key.
///
/// This is also called a secret key by other implementations.
#[derive(Copy, Clone, Zeroize)]
#[derive(Copy, Clone)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "serde", serde(from = "SerdeHelper"))]
#[cfg_attr(feature = "serde", serde(into = "SerdeHelper"))]
@ -67,6 +67,15 @@ pub struct SigningKey {
vk: VerificationKey,
}
impl Zeroize for SigningKey {
fn zeroize(&mut self) {
self.seed.zeroize();
self.s.zeroize();
self.prefix.zeroize();
self.vk.zeroize();
}
}
impl core::fmt::Debug for SigningKey {
fn fmt(&self, fmt: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
fmt.debug_struct("SigningKey")