summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-31 00:12:36 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-05-31 00:12:36 +0000
commit246df6f7c1f9c3a216d73eb15ac23e8725877c86 (patch)
tree7695cedd2c30e0edd4a764741cb23aa831381be7 /test
parent67cf90f6a4c74b3e5c881447ce9a762237d347a2 (diff)
merges r31640 from trunk into ruby_1_9_2.
-- * test/openssl/test_pkey_rsa.rb: Add tests for sign/verify. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/openssl/test_pkey_rsa.rb32
1 files changed, 31 insertions, 1 deletions
diff --git a/test/openssl/test_pkey_rsa.rb b/test/openssl/test_pkey_rsa.rb
index 445029ef27..4e07cbd500 100644
--- a/test/openssl/test_pkey_rsa.rb
+++ b/test/openssl/test_pkey_rsa.rb
@@ -51,6 +51,36 @@ class OpenSSL::TestPKeyRSA < Test::Unit::TestCase
OpenSSL::PKey::RSA.new pem
assert_equal([], OpenSSL.errors)
end
-end
+ def test_sign_verify
+ key = OpenSSL::PKey::RSA.new(512)
+ digest = OpenSSL::Digest::SHA1.new
+ data = 'Sign me!'
+ sig = key.sign(digest, data)
+ assert(key.verify(digest, sig, data))
+ end
+
+ def test_digest_state_irrelevant_sign
+ key = OpenSSL::PKey::RSA.new(512)
+ digest1 = OpenSSL::Digest::SHA1.new
+ digest2 = OpenSSL::Digest::SHA1.new
+ data = 'Sign me!'
+ digest1 << 'Change state of digest1'
+ sig1 = key.sign(digest1, data)
+ sig2 = key.sign(digest2, data)
+ assert_equal(sig1, sig2)
+ end
+
+ def test_digest_state_irrelevant_verify
+ key = OpenSSL::PKey::RSA.new(512)
+ digest1 = OpenSSL::Digest::SHA1.new
+ digest2 = OpenSSL::Digest::SHA1.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
+end
end