aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/hazmat/backends/test_multibackend.py23
-rw-r--r--tests/test_fernet.py5
-rw-r--r--tests/utils.py4
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)