diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | test/openssl/test_engine.rb | 22 |
2 files changed, 27 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Sun Nov 06 03:22:36 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> + + * 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@fsij.org> * lib/test/unit.rb (Test::Unit::Options#non_options): options[:ruby] diff --git a/test/openssl/test_engine.rb b/test/openssl/test_engine.rb index f9106c0102..fce5f76ee6 100644 --- a/test/openssl/test_engine.rb +++ b/test/openssl/test_engine.rb @@ -37,6 +37,28 @@ class OpenSSL::TestEngine < Test::Unit::TestCase 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 |