diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2022-09-02 23:28:26 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-02 23:28:26 +0900 |
commit | 9247cf812bce252f1de0bb183ce77b62abb7562c (patch) | |
tree | 8269c4bf7caabcaefe57fa4910009ed7802dc0bd /test | |
parent | 317bd5cd1bd30d6749e356b0602ba5bae5224678 (diff) | |
parent | 0105975a0b4a8ca6498bbeab95cc4e123e2faf98 (diff) | |
download | ruby-openssl-9247cf812bce252f1de0bb183ce77b62abb7562c.tar.gz |
Merge pull request #539 from rhenium/ky/pkey-dsa-generate-fix-q
pkey/dsa: let PKey::DSA.generate choose appropriate q size
Diffstat (limited to 'test')
-rw-r--r-- | test/openssl/test_pkey_dsa.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/openssl/test_pkey_dsa.rb b/test/openssl/test_pkey_dsa.rb index 726b7dbf..de6aa63e 100644 --- a/test/openssl/test_pkey_dsa.rb +++ b/test/openssl/test_pkey_dsa.rb @@ -28,6 +28,25 @@ class OpenSSL::TestPKeyDSA < OpenSSL::PKeyTestCase end end + def test_generate + # DSA.generate used to call DSA_generate_parameters_ex(), which adjusts the + # size of q according to the size of p + key1024 = OpenSSL::PKey::DSA.generate(1024) + assert_predicate key1024, :private? + assert_equal 1024, key1024.p.num_bits + assert_equal 160, key1024.q.num_bits + + key2048 = OpenSSL::PKey::DSA.generate(2048) + assert_equal 2048, key2048.p.num_bits + assert_equal 256, key2048.q.num_bits + + if ENV["OSSL_TEST_ALL"] == "1" # slow + key3072 = OpenSSL::PKey::DSA.generate(3072) + assert_equal 3072, key3072.p.num_bits + assert_equal 256, key3072.q.num_bits + end + end + def test_sign_verify dsa512 = Fixtures.pkey("dsa512") data = "Sign me!" |