aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/primitives/interfaces/__init__.py24
-rw-r--r--src/cryptography/hazmat/primitives/padding.py22
2 files changed, 29 insertions, 17 deletions
diff --git a/src/cryptography/hazmat/primitives/interfaces/__init__.py b/src/cryptography/hazmat/primitives/interfaces/__init__.py
index e9ba7808..52433e16 100644
--- a/src/cryptography/hazmat/primitives/interfaces/__init__.py
+++ b/src/cryptography/hazmat/primitives/interfaces/__init__.py
@@ -9,7 +9,7 @@ import abc
import six
from cryptography import utils
-from cryptography.hazmat.primitives import hashes
+from cryptography.hazmat.primitives import hashes, padding
from cryptography.hazmat.primitives.asymmetric import dsa, ec, rsa
from cryptography.hazmat.primitives.ciphers import base, modes
@@ -240,19 +240,15 @@ DSAPublicKeyWithNumbers = utils.deprecated(
)
-@six.add_metaclass(abc.ABCMeta)
-class PaddingContext(object):
- @abc.abstractmethod
- def update(self, data):
- """
- Pads the provided bytes and returns any available data as bytes.
- """
-
- @abc.abstractmethod
- def finalize(self):
- """
- Finalize the padding, returns bytes.
- """
+PaddingContext = utils.deprecated(
+ padding.PaddingContext,
+ __name__,
+ (
+ "The PaddingContext interface has moved to the "
+ "cryptography.hazmat.primitives.padding module"
+ ),
+ utils.DeprecatedIn08
+)
HashContext = utils.deprecated(
diff --git a/src/cryptography/hazmat/primitives/padding.py b/src/cryptography/hazmat/primitives/padding.py
index 49cae9d6..8ad64dec 100644
--- a/src/cryptography/hazmat/primitives/padding.py
+++ b/src/cryptography/hazmat/primitives/padding.py
@@ -4,12 +4,13 @@
from __future__ import absolute_import, division, print_function
+import abc
+
import six
from cryptography import utils
from cryptography.exceptions import AlreadyFinalized
from cryptography.hazmat.bindings.utils import LazyLibrary, build_ffi
-from cryptography.hazmat.primitives import interfaces
TYPES = """
@@ -59,6 +60,21 @@ _ffi = build_ffi(cdef_source=TYPES, verify_source=FUNCTIONS)
_lib = LazyLibrary(_ffi)
+@six.add_metaclass(abc.ABCMeta)
+class PaddingContext(object):
+ @abc.abstractmethod
+ def update(self, data):
+ """
+ Pads the provided bytes and returns any available data as bytes.
+ """
+
+ @abc.abstractmethod
+ def finalize(self):
+ """
+ Finalize the padding, returns bytes.
+ """
+
+
class PKCS7(object):
def __init__(self, block_size):
if not (0 <= block_size < 256):
@@ -76,7 +92,7 @@ class PKCS7(object):
return _PKCS7UnpaddingContext(self.block_size)
-@utils.register_interface(interfaces.PaddingContext)
+@utils.register_interface(PaddingContext)
class _PKCS7PaddingContext(object):
def __init__(self, block_size):
self.block_size = block_size
@@ -109,7 +125,7 @@ class _PKCS7PaddingContext(object):
return result
-@utils.register_interface(interfaces.PaddingContext)
+@utils.register_interface(PaddingContext)
class _PKCS7UnpaddingContext(object):
def __init__(self, block_size):
self.block_size = block_size