mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
openssl: add some accessor methods for OCSP::CertificateId
* ext/openssl/ossl_ocsp.c (ossl_ocspcid_get_issuer_name_hash, ossl_ocspcid_get_issuer_key_hash, ossl_ocspcid_get_hash_algorithm): Add accessor methods OCSP::CertificateId#issuer_name_hash, #issuer_key_hash, #hash_algorithm. Based on a patch provided by Paul Kehrer <paul.l.kehrer@gmail.com>. [ruby-core:48062] [Feature #7181] * test/openssl/test_ocsp.rb: Test these new methods. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
58e8c9c895
commit
0a97832e6a
3 changed files with 110 additions and 8 deletions
|
@ -38,13 +38,29 @@ class OpenSSL::TestOCSP < OpenSSL::TestCase
|
|||
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 if defined?(OpenSSL::Digest::SHA256)
|
||||
end
|
||||
|
||||
def test_certificate_id_issuer_name_hash
|
||||
cid = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert)
|
||||
assert_equal OpenSSL::Digest::SHA1.hexdigest(@cert.issuer.to_der), cid.issuer_name_hash
|
||||
assert_equal "d91f736ac4dc3242f0fb9b77a3149bd83c5c43d0", cid.issuer_name_hash
|
||||
end
|
||||
|
||||
def test_certificate_id_issuer_key_hash
|
||||
cid = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert)
|
||||
assert_equal OpenSSL::Digest::SHA1.hexdigest(OpenSSL::ASN1.decode(@ca_cert.to_der).value[0].value[6].value[1].value), cid.issuer_key_hash
|
||||
assert_equal "d1fef9fbf8ae1bc160cbfa03e2596dd873089213", cid.issuer_key_hash
|
||||
end
|
||||
|
||||
def test_certificate_id_hash_algorithm
|
||||
cid_sha1 = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert, OpenSSL::Digest::SHA1.new)
|
||||
cid_sha256 = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert, OpenSSL::Digest::SHA256.new)
|
||||
assert_equal "sha1", cid_sha1.hash_algorithm
|
||||
assert_equal "sha256", cid_sha256.hash_algorithm
|
||||
end
|
||||
|
||||
def test_certificate_id_der
|
||||
cid = OpenSSL::OCSP::CertificateId.new(@cert, @ca_cert) # hash algorithm defaults to SHA-1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue