diff --git a/ChangeLog b/ChangeLog index 92b11c8bcd..7083670ec6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu May 19 07:47:26 2011 Martin Bosslet + + * test/openssl/test_pkey_rsa.rb: Add tests for sign/verify. + Wed May 18 20:25:04 2011 KOSAKI Motohiro * lib/timeout.rb (Timeout#timeout): don't leak "execution expired" 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 diff --git a/version.h b/version.h index 3025ae98f3..b616bc2add 100644 --- a/version.h +++ b/version.h @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 255 +#define RUBY_PATCHLEVEL 256 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1