diff options
author | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-06 21:19:00 +0000 |
---|---|---|
committer | tenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-06 21:19:00 +0000 |
commit | e6a8cbc2a2be064da4cbef3b0b310c1cb8ed8b93 (patch) | |
tree | 648eae9e6bf885b9a752b57917d94df07c62ec25 /test/openssl | |
parent | 967e92af874b33b739c349633f091033645f831e (diff) | |
download | ruby-e6a8cbc2a2be064da4cbef3b0b310c1cb8ed8b93.tar.gz |
* test/openssl/test_ocsp.rb: adding test for r29699. Thanks Elise
Huard! [ruby-core:32460]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/openssl')
-rw-r--r-- | test/openssl/test_ocsp.rb | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/test/openssl/test_ocsp.rb b/test/openssl/test_ocsp.rb new file mode 100644 index 0000000000..c2bd155a18 --- /dev/null +++ b/test/openssl/test_ocsp.rb @@ -0,0 +1,55 @@ +begin + require "openssl" + require_relative "utils" +rescue LoadError +end +require "test/unit" + +if defined?(OpenSSL) + +class OpenSSL::TestOCSP < Test::Unit::TestCase + def setup + ca_subj = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=TestCA") + ca_key = OpenSSL::TestUtils::TEST_KEY_RSA1024 + ca_serial = 0xabcabcabcabc + + subj = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=TestCert") + @key = OpenSSL::TestUtils::TEST_KEY_RSA1024 + serial = 0xabcabcabcabd + + now = Time.at(Time.now.to_i) # suppress usec + dgst = OpenSSL::Digest::SHA1.new + + @ca_cert = OpenSSL::TestUtils.issue_cert( + ca_subj, ca_key, ca_serial, now, now+3600, [], nil, nil, dgst) + @cert = OpenSSL::TestUtils.issue_cert( + subj, @key, serial, now, now+3600, [], @ca_cert, nil, dgst) + end + + def teardown + end + + def test_new_certificate_id + cid = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert) + assert_kind_of OpenSSL::OCSP::CertificateId, cid + assert_equal @cert.serial, cid.serial + end + + def test_new_certificate_id_with_digest + cid = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert, OpenSSL::Digest::SHA256.new) + assert_kind_of OpenSSL::OCSP::CertificateId, cid + assert_equal @cert.serial, cid.serial + end + + def test_new_ocsp_request + request = OpenSSL::OCSP::Request.new + cid = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert, OpenSSL::Digest::SHA1.new) + request.add_certid(cid) + request.sign(@cert, @key, [@cert]) + assert_kind_of OpenSSL::OCSP::Request, request + # in current implementation not same instance of certificate id, but should contain same data + assert_equal cid.serial, request.certid.first.serial + end +end + +end |