diff options
author | thekuwayama <thekuwayama@gmail.com> | 2019-11-11 18:37:16 +0900 |
---|---|---|
committer | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2019-11-11 21:48:47 +0900 |
commit | 5cd4bfbc9cf84e92367ff10792be2b0dede3a4a1 (patch) | |
tree | fdacbd0a4a3f7e69f36bf4c6170cd742760d0cbd | |
parent | fccdac6c4b73069d4c3f79ee958c8f4a50d89aad (diff) | |
download | ruby-openssl-5cd4bfbc9cf84e92367ff10792be2b0dede3a4a1.tar.gz |
add invalid extension test
-rw-r--r-- | test/test_x509cert.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/test_x509cert.rb b/test/test_x509cert.rb index f867b68e..19c22efc 100644 --- a/test/test_x509cert.rb +++ b/test/test_x509cert.rb @@ -117,6 +117,27 @@ class OpenSSL::TestX509Certificate < OpenSSL::TestCase no_exts_cert = issue_cert(@ca, @rsa2048, 1, [], nil, nil) assert_equal nil, no_exts_cert.authority_key_identifier assert_equal nil, no_exts_cert.subject_key_identifier + assert_equal nil, no_exts_cert.crl_uris + end + + def test_invalid_extension + integer = OpenSSL::ASN1::Integer.new(0) + invalid_exts_cert = generate_cert(@ee1, @rsa1024, 1, nil) + ["subjectKeyIdentifier", "authorityKeyIdentifier", "crlDistributionPoints"].each do |ext| + invalid_exts_cert.add_extension( + OpenSSL::X509::Extension.new(ext, integer.to_der) + ) + end + + assert_raise(OpenSSL::ASN1::ASN1Error, "invalid extension") { + invalid_exts_cert.authority_key_identifier + } + assert_raise(OpenSSL::ASN1::ASN1Error, "invalid extension") { + invalid_exts_cert.subject_key_identifier + } + assert_raise(OpenSSL::ASN1::ASN1Error, "invalid extension") { + invalid_exts_cert.crl_uris + } end def test_sign_and_verify_rsa_sha1 |