ruby-changes:19634
From: emboss <ko1@a...>
Date: Sun, 22 May 2011 07:13:37 +0900 (JST)
Subject: [ruby-changes:19634] emboss:r31678 (trunk): * test/openssl/test_pkey_dsa.rb: Add tests for sign/verify.
emboss 2011-05-22 07:13:27 +0900 (Sun, 22 May 2011) New Revision: 31678 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31678 Log: * test/openssl/test_pkey_dsa.rb: Add tests for sign/verify. Modified files: trunk/ChangeLog trunk/test/openssl/test_pkey_dsa.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 31677) +++ ChangeLog (revision 31678) @@ -1,3 +1,7 @@ +Sun May 22 07:10:25 2011 Martin Bosslet <Martin.Bosslet@g...> + + * test/openssl/test_pkey_dsa.rb: Add tests for sign/verify. + Sun May 22 06:07:17 2011 Martin Bosslet <Martin.Bosslet@g...> * test/openssl/test_x509cert.rb: Merge DSA-related tests from ruby_1_8 Index: test/openssl/test_pkey_dsa.rb =================================================================== --- test/openssl/test_pkey_dsa.rb (revision 31677) +++ test/openssl/test_pkey_dsa.rb (revision 31678) @@ -22,6 +22,32 @@ assert_equal([], OpenSSL.errors) end + def test_sign_verify + check_sign_verify(OpenSSL::Digest::DSS1.new) + end + +if (OpenSSL::OPENSSL_VERSION_NUMBER > 0x10000000) + def test_sign_verify_sha1 + check_sign_verify(OpenSSL::Digest::SHA1.new) + end + + def test_sign_verify_sha256 + check_sign_verify(OpenSSL::Digest::SHA256.new) + end +end + + def test_digest_state_irrelevant_verify + key = OpenSSL::PKey::DSA.new(256) + digest1 = OpenSSL::Digest::DSS1.new + digest2 = OpenSSL::Digest::DSS1.new + data = 'Sign me!' + sig = key.sign(digest1, data) + digest1.reset + digest1 << 'Change state of digest1' + assert(key.verify(digest1, sig, data)) + assert(key.verify(digest2, sig, data)) + end + def test_read_DSA_PUBKEY p = 7188211954100152441468596248707152960171255279130004340103875772401008316444412091945435731597638374542374929457672178957081124632837356913990200866056699 q = 957032439192465935099784319494405376402293318491 @@ -121,6 +147,15 @@ assert_equal(OpenSSL::ASN1::INTEGER, pub_key.tag) assert_equal(key.pub_key, pub_key.value) end + + private + + def check_sign_verify(digest) + key = OpenSSL::PKey::DSA.new(256) + data = 'Sign me!' + sig = key.sign(digest, data) + assert(key.verify(digest, sig, data)) + end end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/