Fix RUSTSEC-2022-0093 (#896)

This commit is contained in:
Edwin
2023-08-15 10:50:03 +02:00
committed by GitHub
parent 57886c367d
commit a1cc770613
2 changed files with 14 additions and 10 deletions

View File

@@ -69,7 +69,7 @@ tokio1_boring = { package = "tokio-boring", version = "2.1.4", optional = true }
## dkim
sha2 = { version = "0.10", optional = true, features = ["oid"] }
rsa = { version = "0.9", optional = true }
ed25519-dalek = { version = "1.0.1", optional = true }
ed25519-dalek = { version = "2.0.0", optional = true }
# email formats
email_address = { version = "0.2.1", default-features = false }

View File

@@ -108,7 +108,7 @@ pub struct DkimSigningKey(InnerDkimSigningKey);
#[derive(Debug)]
enum InnerDkimSigningKey {
Rsa(RsaPrivateKey),
Ed25519(ed25519_dalek::Keypair),
Ed25519(ed25519_dalek::SigningKey),
}
impl DkimSigningKey {
@@ -121,14 +121,18 @@ impl DkimSigningKey {
RsaPrivateKey::from_pkcs1_pem(private_key)
.map_err(|err| DkimSigningKeyError(InnerDkimSigningKeyError::Rsa(err)))?,
),
DkimSigningAlgorithm::Ed25519 => InnerDkimSigningKey::Ed25519(
ed25519_dalek::Keypair::from_bytes(
&crate::base64::decode(private_key).map_err(|err| {
DkimSigningKeyError(InnerDkimSigningKeyError::Base64(err))
})?,
)
.map_err(|err| DkimSigningKeyError(InnerDkimSigningKeyError::Ed25519(err)))?,
),
DkimSigningAlgorithm::Ed25519 => {
InnerDkimSigningKey::Ed25519(ed25519_dalek::SigningKey::from_bytes(
&crate::base64::decode(private_key)
.map_err(|err| DkimSigningKeyError(InnerDkimSigningKeyError::Base64(err)))?
.try_into()
.map_err(|_| {
DkimSigningKeyError(InnerDkimSigningKeyError::Ed25519(
ed25519_dalek::ed25519::Error::new(),
))
})?,
))
}
}))
}
fn get_signing_algorithm(&self) -> DkimSigningAlgorithm {