diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2024-07-04 17:05:05 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2024-07-04 17:05:05 +0900 |
commit | 111a6a955f70d44a61b09d94c654992594b011d0 (patch) | |
tree | 316fdc1d649f51cf4e40d18ebe8ce5330b20c268 | |
parent | c959729bd2d8b1d1a9da116b84ec590913bf56bf (diff) | |
download | ruby-openssl-111a6a955f70d44a61b09d94c654992594b011d0.tar.gz |
test/openssl/test_x509cert.rb: simplify test cases for .load_file
Remove files from test/openssl/fixtures/pkey that are not pkeys.
The test cases for Certificate.load_file don't require a static
fixtures. Use tempfile to make them self-contained.
-rw-r--r-- | test/openssl/fixtures/pkey/certificate.der | bin | 1325 -> 0 bytes | |||
-rw-r--r-- | test/openssl/fixtures/pkey/empty.der | 0 | ||||
-rw-r--r-- | test/openssl/fixtures/pkey/empty.pem | 0 | ||||
-rw-r--r-- | test/openssl/fixtures/pkey/fullchain.pem | 56 | ||||
-rw-r--r-- | test/openssl/fixtures/pkey/garbage.txt | 1 | ||||
-rw-r--r-- | test/openssl/test_x509cert.rb | 52 |
6 files changed, 36 insertions, 73 deletions
diff --git a/test/openssl/fixtures/pkey/certificate.der b/test/openssl/fixtures/pkey/certificate.der Binary files differdeleted file mode 100644 index 7d44df84..00000000 --- a/test/openssl/fixtures/pkey/certificate.der +++ /dev/null diff --git a/test/openssl/fixtures/pkey/empty.der b/test/openssl/fixtures/pkey/empty.der deleted file mode 100644 index e69de29b..00000000 --- a/test/openssl/fixtures/pkey/empty.der +++ /dev/null diff --git a/test/openssl/fixtures/pkey/empty.pem b/test/openssl/fixtures/pkey/empty.pem deleted file mode 100644 index e69de29b..00000000 --- a/test/openssl/fixtures/pkey/empty.pem +++ /dev/null diff --git a/test/openssl/fixtures/pkey/fullchain.pem b/test/openssl/fixtures/pkey/fullchain.pem deleted file mode 100644 index 624785d3..00000000 --- a/test/openssl/fixtures/pkey/fullchain.pem +++ /dev/null @@ -1,56 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFKTCCBBGgAwIBAgISBFspP+tJfRaC6xprreB4Rp9KMA0GCSqGSIb3DQEBCwUA -MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD -EwJSMzAeFw0yMTA0MTcwMjQzMTlaFw0yMTA3MTYwMjQzMTlaMBwxGjAYBgNVBAMT -EXd3dy5jb2Rlb3Rha3UuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC -AQEAx6h5vNPfkkrtYWxn1PWDDLRAwrGmZbkYPttjHBRSwTcd7rsIX4PcSzw9fWxm -K4vIkAYoKAElIvsSE3xRUjyzMrACfdhK5J8rG25fq94iVyoYaNBQV0WMJkO6X47s -hGeIKkK91ohR5b2tMw3/z9zELP0TVo2TPG7rYsBZm34myldqDA8yVEBEOa+Qdpda -9xewPhkkdpAU55qgWTrD21m7vGq9WpsBz4wNKnwVsaugtkRH82VPIfaL4ZI9kox6 -QoPWe/tHUBdlDkuT7ud77eLAWnC/5Clg28/9GU/Z8Nj8SrrKuXL6WUXmxxaAhWUR -Qx4VblZeuIpwd0nHyP0hz4CWKQIDAQABo4ICTTCCAkkwDgYDVR0PAQH/BAQDAgWg -MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0G -A1UdDgQWBBTKiSGZuLFSIG2JPbFSZa9TxMu5WTAfBgNVHSMEGDAWgBQULrMXt1hW -y65QCUDmH6+dixTCxjBVBggrBgEFBQcBAQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6 -Ly9yMy5vLmxlbmNyLm9yZzAiBggrBgEFBQcwAoYWaHR0cDovL3IzLmkubGVuY3Iu -b3JnLzAcBgNVHREEFTATghF3d3cuY29kZW90YWt1LmNvbTBMBgNVHSAERTBDMAgG -BmeBDAECATA3BgsrBgEEAYLfEwEBATAoMCYGCCsGAQUFBwIBFhpodHRwOi8vY3Bz -LmxldHNlbmNyeXB0Lm9yZzCCAQUGCisGAQQB1nkCBAIEgfYEgfMA8QB3AJQgvB6O -1Y1siHMfgosiLA3R2k1ebE+UPWHbTi9YTaLCAAABeN3s/lgAAAQDAEgwRgIhAKFY -Q+vBe3zyeBazxp8kVN7oLvcQ6Y9PPz199tVhYnEbAiEAhU/xdbQaY/6b93h+7NTF -sPG7X4lq/3UoNgoXcAVGZgoAdgD2XJQv0XcwIhRUGAgwlFaO400TGTO/3wwvIAvM -TvFk4wAAAXjd7P5OAAAEAwBHMEUCIQDWd79+jWaGuf3acm5/yV95jL2KvzeGFfdU -HZlKIeWFmAIgDSZ6ug7AyhYNKjzFV4ZSICln+L4yI92EpOa+8gDG6/0wDQYJKoZI -hvcNAQELBQADggEBAHIhMYm06lLFmJL+cfIg5fFEmFNdHmmZn88Hypv4/MtmqTKv -5asF/z3TvhW4hX2+TY+NdcqGT7cZFo/ZF/tS6oBXPgmBYM1dEfp2FAdnGNOySC5Y -7RC4Uk9TUpP2g101YBmj6dQKQluAwIQk+gO4MSlHE0J0U/lMpjvrLWcuHbV4/xWJ -IdM+iPq8GeYt5epYmNc7XeRIgv7V3RxDQdBv2OVM5mtPVerdiO0ISrdbe5mvz2+Z -rhSg+EJNHlmMwcq5HqtMwS8M8Ax+vLmWCOkPWXhyV8wQaQcFjZJfpIGUvCnMTqsh -kSIYXq2CbSDUUFRFssNN6EdVms0KnmW3BUu0xAk= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEZTCCA02gAwIBAgIQQAF1BIMUpMghjISpDBbN3zANBgkqhkiG9w0BAQsFADA/ -MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT -DkRTVCBSb290IENBIFgzMB4XDTIwMTAwNzE5MjE0MFoXDTIxMDkyOTE5MjE0MFow -MjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxCzAJBgNVBAMT -AlIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuwIVKMz2oJTTDxLs -jVWSw/iC8ZmmekKIp10mqrUrucVMsa+Oa/l1yKPXD0eUFFU1V4yeqKI5GfWCPEKp -Tm71O8Mu243AsFzzWTjn7c9p8FoLG77AlCQlh/o3cbMT5xys4Zvv2+Q7RVJFlqnB -U840yFLuta7tj95gcOKlVKu2bQ6XpUA0ayvTvGbrZjR8+muLj1cpmfgwF126cm/7 -gcWt0oZYPRfH5wm78Sv3htzB2nFd1EbjzK0lwYi8YGd1ZrPxGPeiXOZT/zqItkel -/xMY6pgJdz+dU/nPAeX1pnAXFK9jpP+Zs5Od3FOnBv5IhR2haa4ldbsTzFID9e1R -oYvbFQIDAQABo4IBaDCCAWQwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E -BAMCAYYwSwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5p -ZGVudHJ1c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTE -p7Gkeyxx+tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEE -AYLfEwEBATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2Vu -Y3J5cHQub3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0 -LmNvbS9EU1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYf -r52LFMLGMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjANBgkqhkiG9w0B -AQsFAAOCAQEA2UzgyfWEiDcx27sT4rP8i2tiEmxYt0l+PAK3qB8oYevO4C5z70kH -ejWEHx2taPDY/laBL21/WKZuNTYQHHPD5b1tXgHXbnL7KqC401dk5VvCadTQsvd8 -S8MXjohyc9z9/G2948kLjmE6Flh9dDYrVYA9x2O+hEPGOaEOa1eePynBgPayvUfL -qjBstzLhWVQLGAkXXmNs+5ZnPBxzDJOLxhF2JIbeQAcH5H0tZrUlo5ZYyOqA7s9p -O5b85o3AM/OJ+CktFBQtfvBhcJVd9wvlwPsk+uyOy2HI7mNxKKgsBTt375teA2Tw -UdHkhVNcsAKX1H7GNNLOEADksd86wuoXvg== ------END CERTIFICATE----- diff --git a/test/openssl/fixtures/pkey/garbage.txt b/test/openssl/fixtures/pkey/garbage.txt deleted file mode 100644 index 557db03d..00000000 --- a/test/openssl/fixtures/pkey/garbage.txt +++ /dev/null @@ -1 +0,0 @@ -Hello World diff --git a/test/openssl/test_x509cert.rb b/test/openssl/test_x509cert.rb index 85c978f0..a77d7095 100644 --- a/test/openssl/test_x509cert.rb +++ b/test/openssl/test_x509cert.rb @@ -314,34 +314,54 @@ class OpenSSL::TestX509Certificate < OpenSSL::TestCase end def test_load_file_empty_pem - empty_path = Fixtures.file_path("pkey", "empty.pem") - assert_raise(OpenSSL::X509::CertificateError) do - OpenSSL::X509::Certificate.load_file(empty_path) + Tempfile.create("empty.pem") do |f| + f.close + + assert_raise(OpenSSL::X509::CertificateError) do + OpenSSL::X509::Certificate.load_file(f.path) + end end end def test_load_file_fullchain_pem - fullchain_path = Fixtures.file_path("pkey", "fullchain.pem") - certificates = OpenSSL::X509::Certificate.load_file(fullchain_path) - assert_equal 2, certificates.size - assert_equal "/CN=www.codeotaku.com", certificates[0].subject.to_s - assert_equal "/C=US/O=Let's Encrypt/CN=R3", certificates[1].subject.to_s + cert1 = issue_cert(@ca, @rsa2048, 1, [], nil, nil) + cert2 = issue_cert(@ca, @rsa2048, 1, [], nil, nil) + + Tempfile.create("fullchain.pem") do |f| + f.puts cert1.to_pem + f.puts cert2.to_pem + f.close + + certificates = OpenSSL::X509::Certificate.load_file(f.path) + assert_equal 2, certificates.size + assert_equal cert1.to_der, certificates[0].to_der + assert_equal cert2.to_der, certificates[1].to_der + end end def test_load_file_certificate_der - fullchain_path = Fixtures.file_path("pkey", "certificate.der") - certificates = OpenSSL::X509::Certificate.load_file(fullchain_path) + cert = issue_cert(@ca, @rsa2048, 1, [], nil, nil) + Tempfile.create("certificate.der") do |f| + f.write cert.to_der + f.puts "not a certificate" + f.close - # DER encoding can only contain one certificate: - assert_equal 1, certificates.size - assert_equal "/CN=www.codeotaku.com", certificates[0].subject.to_s + certificates = OpenSSL::X509::Certificate.load_file(f.path) + + # DER encoding can only contain one certificate: + assert_equal 1, certificates.size + assert_equal cert.to_der, certificates[0].to_der + end end def test_load_file_fullchain_garbage - fullchain_path = Fixtures.file_path("pkey", "garbage.txt") + Tempfile.create("garbage.pem") do |f| + f.puts "not a certificate" + f.close - assert_raise(OpenSSL::X509::CertificateError) do - OpenSSL::X509::Certificate.load_file(fullchain_path) + assert_raise(OpenSSL::X509::CertificateError) do + OpenSSL::X509::Certificate.load_file(f.path) + end end end |