From 600fcacc7551d9957feac8a32f7639dcc3fc49cd Mon Sep 17 00:00:00 2001 From: emboss Date: Sat, 5 Nov 2011 18:33:37 +0000 Subject: * test/openssl/test_engine.rb: add test for engine cipher. RC4 is used because AES is not supported by the "openssl" engine currently. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/openssl/test_engine.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'test/openssl') 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 -- cgit v1.2.3