Merge branch 'master' into fernet
diff --git a/cryptography/hazmat/bindings/__init__.py b/cryptography/hazmat/backends/__init__.py
similarity index 92%
rename from cryptography/hazmat/bindings/__init__.py
rename to cryptography/hazmat/backends/__init__.py
index bd15819..215aa4d 100644
--- a/cryptography/hazmat/bindings/__init__.py
+++ b/cryptography/hazmat/backends/__init__.py
@@ -11,7 +11,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from cryptography.hazmat.bindings import openssl
+from cryptography.hazmat.backends import openssl
_ALL_BACKENDS = [
diff --git a/cryptography/hazmat/bindings/interfaces.py b/cryptography/hazmat/backends/interfaces.py
similarity index 100%
rename from cryptography/hazmat/bindings/interfaces.py
rename to cryptography/hazmat/backends/interfaces.py
diff --git a/cryptography/hazmat/bindings/openssl/__init__.py b/cryptography/hazmat/backends/openssl/__init__.py
similarity index 89%
rename from cryptography/hazmat/bindings/openssl/__init__.py
rename to cryptography/hazmat/backends/openssl/__init__.py
index 44267ef..a8dfad0 100644
--- a/cryptography/hazmat/bindings/openssl/__init__.py
+++ b/cryptography/hazmat/backends/openssl/__init__.py
@@ -11,7 +11,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from cryptography.hazmat.bindings.openssl.backend import backend
+from cryptography.hazmat.backends.openssl.backend import backend
__all__ = ["backend"]
diff --git a/cryptography/hazmat/bindings/openssl/asn1.py b/cryptography/hazmat/backends/openssl/asn1.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/asn1.py
rename to cryptography/hazmat/backends/openssl/asn1.py
diff --git a/cryptography/hazmat/bindings/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py
similarity index 99%
rename from cryptography/hazmat/bindings/openssl/backend.py
rename to cryptography/hazmat/backends/openssl/backend.py
index f19c8cc..bd092be 100644
--- a/cryptography/hazmat/bindings/openssl/backend.py
+++ b/cryptography/hazmat/backends/openssl/backend.py
@@ -20,7 +20,7 @@
from cryptography import utils
from cryptography.exceptions import UnsupportedAlgorithm, InvalidTag
-from cryptography.hazmat.bindings.interfaces import (
+from cryptography.hazmat.backends.interfaces import (
CipherBackend, HashBackend, HMACBackend
)
from cryptography.hazmat.primitives import interfaces
@@ -102,7 +102,7 @@
macros = []
customizations = []
for name in cls._modules:
- module_name = "cryptography.hazmat.bindings.openssl." + name
+ module_name = "cryptography.hazmat.backends.openssl." + name
__import__(module_name)
module = sys.modules[module_name]
diff --git a/cryptography/hazmat/bindings/openssl/bignum.py b/cryptography/hazmat/backends/openssl/bignum.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/bignum.py
rename to cryptography/hazmat/backends/openssl/bignum.py
diff --git a/cryptography/hazmat/bindings/openssl/bio.py b/cryptography/hazmat/backends/openssl/bio.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/bio.py
rename to cryptography/hazmat/backends/openssl/bio.py
diff --git a/cryptography/hazmat/bindings/openssl/conf.py b/cryptography/hazmat/backends/openssl/conf.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/conf.py
rename to cryptography/hazmat/backends/openssl/conf.py
diff --git a/cryptography/hazmat/bindings/openssl/crypto.py b/cryptography/hazmat/backends/openssl/crypto.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/crypto.py
rename to cryptography/hazmat/backends/openssl/crypto.py
diff --git a/cryptography/hazmat/bindings/openssl/dh.py b/cryptography/hazmat/backends/openssl/dh.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/dh.py
rename to cryptography/hazmat/backends/openssl/dh.py
diff --git a/cryptography/hazmat/bindings/openssl/dsa.py b/cryptography/hazmat/backends/openssl/dsa.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/dsa.py
rename to cryptography/hazmat/backends/openssl/dsa.py
diff --git a/cryptography/hazmat/bindings/openssl/engine.py b/cryptography/hazmat/backends/openssl/engine.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/engine.py
rename to cryptography/hazmat/backends/openssl/engine.py
diff --git a/cryptography/hazmat/bindings/openssl/err.py b/cryptography/hazmat/backends/openssl/err.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/err.py
rename to cryptography/hazmat/backends/openssl/err.py
diff --git a/cryptography/hazmat/bindings/openssl/evp.py b/cryptography/hazmat/backends/openssl/evp.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/evp.py
rename to cryptography/hazmat/backends/openssl/evp.py
diff --git a/cryptography/hazmat/bindings/openssl/hmac.py b/cryptography/hazmat/backends/openssl/hmac.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/hmac.py
rename to cryptography/hazmat/backends/openssl/hmac.py
diff --git a/cryptography/hazmat/bindings/openssl/nid.py b/cryptography/hazmat/backends/openssl/nid.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/nid.py
rename to cryptography/hazmat/backends/openssl/nid.py
diff --git a/cryptography/hazmat/bindings/openssl/opensslv.py b/cryptography/hazmat/backends/openssl/opensslv.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/opensslv.py
rename to cryptography/hazmat/backends/openssl/opensslv.py
diff --git a/cryptography/hazmat/bindings/openssl/pem.py b/cryptography/hazmat/backends/openssl/pem.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/pem.py
rename to cryptography/hazmat/backends/openssl/pem.py
diff --git a/cryptography/hazmat/bindings/openssl/pkcs12.py b/cryptography/hazmat/backends/openssl/pkcs12.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/pkcs12.py
rename to cryptography/hazmat/backends/openssl/pkcs12.py
diff --git a/cryptography/hazmat/bindings/openssl/pkcs7.py b/cryptography/hazmat/backends/openssl/pkcs7.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/pkcs7.py
rename to cryptography/hazmat/backends/openssl/pkcs7.py
diff --git a/cryptography/hazmat/bindings/openssl/rand.py b/cryptography/hazmat/backends/openssl/rand.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/rand.py
rename to cryptography/hazmat/backends/openssl/rand.py
diff --git a/cryptography/hazmat/bindings/openssl/rsa.py b/cryptography/hazmat/backends/openssl/rsa.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/rsa.py
rename to cryptography/hazmat/backends/openssl/rsa.py
diff --git a/cryptography/hazmat/bindings/openssl/ssl.py b/cryptography/hazmat/backends/openssl/ssl.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/ssl.py
rename to cryptography/hazmat/backends/openssl/ssl.py
diff --git a/cryptography/hazmat/bindings/openssl/x509.py b/cryptography/hazmat/backends/openssl/x509.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/x509.py
rename to cryptography/hazmat/backends/openssl/x509.py
diff --git a/cryptography/hazmat/bindings/openssl/x509name.py b/cryptography/hazmat/backends/openssl/x509name.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/x509name.py
rename to cryptography/hazmat/backends/openssl/x509name.py
diff --git a/cryptography/hazmat/bindings/openssl/x509v3.py b/cryptography/hazmat/backends/openssl/x509v3.py
similarity index 100%
rename from cryptography/hazmat/bindings/openssl/x509v3.py
rename to cryptography/hazmat/backends/openssl/x509v3.py
diff --git a/docs/architecture.rst b/docs/architecture.rst
index 5ca2c25..bacde1b 100644
--- a/docs/architecture.rst
+++ b/docs/architecture.rst
@@ -8,6 +8,6 @@
``cryptography.hazmat.primitives``.
* ``cryptography.hazmat.primitives``: This packages contains low level
algorithms, things like ``AES`` or ``SHA1``. This is implemented on top of
- ``cryptography.hazmat.bindings``.
-* ``cryptography.hazmat.bindings``: This package contains bindings to low level
- cryptographic libraries. Our initial target will be OpenSSL.
+ ``cryptography.hazmat.backends``.
+* ``cryptography.hazmat.backends``: This package contains bindings to low level
+ cryptographic libraries. Our initial target is OpenSSL.
diff --git a/docs/contributing.rst b/docs/contributing.rst
index a8010a9..cb9c728 100644
--- a/docs/contributing.rst
+++ b/docs/contributing.rst
@@ -79,7 +79,7 @@
APIs at the :doc:`/hazmat/primitives/index` layer should always take an
explicit backend, APIs at the recipes layer should automatically use the
-:func:`~cryptography.hazmat.bindings.default_backend`, but optionally allow
+:func:`~cryptography.hazmat.backends.default_backend`, but optionally allow
specifying a different backend.
C bindings
diff --git a/docs/hazmat/bindings/index.rst b/docs/hazmat/backends/index.rst
similarity index 93%
rename from docs/hazmat/bindings/index.rst
rename to docs/hazmat/backends/index.rst
index 746f459..a89cf0d 100644
--- a/docs/hazmat/bindings/index.rst
+++ b/docs/hazmat/backends/index.rst
@@ -13,7 +13,7 @@
Getting a Backend Provider
~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. currentmodule:: cryptography.hazmat.bindings
+.. currentmodule:: cryptography.hazmat.backends
``cryptography`` aims to support multiple backends to ensure it can provide
the widest number of supported cryptographic algorithms as well as supporting
diff --git a/docs/hazmat/bindings/interfaces.rst b/docs/hazmat/backends/interfaces.rst
similarity index 98%
rename from docs/hazmat/bindings/interfaces.rst
rename to docs/hazmat/backends/interfaces.rst
index 711c82c..b524943 100644
--- a/docs/hazmat/bindings/interfaces.rst
+++ b/docs/hazmat/backends/interfaces.rst
@@ -3,7 +3,7 @@
Backend Interfaces
==================
-.. currentmodule:: cryptography.hazmat.bindings.interfaces
+.. currentmodule:: cryptography.hazmat.backends.interfaces
Backend implementations may provide a number of interfaces to support operations
diff --git a/docs/hazmat/bindings/openssl.rst b/docs/hazmat/backends/openssl.rst
similarity index 90%
rename from docs/hazmat/bindings/openssl.rst
rename to docs/hazmat/backends/openssl.rst
index d6bfa67..12fbff0 100644
--- a/docs/hazmat/bindings/openssl.rst
+++ b/docs/hazmat/backends/openssl.rst
@@ -5,7 +5,7 @@
These are `CFFI`_ bindings to the `OpenSSL`_ C library.
-.. data:: cryptography.hazmat.bindings.openssl.backend
+.. data:: cryptography.hazmat.backends.openssl.backend
This is the exposed API for the OpenSSL bindings. It has two public
attributes:
diff --git a/docs/hazmat/primitives/cryptographic-hashes.rst b/docs/hazmat/primitives/cryptographic-hashes.rst
index 312d7e6..90ca198 100644
--- a/docs/hazmat/primitives/cryptographic-hashes.rst
+++ b/docs/hazmat/primitives/cryptographic-hashes.rst
@@ -20,7 +20,7 @@
.. doctest::
- >>> from cryptography.hazmat.bindings import default_backend
+ >>> from cryptography.hazmat.backends import default_backend
>>> from cryptography.hazmat.primitives import hashes
>>> digest = hashes.Hash(hashes.SHA256(), backend=default_backend())
>>> digest.update(b"abc")
@@ -39,7 +39,7 @@
provider such as those described in
:ref:`below <cryptographic-hash-algorithms>`.
:param backend: A
- :class:`~cryptography.hazmat.bindings.interfaces.HashBackend`
+ :class:`~cryptography.hazmat.backends.interfaces.HashBackend`
provider.
.. method:: update(data)
diff --git a/docs/hazmat/primitives/hmac.rst b/docs/hazmat/primitives/hmac.rst
index db5e98d..0c0d022 100644
--- a/docs/hazmat/primitives/hmac.rst
+++ b/docs/hazmat/primitives/hmac.rst
@@ -27,7 +27,7 @@
.. doctest::
- >>> from cryptography.hazmat.bindings import default_backend
+ >>> from cryptography.hazmat.backends import default_backend
>>> from cryptography.hazmat.primitives import hashes, hmac
>>> h = hmac.HMAC(key, hashes.SHA256(), backend=default_backend())
>>> h.update(b"message to hash")
@@ -41,7 +41,7 @@
provider such as those described in
:ref:`Cryptographic Hashes <cryptographic-hash-algorithms>`.
:param backend: A
- :class:`~cryptography.hazmat.bindings.interfaces.HMACBackend`
+ :class:`~cryptography.hazmat.backends.interfaces.HMACBackend`
provider.
.. method:: update(msg)
diff --git a/docs/hazmat/primitives/symmetric-encryption.rst b/docs/hazmat/primitives/symmetric-encryption.rst
index ef6f087..f4d0457 100644
--- a/docs/hazmat/primitives/symmetric-encryption.rst
+++ b/docs/hazmat/primitives/symmetric-encryption.rst
@@ -34,7 +34,7 @@
.. doctest::
>>> from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
- >>> from cryptography.hazmat.bindings import default_backend
+ >>> from cryptography.hazmat.backends import default_backend
>>> backend = default_backend()
>>> cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=backend)
>>> encryptor = cipher.encryptor()
@@ -51,7 +51,7 @@
provider such as those described
:ref:`below <symmetric-encryption-modes>`.
:param backend: A
- :class:`~cryptography.hazmat.bindings.interfaces.CipherBackend`
+ :class:`~cryptography.hazmat.backends.interfaces.CipherBackend`
provider.
.. method:: encryptor()
@@ -229,7 +229,7 @@
.. doctest::
>>> from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
- >>> from cryptography.hazmat.bindings import default_backend
+ >>> from cryptography.hazmat.backends import default_backend
>>> algorithm = algorithms.ARC4(key)
>>> cipher = Cipher(algorithm, mode=None, backend=default_backend())
>>> encryptor = cipher.encryptor()
@@ -266,16 +266,18 @@
A good construction looks like:
- .. code-block:: pycon
+ .. doctest::
>>> import os
+ >>> from cryptography.hazmat.primitives.ciphers.modes import CBC
>>> iv = os.urandom(16)
>>> mode = CBC(iv)
While the following is bad and will leak information:
- .. code-block:: pycon
+ .. doctest::
+ >>> from cryptography.hazmat.primitives.ciphers.modes import CBC
>>> iv = "a" * 16
>>> mode = CBC(iv)
@@ -356,7 +358,7 @@
.. doctest::
>>> from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
- >>> from cryptography.hazmat.bindings import default_backend
+ >>> from cryptography.hazmat.backends import default_backend
>>> cipher = Cipher(algorithms.AES(key), modes.GCM(iv), backend=default_backend())
>>> encryptor = cipher.encryptor()
>>> encryptor.authenticate_additional_data(b"authenticated but not encrypted payload")
diff --git a/docs/index.rst b/docs/index.rst
index 0b02327..ab5d159 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -54,4 +54,4 @@
:maxdepth: 2
hazmat/primitives/index
- hazmat/bindings/index
+ hazmat/backends/index
diff --git a/tests/conftest.py b/tests/conftest.py
index fab40b1..7166280 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,5 +1,5 @@
def pytest_generate_tests(metafunc):
- from cryptography.hazmat.bindings import _ALL_BACKENDS
+ from cryptography.hazmat.backends import _ALL_BACKENDS
if "backend" in metafunc.fixturenames:
metafunc.parametrize("backend", _ALL_BACKENDS)
diff --git a/tests/hazmat/bindings/__init__.py b/tests/hazmat/backends/__init__.py
similarity index 100%
rename from tests/hazmat/bindings/__init__.py
rename to tests/hazmat/backends/__init__.py
diff --git a/tests/hazmat/bindings/test_openssl.py b/tests/hazmat/backends/test_openssl.py
similarity index 95%
rename from tests/hazmat/bindings/test_openssl.py
rename to tests/hazmat/backends/test_openssl.py
index 1eb6f20..962959b 100644
--- a/tests/hazmat/bindings/test_openssl.py
+++ b/tests/hazmat/backends/test_openssl.py
@@ -15,8 +15,8 @@
from cryptography import utils
from cryptography.exceptions import UnsupportedAlgorithm
-from cryptography.hazmat.bindings import default_backend
-from cryptography.hazmat.bindings.openssl.backend import backend, Backend
+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
from cryptography.hazmat.primitives.ciphers.algorithms import AES
diff --git a/tests/hazmat/primitives/utils.py b/tests/hazmat/primitives/utils.py
index 705983a..b06f9b2 100644
--- a/tests/hazmat/primitives/utils.py
+++ b/tests/hazmat/primitives/utils.py
@@ -3,7 +3,7 @@
import pytest
-from cryptography.hazmat.bindings import _ALL_BACKENDS
+from cryptography.hazmat.backends import _ALL_BACKENDS
from cryptography.hazmat.primitives import hashes, hmac
from cryptography.hazmat.primitives.ciphers import Cipher
from cryptography.exceptions import (
diff --git a/tox.ini b/tox.ini
index eda76cd..547d90d 100644
--- a/tox.ini
+++ b/tox.ini
@@ -18,6 +18,7 @@
basepython = python2.7
commands =
sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/_build/html
+ sphinx-build -W -b latex -d {envtmpdir}/doctrees docs docs/_build/latex
sphinx-build -W -b doctest -d {envtmpdir}/doctrees docs docs/_build/html
sphinx-build -W -b linkcheck docs docs/_build/html