aboutsummaryrefslogtreecommitdiffstats
path: root/tests/hazmat/backends/test_openssl.py
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-02-03 21:59:29 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-02-03 21:59:29 -0600
commite4acd5d922bd66dfa4f27782c0913550085a6929 (patch)
tree8922ec5e4e3f150883a89cf54c00264c1fd5be46 /tests/hazmat/backends/test_openssl.py
parente035ba978bf81c9dc17c33d7a8c6d61082ac4292 (diff)
parentba5fcd97baf193259a156caa5b5cbc107ee46794 (diff)
downloadcryptography-e4acd5d922bd66dfa4f27782c0913550085a6929.tar.gz
cryptography-e4acd5d922bd66dfa4f27782c0913550085a6929.tar.bz2
cryptography-e4acd5d922bd66dfa4f27782c0913550085a6929.zip
Merge branch 'master' into urandom-engine
* master: (66 commits) Chanloge + versionadded Added an example usage Typo fix Added to toctree Rename and document Linkify the things we have that others don't add HKDF to changelog Strings have quote marks at both ends. HKDF example. Properly mark all test cases as dependant on HMAC. Remove language about the separate stages of HKDF until we expose multiple stages of HKDF. Don't forget InvalidKey. Fix typo Import exception classes instead of the exceptions module. Lose the bit about passwords. https a bunch of links. Pseudorandom is a word. Backtick the entire equation. Clarify salt language and link to the paper in addition to the RFC. Don't expose extract and expand on this class yet because we don't know how best to expose verify functionality, continue testing the stages using the private methods. ... Conflicts: docs/hazmat/backends/openssl.rst
Diffstat (limited to 'tests/hazmat/backends/test_openssl.py')
-rw-r--r--tests/hazmat/backends/test_openssl.py67
1 files changed, 50 insertions, 17 deletions
diff --git a/tests/hazmat/backends/test_openssl.py b/tests/hazmat/backends/test_openssl.py
index cef28af0..046ff3e1 100644
--- a/tests/hazmat/backends/test_openssl.py
+++ b/tests/hazmat/backends/test_openssl.py
@@ -19,7 +19,6 @@ import pytest
from cryptography import utils
from cryptography.exceptions import UnsupportedAlgorithm, InternalError
-from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.backends.openssl.backend import backend, Backend
from cryptography.hazmat.primitives import interfaces
from cryptography.hazmat.primitives.ciphers import Cipher
@@ -139,9 +138,6 @@ class TestOpenSSL(object):
def test_backend_exists(self):
assert backend
- def test_is_default(self):
- assert backend == default_backend()
-
def test_openssl_version_text(self):
"""
This test checks the value of OPENSSL_VERSION_TEXT.
@@ -176,24 +172,61 @@ class TestOpenSSL(object):
def test_handle_unknown_error(self):
with pytest.raises(InternalError):
- backend._handle_error_code(0, 0, 0)
+ backend._handle_error_code(0)
+ backend._lib.ERR_put_error(backend._lib.ERR_LIB_EVP, 0, 0,
+ b"test_openssl.py", -1)
with pytest.raises(InternalError):
- backend._handle_error_code(backend._lib.ERR_LIB_EVP, 0, 0)
-
+ backend._handle_error(None)
+
+ backend._lib.ERR_put_error(
+ backend._lib.ERR_LIB_EVP,
+ backend._lib.EVP_F_EVP_ENCRYPTFINAL_EX,
+ 0,
+ b"test_openssl.py",
+ -1
+ )
with pytest.raises(InternalError):
- backend._handle_error_code(
- backend._lib.ERR_LIB_EVP,
- backend._lib.EVP_F_EVP_ENCRYPTFINAL_EX,
- 0
- )
+ backend._handle_error(None)
+
+ backend._lib.ERR_put_error(
+ backend._lib.ERR_LIB_EVP,
+ backend._lib.EVP_F_EVP_DECRYPTFINAL_EX,
+ 0,
+ b"test_openssl.py",
+ -1
+ )
+ with pytest.raises(InternalError):
+ backend._handle_error(None)
+
+ def test_handle_multiple_errors(self):
+ for i in range(10):
+ backend._lib.ERR_put_error(backend._lib.ERR_LIB_EVP, 0, 0,
+ b"test_openssl.py", -1)
+
+ assert backend._lib.ERR_peek_error() != 0
with pytest.raises(InternalError):
- backend._handle_error_code(
- backend._lib.ERR_LIB_EVP,
- backend._lib.EVP_F_EVP_DECRYPTFINAL_EX,
- 0
- )
+ backend._handle_error(None)
+
+ assert backend._lib.ERR_peek_error() == 0
+
+ def test_openssl_error_string(self):
+ backend._lib.ERR_put_error(
+ backend._lib.ERR_LIB_EVP,
+ backend._lib.EVP_F_EVP_DECRYPTFINAL_EX,
+ 0,
+ b"test_openssl.py",
+ -1
+ )
+
+ with pytest.raises(InternalError) as exc:
+ backend._handle_error(None)
+
+ assert (
+ "digital envelope routines:"
+ "EVP_DecryptFinal_ex:digital envelope routines" in str(exc)
+ )
def test_ssl_ciphers_registered(self):
meth = backend._lib.TLSv1_method()