aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlex Stapleton <alexs@prol.etari.at>2015-01-18 15:57:28 +0000
committerAlex Stapleton <alex@ly.st>2015-01-22 15:26:22 +0000
commitf48f69d6654a10a46e34323747c54e0f0ccb7eef (patch)
tree326919d2326898b7236312a777feb25cdc9e301b /src
parent7b672cace5c59a682e20854eac423e7e8c427531 (diff)
downloadcryptography-f48f69d6654a10a46e34323747c54e0f0ccb7eef.tar.gz
cryptography-f48f69d6654a10a46e34323747c54e0f0ccb7eef.tar.bz2
cryptography-f48f69d6654a10a46e34323747c54e0f0ccb7eef.zip
Move DSA* interfaces to interfaces.dsa module
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/primitives/asymmetric/dsa.py86
-rw-r--r--src/cryptography/hazmat/primitives/interfaces/__init__.py74
-rw-r--r--src/cryptography/hazmat/primitives/interfaces/asymmetric/dsa.py93
-rw-r--r--src/cryptography/utils.py2
4 files changed, 152 insertions, 103 deletions
diff --git a/src/cryptography/hazmat/primitives/asymmetric/dsa.py b/src/cryptography/hazmat/primitives/asymmetric/dsa.py
index 9b06f3e6..58058df9 100644
--- a/src/cryptography/hazmat/primitives/asymmetric/dsa.py
+++ b/src/cryptography/hazmat/primitives/asymmetric/dsa.py
@@ -4,11 +4,97 @@
from __future__ import absolute_import, division, print_function
+import abc
+
import six
from cryptography import utils
+@six.add_metaclass(abc.ABCMeta)
+class DSAParameters(object):
+ @abc.abstractmethod
+ def generate_private_key(self):
+ """
+ Generates and returns a DSAPrivateKey.
+ """
+
+
+@six.add_metaclass(abc.ABCMeta)
+class DSAParametersWithNumbers(DSAParameters):
+ @abc.abstractmethod
+ def parameter_numbers(self):
+ """
+ Returns a DSAParameterNumbers.
+ """
+
+
+@six.add_metaclass(abc.ABCMeta)
+class DSAPrivateKey(object):
+ @abc.abstractproperty
+ def key_size(self):
+ """
+ The bit length of the prime modulus.
+ """
+
+ @abc.abstractmethod
+ def public_key(self):
+ """
+ The DSAPublicKey associated with this private key.
+ """
+
+ @abc.abstractmethod
+ def parameters(self):
+ """
+ The DSAParameters object associated with this private key.
+ """
+
+ @abc.abstractmethod
+ def signer(self, signature_algorithm):
+ """
+ Returns an AsymmetricSignatureContext used for signing data.
+ """
+
+
+@six.add_metaclass(abc.ABCMeta)
+class DSAPrivateKeyWithNumbers(DSAPrivateKey):
+ @abc.abstractmethod
+ def private_numbers(self):
+ """
+ Returns a DSAPrivateNumbers.
+ """
+
+
+@six.add_metaclass(abc.ABCMeta)
+class DSAPublicKey(object):
+ @abc.abstractproperty
+ def key_size(self):
+ """
+ The bit length of the prime modulus.
+ """
+
+ @abc.abstractmethod
+ def parameters(self):
+ """
+ The DSAParameters object associated with this public key.
+ """
+
+ @abc.abstractmethod
+ def verifier(self, signature, signature_algorithm):
+ """
+ Returns an AsymmetricVerificationContext used for signing data.
+ """
+
+
+@six.add_metaclass(abc.ABCMeta)
+class DSAPublicKeyWithNumbers(DSAPublicKey):
+ @abc.abstractmethod
+ def public_numbers(self):
+ """
+ Returns a DSAPublicNumbers.
+ """
+
+
def generate_parameters(key_size, backend):
return backend.generate_dsa_parameters(key_size)
diff --git a/src/cryptography/hazmat/primitives/interfaces/__init__.py b/src/cryptography/hazmat/primitives/interfaces/__init__.py
index fb5ceeae..7961cf15 100644
--- a/src/cryptography/hazmat/primitives/interfaces/__init__.py
+++ b/src/cryptography/hazmat/primitives/interfaces/__init__.py
@@ -8,10 +8,10 @@ import abc
import six
-from cryptography.hazmat.primitives.interfaces.asymmetric.dsa import (
- DSAParameters, DSAParametersWithNumbers, DSAPrivateKey,
- DSAPrivateKeyWithNumbers, DSAPublicKey, DSAPublicKeyWithNumbers
-)
+from cryptography import utils
+
+from cryptography.hazmat.primitives.asymmetric import dsa
+
from cryptography.hazmat.primitives.interfaces.asymmetric.ec import (
EllipticCurve, EllipticCurvePrivateKey, EllipticCurvePrivateKeyWithNumbers,
EllipticCurvePublicKey, EllipticCurvePublicKeyWithNumbers,
@@ -25,12 +25,6 @@ from cryptography.hazmat.primitives.interfaces.ciphers import (
__all__ = [
"BlockCipherAlgorithm",
"CipherAlgorithm",
- "DSAParameters",
- "DSAParametersWithNumbers",
- "DSAPrivateKey",
- "DSAPrivateKeyWithNumbers",
- "DSAPublicKey",
- "DSAPublicKeyWithNumbers",
"EllipticCurve",
"EllipticCurvePrivateKey",
"EllipticCurvePrivateKeyWithNumbers",
@@ -43,6 +37,66 @@ __all__ = [
"ModeWithNonce"
]
+DSAParameters = utils.deprecated(
+ dsa.DSAParameters,
+ __name__,
+ (
+ "The DSAParameters interface has moved to the "
+ "cryptography.hazmat.primitives.asymmetric.dsa.module"
+ ),
+ utils.DeprecatedIn08
+)
+
+DSAParametersWithNumbers = utils.deprecated(
+ dsa.DSAParametersWithNumbers,
+ __name__,
+ (
+ "The DSAParametersWithNumbers interface has moved to the "
+ "cryptography.hazmat.primitives.asymmetric.dsa.module"
+ ),
+ utils.DeprecatedIn08
+)
+
+DSAPrivateKey = utils.deprecated(
+ dsa.DSAPrivateKey,
+ __name__,
+ (
+ "The DSAPrivateKey interface has moved to the "
+ "cryptography.hazmat.primitives.asymmetric.dsa.module"
+ ),
+ utils.DeprecatedIn08
+)
+
+DSAPrivateKeyWithNumbers = utils.deprecated(
+ dsa.DSAPrivateKeyWithNumbers,
+ __name__,
+ (
+ "The DSAPrivateKeyWithNumbers interface has moved to the "
+ "cryptography.hazmat.primitives.asymmetric.dsa.module"
+ ),
+ utils.DeprecatedIn08
+)
+
+DSAPublicKey = utils.deprecated(
+ dsa.DSAPublicKey,
+ __name__,
+ (
+ "The DSAPublicKeyWithNumbers interface has moved to the "
+ "cryptography.hazmat.primitives.asymmetric.dsa.module"
+ ),
+ utils.DeprecatedIn08
+)
+
+DSAPublicKeyWithNumbers = utils.deprecated(
+ dsa.DSAPublicKeyWithNumbers,
+ __name__,
+ (
+ "The DSAPublicKeyWithNumbers interface has moved to the "
+ "cryptography.hazmat.primitives.asymmetric.dsa.module"
+ ),
+ utils.DeprecatedIn08
+)
+
@six.add_metaclass(abc.ABCMeta)
class CipherContext(object):
diff --git a/src/cryptography/hazmat/primitives/interfaces/asymmetric/dsa.py b/src/cryptography/hazmat/primitives/interfaces/asymmetric/dsa.py
deleted file mode 100644
index acfc8973..00000000
--- a/src/cryptography/hazmat/primitives/interfaces/asymmetric/dsa.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# This file is dual licensed under the terms of the Apache License, Version
-# 2.0, and the BSD License. See the LICENSE file in the root of this repository
-# for complete details.
-
-from __future__ import absolute_import, division, print_function
-
-import abc
-
-import six
-
-
-@six.add_metaclass(abc.ABCMeta)
-class DSAParameters(object):
- @abc.abstractmethod
- def generate_private_key(self):
- """
- Generates and returns a DSAPrivateKey.
- """
-
-
-@six.add_metaclass(abc.ABCMeta)
-class DSAParametersWithNumbers(DSAParameters):
- @abc.abstractmethod
- def parameter_numbers(self):
- """
- Returns a DSAParameterNumbers.
- """
-
-
-@six.add_metaclass(abc.ABCMeta)
-class DSAPrivateKey(object):
- @abc.abstractproperty
- def key_size(self):
- """
- The bit length of the prime modulus.
- """
-
- @abc.abstractmethod
- def public_key(self):
- """
- The DSAPublicKey associated with this private key.
- """
-
- @abc.abstractmethod
- def parameters(self):
- """
- The DSAParameters object associated with this private key.
- """
-
- @abc.abstractmethod
- def signer(self, signature_algorithm):
- """
- Returns an AsymmetricSignatureContext used for signing data.
- """
-
-
-@six.add_metaclass(abc.ABCMeta)
-class DSAPrivateKeyWithNumbers(DSAPrivateKey):
- @abc.abstractmethod
- def private_numbers(self):
- """
- Returns a DSAPrivateNumbers.
- """
-
-
-@six.add_metaclass(abc.ABCMeta)
-class DSAPublicKey(object):
- @abc.abstractproperty
- def key_size(self):
- """
- The bit length of the prime modulus.
- """
-
- @abc.abstractmethod
- def parameters(self):
- """
- The DSAParameters object associated with this public key.
- """
-
- @abc.abstractmethod
- def verifier(self, signature, signature_algorithm):
- """
- Returns an AsymmetricVerificationContext used for signing data.
- """
-
-
-@six.add_metaclass(abc.ABCMeta)
-class DSAPublicKeyWithNumbers(DSAPublicKey):
- @abc.abstractmethod
- def public_numbers(self):
- """
- Returns a DSAPublicNumbers.
- """
diff --git a/src/cryptography/utils.py b/src/cryptography/utils.py
index 72f9a347..78dcc1ca 100644
--- a/src/cryptography/utils.py
+++ b/src/cryptography/utils.py
@@ -13,6 +13,8 @@ import warnings
# DeprecatedIn07 objects exist. This comment exists to remind developers to
# look for them when it's time for the ninth release cycle deprecation dance.
+DeprecatedIn08 = PendingDeprecationWarning
+
def read_only_property(name):
return property(lambda self: getattr(self, name))