diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-10-14 09:20:34 -0500 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2014-10-14 09:20:34 -0500 |
commit | c97992640a13c6fa654954c801988c2dc401c0f5 (patch) | |
tree | 298e32655c743c4a4598060264745e467ab5b45e /cryptography | |
parent | ec60cd482be2f69282629baab73ea0a3770b331f (diff) | |
parent | 5f80ba179738f878cab79347dedc0031b3c35573 (diff) | |
download | cryptography-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.py | 15 |
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.") |