Skip to content

Commit 35e8272

Browse files
authored
upgrade certificates (#1849)
1 parent 907782f commit 35e8272

File tree

4 files changed

+104
-98
lines changed

4 files changed

+104
-98
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import 'dart:convert';
2+
3+
List<int> sslKey = utf8.encode(r'''
4+
-----BEGIN ENCRYPTED PRIVATE KEY-----
5+
MIIFJTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQyo3SRrssK8PzbuTA
6+
1qXVggICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEOHOKIfFvvowQBax
7+
0iX1HiYEggTA7izMZ647ptWrKcavuEjmU91V/IZBd5Qf+J9L44kJKbJxOZjrLIPl
8+
u52u4Bu/aCynFMO/R2WDxfNotHOkoQGZLfexH6snecAK9H0++jsbakEGpks3N/v+
9+
R606v1LTtU0z/jOYP80le/ueX/H2plr2QA9RZaidMKP8zRJBx8pnSmPfZMRn6NRI
10+
0QIQFJTaba7gBH45ZxxZ+0Yy+fcc3m0flhI3Wz2Gkbe8IIHyWRyQ1scEeGRR8Bed
11+
l/7GWQREIO8ycEd+7vRnlb5h1JhwYKknHD0EPoKu4ARe8U/6ujZhj/0jG2AgDMwY
12+
Ar/KkVlDsOeYpr8lbWs+/RjZefQJdU3upVvwO26MD2IYQcFa/oUnDRoX3T4eKnAk
13+
tph2uWJhjYXk4UwyOP4AUms5s7s3EztQei3WMpxjGquD5wZnz53A17iyPhEoSwyE
14+
wpSDSdRmpI9+e/qS9404zlfVVYrDcW/6I48ATYfXo2CyHkLE4Ilv1HMelO20TFuI
15+
Sqh1U211m0WYKZvrdBSBL1YXzjyt3/YyVsN2Md16k9UJj5JRKYJB/0ENbu/DdVjo
16+
se1gO2tRet5iaxrTmPvNjEgDwqDWgC6oKODK8UVBdMnMFN51edXnecQPpxFy/Cg1
17+
PrwNxgsQhNHLbZzQuQ2hrt4WJ4gHsbN4T/CXcJMg/MCFSKwxNLEr5jd6fqkDyQVz
18+
ofmDyJpRY1VL5vdzvDIf/VKAM+gW8Llw4f5uBidtvs6WYrVzjJQv+A4C4u/9fhn7
19+
WPvSrVMRHPRR1aysZkJD8xCZLlhWT+WVJsPo1HEz8y+2NWC9gJEhqeKlF5kzt1bC
20+
Sw7OXv+3mmtp3I03tqdnYqLlyKbx0+/6cKOyuOlINjOu3ljyLAeLXA5T7RGMTe+h
21+
1ZyKuZvvdoFGlzduEsLDyU/Pp3KkkYWTp940ViwTIwQgTaw/nvg/zyl4neGovf22
22+
6XQTkAVBFZdU64G4lFUrQ8b7eS80RzhN3MGkfqFPnpubS2NjZWdUlivXnR9yXYYz
23+
mBICZ0VbUNkjt8pf1l6L6wGhYkGzSmplrhpS5M0n3upktiJZPqg4yiEF06OnPIFd
24+
80EZ/OIaFybyszKNgJz3aCX1YLdby51AJFrh8rJDoKY20J8ZvUH62N97rBUzl8SS
25+
1NujvULSA1JXVDf3aHzB7T90z4p6UOCZ/sXiC/9iGPx79X8mMOdLEB5TzMp0X5P1
26+
xlHcYXfdfAsojM8nGPp816xOTouMngTKNIsahbyGShbFQ7HIWoa0z1yXbMAb0v2i
27+
YR45w3GHH2iJ/qU54ZB1cyXU0DBafdEhel48UfzFiUXMbisDgbZeRwX4g/dBwLZd
28+
K3h039yJlUMIpQzj7XGs70aMRRiXW8Xc0pw9h4lbW91TbI6CXXM2iGYZCoj5IWTp
29+
s4mNlHFOpjVuFVWWcDjtW5x8qR4+/4YTP6IyVUoWUm8sINx5XPGLA2aIIFY93qTR
30+
ZrVv0s5Nf1pqB6LJOwO1SN9kINZFbEO2zsrxlCEu81QhKrNHVKkh+nVbaIPHPg3u
31+
4y9lPcob24z/r4cvDnFHY7TtMXaReCZ6vTbuyl0mDrfHocsxON1LwdEOqg2pLqdB
32+
Jc1sSXYAzMWN8hYh/tWpQCoH76l/CzYxpw==
33+
-----END ENCRYPTED PRIVATE KEY-----
34+
''');
35+
36+
List<int> sslCert = utf8.encode(r'''
37+
-----BEGIN CERTIFICATE-----
38+
MIIDBzCCAe+gAwIBAgIUNUibD3eVBRhGMNDMTBN2+42GesEwDQYJKoZIhvcNAQEL
39+
BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MCAXDTI1MTExMDEyMDU0NVoYDzIxMjUx
40+
MDE3MTIwNTQ1WjAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEB
41+
AQUAA4IBDwAwggEKAoIBAQC7OkgNqT/jT2VqpSW/kh5fapcHERf9c9yzFz3tfAAM
42+
5OndrQgLLuSvwdZLiBydxKxoWko3EbbxMtejYfpnkjc3qCw/Uo+c+jKERFqkLiR9
43+
e9EPSF7GrfRhBaTj9s1WNE5Es8caxW4/dcVwiQ5k0XyxyVADxN6BV3jTkTRd3caB
44+
KNcLrj7XGu1UPl8F3NjEVMREe176pVDHexWfockkDsW0lDroyBBixK1ZHDxCOQhl
45+
Rv3C8U0ZGfb9wsbXvd+u1+RAwOmyh/Z4zwZ3xuQVq0rzlT7BRbfRCEVXDMbT4oP/
46+
fWQK4VNDcM0BE1Zl4Dzwy+AMzWQK3NeWgYJD+cTx2qgxAgMBAAGjTzBNMCwGA1Ud
47+
EQQlMCOCCWxvY2FsaG9zdIcEfwAAAYcQAAAAAAAAAAAAAAAAAAAAATAdBgNVHQ4E
48+
FgQU2ts6jvn5ZbXbdFmFKUm/rvjnUoIwDQYJKoZIhvcNAQELBQADggEBAFXDnzDd
49+
4HvLzPz/qXEE5wxt3fyVCCWhzTZZ/ig+9ODWyqJwFmajXsMQdoIGwcTQx13w6dAC
50+
Sd6JAr/s6eamL3L1Gs7dOY3aXzVW5jo0O/589hW5I9IRc3Ghs+PIlBnBmp590z8M
51+
Q055Y9jYdMxXBajiY0LaEVQN4Onox0GRxW7Dvn7fTY2MXda/Pm8P0B1jm05zB2FB
52+
aHhO9h+OQGIdKhzwAcFW07mOBmIjQTXUx5CuEarrHfjys2Z/oPlT4AO7D/UbwYcQ
53+
/0eNuV2vPWB+WMrumT5YlTkHX7R6Dap/vfyEJ/ZrpAasquW+0Nmvt4SFsFJs7uO1
54+
xvGl/OyQCYONF5E=
55+
-----END CERTIFICATE-----
56+
''');

pkgs/http_multi_server/test/http_multi_server_test.dart

Lines changed: 5 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// BSD-style license that can be found in the LICENSE file.
44

55
import 'dart:async';
6-
import 'dart:convert';
76
import 'dart:io';
87

98
import 'package:http/http.dart' as http;
@@ -12,6 +11,8 @@ import 'package:http_multi_server/http_multi_server.dart';
1211
import 'package:http_multi_server/src/utils.dart';
1312
import 'package:test/test.dart';
1413

14+
import 'cert.dart' show sslCert, sslKey;
15+
1516
void main() {
1617
group('with multiple HttpServers', () {
1718
late HttpMultiServer multiServer;
@@ -252,9 +253,9 @@ void main() {
252253
late SecurityContext context;
253254
setUp(() async {
254255
context = SecurityContext()
255-
..setTrustedCertificatesBytes(_sslCert)
256-
..useCertificateChainBytes(_sslCert)
257-
..usePrivateKeyBytes(_sslKey, password: 'dartdart');
256+
..setTrustedCertificatesBytes(sslCert)
257+
..useCertificateChainBytes(sslCert)
258+
..usePrivateKeyBytes(sslKey, password: 'dartdart');
258259
client = http.IOClient(HttpClient(context: context));
259260
});
260261
test('listens on all localhost interfaces for "localhost"', () async {
@@ -322,97 +323,3 @@ Future<String> _read(HttpServer server) => http.read(_urlFor(server));
322323
/// Returns the URL for the root of [server].
323324
Uri _urlFor(HttpServer server) =>
324325
Uri.http('${server.address.host}:${server.port}', '/');
325-
326-
final _sslCert = utf8.encode('''
327-
-----BEGIN CERTIFICATE-----
328-
MIIDZDCCAkygAwIBAgIBATANBgkqhkiG9w0BAQsFADAgMR4wHAYDVQQDDBVpbnRl
329-
cm1lZGlhdGVhdXRob3JpdHkwHhcNMTUxMDI3MTAyNjM1WhcNMjUxMDI0MTAyNjM1
330-
WjAUMRIwEAYDVQQDDAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
331-
ggEKAoIBAQCkg/Qr8RQeLTOSgCkyiEX2ztgkgscX8hKGHEHdvlkmVK3JVEIIwkvu
332-
/Y9LtHZUia3nPAgqEEbexzTENZjSCcC0V6I2XW/e5tIE3rO0KLZyhtZhN/2SfJ6p
333-
KbOh0HLr1VtkKJGp1tzUmHW/aZI32pK60ZJ/N917NLPCJpCaL8+wHo3+w3oNqln6
334-
oJsfgxy9SUM8Bsc9WMYKMUdqLO1QKs1A5YwqZuO7Mwj+4LY2QDixC7Ua7V9YAPo2
335-
1SBeLvMCHbYxSPCuxcZ/kDkgax/DF9u7aZnGhMImkwBka0OQFvpfjKtTIuoobTpe
336-
PAG7MQYXk4RjnjdyEX/9XAQzvNo1CDObAgMBAAGjgbQwgbEwPAYDVR0RBDUwM4IJ
337-
bG9jYWxob3N0ggkxMjcuMC4wLjGCAzo6MYcEfwAAAYcQAAAAAAAAAAAAAAAAAAAA
338-
ATAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSvhJo6taTggJQBukEvMo/PDk8tKTAf
339-
BgNVHSMEGDAWgBS98L4T5RaIToE3DkBRsoeWPil0eDAOBgNVHQ8BAf8EBAMCA6gw
340-
EwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAHLOt0mL2S4A
341-
B7vN7KsfQeGlVgZUVlEjem6kqBh4fIzl4CsQuOO8oJ0FlO1z5JAIo98hZinymJx1
342-
phBVpyGIKakT/etMH0op5evLe9dD36VA3IM/FEv5ibk35iGnPokiJXIAcdHd1zam
343-
YaTHRAnZET5S03+7BgRTKoRuszhbvuFz/vKXaIAnVNOF4Gf2NUJ/Ax7ssJtRkN+5
344-
UVxe8TZVxzgiRv1uF6NTr+J8PDepkHCbJ6zEQNudcFKAuC56DN1vUe06gRDrNbVq
345-
2JHEh4pRfMpdsPCrS5YHBjVq/XHtFHgwDR6g0WTwSUJvDeM4OPQY5f61FB0JbFza
346-
PkLkXmoIod8=
347-
-----END CERTIFICATE-----
348-
-----BEGIN CERTIFICATE-----
349-
MIIDLjCCAhagAwIBAgIBAjANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1yb290
350-
YXV0aG9yaXR5MB4XDTE1MTAyNzEwMjYzNVoXDTI1MTAyNDEwMjYzNVowIDEeMBwG
351-
A1UEAwwVaW50ZXJtZWRpYXRlYXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOC
352-
AQ8AMIIBCgKCAQEA6GndRFiXk+2q+Ig7ZOWKKGta+is8137qyXz+eVFs5sA0ajMN
353-
ZBAMWS0TIXw/Yks+y6fEcV/tfv91k1eUN4YXPcoxTdDF97d2hO9wxumeYOMnQeDy
354-
VZVDKQBZ+jFMeI+VkNpMEdmsLErpZDGob/1dC8tLEuR6RuRR8X6IDGMPOCMw1jLK
355-
V1bQjPtzqKadTscfjLuKxuLgspJdTrzsu6hdcl1mm8K6CjTY2HNXWxs1yYmwfuQ2
356-
Z4/8sOMNqFqLjN+ChD7pksTMq7IosqGiJzi2bpd5f44ek/k822Y0ATncJHk4h1Z+
357-
kZBnW6kgcLna1gDri9heRwSZ+M8T8nlHgIMZIQIDAQABo3sweTASBgNVHRMBAf8E
358-
CDAGAQH/AgEAMB0GA1UdDgQWBBS98L4T5RaIToE3DkBRsoeWPil0eDAfBgNVHSME
359-
GDAWgBRxD5DQHTmtpDFKDOiMf5FAi6vfbzAOBgNVHQ8BAf8EBAMCAgQwEwYDVR0l
360-
BAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQELBQADggEBAD+4KpUeV5mUPw5IG/7w
361-
eOXnUpeS96XFGuS1JuFo/TbgntPWSPyo+rD4GrPIkUXyoHaMCDd2UBEjyGbBIKlB
362-
NZA3RJOAEp7DTkLNK4RFn/OEcLwG0J5brL7kaLRO4vwvItVIdZ2XIqzypRQTc0MG
363-
MmF08zycnSlaN01ryM67AsMhwdHqVa+uXQPo8R8sdFGnZ33yywTYD73FeImXilQ2
364-
rDnFUVqmrW1fjl0Fi4rV5XI0EQiPrzKvRtmF8ZqjGATPOsRd64cwQX6V+P5hNeIR
365-
9pba6td7AbNGausHfacRYMyoGJWWWkFPd+7jWOCPqW7Fk1tmBgdB8GzXa3inWIRM
366-
RUE=
367-
-----END CERTIFICATE-----
368-
-----BEGIN CERTIFICATE-----
369-
MIIC+zCCAeOgAwIBAgIBATANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1yb290
370-
YXV0aG9yaXR5MB4XDTE1MTAyNzEwMjYzNFoXDTI1MTAyNDEwMjYzNFowGDEWMBQG
371-
A1UEAwwNcm9vdGF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
372-
ggEBAMl+dcraUM/E7E6zl7+7hK9oUJYXJLnfiMtP/TRFVbH4+2aEN8vXzPbzKdR3
373-
FfaHczXQTwnTCaYA4u4uSDvSOsFFEfxEwYORsdKmQEM8nGpVX2NVvKsMcGIhh8kh
374-
ZwJfkMIOcAxmGIHGdMhF8VghonJ8uGiuqktxdfpARq0g3fqIjDHsF9/LpfshUfk9
375-
wsRyTF0yr90U/dsfnE+u8l7GvVl8j2Zegp0sagAGtLaNv7tP17AibqEGg2yDBrBN
376-
9r9ihe4CqMjx+Q2kQ2S9Gz2V2ReO/n6vm2VQxsPRB/lV/9jh7cUcS0/9mggLYrDy
377-
cq1v7rLLQrWuxMz1E3gOhyCYJ38CAwEAAaNQME4wHQYDVR0OBBYEFHEPkNAdOa2k
378-
MUoM6Ix/kUCLq99vMB8GA1UdIwQYMBaAFHEPkNAdOa2kMUoM6Ix/kUCLq99vMAwG
379-
A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBABrhjnWC6b+z9Kw73C/niOwo
380-
9sPdufjS6tb0sCwDjt3mjvE4NdNWt+/+ZOugW6dqtvqhtqZM1q0u9pJkNwIrqgFD
381-
ZHcfNaf31G6Z2YE+Io7woTVw6fFobg/EFo+a/qwbvWL26McmiRL5yiSBjVjpX4a5
382-
kdZ+aPQUCBaLrTWwlCDqzSVIULWUQvveRWbToMFKPNID58NtEpymAx3Pgir7YjV9
383-
UnlU2l5vZrh1PTCqZxvC/IdRESUfW80LdHaeyizRUP+6vKxGgSz2MRuYINjbd6GO
384-
hGiCpWlwziW2xLV1l2qSRLko2kIafLZP18N0ThM9zKbU5ps9NgFOf//wqSGtLaE=
385-
-----END CERTIFICATE-----
386-
''');
387-
388-
List<int> _sslKey = utf8.encode('''
389-
-----BEGIN ENCRYPTED PRIVATE KEY-----
390-
MIIE4zAcBgoqhkiG9w0BDAEBMA4ECBMCjlg8JYZ4AgIIAASCBMFd9cBoZ5xcTock
391-
AVQcg/HzYJtMceKn1gtMDdC7mmXuyN0shoxhG4BpQInHkFARL+nenesXFxEm4X5e
392-
L603Pcgw72/ratxVpTW7hPMjiLTEBqza0GjQm7Sarbdy+Vzdp/6XFrAcPfFl1juY
393-
oyYzbozPsvFHz3Re44y1KmI4HAzU/qkjJUbNTTiPPVI2cDP6iYN2XXxBb1wwp8jR
394-
iqdZqFG7lU/wvPEbD7BVPpmJBHWNG681zb4ea5Zn4hW8UaxpiIBiaH0/IWc2SVZd
395-
RliAFo3NEsGxCcsnBo/n00oudGbOJxdOp7FbH5hJpeqX2WhCyJRxIeHOWmeuMAet
396-
03HFriiEmJ99m2nEJN1x0A3QUUM7ji6vZAb4qb1dyq7LlX4M2aaqixRnaTcQkapf
397-
DOxX35DEBXSKrDpyWp6Rx4wNpUyi1TKyhaVnYgD3Gn0VfC/2w86gSFlrf9PMYGM0
398-
PvFxTDzTyjOuPBRa728gZOGXgDOL7qvdInU/opVew7kFeRQHXxHzFCLK5dD+Vrig
399-
5fS3m0++f55ODkxqHXB8gbXbd3GMmsW6MrGpU7VsCNtbVPdSMW0FalovEB0M+2lj
400-
1VfuvL+0F5huTe+BgZAt6xgET/CIcZXdNMRPVhraqUjqWtI9Rdk4STPCpU1rDkjG
401-
YDl/fo4W2T6qQWFUpiC9IvVVGkVxaqfZZ4Qu+V5xPUi6vk95QiTNkN1t+m+sCCgS
402-
Llkea8Um0aHMy33Lj3NsfL0LMrnpniqcAks8BvcgIZwk1VRqcj7BQVCygJSYrmAR
403-
DBhMpjWlXuSggnyVPuduZDtnTN+8lCHLOKL3a3bDb6ySaKX49Km6GutDLfpDtEA0
404-
3mQvmEG4XVm7zy+AlN72qFbtSLDRi/D/uQh2q/ZrFQLOBQBQB56TvEbKouLimUDM
405-
ascQA3aUyhOE7e+d02NOFIFTozwc/C//CIFeA+ZEwxyfha/3Bor6Jez7PC/eHNxZ
406-
w7YMXzPW9NhcCcerhYGebuCJxLwzqJ+IGdukjKsGV2ytWDoB2xZiJNu096j4RKcq
407-
YSJoen0R7IH8N4eDujXR8m9kAl724Uqs1OoAs4VNICvzTutbsgVZ6Z+NMOcfnPw9
408-
jZkFhot16w8znD+OmhBR7/bzOLpaeUhk7EhNq5M6U0NNWx3WwkDlvU/jx+6/EQe3
409-
iLEHptH2HYBF1xscaKGbtKNtuQsfdzgWpOX0qK2YbK3yCKvL/xIm1DQmDZDKkWdW
410-
VNh8oGV1H96CivWlvxhAgXKz9F/83CjMw8YXRk7RJvWR4vtNvXFAvGkFIYCN9Jv9
411-
p+1ukaYoxSLGBik907I6gWSHqumJiCprUyAX/bVfZfNiYh4hzeA3lhwxZSax3JG4
412-
7QFPvyepOmF/3AAzS/Pusx6jOZnuCMCkfQi6Wpem1o3s4x+fP7kz00Xuj01ErucM
413-
S10ixfIh84kXBN3dTRDtDdeCyoMsBKO0W5jDBBlWL02YfdF6Opo1Q4cPh2DYgXMh
414-
XEszNZSK5LB0y+f3A6Kdx/hkZzHVvMONA70OyrkoZzGyWENhcB0c7ntTJyPPD2qM
415-
s0HRA2VwF/0ypU3OKERM1Ua5NSkTgvnnVTlV9GO90Tkn5v4fxdl8NzIuJLyGguTP
416-
Xc0tRM34Lg==
417-
-----END ENCRYPTED PRIVATE KEY-----
418-
''');
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[req]
2+
distinguished_name = dn
3+
req_extensions = v3_req
4+
prompt = no
5+
6+
[dn]
7+
CN = localhost
8+
9+
[v3_req]
10+
subjectAltName = @alt_names
11+
12+
[alt_names]
13+
# DNS names
14+
DNS.1 = localhost
15+
# IPv4 addresses
16+
IP.1 = 127.0.0.1
17+
# IPv6 addresses
18+
IP.2 = ::1
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/bin/bash
2+
3+
openssl genpkey -algorithm RSA -out localhost.key \
4+
-aes256 -pass pass:dartdart 2>/dev/null
5+
6+
openssl req -new -x509 -key localhost.key -days 36500 -out localhost.crt \
7+
-config tools/openssl.cfg -extensions v3_req -passin \
8+
pass:dartdart 2>/dev/null
9+
10+
KEY_CONTENT=$(cat localhost.key)
11+
CERT_CONTENT=$(cat localhost.crt)
12+
13+
cat <<EOF > test/cert.dart
14+
import 'dart:convert';
15+
16+
List<int> sslKey = utf8.encode(r'''
17+
${KEY_CONTENT}
18+
''');
19+
20+
List<int> sslCert = utf8.encode(r'''
21+
${CERT_CONTENT}
22+
''');
23+
EOF
24+
25+
rm localhost.key localhost.crt

0 commit comments

Comments
 (0)