summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-06 21:49:54 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-06 21:49:54 +0000
commitbebc39d13580fe890a8f5e6a698b7d90e72e6eae (patch)
tree5f5add145f085e34f251fb685191aa7e7000f941 /test
parente0bfe3254bc21a0644f6eb6e8b4c4e445d64159d (diff)
* ext/openssl/ossl_x509name.c: added X509::Name#hash_old as a wrapper
for X509_NAME_hash_old in OpenSSL 1.0.0. * test/openssl/test_x509name.rb (test_hash): make test pass with OpenSSL 1.0.0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@26840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/openssl/test_x509name.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/test/openssl/test_x509name.rb b/test/openssl/test_x509name.rb
index 8e13878b56..434aa18940 100644
--- a/test/openssl/test_x509name.rb
+++ b/test/openssl/test_x509name.rb
@@ -264,18 +264,24 @@ class OpenSSL::TestX509Name < Test::Unit::TestCase
assert_equal(OpenSSL::ASN1::PRINTABLESTRING, ary[4][2])
end
+ def name_hash(name)
+ # OpenSSL 1.0.0 uses SHA1 for canonical encoding (not just a der) of
+ # X509Name for X509_NAME_hash.
+ name.respond_to?(:hash_old) ? name.hash_old : name.hash
+ end
+
def test_hash
dn = "/DC=org/DC=ruby-lang/CN=www.ruby-lang.org"
name = OpenSSL::X509::Name.parse(dn)
d = Digest::MD5.digest(name.to_der)
expected = (d[0] & 0xff) | (d[1] & 0xff) << 8 | (d[2] & 0xff) << 16 | (d[3] & 0xff) << 24
- assert_equal(expected, name.hash)
+ assert_equal(expected, name_hash(name))
#
dn = "/DC=org/DC=ruby-lang/CN=baz.ruby-lang.org"
name = OpenSSL::X509::Name.parse(dn)
d = Digest::MD5.digest(name.to_der)
expected = (d[0] & 0xff) | (d[1] & 0xff) << 8 | (d[2] & 0xff) << 16 | (d[3] & 0xff) << 24
- assert_equal(expected, name.hash)
+ assert_equal(expected, name_hash(name))
end
end