aboutsummaryrefslogtreecommitdiffstats
path: root/test/openssl
diff options
context:
space:
mode:
authorrhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-12-10 08:12:02 +0000
committerrhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-12-10 08:12:02 +0000
commit9b18f4d60aa162b536c2cb895383b69687e58ced (patch)
tree05cb0b815f8e891636940286391ecaf105155eb1 /test/openssl
parentfecc2e1700f82430c9b210fbe836d0e0954ede85 (diff)
downloadruby-9b18f4d60aa162b536c2cb895383b69687e58ced.tar.gz
openssl: import v2.0.1
Import Ruby/OpenSSL 2.0.1. The full commit history since 2.0.0 (imported at r56946) can be found at: https://github.com/ruby/openssl/compare/v2.0.0...v2.0.1 This release contains only bug fixes. Note, the first two commits since v2.0.0 are already imported at r56953 to make Travis and RubyCI green. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/openssl')
-rw-r--r--test/openssl/test_asn1.rb8
-rw-r--r--test/openssl/test_buffering.rb1
-rw-r--r--test/openssl/test_config.rb1
-rw-r--r--test/openssl/test_digest.rb1
-rw-r--r--test/openssl/test_ns_spki.rb1
-rw-r--r--test/openssl/test_ocsp.rb1
-rw-r--r--test/openssl/test_pair.rb2
-rw-r--r--test/openssl/test_pkcs12.rb1
-rw-r--r--test/openssl/test_pkcs7.rb1
-rw-r--r--test/openssl/test_pkey.rb49
-rw-r--r--test/openssl/test_x509cert.rb1
-rw-r--r--test/openssl/test_x509crl.rb1
-rw-r--r--test/openssl/test_x509ext.rb1
-rw-r--r--test/openssl/test_x509name.rb1
-rw-r--r--test/openssl/test_x509req.rb1
-rw-r--r--test/openssl/test_x509store.rb1
-rw-r--r--test/openssl/utils.rb10
17 files changed, 32 insertions, 50 deletions
diff --git a/test/openssl/test_asn1.rb b/test/openssl/test_asn1.rb
index 3a43541447..a0ac1ddbf5 100644
--- a/test/openssl/test_asn1.rb
+++ b/test/openssl/test_asn1.rb
@@ -275,6 +275,14 @@ rEzBQ0F9dUyqQ9gyRg8KHhDfv9HzT1d/rnUZMkoombwYBRIUChGCYV0GnJcan2Zm
assert_equal 2 ** 31, OpenSSL::ASN1.decode(encoded).value.to_i
end
+ def test_decode_generalisedtime
+ expected = Time.at 1481225640
+ assert_equal expected, OpenSSL::ASN1.decode("\x18\x0D201612081934Z").value
+
+ expected += 29
+ assert_equal expected, OpenSSL::ASN1.decode("\x18\x0F20161208193429Z").value
+ end
+
def test_decode_enumerated
encoded = OpenSSL::ASN1.Enumerated(0).to_der
assert_equal "\x0a\x01\x00".b, encoded
diff --git a/test/openssl/test_buffering.rb b/test/openssl/test_buffering.rb
index 1f42cd3c31..f85353fc67 100644
--- a/test/openssl/test_buffering.rb
+++ b/test/openssl/test_buffering.rb
@@ -37,6 +37,7 @@ class OpenSSL::TestBuffering < OpenSSL::TestCase
end
def setup
+ super
@io = IO.new
end
diff --git a/test/openssl/test_config.rb b/test/openssl/test_config.rb
index 3e2e1273fb..786bce9d2f 100644
--- a/test/openssl/test_config.rb
+++ b/test/openssl/test_config.rb
@@ -3,6 +3,7 @@ require_relative 'utils'
class OpenSSL::TestConfig < OpenSSL::TestCase
def setup
+ super
file = Tempfile.open("openssl.cnf")
file << <<__EOD__
HOME = .
diff --git a/test/openssl/test_digest.rb b/test/openssl/test_digest.rb
index 028889c173..9891d99ae3 100644
--- a/test/openssl/test_digest.rb
+++ b/test/openssl/test_digest.rb
@@ -5,6 +5,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestDigest < OpenSSL::TestCase
def setup
+ super
@d1 = OpenSSL::Digest.new("MD5")
@d2 = OpenSSL::Digest::MD5.new
end
diff --git a/test/openssl/test_ns_spki.rb b/test/openssl/test_ns_spki.rb
index 4740c0b29e..ac34613fc2 100644
--- a/test/openssl/test_ns_spki.rb
+++ b/test/openssl/test_ns_spki.rb
@@ -5,6 +5,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestNSSPI < OpenSSL::TestCase
def setup
+ super
# This request data is adopt from the specification of
# "Netscape Extensions for User Key Generation".
# -- http://wp.netscape.com/eng/security/comm4-keygen.html
diff --git a/test/openssl/test_ocsp.rb b/test/openssl/test_ocsp.rb
index 82d83d56f4..8881f25dd9 100644
--- a/test/openssl/test_ocsp.rb
+++ b/test/openssl/test_ocsp.rb
@@ -5,6 +5,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestOCSP < OpenSSL::TestCase
def setup
+ super
# @ca_cert
# |
# @cert
diff --git a/test/openssl/test_pair.rb b/test/openssl/test_pair.rb
index ad65327da0..9a5205f81c 100644
--- a/test/openssl/test_pair.rb
+++ b/test/openssl/test_pair.rb
@@ -295,7 +295,7 @@ module OpenSSL::TestPairM
# fill up a socket so we hit EAGAIN
written = String.new
n = 0
- buf = 'a' * 11
+ buf = 'a' * 4099
case ret = s1.write_nonblock(buf, exception: false)
when :wait_readable then break
when :wait_writable then break
diff --git a/test/openssl/test_pkcs12.rb b/test/openssl/test_pkcs12.rb
index 8c9147a91e..403718b94f 100644
--- a/test/openssl/test_pkcs12.rb
+++ b/test/openssl/test_pkcs12.rb
@@ -8,6 +8,7 @@ module OpenSSL
include OpenSSL::TestUtils
def setup
+ super
ca = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=CA")
ca_exts = [
["basicConstraints","CA:TRUE",true],
diff --git a/test/openssl/test_pkcs7.rb b/test/openssl/test_pkcs7.rb
index b7b7520220..48d5999752 100644
--- a/test/openssl/test_pkcs7.rb
+++ b/test/openssl/test_pkcs7.rb
@@ -5,6 +5,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestPKCS7 < OpenSSL::TestCase
def setup
+ super
@rsa1024 = OpenSSL::TestUtils::TEST_KEY_RSA1024
@rsa2048 = OpenSSL::TestUtils::TEST_KEY_RSA2048
ca = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=CA")
diff --git a/test/openssl/test_pkey.rb b/test/openssl/test_pkey.rb
deleted file mode 100644
index 79647c8f1d..0000000000
--- a/test/openssl/test_pkey.rb
+++ /dev/null
@@ -1,49 +0,0 @@
-# frozen_string_literal: false
-require_relative "utils"
-
-if defined?(OpenSSL::TestUtils)
-
-class OpenSSL::TestPKey < OpenSSL::PKeyTestCase
- PKEYS = {
- OpenSSL::PKey::RSA => {
- key: OpenSSL::TestUtils::TEST_KEY_RSA1024,
- digest: OpenSSL::Digest::SHA1,
- },
- OpenSSL::PKey::DSA => {
- key: OpenSSL::TestUtils::TEST_KEY_DSA512,
- digest: OpenSSL::TestUtils::DSA_SIGNATURE_DIGEST,
- },
- }
- if defined?(OpenSSL::PKey::EC)
- PKEYS[OpenSSL::PKey::EC] = {
- key: OpenSSL::TestUtils::TEST_KEY_EC_P256V1,
- digest: OpenSSL::Digest::SHA1,
- }
- end
-
- def test_sign_verify
- data = "Sign me!"
- invalid_data = "Sign me?"
- PKEYS.each do |klass, prop|
- key = prop[:key]
- pub_key = dup_public(prop[:key])
- digest = prop[:digest].new
- signature = key.sign(digest, data)
- assert_equal(true, pub_key.verify(digest, signature, data))
- assert_equal(false, pub_key.verify(digest, signature, invalid_data))
- # digest state is irrelevant
- digest << "unya"
- assert_equal(true, pub_key.verify(digest, signature, data))
- assert_equal(false, pub_key.verify(digest, signature, invalid_data))
-
- if OpenSSL::OPENSSL_VERSION_NUMBER > 0x10000000
- digest = OpenSSL::Digest::SHA256.new
- signature = key.sign(digest, data)
- assert_equal(true, pub_key.verify(digest, signature, data))
- assert_equal(false, pub_key.verify(digest, signature, invalid_data))
- end
- end
- end
-end
-
-end
diff --git a/test/openssl/test_x509cert.rb b/test/openssl/test_x509cert.rb
index fb757c44ec..0cfe4402ec 100644
--- a/test/openssl/test_x509cert.rb
+++ b/test/openssl/test_x509cert.rb
@@ -5,6 +5,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestX509Certificate < OpenSSL::TestCase
def setup
+ super
@rsa1024 = OpenSSL::TestUtils::TEST_KEY_RSA1024
@rsa2048 = OpenSSL::TestUtils::TEST_KEY_RSA2048
@dsa256 = OpenSSL::TestUtils::TEST_KEY_DSA256
diff --git a/test/openssl/test_x509crl.rb b/test/openssl/test_x509crl.rb
index f61de97163..44dfffc952 100644
--- a/test/openssl/test_x509crl.rb
+++ b/test/openssl/test_x509crl.rb
@@ -5,6 +5,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestX509CRL < OpenSSL::TestCase
def setup
+ super
@rsa1024 = OpenSSL::TestUtils::TEST_KEY_RSA1024
@rsa2048 = OpenSSL::TestUtils::TEST_KEY_RSA2048
@dsa256 = OpenSSL::TestUtils::TEST_KEY_DSA256
diff --git a/test/openssl/test_x509ext.rb b/test/openssl/test_x509ext.rb
index 79713c0fad..58f03168bc 100644
--- a/test/openssl/test_x509ext.rb
+++ b/test/openssl/test_x509ext.rb
@@ -5,6 +5,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestX509Extension < OpenSSL::TestCase
def setup
+ super
@basic_constraints_value = OpenSSL::ASN1::Sequence([
OpenSSL::ASN1::Boolean(true), # CA
OpenSSL::ASN1::Integer(2) # pathlen
diff --git a/test/openssl/test_x509name.rb b/test/openssl/test_x509name.rb
index 78da4df140..b30a02e64a 100644
--- a/test/openssl/test_x509name.rb
+++ b/test/openssl/test_x509name.rb
@@ -6,6 +6,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestX509Name < OpenSSL::TestCase
def setup
+ super
@obj_type_tmpl = Hash.new(OpenSSL::ASN1::PRINTABLESTRING)
@obj_type_tmpl.update(OpenSSL::X509::Name::OBJECT_TYPE_TEMPLATE)
end
diff --git a/test/openssl/test_x509req.rb b/test/openssl/test_x509req.rb
index 086ccfbdb1..585dda1bc6 100644
--- a/test/openssl/test_x509req.rb
+++ b/test/openssl/test_x509req.rb
@@ -5,6 +5,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestX509Request < OpenSSL::TestCase
def setup
+ super
@rsa1024 = OpenSSL::TestUtils::TEST_KEY_RSA1024
@rsa2048 = OpenSSL::TestUtils::TEST_KEY_RSA2048
@dsa256 = OpenSSL::TestUtils::TEST_KEY_DSA256
diff --git a/test/openssl/test_x509store.rb b/test/openssl/test_x509store.rb
index 6ca80c86bb..af0d8b2836 100644
--- a/test/openssl/test_x509store.rb
+++ b/test/openssl/test_x509store.rb
@@ -5,6 +5,7 @@ if defined?(OpenSSL::TestUtils)
class OpenSSL::TestX509Store < OpenSSL::TestCase
def setup
+ super
@rsa1024 = OpenSSL::TestUtils::TEST_KEY_RSA1024
@rsa2048 = OpenSSL::TestUtils::TEST_KEY_RSA2048
@dsa256 = OpenSSL::TestUtils::TEST_KEY_DSA256
diff --git a/test/openssl/utils.rb b/test/openssl/utils.rb
index 43ecd79eca..bbc9c7efc2 100644
--- a/test/openssl/utils.rb
+++ b/test/openssl/utils.rb
@@ -201,7 +201,16 @@ AQjjxMXhwULlmuR/K+WwlaZPiLIBYalLAZQ7ZbOPeVkJ8ePao0eLAgEC
end
class OpenSSL::TestCase < Test::Unit::TestCase
+ def setup
+ if ENV["OSSL_GC_STRESS"] == "1"
+ GC.stress = true
+ end
+ end
+
def teardown
+ if ENV["OSSL_GC_STRESS"] == "1"
+ GC.stress = false
+ end
# OpenSSL error stack must be empty
assert_equal([], OpenSSL.errors)
end
@@ -212,6 +221,7 @@ AQjjxMXhwULlmuR/K+WwlaZPiLIBYalLAZQ7ZbOPeVkJ8ePao0eLAgEC
ITERATIONS = ($0 == __FILE__) ? 100 : 10
def setup
+ super
@ca_key = OpenSSL::TestUtils::TEST_KEY_RSA2048
@svr_key = OpenSSL::TestUtils::TEST_KEY_RSA1024
@cli_key = OpenSSL::TestUtils::TEST_KEY_DSA1024