Camellia block cipher support
* Tests for CBC, OFB, CFB, and ECB
* Tests will be automatically skipped if camellia support is not present
in your OpenSSL library (e.g. OS X 10.8 with default OpenSSL)
* Test for unsupported cipher in create_block_cipher_context
* Docs for the cipher
diff --git a/tests/bindings/test_openssl.py b/tests/bindings/test_openssl.py
index b23c4cc..85ecc49 100644
--- a/tests/bindings/test_openssl.py
+++ b/tests/bindings/test_openssl.py
@@ -11,6 +11,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import pytest
+
from cryptography.bindings.openssl.api import api
@@ -28,3 +30,19 @@
for every OpenSSL.
"""
assert api.openssl_version_text().startswith("OpenSSL")
+
+ def test_supports(self):
+ assert api.supports("not-a-real-cipher") is False
+
+ def test_create_block_cipher_context_with_unsupported_cipher(self):
+ class FakeCipher(object):
+ name = "FakeCipher"
+ key_size = 24
+
+ class FakeMode(object):
+ name = "CCC"
+
+ with pytest.raises(AssertionError):
+ cipher = FakeCipher()
+ mode = FakeMode()
+ api.create_block_cipher_context(cipher, mode)