mirror of
https://github.com/chromium/crashpad.git
synced 2025-03-09 14:06:33 +00:00
commit test ssl certificate to testdata
Chromium requires build artifacts to be generated deterministically so commit a long-lived (10 years) test certificate to the repository. Change-Id: I7a6e2441f506196ca58fbbf757648fa0ac70bc9a Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/1872188 Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Scott Graham <scottmg@chromium.org>
This commit is contained in:
parent
cea103fb7d
commit
1b60c8172c
9
BUILD.gn
9
BUILD.gn
@ -103,15 +103,14 @@ if (crashpad_is_in_chromium || crashpad_is_in_fuchsia) {
|
||||
]
|
||||
|
||||
if (crashpad_use_boringssl_for_http_transport_socket) {
|
||||
deps += [ "util:generate_test_server_key" ]
|
||||
resources += [
|
||||
{
|
||||
path = "$root_out_dir/crashpad_util_test_cert.pem"
|
||||
dest = "crashpad_util_test_cert.pem"
|
||||
path = "util/net/testdata/crashpad_util_test_cert.pem"
|
||||
dest = "util/net/testdata/crashpad_util_test_cert.pem"
|
||||
},
|
||||
{
|
||||
path = "$root_out_dir/crashpad_util_test_key.pem"
|
||||
dest = "crashpad_util_test_key.pem"
|
||||
path = "util/net/testdata/crashpad_util_test_key.pem"
|
||||
dest = "util/net/testdata/crashpad_util_test_key.pem"
|
||||
},
|
||||
]
|
||||
}
|
||||
|
@ -505,17 +505,6 @@ static_library("util") {
|
||||
}
|
||||
}
|
||||
|
||||
if (crashpad_use_boringssl_for_http_transport_socket) {
|
||||
action("generate_test_server_key") {
|
||||
script = "net/generate_test_server_key.py"
|
||||
outputs = [
|
||||
"$root_out_dir/crashpad_util_test_cert.pem",
|
||||
"$root_out_dir/crashpad_util_test_key.pem",
|
||||
]
|
||||
data = outputs
|
||||
}
|
||||
}
|
||||
|
||||
if (!crashpad_is_android) {
|
||||
crashpad_executable("http_transport_test_server") {
|
||||
testonly = true
|
||||
@ -540,9 +529,6 @@ if (!crashpad_is_android) {
|
||||
}
|
||||
|
||||
if (crashpad_use_boringssl_for_http_transport_socket) {
|
||||
data_deps = [
|
||||
":generate_test_server_key",
|
||||
]
|
||||
defines = [ "CRASHPAD_USE_BORINGSSL" ]
|
||||
|
||||
if (crashpad_is_in_chromium || crashpad_is_in_fuchsia) {
|
||||
|
@ -16,13 +16,32 @@
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
# GN requires a Python script for actions, so this just wraps the openssl
|
||||
# command needed to generate a test private key and a certificate. These names
|
||||
# must correspond to what TestPaths::BuildArtifact() constructs.
|
||||
key = 'crashpad_util_test_key.pem'
|
||||
cert = 'crashpad_util_test_cert.pem'
|
||||
subprocess.check_call(
|
||||
['openssl', 'req', '-x509', '-nodes', '-subj', '/CN=localhost',
|
||||
'-days', '365', '-newkey', 'rsa:2048', '-keyout', key, '-out', cert],
|
||||
stderr=open(os.devnull, 'w'))
|
||||
testdata = os.path.join(os.path.dirname(__file__), 'testdata')
|
||||
key = os.path.join(testdata, 'crashpad_util_test_key.pem')
|
||||
cert = os.path.join(testdata, 'crashpad_util_test_cert.pem')
|
||||
|
||||
with open(cert, 'w') as cert_file, open(key, 'w') as key_file:
|
||||
MESSAGE = 'DO NOT EDIT: This file was auto-generated by ' + __file__ + '\n\n'
|
||||
cert_file.write(MESSAGE)
|
||||
key_file.write(MESSAGE)
|
||||
|
||||
proc = subprocess.Popen(
|
||||
['openssl', 'req', '-x509', '-nodes', '-subj', '/CN=localhost',
|
||||
'-days', '3650', '-newkey', 'rsa:2048', '-keyout', '-'],
|
||||
stderr=open(os.devnull, 'w'), stdout=subprocess.PIPE)
|
||||
|
||||
contents = proc.communicate()[0]
|
||||
dest = sys.stderr
|
||||
for line in contents.splitlines(True):
|
||||
if line.startswith("-----BEGIN PRIVATE KEY-----"):
|
||||
dest = key_file
|
||||
elif line.startswith("-----BEGIN CERTIFICATE-----"):
|
||||
dest = cert_file
|
||||
elif line.startswith("-----END"):
|
||||
dest.write(line)
|
||||
dest = sys.stderr
|
||||
continue
|
||||
|
||||
dest.write(line)
|
||||
|
@ -81,15 +81,14 @@ class HTTPTransportTestFixture : public MultiprocessExec {
|
||||
SetChildCommand(server_path, nullptr);
|
||||
} else {
|
||||
std::vector<std::string> args;
|
||||
cert_ = TestPaths::BuildArtifact(FILE_PATH_LITERAL("util"),
|
||||
FILE_PATH_LITERAL("cert"),
|
||||
TestPaths::FileType::kCertificate);
|
||||
cert_ = TestPaths::TestDataRoot().Append(
|
||||
FILE_PATH_LITERAL("util/net/testdata/crashpad_util_test_cert.pem"));
|
||||
args.push_back(ToUTF8IfWin(cert_.value()));
|
||||
args.emplace_back(ToUTF8IfWin(
|
||||
TestPaths::BuildArtifact(FILE_PATH_LITERAL("util"),
|
||||
FILE_PATH_LITERAL("key"),
|
||||
TestPaths::FileType::kCertificate)
|
||||
.value()));
|
||||
args.emplace_back(
|
||||
ToUTF8IfWin(TestPaths::TestDataRoot()
|
||||
.Append(FILE_PATH_LITERAL(
|
||||
"util/net/testdata/crashpad_util_test_key.pem"))
|
||||
.value()));
|
||||
SetChildCommand(server_path, &args);
|
||||
scheme_and_host_ = "https://localhost";
|
||||
}
|
||||
@ -371,6 +370,9 @@ TEST_P(HTTPTransport, Upload33k_LengthUnknown) {
|
||||
// lacking libcrypto.so.1.1, so disabled there for now. On Mac, they could also
|
||||
// likely be enabled relatively easily, if HTTPTransportMac learned to respect
|
||||
// the user-supplied cert.
|
||||
//
|
||||
// If tests with boringssl are failing because of expired certificates, try
|
||||
// re-running generate_test_server_key.py.
|
||||
INSTANTIATE_TEST_SUITE_P(HTTPTransport,
|
||||
HTTPTransport,
|
||||
testing::Values(FILE_PATH_LITERAL("http"),
|
||||
|
21
util/net/testdata/crashpad_util_test_cert.pem
vendored
Normal file
21
util/net/testdata/crashpad_util_test_cert.pem
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
DO NOT EDIT: This file was auto-generated by ./util/net/generate_test_server_key.py
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDCDCCAfCgAwIBAgITF9h5BaPfzje590HrE1UF+f9PVDANBgkqhkiG9w0BAQsF
|
||||
ADAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTkxMDMwMjIyNDE4WhcNMjkxMDI3
|
||||
MjIyNDE4WjAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUA
|
||||
A4IBDwAwggEKAoIBAQCrT0iXfixTPH6nBxgvCgiKkSTeVTSvfhcoUYA7yPZj/1XH
|
||||
VYfECoGyvFN4/5g/GL4c721XZmI92Twg2Oa3HksRY8VlNXGNwqbt+wftSLOz+dOE
|
||||
bsJ3+NsBtXuaIphFPA9u0h+yrplBtM/dxLTW5v8e3OuEMBXa+94dp4y78u21UkzM
|
||||
uWB66tduT7/f0S9P68XhksYwwwvCn5lu258wHKNM5mb4CTwOcUgyyprlS2FS3Fsx
|
||||
pIsg9wDfQy5rHINxcZGZZ8Ht4KOJ7egwhfiP4XEiLK6+5DZoOQtrkEUFfLL4i5sx
|
||||
+eOeD12GP+Dxs6KHYoejGftNx/7U0E2GVMWwWzstAgMBAAGjUzBRMB0GA1UdDgQW
|
||||
BBT8y2bnyty/YWcvzlE9JIAPG7/q4DAfBgNVHSMEGDAWgBT8y2bnyty/YWcvzlE9
|
||||
JIAPG7/q4DAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCF+R21
|
||||
Cd1fgITfhYJE7JAV3jLfact5h/2MP5UwgtODfZt2Idwxs8qqwPB0g7WQqEjrPfTv
|
||||
6y90AEwr2L8e+wXGnTKtWelCqzztFGov4Hj+rd158eOmEo0IPGrx8dwqLQbw91uU
|
||||
cq4onf5iuHkOt99TmIqVYn2zaOHbOF2YYyU052X+9XE/Z5fhibX5THfEG3w0+XM6
|
||||
aKEGIM/MxfVaLA8yDXFxhDXHBrH+QAAXTQaC8exnp+po/psyJARD0sM509MeTdAv
|
||||
po9JyIzesNAsLW4I7kL8I5i8e+WN79lX2jgwaWMxPmHadYN3mtoltpmFM40oFN6q
|
||||
8wjuU07eN/G79c3B
|
||||
-----END CERTIFICATE-----
|
30
util/net/testdata/crashpad_util_test_key.pem
vendored
Normal file
30
util/net/testdata/crashpad_util_test_key.pem
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
DO NOT EDIT: This file was auto-generated by ./util/net/generate_test_server_key.py
|
||||
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCrT0iXfixTPH6n
|
||||
BxgvCgiKkSTeVTSvfhcoUYA7yPZj/1XHVYfECoGyvFN4/5g/GL4c721XZmI92Twg
|
||||
2Oa3HksRY8VlNXGNwqbt+wftSLOz+dOEbsJ3+NsBtXuaIphFPA9u0h+yrplBtM/d
|
||||
xLTW5v8e3OuEMBXa+94dp4y78u21UkzMuWB66tduT7/f0S9P68XhksYwwwvCn5lu
|
||||
258wHKNM5mb4CTwOcUgyyprlS2FS3FsxpIsg9wDfQy5rHINxcZGZZ8Ht4KOJ7egw
|
||||
hfiP4XEiLK6+5DZoOQtrkEUFfLL4i5sx+eOeD12GP+Dxs6KHYoejGftNx/7U0E2G
|
||||
VMWwWzstAgMBAAECggEANEgJDnrqSijfOlh27/wu6SMszlHQt3JS3PIqoZROZexK
|
||||
IICg45qVRJgnHXlb3H3Pn4MOqqrLdraynA+2MdKj9FWvq5io5CuwyFZhb/BNL7Mh
|
||||
83veC8E+DYJ2i27da9vNlfO4ys5wZVYqTjM3QZLT73Zaxkfqk59khUZaNA4Kr9hD
|
||||
EBs9gaDMATyIAN5eAbYTVxgobZ+7OjCNmQ46x2KOg6Wwg/ZQEXtqFoDB3aCNVfTz
|
||||
OxlLb5XWF9PvqW0p1wFpF0XEDipkVtjorjp3mHXRuq0gS9Gev1ChQej1yVqMee9J
|
||||
jnVK0k7qZw4WLStxBjHqWlBnYLcXLb4f2c6cssA6YQKBgQDfqtYFjU3HCeoRaAoP
|
||||
MWTSW2PX8fitnp0O4e1yHymDgtirepvPL8pa7rTBkHuR6lfXNjY0qD0NPsbr81nG
|
||||
kNv/btLOK1YPw6f468S6DMsOzGPIWWE+jkhF/1iUTMUQLvOM3lCLEi0ayZ26yx1T
|
||||
F2wO2u1kGc1eJ8wn6TccsYiguQKBgQDEEt7eGQMkxLFV4N5e5iunHBvQg+EgfLZZ
|
||||
bnuftwruqafmCht/BZgmKQD+e6B6h3nC/iaKET101zpWL95x7Ayd1+mg6Rmdzl87
|
||||
ctftScrNLYUTl36BuhP82Y9HvLgf20xrEwBGivc0QtqhMAz/DJoknEM/29LmWEsZ
|
||||
VwvWQxhsFQKBgQCrOcJMT8d6Fznsh2QkC2EutK3ztBb2+xUrPoQjOH30YqfyZpN/
|
||||
Agv8nv8bq7sdknQamjLXDvBmAmgQW6SfoWf53OJe2Mgym0stAXkCIScWNhwxVVNf
|
||||
q1bi1z79kOPPptHmRo8MWCbVegFY7YOOh8C+gpT3a9VPPlJJP31kZvi8aQKBgDcD
|
||||
ZGzEb9FdLrR9x2axBgZ5KIS0u/G1jCRDj4Qcg4C7MVSl+VkGZM4wKws7/KbkZBGF
|
||||
5aJPfALQcJnGDI/CPzf6YJ65SGqygJ3ZdyQo1DIFV5VLqD8Vyo3jLQRfuvmVOjfA
|
||||
uQ8R5pJPP7CCHuNg0c772RKNxvrCQy/08GlJogyRAoGAK6A/8r/iDRJipJSOZdCl
|
||||
MreiJvjFOQrORhy+TeDGn02EHK0lijzj1I7SlgfUDLWVnQpBlk12wV6aHGUj2NlG
|
||||
Ctk15MFs6gggPV1Fmt6PeviE1e9E4+SDWX35Jhe8JDIqxdgZ0HW/S9Nl4Xt3owhw
|
||||
/DSneMQd7X0Tdq7lesJjd3o=
|
||||
-----END PRIVATE KEY-----
|
Loading…
x
Reference in New Issue
Block a user