aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2014-10-14 09:20:34 -0500
committerPaul Kehrer <paul.l.kehrer@gmail.com>2014-10-14 09:20:34 -0500
commitc97992640a13c6fa654954c801988c2dc401c0f5 (patch)
tree298e32655c743c4a4598060264745e467ab5b45e /cryptography
parentec60cd482be2f69282629baab73ea0a3770b331f (diff)
parent5f80ba179738f878cab79347dedc0031b3c35573 (diff)
downloadcryptography-c97992640a13c6fa654954c801988c2dc401c0f5.tar.gz
cryptography-c97992640a13c6fa654954c801988c2dc401c0f5.tar.bz2
cryptography-c97992640a13c6fa654954c801988c2dc401c0f5.zip
Merge pull request #1397 from alex/looser-dsa
Fixed #1392 -- allow more combinations of p and q's bit lengths
Diffstat (limited to 'cryptography')
-rw-r--r--cryptography/hazmat/primitives/asymmetric/dsa.py15
1 files changed, 4 insertions, 11 deletions
diff --git a/cryptography/hazmat/primitives/asymmetric/dsa.py b/cryptography/hazmat/primitives/asymmetric/dsa.py
index 5e72299a..97265868 100644
--- a/cryptography/hazmat/primitives/asymmetric/dsa.py
+++ b/cryptography/hazmat/primitives/asymmetric/dsa.py
@@ -27,17 +27,10 @@ def generate_private_key(key_size, backend):
def _check_dsa_parameters(parameters):
- if (utils.bit_length(parameters.p),
- utils.bit_length(parameters.q)) not in (
- (1024, 160),
- (2048, 256),
- (3072, 256)):
- raise ValueError(
- "p and q's bit-lengths must be one of these pairs (1024, 160), "
- "(2048, 256), or (3072, 256). Not ({0:d}, {1:d})".format(
- utils.bit_length(parameters.p), utils.bit_length(parameters.q)
- )
- )
+ if utils.bit_length(parameters.p) not in [1024, 2048, 3072]:
+ raise ValueError("p must be exactly 1024, 2048, or 3072 bits long")
+ if utils.bit_length(parameters.q) not in [160, 256]:
+ raise ValueError("q must be exactly 160 or 256 bits long")
if not (1 < parameters.g < parameters.p):
raise ValueError("g, p don't satisfy 1 < g < p.")