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

ruby-changes:21596

From: emboss <ko1@a...>
Date: Sun, 6 Nov 2011 03:33:51 +0900 (JST)
Subject: [ruby-changes:21596] emboss:r33645 (trunk): * test/openssl/test_engine.rb: add test for engine cipher. RC4 is used

emboss	2011-11-06 03:33:37 +0900 (Sun, 06 Nov 2011)

  New Revision: 33645

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33645

  Log:
    * test/openssl/test_engine.rb: add test for engine cipher. RC4 is used
      because AES is not supported by the "openssl" engine currently.

  Modified files:
    trunk/ChangeLog
    trunk/test/openssl/test_engine.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 33644)
+++ ChangeLog	(revision 33645)
@@ -1,3 +1,8 @@
+Sun Nov 06 03:22:36 2011  Martin Bosslet  <Martin.Bosslet@g...>
+
+	* test/openssl/test_engine.rb: add test for engine cipher. RC4 is used
+	  because AES is not supported by the "openssl" engine currently.
+
 Sun Nov  6 00:11:52 2011  Tanaka Akira  <akr@f...>
 
 	* lib/test/unit.rb (Test::Unit::Options#non_options): options[:ruby]
Index: test/openssl/test_engine.rb
===================================================================
--- test/openssl/test_engine.rb	(revision 33644)
+++ test/openssl/test_engine.rb	(revision 33645)
@@ -37,8 +37,30 @@
     assert_not_nil(digest)
     data = "test"
     assert_equal(OpenSSL::Digest::SHA1.digest(data), digest.digest(data))
+    cleanup
   end
 
+  def test_openssl_engine_cipher_rc4
+    engine = OpenSSL::Engine.by_id("openssl")
+    algo = "RC4" #AES is not supported by openssl Engine (<=1.0.0e)
+    data = "a" * 1000
+    key = OpenSSL::Random.random_bytes(16)
+
+    encipher = engine.cipher(algo)
+    encipher.encrypt
+    encipher.key = key
+
+    decipher = OpenSSL::Cipher.new(algo)
+    decipher.decrypt
+    decipher.key = key
+
+    encrypted = encipher.update(data) + encipher.final
+    decrypted = decipher.update(encrypted) + decipher.final
+
+    assert_equal(data, decrypted)
+    cleanup
+  end
+
   private
 
   def cleanup

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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