summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2021-11-11 16:42:51 -0500
committerGitHub <noreply@github.com>2021-11-12 05:42:51 +0800
commit858acb2a79314df382bd5ca27fa71beea1917bdc (patch)
tree425dbd829b32ca9bfd9ead60d79960dcbc146016 /src
parentcc9c1cf1d27b387f03c5ee148c04e7e86e5c44b0 (diff)
downloadcryptography-858acb2a79314df382bd5ca27fa71beea1917bdc.tar.gz
Run tests/wycheproof/ on BoringSSL (#6583)
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/backends/openssl/backend.py10
-rw-r--r--src/cryptography/hazmat/primitives/ciphers/aead.py6
2 files changed, 14 insertions, 2 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py
index 4e1a549c9..fd5ad291d 100644
--- a/src/cryptography/hazmat/backends/openssl/backend.py
+++ b/src/cryptography/hazmat/backends/openssl/backend.py
@@ -1825,7 +1825,10 @@ class Backend(BackendInterface):
def x448_supported(self):
if self._fips_enabled:
return False
- return not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
+ return (
+ not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
+ and not self._lib.CRYPTOGRAPHY_IS_BORINGSSL
+ )
def ed25519_supported(self):
if self._fips_enabled:
@@ -1867,7 +1870,10 @@ class Backend(BackendInterface):
def ed448_supported(self):
if self._fips_enabled:
return False
- return not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B
+ return (
+ not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B
+ and not self._lib.CRYPTOGRAPHY_IS_BORINGSSL
+ )
def ed448_load_public_bytes(self, data):
utils._check_bytes("data", data)
diff --git a/src/cryptography/hazmat/primitives/ciphers/aead.py b/src/cryptography/hazmat/primitives/ciphers/aead.py
index d47bb445c..842839042 100644
--- a/src/cryptography/hazmat/primitives/ciphers/aead.py
+++ b/src/cryptography/hazmat/primitives/ciphers/aead.py
@@ -91,6 +91,12 @@ class AESCCM(object):
self._tag_length = tag_length
+ if not backend.aead_cipher_supported(self):
+ raise exceptions.UnsupportedAlgorithm(
+ "AESCCM is not supported by this version of OpenSSL",
+ exceptions._Reasons.UNSUPPORTED_CIPHER,
+ )
+
@classmethod
def generate_key(cls, bit_length: int) -> bytes:
if not isinstance(bit_length, int):