summaryrefslogtreecommitdiffstats
path: root/openpgp/src/crypto/backend/nettle.rs
diff options
context:
space:
mode:
Diffstat (limited to 'openpgp/src/crypto/backend/nettle.rs')
-rw-r--r--openpgp/src/crypto/backend/nettle.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/openpgp/src/crypto/backend/nettle.rs b/openpgp/src/crypto/backend/nettle.rs
index d2d8750a..62c62f4b 100644
--- a/openpgp/src/crypto/backend/nettle.rs
+++ b/openpgp/src/crypto/backend/nettle.rs
@@ -14,9 +14,10 @@ pub mod symmetric;
pub fn backend() -> String {
let (major, minor) = nettle::version();
format!(
- "Nettle {}.{} (Cv448: {:?})",
+ "Nettle {}.{} (Cv448: {:?}, OCB: {:?})",
major, minor,
nettle::curve448::IS_SUPPORTED,
+ nettle::aead::OCB_IS_SUPPORTED,
)
}
@@ -65,7 +66,9 @@ impl AEADAlgorithm {
match &self {
EAX
=> true,
- OCB | Private(_) | Unknown(_)
+ OCB
+ => nettle::aead::OCB_IS_SUPPORTED,
+ Private(_) | Unknown(_)
=> false,
}
}
@@ -84,6 +87,17 @@ impl AEADAlgorithm {
SymmetricAlgorithm::Camellia256 => true,
_ => false,
},
+ AEADAlgorithm::OCB =>
+ match algo {
+ SymmetricAlgorithm::AES128 |
+ SymmetricAlgorithm::AES192 |
+ SymmetricAlgorithm::AES256 |
+ SymmetricAlgorithm::Twofish |
+ SymmetricAlgorithm::Camellia128 |
+ SymmetricAlgorithm::Camellia192 |
+ SymmetricAlgorithm::Camellia256 => true,
+ _ => false,
+ },
_ => false
}
}