1# Code generated by selfsigned.py.gen. DO NOT EDIT.
2
3from base64 import b64encode
4from typing import Dict, List, NamedTuple, Optional
5
6
7class Cert(NamedTuple):
8 names: List[str]
9 pubcert: str
10 privkey: str
11
12 @property
13 def k8s_crt(self) -> str:
14 return b64encode((self.pubcert + "\n").encode("utf-8")).decode("utf-8")
15
16 @property
17 def k8s_key(self) -> str:
18 return b64encode((self.privkey + "\n").encode("utf-8")).decode("utf-8")
19
20
21def strip(s: str) -> str:
22 return "\n".join(l.strip() for l in s.split("\n") if l.strip())
23
24
25_TLSCerts: List[Cert] = [
26 Cert(
27 names=["master.datawire.io"],
28 # Note: This cert is also used to sign several other certs in
29 # this file (as the issuer).
30 pubcert=strip(
31 """
32 -----BEGIN CERTIFICATE-----
33 MIID8jCCAtqgAwIBAgIQe0mvOEH/BbzfL0BHs01DUjANBgkqhkiG9w0BAQsFADB4
34 MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
35 A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEbMBkG
36 A1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkx
37 MTEwMTMxMjAwWjB4MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcT
38 BkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdp
39 bmVlcmluZzEbMBkGA1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMIIBIjANBgkqhkiG
40 9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz/tQZpfaSwQNPK5J3qHTwaIxqu3tKKW7EggM
41 zcO36Azg/CsPMNthTj/XJ86qwSiW8sMvgfBqpgMVOld/wuG5jq/CB+c99G8CR0FD
42 /M8XiCU9lJkGKUuYFLaMW8fi13EocmjoQ21J/qLKdX68b7pbdcwQK1qx1OblXbH2
43 78HAfeQKrsVYc9wELBQ86quhbyDvJpoLEPsRD9J2lZ3EHwSujE1vJFjn9oU8C70H
44 3RKiFQYn3BchCZBZ3qTWZ7z0/X3xu/x++led5SEE1T5AoCfEFNuebo6gvQ2um4K3
45 rNqfpQS7vbobFvScEp8hBBGU9FfjlTz6JmjO5nb3mY67gS+XxQIDAQABo3YwdDAO
46 BgNVHQ8BAf8EBAMCAaYwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUw
47 AwEB/zAdBgNVHQ4EFgQUdT5TYsy4k6cLeTXvwdhDB09awaMwHQYDVR0RBBYwFIIS
48 bWFzdGVyLmRhdGF3aXJlLmlvMA0GCSqGSIb3DQEBCwUAA4IBAQANgGWduNXnRtUd
49 joBVDI7GT39pIAdVeypv6tumd3VU4CbPG66cTcLv/FsVK9Jdmx4+DpfwzcObyQZD
50 LRUEpflFZ5aFxA1GyEu/1Qn0CwQpW9gIkcDFX7xzucgvIG7AgZFWPTp/zhQSyz4B
51 bgJfq+pYs/M4ySRvo/R8ZhVkVMXUVhlGMtSbISon+OAXbtCMP0xjExwas1+twjOY
52 u3mQI+pf/odMT4muKclKdPki3QAgtQLFRHD3eg6u5xV2IejLmG3MP2rWtiNic1NS
53 NE+AB1oTWGebAsLlSYk7hKUbgd2d8peydT/QAOkU03imB4oURhK0WZTN43tJGObB
54 IGjjcQQN
55 -----END CERTIFICATE-----
56 """
57 ),
58 privkey=strip(
59 """
60 -----BEGIN PRIVATE KEY-----
61 MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDP+1Bml9pLBA08
62 rkneodPBojGq7e0opbsSCAzNw7foDOD8Kw8w22FOP9cnzqrBKJbywy+B8GqmAxU6
63 V3/C4bmOr8IH5z30bwJHQUP8zxeIJT2UmQYpS5gUtoxbx+LXcShyaOhDbUn+osp1
64 frxvult1zBArWrHU5uVdsfbvwcB95AquxVhz3AQsFDzqq6FvIO8mmgsQ+xEP0naV
65 ncQfBK6MTW8kWOf2hTwLvQfdEqIVBifcFyEJkFnepNZnvPT9ffG7/H76V53lIQTV
66 PkCgJ8QU255ujqC9Da6bgres2p+lBLu9uhsW9JwSnyEEEZT0V+OVPPomaM7mdveZ
67 jruBL5fFAgMBAAECggEAacnkCHse/t8tuHrSehqIMkrExrPE2NMLx00u7g6qYa8D
68 VWC1ll1QLlQMpWPauOtjdFHRvV9Db/PLfWR6SO81yh0eLZTyj31ThFjvMw1HY+nF
69 W+tGFgUscwSzeg+/E2SsdR1lXr6dT5cQMhln0dDRqqZEZzj3kVpsum7GMwezWJSV
70 tfiM0bgNa4ZRKVK5+ZYksd2xo18V/n7XBmEup15d3PRt4Q4IOef0Ckppw5kp4so6
71 ngBjYKnRgfjEzd1c4tjLNcPK8QUbGxo0WcenAokgJjyXliUJ2mR0CPaAeCA9qimL
72 T1EwHiAaX2CXCqrAILII2U53cnYxUkSkuf+8cOYPNQKBgQDZ1h4RT54NxYfJZnet
73 ps5e9/OUgzXUOvsPTbZv0ZHW1+xP+6ihvklT3bz63i0Z4tUgkVKrrtwmMbONJozS
74 joILN4ytI1jwTd4wDrR+AiQiSzEtIQAINhuBxDX/6+D9jmwuYTDXkRZLTqqQoN99
75 ayCr5+/9BaB8OnuUhQOB5uC1ZwKBgQD0azeGlqdpBagtU9ZrgVyo5Sk4VUIe6DvV
76 XdHVdD7xJQt27PEcc2GLj8gBJ1SRX6GEMQpovH6gpqKr8MYDBbTi+QVh6S4HljDz
77 FFUmFwFoRbd0Bggt9Cu7CJlDz1Cw3lFteg2EzhATWQ4sHN4KRRasvg4kBKej4VUh
78 jYZkIqIB8wKBgQCZihsdVoHv8Qe5hDjctBMHyzrrteQOGBh3e+4YOJ3T0dOluJru
79 jkH/E+6s4Ebn1QMl9mhPzGstnKCS39YoXvv4TgogyyZYEnqGYwcDPh0b8uXRik4M
80 e569w3/QSAEIlwdXVXfoqUIOiH8ee9WrAARCRrPYIswwY8RRNcP4HrTKBwKBgCTq
81 FIbFNh+MdSvzX4z5Cq+PfLw/VC8qz+6XrttYJTFycNrTSk8Ltg3H92MFN6aFFPXM
82 GlBbN5y3zhW91YobUIh/J6rz9rm6m0X7KikIjHPdI6noR0/5cqla0RsGsp8j1JR+
83 PJB0NsVVS+ipq3dNm/EW+zfBZDhCDgN1RnjVKja1AoGBALME4P5xYyjJkwbEx9oX
84 Q3yQJ7nheDNvPeh4Qw0rXY+D5aaLBcAhIGI+QQHxXlNOVErbNIHRumIJrP3s7njG
85 RsRmvr4G3Zo5V0ICopiPBG9RngXA0m1DRCL7rjTfWf0kNokFVThzxJDet6ETTpmK
86 Xx1qt8HKucxM4rjPLijzN/5m
87 -----END PRIVATE KEY-----
88 """
89 ),
90 ),
91 Cert(
92 names=["presto.example.com"],
93 # Note:
94 # 1. This cert is signed by the "master.datawire.io" cert
95 # (rather than being self-signed).
96 # 2. This cert is a client cert (rather than being a server
97 # cert).
98 pubcert=strip(
99 """
100 -----BEGIN CERTIFICATE-----
101 MIID8TCCAtmgAwIBAgIQQyITVq+2w3g9wn2r07voqDANBgkqhkiG9w0BAQsFADB4
102 MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
103 A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEbMBkG
104 A1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkx
105 MTEwMTMxMjAwWjB4MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcT
106 BkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdp
107 bmVlcmluZzEbMBkGA1UEAxMScHJlc3RvLmV4YW1wbGUuY29tMIIBIjANBgkqhkiG
108 9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7Epr7IgJ5uW7V+qGZ/UhUVBcRnqQrLolaMOi
109 1uWD76cCqU14eUfweYtXCsZv259M5sfYEpp6Oi17tWaGvpGMfyIVXLS48eCfpr1l
110 DYPE9aPlK02M9P5EINopOzHkOhiqzIlPkjLUlHwmBa2oj6QRXZN54JTc5hr2TZg8
111 JXdJRprqkQ9gypY8sPGkXOFzQDiFmuqCNDtByCqutWO+pxqZ/HguUWEU30ja0ubv
112 C2TIc3dPvLZddR6Qig/NL+hb3eH489F5CDtZV3w6sduLN22JxqKJssuR4U5gqZm1
113 K4DOsF928uGDT8HKFzHYrMLdpprWKLwzOeH4DLbC9vZQqAsPrQIDAQABo3UwczAO
114 BgNVHQ8BAf8EBAMCAaIwEwYDVR0lBAwwCgYIKwYBBQUHAwIwDAYDVR0TAQH/BAIw
115 ADAfBgNVHSMEGDAWgBR1PlNizLiTpwt5Ne/B2EMHT1rBozAdBgNVHREEFjAUghJw
116 cmVzdG8uZXhhbXBsZS5jb20wDQYJKoZIhvcNAQELBQADggEBAAJ3gQSUQKhxSCjr
117 kONLPM1kRs0+lu1XRj1iTh/d3lZ5vmCUU9E+D0EoJeL6sUdWhki7+3J011w1VhLT
118 r2v+v5PSnhoC9KK+K4MeNcnFJZ8CWoTfshav34Vy9M68dUqaorWX/hPnhP3uOqCh
119 KUaHHF98p/2pqyRcNZ3VXvCXKzqstuypm6Z9jN5GrWbh4ENj3w6EM5sQiIxasaXh
120 I0hABLKqueotSaZkxUgI0qUeaazgKuvkowI9cptnWRQ73GwIGLTbViFn5WR/j9d8
121 BPS47F5o/g1A0FsNevtv5UN2tpPu4cMfqIUYphQ1I30yomVFMrJ1OKnUWeXdGDk8
122 ZVclwtA=
123 -----END CERTIFICATE-----
124 """
125 ),
126 privkey=strip(
127 """
128 -----BEGIN PRIVATE KEY-----
129 MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDsSmvsiAnm5btX
130 6oZn9SFRUFxGepCsuiVow6LW5YPvpwKpTXh5R/B5i1cKxm/bn0zmx9gSmno6LXu1
131 Zoa+kYx/IhVctLjx4J+mvWUNg8T1o+UrTYz0/kQg2ik7MeQ6GKrMiU+SMtSUfCYF
132 raiPpBFdk3nglNzmGvZNmDwld0lGmuqRD2DKljyw8aRc4XNAOIWa6oI0O0HIKq61
133 Y76nGpn8eC5RYRTfSNrS5u8LZMhzd0+8tl11HpCKD80v6Fvd4fjz0XkIO1lXfDqx
134 24s3bYnGoomyy5HhTmCpmbUrgM6wX3by4YNPwcoXMdiswt2mmtYovDM54fgMtsL2
135 9lCoCw+tAgMBAAECggEBANkbKD6UYES/IHuPCR/Lo2lLJP287+FEx8qStrQs/iTc
136 lx1oCSGmb9W9qaRE39IzdD03sdimB1gdImVyZqwCn8zQTEB57NSRRx+1NXxNblMk
137 3BQFlVYlqgNlcCzrkn+u2oBESdBS0+/6ghUFkrMoVKxeLMWlAbKLY3O4RMtH5xPu
138 zzvFgDQ10Bfh5I9emSMaxNwafWEWBQwWgNtk6T9U+n5x9suF2g/tuA58iXkACS/p
139 4bGkzs8fxZF03qptBZSLTxlXD0I5YTmpFT/J1EJJH6zjW2phLwXt+eimdgOXQ35y
140 tIiQ0CL8lj/2AaRYSDOLlHPkkG3NEBvyB+CDqhUwvgECgYEA+qXEye4GFTrwlUSO
141 k3ix9+mV8tYYPoYzSCuVI6MZEVdNDNGpDHTqgZnF5s3re1MHqakYoeoaJd/02pmt
142 hkc258CDEcAU2Aub3g/F8IxPKAGZLs+FptPILBp9T9FYz02G1338LyqwLcSl2drS
143 BCqlALg26bg3LJsRIROHXni4W3ECgYEA8VYq387DWzOJ1PcMMoVKLy5kIXacM5QF
144 BJQwmu35dyYnIRn4+E3ELV2ATAAT5873jKfO16dAmJLu+JNkKFSUzv7V1RBEjlf5
145 d24V7VTYG2jaqCLam5tuMb3xPeQMSFlmGHQXQPJN8NH3s3nYLB1KuZY8AmEyioNK
146 IHdU6qoxQf0CgYBYK6QUHKULJtamy50UB2sjeIoFCIcyx2aWxq4KAT+6N+mkzsQW
147 27H6sStKy7lAgq65YgCGRKG6HRQ3KcQ+7iJEWBZDUjyC22KTNR0+Rz05J4bJTrsH
148 Ooy55v+Z6lzBX9ZFS85AkVW0Y+6ruiwSxyWQIT0/7kuKZ2oZJpOCChlgIQKBgQDH
149 z0OoERQFSmJvhCsBGQIWlh4o5n7k5URSSi8D1suYLmpvKYXMbvZhaOx0AAx6/AxQ
150 1A6Y1czRhbV88OsXyQ97YdnAkbtw7r2IeAiHepuB9goy8shz1PgjDtPRHiJdNEcn
151 L9ag2vxUykJ+wf6MZ6Qai5wbjEXAEHsq7iHMOCSYMQKBgQC89QVKBumh8GJswKAb
152 Z4j/L4vW0oMXWAdsUCnaxvyE+SZPkR81gMs3uhc6nyngqwJE7/oNa3BAIl/QGmHp
153 aHYH6/hm+8/pmeB6ArH4pQ1qKCB5cuo94kGAHnzaUbemxI8osWVACqgCrk2aUjyS
154 4ger59k0VB/zi8iZ+91nfDFqgg==
155 -----END PRIVATE KEY-----
156 """
157 ),
158 ),
159 Cert(
160 names=["ratelimit.datawire.io"],
161 pubcert=strip(
162 """
163 -----BEGIN CERTIFICATE-----
164 MIID2TCCAsGgAwIBAgIQQpF1nlgplwb7vHTwMs4uQTANBgkqhkiG9w0BAQsFADB7
165 MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
166 A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEeMBwG
167 A1UEAxMVcmF0ZWxpbWl0LmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIw
168 OTkxMTEwMTMxMjAwWjB7MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNV
169 BAcTBkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtF
170 bmdpbmVlcmluZzEeMBwGA1UEAxMVcmF0ZWxpbWl0LmRhdGF3aXJlLmlvMIIBIjAN
171 BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAm8eSIuGhS+RYY8StWy9xZdEoVcmw
172 LF4rk/KBhl6hdaUX6uejvoYjHxEBuo2gHmP8aFZGDpWK77/cZMzdB0LgcEubjTIL
173 xw25lO5nKbJCNF265poybeuGzf0Jzxayt9QRQydqdIH6eSxsZgXPMbnvlm53vjvQ
174 pQMEUFrjbImnu60AfrBTz6XUpWVsZ1WLCHXjRcXu68Vi1zPGd0O3vxRwecEV9Jss
175 4Y16opU1ZyN1qDcjytfx0AvHUzqcNBpLqd8qsFAAcO0JNCMJEkZ25Lhb9ndCc3M3
176 tTJlW4WRxKAjyxRB1OTJ6M5QGS6LE/+rJlv42sgzroTUvd1hvuGYSDfh9wIDAQAB
177 o1cwVTAOBgNVHQ8BAf8EBAMCAaIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0T
178 AQH/BAIwADAgBgNVHREEGTAXghVyYXRlbGltaXQuZGF0YXdpcmUuaW8wDQYJKoZI
179 hvcNAQELBQADggEBAADJDcx+Lmrp6vgrdLUXYYjpi8bdj5IZNKvHt8JCSZIwvS5h
180 YbZ/RDAIxT/xCHN0pPXVtkPWXcxl4XAwQAQLjdMRsxJ8qJ0TKrN/tL6WzMDwEhTB
181 JMyGQIp1HR0ptnI3mffuEp5B6j+Bmb0lIoGFLjq5gwQPF9FnR5ickODOagMRrh5b
182 ykzOYp4XijYygEmad+IW6Mt1a6ZcsuWSdVKGMnWi7ZmWrrfdiFSKZGp76JYAygLR
183 OrfKfDMreRV3+F+BMJ3Z8YG6OwXcwHgKTQovIrfW9Rs/lKq5bsAF/liesa8hd/2K
184 NQFpksYLHrpdMyiZykhh6dyrdpnZ5GURY6nrxr8=
185 -----END CERTIFICATE-----
186 """
187 ),
188 privkey=strip(
189 """
190 -----BEGIN PRIVATE KEY-----
191 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCbx5Ii4aFL5Fhj
192 xK1bL3Fl0ShVybAsXiuT8oGGXqF1pRfq56O+hiMfEQG6jaAeY/xoVkYOlYrvv9xk
193 zN0HQuBwS5uNMgvHDbmU7mcpskI0XbrmmjJt64bN/QnPFrK31BFDJ2p0gfp5LGxm
194 Bc8xue+Wbne+O9ClAwRQWuNsiae7rQB+sFPPpdSlZWxnVYsIdeNFxe7rxWLXM8Z3
195 Q7e/FHB5wRX0myzhjXqilTVnI3WoNyPK1/HQC8dTOpw0Gkup3yqwUABw7Qk0IwkS
196 RnbkuFv2d0Jzcze1MmVbhZHEoCPLFEHU5MnozlAZLosT/6smW/jayDOuhNS93WG+
197 4ZhIN+H3AgMBAAECggEBAIrZzPEYafvKUdrDoL1pQUs+rhQhTM2PNoqNmlPZn1LM
198 T9BKnhIhX8a+Eutkdzb/aijZ1WIEey2NtvWGAPEK9CBD1Cd7VzIakrMj+IIa6JXi
199 gcgv4wlE6QhMJeUXVz8xYB2aUXH9tPMy3H/nZ7HsCJjuZ/8BM80RLlQtXw8Md5x4
200 iLjpmCeuqQt7Z6BN/SGqxreRReD9TkKggwmdc0qXo5YyWQR28MVVVoDcyRoHXyRl
201 qJl2R1JjBA5kVoA49EseCAiPiCMrUt0ZgK49KpC/E6+/TgZBFJzb+9sx9oF+edGq
202 srSKm5X4BYR4hxjEMN79ZHZm3DkthO64hvaiHbo7XvECgYEAxjZuSCAMRF3s+8mz
203 Cx0vmNCDes7dnbfblvv26rwmCCZq2SVEebuNwaFb1jLqS2f6/nYg8iKEpeGUtMhB
204 xrTppZrnD2RJLYO1MXs3KUcCCp6Gfe3YuA/WD04O+3mz9zoiwtPA1ZF0BAXNoUp7
205 mPYmOzQD2gUgI3a0O+g0wGociTkCgYEAyTIn7i/BmSzGa6W42AQqzpHH0ELg25mp
206 5KELNZW/YPoWvm4XtKRCxBHOVL+Rza6GMiPnX34VBfE+zsJD8rky4K/lp2ZDZE9M
207 rmRVcMf2/elWLIGBZqc2O2t0QcZ/ogcqgo2dGhomO1Cqr0amlZYLHqGaYruw7coi
208 9y/UwuIKtK8CgYAPZb0NZ0fsq6s0KAf7jgnbgh8klBtNHDI3uV0GARWnPmzAb4+x
209 MSui5gj/S7c9olcyGzUV+i55wFtP69qIOBeKYM0gOfchTQDvVhYD49s5vfTOpYJX
210 Ugub5sFtMZgUVXTL061AKetsQJMnu2R8jmqL4M+HySwk9RytJq2qYNPUqQKBgDTD
211 bYtehNQJ1QN4E5C7DwrbWl54m4Wbt91YipsD6YuiKoLIVnkuNsA6tzSshK0/HrxZ
212 hB0b8KF9Ue5hLfaisQARwRV0kSnmTgLSF0Ibft+56LqFQA1Ovr84f+WcC+7PGEvi
213 nZex0eLuVcTfr2I9Vi8zTEymUlEaGK9goNh29T3LAoGAHxAMta9XH/r92N36pdZG
214 uR3I9VyNaQ/ZrBRlfoqQalDEUo2cHt6MImNOuWSsX+e52hvisGfm45D07Fv9jQEP
215 Ej4bilFnyPBWCXyJsypV1ejYIQMWVCr81p8h1ddMP6hBPtzb3Ul8o//XkzaZAG5l
216 1iE9Cq0G05xE5zy+I6Jrqfs=
217 -----END PRIVATE KEY-----
218 """
219 ),
220 ),
221 Cert(
222 names=["ambassador.example.com"],
223 # Note: This cert is signed by the "master.datawire.io" cert
224 # (rather than being self-signed).
225 pubcert=strip(
226 """
227 -----BEGIN CERTIFICATE-----
228 MIID+TCCAuGgAwIBAgIQBQjvtjWeKA0+Pge3D4oG8TANBgkqhkiG9w0BAQsFADB4
229 MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
230 A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEbMBkG
231 A1UEAxMSbWFzdGVyLmRhdGF3aXJlLmlvMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkx
232 MTEwMTMxMjAwWjB8MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcT
233 BkJvc3RvbjEYMBYGA1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdp
234 bmVlcmluZzEfMB0GA1UEAxMWYW1iYXNzYWRvci5leGFtcGxlLmNvbTCCASIwDQYJ
235 KoZIhvcNAQEBBQADggEPADCCAQoCggEBANQ76B73wb4S4UxU4w5Z+tCsjeuGhDdj
236 eswxohl0+HftC/HhtkXlPlqQjAN/GljkJm8P/iBju5xMIvQws8NfrMvGmBOgCRCz
237 BAzKHja+EjS3Z/3iNAfVyzMzy0Z+UGuCVfoeTKDD4kqR7A5dBFkQ1ROKkiUlhT/Q
238 Fs/nVqAsz4FFWqZqS1wsJFKMnBbj4gGI24WJJLMdnRyFAyz78HOVCSOzq/BJL36w
239 Heyu3OHHDswM5oeJ+RoJkh1EAa8wRM4lxPzyX72ClYi92Tqxbqj4mLEXeTrQi1sL
240 Vt5vyp2qV1/R4RO/fA2kGmB3V/XZ8jtOwbP2RDvnHHbq4qdG8y685ncCAwEAAaN5
241 MHcwDgYDVR0PAQH/BAQDAgGiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB
242 /wQCMAAwHwYDVR0jBBgwFoAUdT5TYsy4k6cLeTXvwdhDB09awaMwIQYDVR0RBBow
243 GIIWYW1iYXNzYWRvci5leGFtcGxlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAc5UZ
244 ml+DhpSJAltQhOoQd4PjulTg8q+0Fy3sLtM1Slq2BJyuTe8MtjHEMNsKoaF6P2u0
245 NlYPd+2I8DrvVjsUFyeu8XoImamw+xwpPVfD5MbCKPOOJCHots7hAlQ7Ztv6T46U
246 O7vNQOQBhrRl1UyNObjZ3m2rLDJb9/WN7JIKXmbDhVXXPlhHdSuExMaup3j+m1On
247 tcBojVht2K5xsqzOkHR4HirTwvXYDrHoOzLRYUfF3FoNJ86Mauq600E+CuhToim7
248 LfeaH4WR4rO8AUoyG3pHZ2jFSpsqC/dQYSqIiTstrXfRmqVJMI+umAmjSgUeK4v7
249 u991aMkRRpwSwJiDVw==
250 -----END CERTIFICATE-----
251 """
252 ),
253 privkey=strip(
254 """
255 -----BEGIN PRIVATE KEY-----
256 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDUO+ge98G+EuFM
257 VOMOWfrQrI3rhoQ3Y3rMMaIZdPh37Qvx4bZF5T5akIwDfxpY5CZvD/4gY7ucTCL0
258 MLPDX6zLxpgToAkQswQMyh42vhI0t2f94jQH1cszM8tGflBrglX6Hkygw+JKkewO
259 XQRZENUTipIlJYU/0BbP51agLM+BRVqmaktcLCRSjJwW4+IBiNuFiSSzHZ0chQMs
260 +/BzlQkjs6vwSS9+sB3srtzhxw7MDOaHifkaCZIdRAGvMETOJcT88l+9gpWIvdk6
261 sW6o+JixF3k60ItbC1beb8qdqldf0eETv3wNpBpgd1f12fI7TsGz9kQ75xx26uKn
262 RvMuvOZ3AgMBAAECggEAWRMznxu5Mv9Vk+Xkzjcxr7dccUep4l1cQqtqL2kKh7rz
263 0nc7Oya1/ui/+w+zjS9keiSqMgnpyfWijf6K1CspqPUXCtWWOG4J+xwxhiRMG9gG
264 S2ZPFCLFAB5y6IlHU3gGgc2Jt8e/CDEqc/TSSFdqNqNoJzMSM/AwQt4DW4KzLLud
265 SbtLz34XZ+VUO2Yv3DfCuZiGHd5uMiVz9qaZDTxWY8tHJ/BbNJc4l63j/+aHh12T
266 ro0bgBTwY7Fn6vU7hmDTEKYrwNb+MQJNJ95nbbyfy0tfpYCe09glk88CAqjlAn+j
267 aQUN8k90Q5lc5MsjUcA2VtyNhHFQwL7xsGZmxTtHYQKBgQDiF8pjScbdpxKZwc1w
268 xnGe2dPSy6wHhvKfxQR7ngn0YOUvYFtB3FQnykfiyAE1HlCb1z+Vc1qA5+o0mNl1
269 MAvKBLvsfTfym/Rc0Z6KwB7JUYfcj1doub3tOzXe3YP6U5WDbu9ZCv5pyH0+IxMH
270 3cMUACL/mmhGzrV0OQP+MjgWXwKBgQDwTs9bsgf+CaN67S4DweXTi07e2Lb+6oxu
271 RpramV6YyimJus1hT+nPBIpr1bu6wvbEf40tHok9K0hOtm2u6ovipVTE09HzlHVe
272 AxKPz0ZHZdw80UtqeeypbblMjA8i2NrUIppaAJrxsjBpi9HXRxUuIT/XOfS5rfHW
273 5jXJMNe26QKBgQC3Ulj9Jq4DvVs8psLAZXdtOOwjKJflRotl9qbK4PrrVsGeJ3/3
274 KAJofQDKpicsfdcYdXCN6omAqgrh+OmhtoJonGwPtfxuT/vUYvctQ9fynpQNx4A1
275 Xx3bxD3K5kwD5k/90S5rQZnGBhVfE6tznmF1zyKRpA5XE3ZXtX9CVk/Z+wKBgHCp
276 MhPWKmMSF7+41HrUe7AqvoZBacGnKsFEfrL/dlcBaGn21vTJZ18zzMVzhbiwUMqc
277 1g4SI9s2oIauhkucEIroYg6JFAQzVLcHj7s2PMeaXJ9yq/22PZrNIzNc8neu3SDZ
278 PC333Kx1krbY4z8fRzHCStDXjgFDKH9MnGi/alKJAoGAHLVWiZEk1hoq8uEIlOoO
279 JfZVq1GUEtd/mKLItPw/YmsyiLBIzE1TUrA6u6kRTArUQ8xDg4wViRaHn8XqyUQ1
280 pOuckxNbJvNoDCABjqlwd9q01FEJr1hzJVWbBwFiY4JP93HnPONzozQqKyphbTX5
281 X8bZ73WeoYIMAm7iRjipOoM=
282 -----END PRIVATE KEY-----
283 """
284 ),
285 ),
286 Cert(
287 names=["tls-context-host-2"],
288 pubcert=strip(
289 """
290 -----BEGIN CERTIFICATE-----
291 MIID0TCCArmgAwIBAgIRAPikCBC2umm+VI5L8KKmLhowDQYJKoZIhvcNAQELBQAw
292 eDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
293 BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxGzAZ
294 BgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMjAgFw0yMTExMTAxMzEyMDBaGA8yMDk5
295 MTExMDEzMTIwMFoweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQH
296 EwZCb3N0b24xGDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5n
297 aW5lZXJpbmcxGzAZBgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMjCCASIwDQYJKoZI
298 hvcNAQEBBQADggEPADCCAQoCggEBAMHJ15I8OdHgPqPwhAq/YwNbsl88FtjNQCpB
299 ppOIrAb6IumpE2buGruXDweVYREN4ECBy4NXj+zbLfp0jP6EyNq7CqDEaM6MaEmI
300 4uBrpKAB2Ac4qYFP1CMLP2fYvRITBg0SHJfZKx5xsrdnsjjB7RWFmudQ6Xio2d1R
301 MM7JCtHlDPXZP0UH2x8Y9zLCZhyFDASIe1Pt3Y+Dp6NWYY/tKUzHSXugYPcZhRj/
302 0d7W0/VXF0s6xOS+Gpmwq/XuDtb8zpJ3xxyitLHgb/TVS6fqo48HBNZ795R3fhG5
303 x7QVwJwqIi0oDA70Dbxk2t9PykaclpN7KdBk47H4FwHZFbU2zJkCAwEAAaNUMFIw
304 DgYDVR0PAQH/BAQDAgGiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQC
305 MAAwHQYDVR0RBBYwFIISdGxzLWNvbnRleHQtaG9zdC0yMA0GCSqGSIb3DQEBCwUA
306 A4IBAQBDhJmvIOaLamX0+jRQevCJTR0/YDWsOGPBPL+HSDhS1iGNIItU8/66whmX
307 3PGXt3DyRxLQLIzzn0WzsvYMblTORdaTXhksWKWnemSyP9haMKcf5JNAwJXhpXXA
308 dQ3C0yGqU2lofgDG4vigrJcivprzbfGWbpPCZvEssIqmZBAX87UEYI7hx6fTSNLw
309 ib00RaDXOD0zbENCrBqxZtztiXQS1vOwBFAGdlSSoYDnmTxql8EHgsseOOawk6Ax
310 TElNS4hjBTwQlporw1QZwgDVxyXZBGdik8J+RBkoE9jHF5Rs7LhCVt7Fz9TH1jyi
311 IXSyvhHCDXUoao7JhkQ6luPPYaUx
312 -----END CERTIFICATE-----
313 """
314 ),
315 privkey=strip(
316 """
317 -----BEGIN PRIVATE KEY-----
318 MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDBydeSPDnR4D6j
319 8IQKv2MDW7JfPBbYzUAqQaaTiKwG+iLpqRNm7hq7lw8HlWERDeBAgcuDV4/s2y36
320 dIz+hMjauwqgxGjOjGhJiOLga6SgAdgHOKmBT9QjCz9n2L0SEwYNEhyX2SsecbK3
321 Z7I4we0VhZrnUOl4qNndUTDOyQrR5Qz12T9FB9sfGPcywmYchQwEiHtT7d2Pg6ej
322 VmGP7SlMx0l7oGD3GYUY/9He1tP1VxdLOsTkvhqZsKv17g7W/M6Sd8ccorSx4G/0
323 1Uun6qOPBwTWe/eUd34Ruce0FcCcKiItKAwO9A28ZNrfT8pGnJaTeynQZOOx+BcB
324 2RW1NsyZAgMBAAECggEAEdVQSD3QmFbJjO6iSBbqtrFmjcsK0zK4N+tIuAT4x7+X
325 HOeZSHya6y5wjKMbhqU/QNBw+QpCzWoyJf05yGZR0Ycq6DaK6o8TPckiD8L4KF1j
326 Eu8M8kB1ZjAvyo+wfoxPnz5OcU7j3+5YovYg+YYnGjbsVWMlyRvIyMwi8LShkUUY
327 0syUnZRrz/eMpagByLQVCL3lBIYmpSWAH2Btxix8Z31n6DetklNm3hjgXHAmVz/R
328 MntFYwARt+ma/pUkL5khCFL9ZSoxeOqEyNjYmHF1E8x2hWYarXJqdy2i6WQJ3uaS
329 LyotZHoHiP4an4/DNl1b7sf8x6r73kf9CsHjR12qMQKBgQDXZDz2Ik+KJJmkCPyk
330 VWTU7IddPJ1+I/xccirNRKJ1Dtm9zZQXd/gxrH3hFVyyRhYxOtUAbU85h7KUpOz0
331 /bI/BZph9GbfUcYzZ8otCYyakNUARE6auhR6IWPF7Qu4LC+NHg+k6+JeWHOzn0BR
332 ZXbJ6phe3U/ZNtayjratuT1P7QKBgQDmUvDoeefBfW6d8lnWSs2fsQe1BB7fN2Wf
333 HZ78u0HD/auxY5zqCEdZujJ1rSScCxpWaNaDYhruJRSB2e8HObfg3DKvDSt21yru
334 WO8LCcHDqmGhVb+BdjUBlDiLbuDOM8UNc2zvMgj7n/pWl94dkd/KiAj4uPB4lAK7
335 Ts1s0ABh3QKBgHFldW7D24pIAJdKn+/IgWBT8mQU0Hmjam4lMQGGe90S53G0tJ2y
336 bHmCbXc9ruKwYWijp5Yk9ku8dDkrpxDIK7pgMcoWSL6Tp7xSjS8u0tZhH7KXQ6bU
337 BonR4FxIkx3wLUynIedaxH+VI7zSP6NavrJJDtUKwMoDw/6XgfduCah1AoGATKyF
338 yE50yWPxRCFeqMjkJOoxD6CcimCNsueQer/3x8AVvQrVPM+euQ8UJzqJemzzyppB
339 9yDcqDSt3ABp4zTisrd7I+01b+13PDtc8IbB+1ooACZkhzuLr8fg/wHdUqfHTJAF
340 TqeQd/uswdDyv1NFdc3NdsdSPkG/mw1Ds5qW1f0CgYBszqC5WhSgtwoEZrN2kzsk
341 nnXAku8V86eACyDCCnl03ZTa5PE5sLlyrTCA6umMa8uerVrj4D7zcRX1G/ZGRkxd
342 p/mLW03BkBWSuN5cw2inh8ETWFL9as8QkHgnt7AHkbTh4SDmrmvDOGIdfdfHUumU
343 zz6gFsnFyr/qOxYeVD7NWA==
344 -----END PRIVATE KEY-----
345 """
346 ),
347 ),
348 Cert(
349 names=["tls-context-host-1"],
350 pubcert=strip(
351 """
352 -----BEGIN CERTIFICATE-----
353 MIID0TCCArmgAwIBAgIRAODFxyVddaWLWXd7RTBqcXQwDQYJKoZIhvcNAQELBQAw
354 eDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
355 BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxGzAZ
356 BgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMTAgFw0yMTExMTAxMzEyMDBaGA8yMDk5
357 MTExMDEzMTIwMFoweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQH
358 EwZCb3N0b24xGDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5n
359 aW5lZXJpbmcxGzAZBgNVBAMTEnRscy1jb250ZXh0LWhvc3QtMTCCASIwDQYJKoZI
360 hvcNAQEBBQADggEPADCCAQoCggEBALn/ay7m5ZnMLoCt0sZi0UO7Hh+v3XBNQt3g
361 My5XT+Dvv/M3PB0/rL4G3VAXUNtwKlgHLSGxq6V4UqcfPVqnqajWNd1/zsHYPeVz
362 R8xBIwyx3tydMcWeF4cETh8/UmL+cZVT0HO4lGrYlI3PbdLDKh+uDfBgmQzxCzhI
363 fK8KtjHrYkXZEsVFjJRCHXLG4I+8Q8yJSuFf8J9V3mtkiV/jU4ULy8Ikw1Ga+MQl
364 xQX5y2eYrnJ50+qXrEFEh0DiGZMxZlFnFkjFpbJ2xxbhEBdyd1zp6tEaig4xkcR0
365 2JQOaA2WOfFgBLvlzjSBL16g46CTdsaWIjD3cFjkNL2HD6iGofECAwEAAaNUMFIw
366 DgYDVR0PAQH/BAQDAgGiMBMGA1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQC
367 MAAwHQYDVR0RBBYwFIISdGxzLWNvbnRleHQtaG9zdC0xMA0GCSqGSIb3DQEBCwUA
368 A4IBAQCXDfJV+IpQ0M746b5r7s0qM2rxsMUo+NNN9y+4ZOh7tNATx8JFPuRU5/jZ
369 Sbhfp43Ohh85iw4//Ja1Yfh+h0wX723L+ZoTC4tEOxpODHAaew81e70oRcXy24DO
370 bjKtvAzLl0ozcrqg07Mt+YijPfQqtzncb4Mq+FABwP1V0tq9iI6MoGU90hVKSEZC
371 3AVl2vXlAULHvo4FmA0uyDMzmRQpkMylu3K+NBJsfDtImRVdY25NZ7B25rgCCzBH
372 aB8yMnL7DxPbN/oAzGONIyd/cFB/nY0waUehn7oWQ5h6DfGpUl9fFFqe+nsYu6dP
373 T2xM193Qbf7uKjfm5fuezhJ/Jp9r
374 -----END CERTIFICATE-----
375 """
376 ),
377 privkey=strip(
378 """
379 -----BEGIN PRIVATE KEY-----
380 MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC5/2su5uWZzC6A
381 rdLGYtFDux4fr91wTULd4DMuV0/g77/zNzwdP6y+Bt1QF1DbcCpYBy0hsauleFKn
382 Hz1ap6mo1jXdf87B2D3lc0fMQSMMsd7cnTHFnheHBE4fP1Ji/nGVU9BzuJRq2JSN
383 z23Swyofrg3wYJkM8Qs4SHyvCrYx62JF2RLFRYyUQh1yxuCPvEPMiUrhX/CfVd5r
384 ZIlf41OFC8vCJMNRmvjEJcUF+ctnmK5yedPql6xBRIdA4hmTMWZRZxZIxaWydscW
385 4RAXcndc6erRGooOMZHEdNiUDmgNljnxYAS75c40gS9eoOOgk3bGliIw93BY5DS9
386 hw+ohqHxAgMBAAECggEAd8TSZxRFuuBw/Wlw9VCCgkPGpQ7g38TQjwEk0+1jQWwA
387 xYPG0OrEuGTBNCafaX5ztdWBKVY4OkgdqQIDxxF5vX+alfQL1mUBjnPKQuuavzz2
388 Tkdm2mLvsYCDMbnbumUwDME41JuB7r9iAWMVzAbiZB33WddKFrxMxkRfDXQvWDqo
389 RGl1U4088tjTHdLWUxa+f7U0KbDicaFDO2BCjW2V9oXQr5qyERbFTlsujVHVG8AP
390 Jun5NPnZ5+32fnsdbxOaP99uwAbSwS+moy9pWOikan85k6fUp3sDwYtsidp0v+kz
391 hRYT7wY/TmYQxnk5e64QGhkRaJm1aMUGqxCE0o/F1QKBgQDB7NsX4sCURO0SQci/
392 fvc6Rgyh4rCwsj5VPanvKm9jLZdslNKiifytQm/tUXUPyqfIgxIMZzSW0Vf8uqFD
393 JuFdBGT4S6nruTpBtmb5JAHn50ijSw9MS5ik3d+2sByKtiVHlxl4mvrLX/u9d2VX
394 OIk8xfOilYd6/EnIaPGW3XCRewKBgQD1iPJ3y0a+72idD8AKZxEux/9rAtC7/sIt
395 2RcYIg1kr0tq5PeDVrcPlXuy1OpvsOEuZWw0+m4QdUsaycv6i9OMunZ4IsUYphi5
396 suqXHaX+4fsPDdPRiYEVcZ//F8x7Ii4hgObMWdR/UrCnSeZDkGB9RpbXmwe6k8js
397 jq3GFRWQgwKBgFw90pUQ+XNNOcrWWauks+oXCcky78KMdhPLqfomICd3tzAhtfM0
398 WWj8Ugr7FQh258n7dmlJ6fzXBNgk2bH8W3QINBLawq9qQqihH2fgVbu+CpIJkPRE
399 fQ3mr5PRPzJHo4HjAG2aojJ8rFyZ3y1WqgirS9EI+RFp0ZqvOEL/f5zjAoGAHH4A
400 zP/svLlhZWBvg4WES+5vaEaSXE5q0BEyCd3huf5RfR0Gz9nfMlLBYPYuIjnfV5fz
401 X45z+TrzNS+XmQJi0SDOIJDAWGTl1564dEK/gX1Nueh73QPc09U0oNBtLRjBS6f+
402 oFYIP6Ij17XOn6aAW+k2Fdzqn68IkNLZvXOy5esCgYAzYU1RChYyRm6rj4oJk11f
403 iZKJFJEH1BfOVFA195qmK5XJgFUu98whNE2cR3RFnw2DPpC/gZ1heMaS7ILfZgRf
404 F+wRkbZkrT4HVBpuBFYNvJ2gVVn5UDFMVphMvbo4fKFkK5eYWAW6y2bgqa6YULJr
405 H3vWIJXEkDm38yyCC0DO3Q==
406 -----END PRIVATE KEY-----
407 """
408 ),
409 ),
410 Cert(
411 names=["localhost"],
412 pubcert=strip(
413 """
414 -----BEGIN CERTIFICATE-----
415 MIIDtjCCAp6gAwIBAgIRAKvvNsSxC7ZhWVEH0GreQJMwDQYJKoZIhvcNAQELBQAw
416 bzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
417 BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxEjAQ
418 BgNVBAMTCWxvY2FsaG9zdDAgFw0yMTExMTAxMzEyMDBaGA8yMDk5MTExMDEzMTIw
419 MFowbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24x
420 GDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcx
421 EjAQBgNVBAMTCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
422 ggEBAKaXYav/XFMz1C5Rkjvi+nMaQ6zk69xLb6LuF/q0K0/uHbOrxcBnMc1p1dz6
423 z0Bpy5g0gnrgU1BdTA2mTufyvIJXnNqGT9JcUhOAuJLDVEiWgbycKPKT7vGnqGPR
424 CvKzIQTGDTuLdjG8hULyfiMZz9eofiK0Ay5oXA/kIxl3PncFfGelD3NMgdsDyUtQ
425 wppb7vTRd3rIq6odEjI0Kugo3Nl3oA/rig4gqvalMAV4wMz51RywWJ8Df8hiUHB6
426 HfJa20rMOmDMQpR4U3E94Sox8qRbhPzFMuagW92udCGZP7xfbd45u5taJmNErM4/
427 GF38neoFV3mGsa8ITJ8V3m0hVeMCAwEAAaNLMEkwDgYDVR0PAQH/BAQDAgGiMBMG
428 A1UdJQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwFAYDVR0RBA0wC4IJbG9j
429 YWxob3N0MA0GCSqGSIb3DQEBCwUAA4IBAQAtEWj+ZkNiqMNcOvsYo6zIxNxmDoGX
430 R1HfK02t+/VbnfErcaYOREbIS8YhidG8KO8Wo0GbjeHeMfotbn9ncevbRjxzfGzg
431 26r8Vq9ohaQwvvsCfYJoESFRHQ5YWiEdylL1a1M8T5GOgxd8czPwaCBuPxAn4POk
432 VfeI6wDo2maGn4uS5PjLeWEQAT6A6BGVlT7KOrU5HAZwRLH7mbq9mx2dOgtxi7RW
433 //snN8jx3968ag0twjqOtOYYuam69ptRg5n1Re7zUKfCgJcar8BGL8FecDnz/n7V
434 1fNawOgbbpY+NNGvU2t3O89TDy43W6LyEGznvG5/EEVwiSfa2bvxpXrT
435 -----END CERTIFICATE-----
436 """
437 ),
438 privkey=strip(
439 """
440 -----BEGIN PRIVATE KEY-----
441 MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCml2Gr/1xTM9Qu
442 UZI74vpzGkOs5OvcS2+i7hf6tCtP7h2zq8XAZzHNadXc+s9AacuYNIJ64FNQXUwN
443 pk7n8ryCV5zahk/SXFITgLiSw1RIloG8nCjyk+7xp6hj0QrysyEExg07i3YxvIVC
444 8n4jGc/XqH4itAMuaFwP5CMZdz53BXxnpQ9zTIHbA8lLUMKaW+700Xd6yKuqHRIy
445 NCroKNzZd6AP64oOIKr2pTAFeMDM+dUcsFifA3/IYlBweh3yWttKzDpgzEKUeFNx
446 PeEqMfKkW4T8xTLmoFvdrnQhmT+8X23eObubWiZjRKzOPxhd/J3qBVd5hrGvCEyf
447 Fd5tIVXjAgMBAAECggEAe+60j9M6aP9uw0KV6o1ySnzoidAIE2vfUjOUjULJ0f3Q
448 BOEuDXP33dv1aR8BXecWulWeGDGYaXnu4Vyu6OlxCfqJyxwOd+2MdcvWBADiS9oE
449 DD+UStp48TgMEq3qWiGe18FLCNg4hsm7zdE+u3gxYjuMEt8eWsDydDQBVKmcQ8gS
450 cuN0CIRu4unj8rEUs0Zp8hLhaT+1B5z+iLwrAhRn2KiPDiYICx+TyEZqxWf8LyXw
451 QU8yeeP0DV9K0um2degMKylEXWUGqVt4/KAhww12FW9DeUkDpin7/wyx53+X5sn1
452 SX6nPC+9HwgW9xWx6YoIYtJO3YyRqPzptivdCY65uQKBgQDX1CvIv6IYsAA1XfHs
453 Yt0ZFeorkAE3nWmJTF+NCy1Ep8agHx75LoE/JWVzxZ/EmQ1iyWL6tcZry1bmpqcc
454 cjygkbqRdpn0XFA3NbSvd2xC/D/mIAdkudkb4z+1rGoTlx25y7eRGvyGxJGp+TBS
455 IkGy9L3+4En5J0dJI79iVRluLQKBgQDFmSPKC0hJvZGTDXPNCrdtQfGmAjkarM6N
456 5zUx5sCTmBgzCtpSZOTTc7tv97Aa4zFa7/H9QUPaEjABL+7BC1lxDnhUgXKG75Xg
457 EavOFIuN8TOgn6bWxlKOeghUFlEEQkXjSjQSuL469uEPYshFyyztdqdDWCWNrmmE
458 TD8DSFVuTwKBgH1JsVELzXE/Wh+gtXtfuLGDQziek9ZRDp6hMyaRQmoEaw0wg65r
459 DKQ3dTlLk39wyZB7D3YyZ0jT9VJXk9KzjfY4InGmw6BSpk4mYwko7jPEcuOH3ELg
460 j+Pce3Ne7wUISD0+wQT/AXDKUzS0bxR+xly4LkLyuH5mCr+ufL78X5LRAoGAJf1j
461 XBz/MO45ZsRXVzyQN3lONFSJFg/TRoUFPSrYK4g6XtXfU6gCNoUxrD06pnC3tHwd
462 UkuR+AM3J4NHq+W6tHnLuLOKiVbWwdWj6mMY0ZlmC6OmN/S5OptLrp77xI3ZUfGa
463 QV8zc7KzYnnjd0eww5bkYZY44hx+POlL1B28DxECgYBs895ZOJRrDaqyeR2XGhqJ
464 aYGPMfsDqCjh/T8RsryeT1kBK0qdHopXqz87k7o4n9+Z6oM8SeC/LZpo+a1tZMWW
465 g30DGGSo+r3TTJ4JSR1bd27JxN4fnNQhXj8iYqx3LWhMk5Tij7vKRKsmKnOipQel
466 U+AaexDnvJXPx0dlMt1ykw==
467 -----END PRIVATE KEY-----
468 """
469 ),
470 ),
471 Cert(
472 names=[
473 "a.domain.com",
474 "b.domain.com",
475 "*.domain.com",
476 # "localhost", # don't clash with the other "localhost" cert
477 "127.0.0.1",
478 "0:0:0:0:0:0:0:1",
479 ],
480 # Note: This cert is signed by a cert not present in this file
481 # (rather than being self-signed).
482 pubcert=strip(
483 """
484 -----BEGIN CERTIFICATE-----
485 MIIEADCCAuigAwIBAgIRAOLVQpFEw8jDIYlq6bNFTf0wDQYJKoZIhvcNAQELBQAw
486 cjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
487 BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxFTAT
488 BgNVBAMTDGEuZG9tYWluLmNvbTAgFw0yMTExMTAxMzEyMDBaGA8yMDk5MTExMDEz
489 MTIwMFowcjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0
490 b24xGDAWBgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJp
491 bmcxFTATBgNVBAMTDGEuZG9tYWluLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
492 ADCCAQoCggEBAMfFoFKTH53p+WGbBOCh2XbSQKLGXFbO+EWzr5yKTfYU1P20VG65
493 jjHUwxH2oa8gZ50gBEYHKyT0IE3nyrCEiZi1AjjuQN7xTHRY7IAdf0MNZxavJuDv
494 FHdSHmdjLjp8mOlAVzYPKfWoOPdRPeKqTdbJut+a3b0V6o6TPb1kIeU2MrkKZ+tA
495 zbw4nLanVAPqmqIVUPTff+mkD1qLl9yH66DauzZ6OVC1G32bj9kh4bQVlZh485O/
496 5FSyMbk22uCbE4jQgG+dTGYtUemxJZ/2Lz3ksEWdw7JQEnSRSX5iqeq1pthdcFr6
497 EN9qufVqV95/hhOyz3rRcbbi4gY38rXBX10CAwEAAaOBjjCBizAOBgNVHQ8BAf8E
498 BAMCAaIwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADBWBgNVHREE
499 TzBNggxhLmRvbWFpbi5jb22CDGIuZG9tYWluLmNvbYIMKi5kb21haW4uY29tggls
500 b2NhbGhvc3SHBH8AAAGHEAAAAAAAAAAAAAAAAAAAAAEwDQYJKoZIhvcNAQELBQAD
501 ggEBAMbiTlwgpUWjHBkDyIU4V1xfnJE1WR4dRxwzsiTV9wLvhFUU092n5jt5nJB+
502 zw5ntR+o/P3ZnmZQODzle82992FVBcvrP2hO17SBXCur2b1nhGBaR65Ep1YTCswZ
503 6HMogITRi9stTFpgKLeE07Zfu2skadvCpmYK+K8JSUWVgYVIBYBELhFlVbThEbH5
504 f8PWs1ht+mf2yye5YJ4qWm2i5PFc4a5RhCyAt1taKEfUNAiY+o5sY3MDqvt/wDw9
505 hspcBinogqX5AEYfSLqJl52KmHXYYVUxwfXsjQVVOoVtgZPkGr/w6uG/28CugkeF
506 Z2qUdrALX9d8OSyVcFFHsTWU+ws=
507 -----END CERTIFICATE-----
508 """
509 ),
510 privkey=strip(
511 """
512 -----BEGIN PRIVATE KEY-----
513 MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDHxaBSkx+d6flh
514 mwTgodl20kCixlxWzvhFs6+cik32FNT9tFRuuY4x1MMR9qGvIGedIARGBysk9CBN
515 58qwhImYtQI47kDe8Ux0WOyAHX9DDWcWrybg7xR3Uh5nYy46fJjpQFc2Dyn1qDj3
516 UT3iqk3Wybrfmt29FeqOkz29ZCHlNjK5CmfrQM28OJy2p1QD6pqiFVD033/ppA9a
517 i5fch+ug2rs2ejlQtRt9m4/ZIeG0FZWYePOTv+RUsjG5NtrgmxOI0IBvnUxmLVHp
518 sSWf9i895LBFncOyUBJ0kUl+YqnqtabYXXBa+hDfarn1alfef4YTss960XG24uIG
519 N/K1wV9dAgMBAAECggEAd/8nrDIffbV7TLvXFC9j9tGYba4E7UfpLcUfKUKSTcx5
520 m+NkDBZ9aUVJ31JsEEvAsUr4BjBsJAhYFzOyNpGGLSodKaFDaic7K2/2r4YIWXiF
521 gcS378jsXDgBd0zGCe+p0gIJ4Lj/FUZ04Wn1aF+v3eLS01ms89VkTTv4i/jHu2vg
522 ygGFr0iHZtZD6vPoo2ElJswlJU9K09EmQuHHV2IUsL/j8hGhwPrTt3qtf4SuamOP
523 vjdwdOD+V54tq8t9TmoZSn8YcrRX87yNkIDqu/+GlfN8T95HN4i4apjH3N90srpG
524 +hWN5L7hNcqLrDTxVpy/l6hTyItjBHQToiEojJBC6QKBgQDXEdcejHh3DlOjWOnl
525 o3Ykm8deFG/1tIy1/8CgCnEULQ6xMstFlmTdw/xbQDt8UlGFvUgPuMbr+EdJZWw0
526 0vlb8oGEvvLcQUiDY92AgZ3eozBZCl7kG74kglls2kwF1faLA4T7OCCGCkDArsYX
527 QJ0G0inbiI+Fym1XKU3B5TBUswKBgQDtynvm5T0dyBChfRym3fqJt1/vxZM9qLP3
528 85ATI5bppHz/CZdIMuBsOFaV9cNA+9Y7DRMqqKRvbaW51/CD8FHZKkbmc84LbIqW
529 bvIflBaDUZVbv67wt+5j9+g45VTqy1Ve44ape+KET+46G1Bq8Q76DrHIaLkPjG16
530 YgBmmNEjrwKBgG5gB4j0Cnb/cUkpvpBN/bn4AK91yafNy1E0OkVoVnRGU335VX0X
531 HBj8Fi02n9DD5na+l5cJ+3zq5Jr0ZD4P8E2R/YqE/Nqw3mgf/nOPEdhK4+sueViU
532 LFdMVlyZA98S2f6qBbtwKLDh3i2FBMC2NmBjx3uVcCL3qnnLBs71soIlAoGBAI5t
533 V6VG7UJnUL7JR14TWzsdoNLmzniCEbmUI1mzWXL8WPoRbpGKF636WLJdj+Pec8TO
534 4goNFODBFiCoXKFKUlv23JywBFwHWUMdlNyhQJLLTOC1gT0hjiJGnMtnYWN5Atth
535 AImHcHe7wH8BWTuUw1m3b3kQcLgFbpV9GaxaH/p1AoGASeePrkCHbTglyhIPlhOO
536 ZNv+1U23IiUa1FWov4XeRy2bPcHS+QGr4PLBierXJLh8BRrQqKr5UaD9VUKXcRQ1
537 t3bmXzq1pvTTmGLeU5SHgu3E8Q0OmXg81JBhX2zFd3P4eOzg48rWs7u/aGx48SmH
538 PtJDgYlU/MWbf+QJ5TVqEdc=
539 -----END PRIVATE KEY-----
540 """
541 ),
542 ),
543 Cert(
544 names=["acook"],
545 pubcert=strip(
546 """
547 -----BEGIN CERTIFICATE-----
548 MIIDqjCCApKgAwIBAgIRALWUzAZFlexRsIL3jbWaQeQwDQYJKoZIhvcNAQELBQAw
549 azELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMQ8wDQYDVQQHEwZCb3N0b24xGDAW
550 BgNVBAoTD0FtYmFzc2Fkb3IgTGFiczEUMBIGA1UECxMLRW5naW5lZXJpbmcxDjAM
551 BgNVBAMTBWFjb29rMCAXDTIxMTExMDEzMTIwMFoYDzIwOTkxMTEwMTMxMjAwWjBr
552 MQswCQYDVQQGEwJVUzELMAkGA1UECBMCTUExDzANBgNVBAcTBkJvc3RvbjEYMBYG
553 A1UEChMPQW1iYXNzYWRvciBMYWJzMRQwEgYDVQQLEwtFbmdpbmVlcmluZzEOMAwG
554 A1UEAxMFYWNvb2swggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDH84PT
555 Dc2PZ2snbyKfQFG4AxSHu1WVUHn4rawwiP2i71oVKqTdm7SCb6vR2Z2194nvyOgA
556 AwfZCtgafoIY+lVakScttOkwqvFFkUIPt7K7uq7ovzDfRiAmNKWg3lKj3gCmJ/SB
557 Uur4jeys6HOMmoBpy8tKyCxnkYj029DedzXTjWuHu1LS5ZdJi10bZSEC9dnU7Dhp
558 3lWD4EsMfm+uvr5C/h4mVjKFnZL+4MDbpj94TaN4UwQRZh//kutsQgc0vS+TRgtS
559 fzi/rS+A+UpEGASx1e3w3EBDMoPu1c41GF/qKJMjD95xFi2GLNURlGqM6mnHVXSH
560 w5W6CxjY43a+bdsVAgMBAAGjRzBFMA4GA1UdDwEB/wQEAwIBojATBgNVHSUEDDAK
561 BggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMBAGA1UdEQQJMAeCBWFjb29rMA0GCSqG
562 SIb3DQEBCwUAA4IBAQBuqhTs/P+rSDX4NXnebnOLBkWj010Hh49nmOqoGXCnhJCe
563 Pe+if4uJSyTUTBv6Wot/3mK4NOq8k393NkxrZeooPJMQuKP6DKf5TOkgncmjldv7
564 ceDi/C1Hy9ndFUjCqyMK96X9p1T23nkcWzzYihvW+3LseYOOJQOvewmIb7u5EBBt
565 1n/PnpqOuP7Z1Co9I2/5wQmBHSk3RAR9B5q2MrATxoDNzB7aSeRjG2P0y1A91z3a
566 eZRtgJ10FZuCxE3C+AhSKUC23ltGjLiscVtaqS6Z5o4W+brzSKf+kFgnSGMc2wL2
567 atpbBOSUtgfJC+PgzkbAYXRgRIxBZRgN3wt18WIZ
568 -----END CERTIFICATE-----
569 """
570 ),
571 privkey=strip(
572 """
573 -----BEGIN PRIVATE KEY-----
574 MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDH84PTDc2PZ2sn
575 byKfQFG4AxSHu1WVUHn4rawwiP2i71oVKqTdm7SCb6vR2Z2194nvyOgAAwfZCtga
576 foIY+lVakScttOkwqvFFkUIPt7K7uq7ovzDfRiAmNKWg3lKj3gCmJ/SBUur4jeys
577 6HOMmoBpy8tKyCxnkYj029DedzXTjWuHu1LS5ZdJi10bZSEC9dnU7Dhp3lWD4EsM
578 fm+uvr5C/h4mVjKFnZL+4MDbpj94TaN4UwQRZh//kutsQgc0vS+TRgtSfzi/rS+A
579 +UpEGASx1e3w3EBDMoPu1c41GF/qKJMjD95xFi2GLNURlGqM6mnHVXSHw5W6CxjY
580 43a+bdsVAgMBAAECggEAGzMKBKTFCLPlxKh+ijFCrIhmu4wFOVmILgbZ/IQ2FHsA
581 ww5Y/PhYVsIAGnzC0mUI84Bd5tqCr8ik2v3IjsNG5xoFvVb1vbQTPAZleSPhAV6E
582 uo5/hG/Sob/ZpAd6MGZbqj6XKRxxcDxGLMM2LLM7sqiRT+vo9nG6sqxQPmLzBILj
583 wNqGaLh2OMcue8Ohnze3jNpQzmtpqFxPjtmzu+Le0BITydq45YX1WLf5SET+9set
584 GMuzLaDpVPdt9e6K/yhz/WDMIjJy/SCIBZ5eVMjgCivifqxa5N04kmXdsnCAF0B3
585 R3SRWoQImqOE/HytlJi7z2icuHLG5EoCEhQaDWNLwQKBgQDb/h+pgI7WxtPLKXQb
586 CMw4/+vJirW1H6aKUTIRH8jr0gcXPTHIUbHb+pt/VnUgM7eMM9bpwljwR6TUK0u2
587 9Zzdj1uYwzAO3j77kripx9pwM+0TyFbFdy0lpvKNt8KRbzw+719CiySz8s3bywZA
588 s3hIjsjx5Zny73zTSOGTwTkRUQKBgQDoraNg3XDxO/M71BLs6auLZNBCDd9tmZvg
589 Zn5Ytlc78bqkXE5Yy0j8sKuKgiszM/hjWbYjSZByXvnPFLnBFDZP896wJ6+6np95
590 gR8ssw2D3TgPPMyI3IAdewSH1tYQax0SpXc2Pg96tHoBhE25P1lAFgybac7p1PQk
591 /xpvTvMchQKBgEdDpSIVoS/2LLnNbe0sBmwYi1s4cfCAlkSMVPmzIDU0TlO64RuR
592 S1qFbkXrzflmh3kFegMzj/gWXVDVzasxGWW0gOmVoUXPvPtl5igps5tRVuVnqqRB
593 HQDreftqob7XF98TT/qQdI1OhF1FAXuIJ9jpWDL0O9C0v+z52QkyOLhhAoGAdhda
594 qlj5b5YLtzvFdzSJei/qevvrgAbMVDHwwjmZQLVJEw4+PVa/bnCEP8IdBtnDoTjw
595 9ivqAgIuK2nLdTE6941AYoth5weGzPY5ykf9/gUS5Ljo3jV7WHsNK5xf/OlAUixk
596 usT4ukBLA+YQRIrgU2RddatX9tm8J+LJmeCqBrkCgYBzPY2znrzX2hXjipnPDV7O
597 b3bvIXpxUi5vyWtxhZvFSGk/DfqnkuTsqzDNTtJ0EapZzo9LkXnbH+a9YlzJWufb
598 4pgFcDfdX+vTmtbMdBGqnx/B0feuznMmVmPhmx1PQVAIbfUwDFBTCCBVfQbUoMse
599 6eBj+TYOBwogTQvgqPygHw==
600 -----END PRIVATE KEY-----
601 """
602 ),
603 ),
604]
605
606TLSCerts: Dict[str, Cert] = {k: v for v in _TLSCerts for k in v.names}
View as plain text