diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/hazmat/backends/test_multibackend.py | 23 | ||||
-rw-r--r-- | tests/test_fernet.py | 5 | ||||
-rw-r--r-- | tests/utils.py | 4 |
3 files changed, 28 insertions, 4 deletions
diff --git a/tests/hazmat/backends/test_multibackend.py b/tests/hazmat/backends/test_multibackend.py index 112247cb..03aa3cd8 100644 --- a/tests/hazmat/backends/test_multibackend.py +++ b/tests/hazmat/backends/test_multibackend.py @@ -14,7 +14,7 @@ from cryptography.hazmat.backends.interfaces import ( CMACBackend, CipherBackend, DSABackend, EllipticCurveBackend, HMACBackend, HashBackend, PBKDF2HMACBackend, PEMSerializationBackend, PKCS8SerializationBackend, RSABackend, - TraditionalOpenSSLSerializationBackend + TraditionalOpenSSLSerializationBackend, X509Backend ) from cryptography.hazmat.backends.multibackend import MultiBackend from cryptography.hazmat.primitives import cmac, hashes, hmac @@ -203,6 +203,15 @@ class DummyPEMSerializationBackend(object): pass +@utils.register_interface(X509Backend) +class DummyX509Backend(object): + def load_pem_x509_certificate(self, data): + pass + + def load_der_x509_certificate(self, data): + pass + + class TestMultiBackend(object): def test_ciphers(self): backend = MultiBackend([ @@ -522,3 +531,15 @@ class TestMultiBackend(object): backend.load_pem_private_key(b"keydata", None) with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_SERIALIZATION): backend.load_pem_public_key(b"keydata") + + def test_x509_backend(self): + backend = MultiBackend([DummyX509Backend()]) + + backend.load_pem_x509_certificate(b"certdata") + backend.load_der_x509_certificate(b"certdata") + + backend = MultiBackend([]) + with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_X509): + backend.load_pem_x509_certificate(b"certdata") + with raises_unsupported_algorithm(_Reasons.UNSUPPORTED_X509): + backend.load_der_x509_certificate(b"certdata") diff --git a/tests/test_fernet.py b/tests/test_fernet.py index 455d985c..5b7a9f98 100644 --- a/tests/test_fernet.py +++ b/tests/test_fernet.py @@ -7,6 +7,7 @@ from __future__ import absolute_import, division, print_function import base64 import calendar import json +import os import time import iso8601 @@ -24,7 +25,9 @@ import cryptography_vectors def json_parametrize(keys, filename): - vector_file = cryptography_vectors.open_vector_file('fernet', filename) + vector_file = cryptography_vectors.open_vector_file( + os.path.join('fernet', filename), "r" + ) with vector_file: data = json.load(vector_file) return pytest.mark.parametrize(keys, [ diff --git a/tests/utils.py b/tests/utils.py index ad38000b..01ab4e6f 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -87,8 +87,8 @@ def der_encode_dsa_signature(r, s): return encoder.encode(sig) -def load_vectors_from_file(filename, loader): - with cryptography_vectors.open_vector_file(filename) as vector_file: +def load_vectors_from_file(filename, loader, mode="r"): + with cryptography_vectors.open_vector_file(filename, mode) as vector_file: return loader(vector_file) |