[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
|
end
|
||||||
|
|
||||||
def test_load_file_empty_pem
|
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
|
assert_raise(OpenSSL::X509::CertificateError) do
|
||||||
OpenSSL::X509::Certificate.load_file(empty_path)
|
OpenSSL::X509::Certificate.load_file(f.path)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_load_file_fullchain_pem
|
def test_load_file_fullchain_pem
|
||||||
fullchain_path = Fixtures.file_path("pkey", "fullchain.pem")
|
cert1 = issue_cert(@ee1, @rsa2048, 1, [], nil, nil)
|
||||||
certificates = OpenSSL::X509::Certificate.load_file(fullchain_path)
|
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 2, certificates.size
|
||||||
assert_equal "/CN=www.codeotaku.com", certificates[0].subject.to_s
|
assert_equal @ee1, certificates[0].subject
|
||||||
assert_equal "/C=US/O=Let's Encrypt/CN=R3", certificates[1].subject.to_s
|
assert_equal @ca, certificates[1].subject
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_load_file_certificate_der
|
def test_load_file_certificate_der
|
||||||
fullchain_path = Fixtures.file_path("pkey", "certificate.der")
|
cert = issue_cert(@ca, @rsa2048, 1, [], nil, nil)
|
||||||
certificates = OpenSSL::X509::Certificate.load_file(fullchain_path)
|
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:
|
# DER encoding can only contain one certificate:
|
||||||
assert_equal 1, certificates.size
|
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
|
end
|
||||||
|
|
||||||
def test_load_file_fullchain_garbage
|
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
|
assert_raise(OpenSSL::X509::CertificateError) do
|
||||||
OpenSSL::X509::Certificate.load_file(fullchain_path)
|
OpenSSL::X509::Certificate.load_file(f.path)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -24,10 +24,6 @@ module OpenSSL::TestUtils
|
|||||||
@file_cache[[category, name]] ||=
|
@file_cache[[category, name]] ||=
|
||||||
File.read(File.join(__dir__, "fixtures", category, name + ".pem"))
|
File.read(File.join(__dir__, "fixtures", category, name + ".pem"))
|
||||||
end
|
end
|
||||||
|
|
||||||
def file_path(category, name)
|
|
||||||
File.join(__dir__, "fixtures", category, name)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
module_function
|
module_function
|
||||||
|
Loading…
x
Reference in New Issue
Block a user