Fix RUSTSEC-2022-0093 (#896)
This commit is contained in:
@@ -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 }
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user