[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]