diff options
author | Donald Stufft <donald@stufft.io> | 2013-10-27 16:44:30 -0400 |
---|---|---|
committer | Donald Stufft <donald@stufft.io> | 2013-10-28 08:37:33 -0400 |
commit | f04317ae24441082279ea73ccca0a6630c33cc86 (patch) | |
tree | b466055f23bd0ac01776202c0cde70bf7128e863 /tests/hazmat/primitives/test_openssl_vectors.py | |
parent | 01fbdf74967f8e22e3ea2d15f195898c64d34cc3 (diff) | |
download | cryptography-f04317ae24441082279ea73ccca0a6630c33cc86.tar.gz cryptography-f04317ae24441082279ea73ccca0a6630c33cc86.tar.bz2 cryptography-f04317ae24441082279ea73ccca0a6630c33cc86.zip |
Move primtives into a hazmat package
Diffstat (limited to 'tests/hazmat/primitives/test_openssl_vectors.py')
-rw-r--r-- | tests/hazmat/primitives/test_openssl_vectors.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/tests/hazmat/primitives/test_openssl_vectors.py b/tests/hazmat/primitives/test_openssl_vectors.py new file mode 100644 index 00000000..ef963a0a --- /dev/null +++ b/tests/hazmat/primitives/test_openssl_vectors.py @@ -0,0 +1,81 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +Test using the OpenSSL Test Vectors +""" + +from __future__ import absolute_import, division, print_function + +import binascii + +from cryptography.hazmat.primitives.block import ciphers, modes + +from .utils import generate_encrypt_test +from ..utils import load_openssl_vectors_from_file + + +class TestCamelliaCBC(object): + test_OpenSSL = generate_encrypt_test( + load_openssl_vectors_from_file, + "Camellia", + ["camellia-cbc.txt"], + lambda key, iv: ciphers.Camellia(binascii.unhexlify(key)), + lambda key, iv: modes.CBC(binascii.unhexlify(iv)), + only_if=lambda backend: backend.ciphers.supported( + ciphers.Camellia("\x00" * 16), modes.CBC("\x00" * 16) + ), + skip_message="Does not support Camellia CBC", + ) + + +class TestCamelliaOFB(object): + test_OpenSSL = generate_encrypt_test( + load_openssl_vectors_from_file, + "Camellia", + ["camellia-ofb.txt"], + lambda key, iv: ciphers.Camellia(binascii.unhexlify(key)), + lambda key, iv: modes.OFB(binascii.unhexlify(iv)), + only_if=lambda backend: backend.ciphers.supported( + ciphers.Camellia("\x00" * 16), modes.OFB("\x00" * 16) + ), + skip_message="Does not support Camellia OFB", + ) + + +class TestCamelliaCFB(object): + test_OpenSSL = generate_encrypt_test( + load_openssl_vectors_from_file, + "Camellia", + ["camellia-cfb.txt"], + lambda key, iv: ciphers.Camellia(binascii.unhexlify(key)), + lambda key, iv: modes.CFB(binascii.unhexlify(iv)), + only_if=lambda backend: backend.ciphers.supported( + ciphers.Camellia("\x00" * 16), modes.CFB("\x00" * 16) + ), + skip_message="Does not support Camellia CFB", + ) + + +class TestAESCTR(object): + test_OpenSSL = generate_encrypt_test( + load_openssl_vectors_from_file, + "AES", + ["aes-128-ctr.txt", "aes-192-ctr.txt", "aes-256-ctr.txt"], + lambda key, iv: ciphers.AES(binascii.unhexlify(key)), + lambda key, iv: modes.CTR(binascii.unhexlify(iv)), + only_if=lambda backend: backend.ciphers.supported( + ciphers.AES("\x00" * 16), modes.CTR("\x00" * 16) + ), + skip_message="Does not support AES CTR", + ) |