[ruby/openssl] x509cert: simplify test cases for Certificate.load_file
Remove files from test/openssl/fixtures/pkey/ which are not pkeys. The test cases for OpenSSL::X509::Certificate.load_file can simply use issue_cert and Tempfile. https://github.com/ruby/openssl/commit/11216b8bec
This commit is contained in:
parent
5412501e36
commit
f0095413a5
Binary file not shown.
@ -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-----
|
@ -1 +0,0 @@
|
||||
Hello World
|
@ -370,34 +370,53 @@ class OpenSSL::TestX509Certificate < OpenSSL::TestCase
|
||||
end
|
||||
|
||||
def test_load_file_empty_pem
|
||||
empty_path = Fixtures.file_path("pkey", "empty.pem")
|
||||
Tempfile.create("empty.pem") do |f|
|
||||
f.close
|
||||
|
||||
assert_raise(OpenSSL::X509::CertificateError) do
|
||||
OpenSSL::X509::Certificate.load_file(empty_path)
|
||||
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)
|
||||
cert1 = issue_cert(@ee1, @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 "/CN=www.codeotaku.com", certificates[0].subject.to_s
|
||||
assert_equal "/C=US/O=Let's Encrypt/CN=R3", certificates[1].subject.to_s
|
||||
assert_equal @ee1, certificates[0].subject
|
||||
assert_equal @ca, certificates[1].subject
|
||||
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", binmode: true) do |f|
|
||||
f.write cert.to_der
|
||||
f.close
|
||||
|
||||
certificates = OpenSSL::X509::Certificate.load_file(f.path)
|
||||
|
||||
# DER encoding can only contain one certificate:
|
||||
assert_equal 1, certificates.size
|
||||
assert_equal "/CN=www.codeotaku.com", certificates[0].subject.to_s
|
||||
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.txt") do |f|
|
||||
f.puts "not a certificate"
|
||||
f.close
|
||||
|
||||
assert_raise(OpenSSL::X509::CertificateError) do
|
||||
OpenSSL::X509::Certificate.load_file(fullchain_path)
|
||||
OpenSSL::X509::Certificate.load_file(f.path)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -24,10 +24,6 @@ module OpenSSL::TestUtils
|
||||
@file_cache[[category, name]] ||=
|
||||
File.read(File.join(__dir__, "fixtures", category, name + ".pem"))
|
||||
end
|
||||
|
||||
def file_path(category, name)
|
||||
File.join(__dir__, "fixtures", category, name)
|
||||
end
|
||||
end
|
||||
|
||||
module_function
|
||||
|
Loading…
x
Reference in New Issue
Block a user