diff options
Diffstat (limited to 'openpgp/src/crypto/backend/nettle.rs')
-rw-r--r-- | openpgp/src/crypto/backend/nettle.rs | 18 |
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 } } |