aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-06-03 20:24:13 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-06-06 11:16:49 +0900
commit3d47d055b304de38da732ee9895933580ed98bd6 (patch)
treee24c0bc58af2118b57b44930d2eafa64b889b9f3
parent61fb6096e251f58c28e4f442bd7db3f66c3249e7 (diff)
downloadruby-3d47d055b304de38da732ee9895933580ed98bd6.tar.gz
openssl: adjust tests for changes in OpenSSL
* test/openssl/test_x509name.rb: Don't register OID for 'emailAddress' and 'serialNumber'. A recent change in OpenSSL made OBJ_create() reject an already existing OID. They were necessary to run tests with OpenSSL 0.9.6 which is now unsupported. https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=52832e470f5fe8c222249ae5b539aeb3c74cdb25 [ruby-core:75225] [Feature #12324] * test/openssl/test_ssl_session.rb (test_server_session): Duplicate SSL::Session before re-adding to the SSL context's session store with SSL::SSLContext#session_add. https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=7c2d4fee2547650102cd16d23f8125b76112ae75 * test/openssl/test_pkey_ec.rb (setup): Remove X25519 from @keys. X25519 is for key agreement and not suitable for signing.
-rw-r--r--test/openssl/test_pkey_ec.rb4
-rw-r--r--test/openssl/test_ssl_session.rb8
-rw-r--r--test/openssl/test_x509name.rb5
3 files changed, 7 insertions, 10 deletions
diff --git a/test/openssl/test_pkey_ec.rb b/test/openssl/test_pkey_ec.rb
index 4161e9b0e0..ffaabafe80 100644
--- a/test/openssl/test_pkey_ec.rb
+++ b/test/openssl/test_pkey_ec.rb
@@ -12,7 +12,9 @@ class OpenSSL::TestEC < OpenSSL::TestCase
@keys = []
OpenSSL::PKey::EC.builtin_curves.each do |curve, comment|
- next if curve.start_with?("Oakley") # Oakley curves are not suitable for ECDSA
+ # These curves are exceptional
+ next if ["Oakley", "X25519"].any? { |n| curve.start_with?(n) }
+
group = OpenSSL::PKey::EC::Group.new(curve)
key = OpenSSL::PKey::EC.new(group)
diff --git a/test/openssl/test_ssl_session.rb b/test/openssl/test_ssl_session.rb
index cdcab02f95..84686f6b4f 100644
--- a/test/openssl/test_ssl_session.rb
+++ b/test/openssl/test_ssl_session.rb
@@ -211,25 +211,25 @@ __EOS__
assert_equal(stats[:cache_misses], 0)
assert(ssl.session_reused?)
ctx.session_remove(session)
- saved_session = session
+ saved_session = session.to_der
when 2
assert_equal(stats[:cache_num], 1)
assert_equal(stats[:cache_hits], 1)
assert_equal(stats[:cache_misses], 1)
assert(!ssl.session_reused?)
- ctx.session_add(saved_session)
+ ctx.session_add(OpenSSL::SSL::Session.new(saved_session))
when 3
assert_equal(stats[:cache_num], 2)
assert_equal(stats[:cache_hits], 2)
assert_equal(stats[:cache_misses], 1)
assert(ssl.session_reused?)
- ctx.flush_sessions(Time.now + 5000)
+ ctx.flush_sessions(Time.now + 10000)
when 4
assert_equal(stats[:cache_num], 1)
assert_equal(stats[:cache_hits], 2)
assert_equal(stats[:cache_misses], 2)
assert(!ssl.session_reused?)
- ctx.session_add(saved_session)
+ ctx.session_add(OpenSSL::SSL::Session.new(saved_session))
end
connections += 1
diff --git a/test/openssl/test_x509name.rb b/test/openssl/test_x509name.rb
index d26174efdf..b87d415de2 100644
--- a/test/openssl/test_x509name.rb
+++ b/test/openssl/test_x509name.rb
@@ -5,11 +5,6 @@ require_relative 'utils'
if defined?(OpenSSL::TestUtils)
class OpenSSL::TestX509Name < OpenSSL::TestCase
- OpenSSL::ASN1::ObjectId.register(
- "1.2.840.113549.1.9.1", "emailAddress", "emailAddress")
- OpenSSL::ASN1::ObjectId.register(
- "2.5.4.5", "serialNumber", "serialNumber")
-
def setup
@obj_type_tmpl = Hash.new(OpenSSL::ASN1::PRINTABLESTRING)
@obj_type_tmpl.update(OpenSSL::X509::Name::OBJECT_TYPE_TEMPLATE)