LEFT | RIGHT |
(no file at all) | |
1 // Copyright 2009 The Go Authors. All rights reserved. | 1 // Copyright 2009 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 package tls | 5 package tls |
6 | 6 |
7 import ( | 7 import ( |
8 "bytes" | 8 "bytes" |
9 "crypto/rsa" | 9 "crypto/rsa" |
| 10 "crypto/x509" |
10 "encoding/hex" | 11 "encoding/hex" |
| 12 "encoding/pem" |
11 "flag" | 13 "flag" |
12 "io" | 14 "io" |
| 15 "log" |
13 "math/big" | 16 "math/big" |
14 "net" | 17 "net" |
15 "strconv" | 18 "strconv" |
16 "strings" | 19 "strings" |
17 "testing" | 20 "testing" |
18 "time" | 21 "time" |
19 ) | 22 ) |
20 | 23 |
21 type zeroSource struct{} | 24 type zeroSource struct{} |
22 | 25 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 c, s := net.Pipe() | 105 c, s := net.Pipe() |
103 go c.Close() | 106 go c.Close() |
104 | 107 |
105 err := Server(s, testConfig).Handshake() | 108 err := Server(s, testConfig).Handshake() |
106 s.Close() | 109 s.Close() |
107 if err != io.EOF { | 110 if err != io.EOF { |
108 t.Errorf("Got error: %s; expected: %s", err, io.EOF) | 111 t.Errorf("Got error: %s; expected: %s", err, io.EOF) |
109 } | 112 } |
110 } | 113 } |
111 | 114 |
112 func testServerScript(t *testing.T, name string, serverScript [][]byte, config *
Config) { | 115 func testServerScript(t *testing.T, name string, serverScript [][]byte, config *
Config, peers []*x509.Certificate) { |
113 c, s := net.Pipe() | 116 c, s := net.Pipe() |
114 srv := Server(s, config) | 117 srv := Server(s, config) |
| 118 pchan := make(chan []*x509.Certificate, 1) |
115 go func() { | 119 go func() { |
116 srv.Write([]byte("hello, world\n")) | 120 srv.Write([]byte("hello, world\n")) |
117 srv.Close() | 121 srv.Close() |
118 s.Close() | 122 s.Close() |
| 123 st := srv.ConnectionState() |
| 124 pchan <- st.PeerCertificates |
119 }() | 125 }() |
120 | 126 |
121 defer c.Close() | |
122 for i, b := range serverScript { | 127 for i, b := range serverScript { |
123 if i%2 == 0 { | 128 if i%2 == 0 { |
124 c.Write(b) | 129 c.Write(b) |
125 continue | 130 continue |
126 } | 131 } |
127 bb := make([]byte, len(b)) | 132 bb := make([]byte, len(b)) |
128 n, err := io.ReadFull(c, bb) | 133 n, err := io.ReadFull(c, bb) |
129 if err != nil { | 134 if err != nil { |
130 t.Fatalf("%s #%d: %s\nRead %d, wanted %d, got %x, wanted
%x\n", name, i, err, n, len(bb), bb[:n], b) | 135 t.Fatalf("%s #%d: %s\nRead %d, wanted %d, got %x, wanted
%x\n", name, i, err, n, len(bb), bb[:n], b) |
131 } | 136 } |
132 if !bytes.Equal(b, bb) { | 137 if !bytes.Equal(b, bb) { |
133 t.Fatalf("%s #%d: mismatch on read: got:%x want:%x", nam
e, i, bb, b) | 138 t.Fatalf("%s #%d: mismatch on read: got:%x want:%x", nam
e, i, bb, b) |
134 } | 139 } |
135 } | 140 } |
| 141 c.Close() |
| 142 |
| 143 if peers != nil { |
| 144 gotpeers := <-pchan |
| 145 if len(peers) == len(gotpeers) { |
| 146 for i, _ := range peers { |
| 147 if !peers[i].Equal(gotpeers[i]) { |
| 148 t.Fatalf("%s: mismatch on peer cert %d",
name, i) |
| 149 } |
| 150 } |
| 151 } else { |
| 152 t.Fatalf("%s: mismatch on peer list length: %d (wanted)
!= %d (got)", name, len(peers), len(gotpeers)) |
| 153 } |
| 154 } |
136 } | 155 } |
137 | 156 |
138 func TestHandshakeServerRC4(t *testing.T) { | 157 func TestHandshakeServerRC4(t *testing.T) { |
139 » testServerScript(t, "RC4", rc4ServerScript, testConfig) | 158 » testServerScript(t, "RC4", rc4ServerScript, testConfig, nil) |
140 } | 159 } |
141 | 160 |
142 func TestHandshakeServer3DES(t *testing.T) { | 161 func TestHandshakeServer3DES(t *testing.T) { |
143 des3Config := new(Config) | 162 des3Config := new(Config) |
144 *des3Config = *testConfig | 163 *des3Config = *testConfig |
145 des3Config.CipherSuites = []uint16{TLS_RSA_WITH_3DES_EDE_CBC_SHA} | 164 des3Config.CipherSuites = []uint16{TLS_RSA_WITH_3DES_EDE_CBC_SHA} |
146 » testServerScript(t, "3DES", des3ServerScript, des3Config) | 165 » testServerScript(t, "3DES", des3ServerScript, des3Config, nil) |
147 } | 166 } |
148 | 167 |
149 func TestHandshakeServerAES(t *testing.T) { | 168 func TestHandshakeServerAES(t *testing.T) { |
150 aesConfig := new(Config) | 169 aesConfig := new(Config) |
151 *aesConfig = *testConfig | 170 *aesConfig = *testConfig |
152 aesConfig.CipherSuites = []uint16{TLS_RSA_WITH_AES_128_CBC_SHA} | 171 aesConfig.CipherSuites = []uint16{TLS_RSA_WITH_AES_128_CBC_SHA} |
153 » testServerScript(t, "AES", aesServerScript, aesConfig) | 172 » testServerScript(t, "AES", aesServerScript, aesConfig, nil) |
154 } | 173 } |
155 | 174 |
156 func TestHandshakeServerSSLv3(t *testing.T) { | 175 func TestHandshakeServerSSLv3(t *testing.T) { |
157 » testServerScript(t, "SSLv3", sslv3ServerScript, testConfig) | 176 » testServerScript(t, "SSLv3", sslv3ServerScript, testConfig, nil) |
| 177 } |
| 178 |
| 179 type clientauthTest struct { |
| 180 » name string |
| 181 » clientauth ClientAuthType |
| 182 » peers []*x509.Certificate |
| 183 » script [][]byte |
| 184 } |
| 185 |
| 186 func TestClientAuth(t *testing.T) { |
| 187 » for _, cat := range clientauthTests { |
| 188 » » t.Log("running", cat.name) |
| 189 » » cfg := new(Config) |
| 190 » » *cfg = *testConfig |
| 191 » » cfg.ClientAuth = cat.clientauth |
| 192 » » testServerScript(t, cat.name, cat.script, cfg, cat.peers) |
| 193 » } |
158 } | 194 } |
159 | 195 |
160 var serve = flag.Bool("serve", false, "run a TLS server on :10443") | 196 var serve = flag.Bool("serve", false, "run a TLS server on :10443") |
161 var testCipherSuites = flag.String("ciphersuites", | 197 var testCipherSuites = flag.String("ciphersuites", |
162 "0x"+strconv.FormatInt(int64(TLS_RSA_WITH_RC4_128_SHA), 16), | 198 "0x"+strconv.FormatInt(int64(TLS_RSA_WITH_RC4_128_SHA), 16), |
163 "cipher suites to accept in serving mode") | 199 "cipher suites to accept in serving mode") |
| 200 var testClientAuth = flag.Int("clientauth", 0, "value for tls.Config.ClientAuth"
) |
164 | 201 |
165 func TestRunServer(t *testing.T) { | 202 func TestRunServer(t *testing.T) { |
166 if !*serve { | 203 if !*serve { |
167 return | 204 return |
168 } | 205 } |
169 | 206 |
170 suites := strings.Split(*testCipherSuites, ",") | 207 suites := strings.Split(*testCipherSuites, ",") |
171 testConfig.CipherSuites = make([]uint16, len(suites)) | 208 testConfig.CipherSuites = make([]uint16, len(suites)) |
172 for i := range suites { | 209 for i := range suites { |
173 suite, err := strconv.ParseUint(suites[i], 0, 64) | 210 suite, err := strconv.ParseUint(suites[i], 0, 64) |
174 if err != nil { | 211 if err != nil { |
175 panic(err) | 212 panic(err) |
176 } | 213 } |
177 testConfig.CipherSuites[i] = uint16(suite) | 214 testConfig.CipherSuites[i] = uint16(suite) |
178 } | 215 } |
179 | 216 |
| 217 testConfig.ClientAuth = ClientAuthType(*testClientAuth) |
| 218 |
180 l, err := Listen("tcp", ":10443", testConfig) | 219 l, err := Listen("tcp", ":10443", testConfig) |
181 if err != nil { | 220 if err != nil { |
182 t.Fatal(err) | 221 t.Fatal(err) |
183 } | 222 } |
184 | 223 |
185 for { | 224 for { |
186 c, err := l.Accept() | 225 c, err := l.Accept() |
187 if err != nil { | 226 if err != nil { |
188 break | 227 break |
189 } | 228 } |
| 229 |
190 _, err = c.Write([]byte("hello, world\n")) | 230 _, err = c.Write([]byte("hello, world\n")) |
191 if err != nil { | 231 if err != nil { |
192 t.Errorf("error from TLS: %s", err) | 232 t.Errorf("error from TLS: %s", err) |
193 » » » break | 233 » » » continue |
194 } | 234 } |
| 235 |
| 236 st := c.(*Conn).ConnectionState() |
| 237 if len(st.PeerCertificates) > 0 { |
| 238 log.Print("Handling request from client ", st.PeerCertif
icates[0].Subject.CommonName) |
| 239 } else { |
| 240 log.Print("Handling request from anon client") |
| 241 } |
| 242 |
195 c.Close() | 243 c.Close() |
196 } | 244 } |
197 } | 245 } |
198 | 246 |
199 func bigFromString(s string) *big.Int { | 247 func bigFromString(s string) *big.Int { |
200 ret := new(big.Int) | 248 ret := new(big.Int) |
201 ret.SetString(s, 10) | 249 ret.SetString(s, 10) |
202 return ret | 250 return ret |
203 } | 251 } |
204 | 252 |
205 func fromHex(s string) []byte { | 253 func fromHex(s string) []byte { |
206 b, _ := hex.DecodeString(s) | 254 b, _ := hex.DecodeString(s) |
207 return b | 255 return b |
208 } | 256 } |
209 | 257 |
210 var testCertificate = fromHex("308202b030820219a00302010202090085b0bba48a7fb8ca3
00d06092a864886f70d01010505003045310b3009060355040613024155311330110603550408130
a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507
479204c7464301e170d3130303432343039303933385a170d3131303432343039303933385a30453
10b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f06035
5040a1318496e7465726e6574205769646769747320507479204c746430819f300d06092a864886f
70d010101050003818d0030818902818100bb79d6f517b5e5bf4610d0dc69bee62b07435ad0032d8
a7a4385b71452e7a5654c2c78b8238cb5b482e5de1f953b7e62a52ca533d6fe125c7a56fcf506bff
a587b263fb5cd04d3d0c921964ac7f4549f5abfef427100fe1899077f7e887d7df10439c4a22edb5
1c97ce3c04c3b326601cfafb11db8719a1ddbdb896baeda2d790203010001a381a73081a4301d060
3551d0e04160414b1ade2855acfcb28db69ce2369ded3268e18883930750603551d23046e306c801
4b1ade2855acfcb28db69ce2369ded3268e188839a149a4473045310b30090603550406130241553
11330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e65742
05769646769747320507479204c746482090085b0bba48a7fb8ca300c0603551d13040530030101f
f300d06092a864886f70d010105050003818100086c4524c76bb159ab0c52ccf2b014d7879d7a647
5b55a9566e4c52b8eae12661feb4f38b36e60d392fdf74108b52513b1187a24fb301dbaed98b917e
ce7d73159db95d31d78ea50565cd5825a2d5a5f33c4b6d8c97590968c0f5298b5cd981f89205ff2a
01ca31b9694dda9fd57e970e8266d71999b266e3850296c90a7bdd9") | 258 var testCertificate = fromHex("308202b030820219a00302010202090085b0bba48a7fb8ca3
00d06092a864886f70d01010505003045310b3009060355040613024155311330110603550408130
a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507
479204c7464301e170d3130303432343039303933385a170d3131303432343039303933385a30453
10b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f06035
5040a1318496e7465726e6574205769646769747320507479204c746430819f300d06092a864886f
70d010101050003818d0030818902818100bb79d6f517b5e5bf4610d0dc69bee62b07435ad0032d8
a7a4385b71452e7a5654c2c78b8238cb5b482e5de1f953b7e62a52ca533d6fe125c7a56fcf506bff
a587b263fb5cd04d3d0c921964ac7f4549f5abfef427100fe1899077f7e887d7df10439c4a22edb5
1c97ce3c04c3b326601cfafb11db8719a1ddbdb896baeda2d790203010001a381a73081a4301d060
3551d0e04160414b1ade2855acfcb28db69ce2369ded3268e18883930750603551d23046e306c801
4b1ade2855acfcb28db69ce2369ded3268e188839a149a4473045310b30090603550406130241553
11330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e65742
05769646769747320507479204c746482090085b0bba48a7fb8ca300c0603551d13040530030101f
f300d06092a864886f70d010105050003818100086c4524c76bb159ab0c52ccf2b014d7879d7a647
5b55a9566e4c52b8eae12661feb4f38b36e60d392fdf74108b52513b1187a24fb301dbaed98b917e
ce7d73159db95d31d78ea50565cd5825a2d5a5f33c4b6d8c97590968c0f5298b5cd981f89205ff2a
01ca31b9694dda9fd57e970e8266d71999b266e3850296c90a7bdd9") |
211 | 259 |
212 var testPrivateKey = &rsa.PrivateKey{ | 260 var testPrivateKey = &rsa.PrivateKey{ |
213 PublicKey: rsa.PublicKey{ | 261 PublicKey: rsa.PublicKey{ |
214 N: bigFromString("1316500795037760010337938778854990013346642493
54723305978524647182322416328664556247316495448366990052837680518067798333412266
67381337089570211894439808159878982883744755260307784800102061164054722168707214
25372024281027908184519013955968825880634278542253304367406477152029719731451511
61964464812406232198521"), | 262 N: bigFromString("1316500795037760010337938778854990013346642493
54723305978524647182322416328664556247316495448366990052837680518067798333412266
67381337089570211894439808159878982883744755260307784800102061164054722168707214
25372024281027908184519013955968825880634278542253304367406477152029719731451511
61964464812406232198521"), |
215 E: 65537, | 263 E: 65537, |
216 }, | 264 }, |
217 D: bigFromString("293544503378042739690072773782870272747218926075433979
31919078829901848876371746653677097639302788129485893852488285045793268732234230
87567168262408241399617743158673417166325865746223732030061085024418631688005524
30996405445183180935440572131903208370949581649739591230583374750525108339164910
60913053867729"), | 265 D: bigFromString("293544503378042739690072773782870272747218926075433979
31919078829901848876371746653677097639302788129485893852488285045793268732234230
87567168262408241399617743158673417166325865746223732030061085024418631688005524
30996405445183180935440572131903208370949581649739591230583374750525108339164910
60913053867729"), |
218 Primes: []*big.Int{ | 266 Primes: []*big.Int{ |
219 bigFromString("1196927778231180016656204770837938072013696198771
31783806704226714267596501271506884261778290774947552007942970553161631557558358
13760102405344560929062149"), | 267 bigFromString("1196927778231180016656204770837938072013696198771
31783806704226714267596501271506884261778290774947552007942970553161631557558358
13760102405344560929062149"), |
220 bigFromString("1099899942988444139189918261641819249290507305368
46570759749352184616865238701255218227565797923152155430922555160938407288907838
87287417039645833477273829"), | 268 bigFromString("1099899942988444139189918261641819249290507305368
46570759749352184616865238701255218227565797923152155430922555160938407288907838
87287417039645833477273829"), |
221 }, | 269 }, |
| 270 } |
| 271 |
| 272 func loadPEMCert(in string) *x509.Certificate { |
| 273 block, _ := pem.Decode([]byte(in)) |
| 274 if block.Type == "CERTIFICATE" && len(block.Headers) == 0 { |
| 275 cert, err := x509.ParseCertificate(block.Bytes) |
| 276 if err == nil { |
| 277 return cert |
| 278 } |
| 279 panic("error parsing cert") |
| 280 } |
| 281 panic("error parsing PEM") |
222 } | 282 } |
223 | 283 |
224 // Script of interaction with gnutls implementation. | 284 // Script of interaction with gnutls implementation. |
225 // The values for this test are obtained by building and running in server mode: | 285 // The values for this test are obtained by building and running in server mode: |
226 // % gotest -test.run "TestRunServer" -serve | 286 // % gotest -test.run "TestRunServer" -serve |
227 // and then: | 287 // and then: |
228 // % gnutls-cli --insecure --debug 100 -p 10443 localhost > /tmp/log 2>&1 | 288 // % gnutls-cli --insecure --debug 100 -p 10443 localhost > /tmp/log 2>&1 |
229 // % python parse-gnutls-cli-debug-log.py < /tmp/log | 289 // % python parse-gnutls-cli-debug-log.py < /tmp/log |
230 var rc4ServerScript = [][]byte{ | 290 var rc4ServerScript = [][]byte{ |
231 { | 291 { |
232 » » 0x16, 0x03, 0x02, 0x00, 0x7f, 0x01, 0x00, 0x00, | 292 » » 0x16, 0x03, 0x02, 0x00, 0x7a, 0x01, 0x00, 0x00, |
233 » » 0x7b, 0x03, 0x02, 0x4d, 0x08, 0x1f, 0x5a, 0x7a, | 293 » » 0x76, 0x03, 0x02, 0x4e, 0xdd, 0xe6, 0xa5, 0xf7, |
234 » » 0x0a, 0x92, 0x2f, 0xf0, 0x73, 0x16, 0x3a, 0x88, | 294 » » 0x00, 0x36, 0xf7, 0x83, 0xec, 0x93, 0x7c, 0xd2, |
235 » » 0x14, 0x85, 0x4c, 0x98, 0x15, 0x7b, 0x65, 0xe0, | 295 » » 0x4d, 0xe7, 0x7b, 0xf5, 0x4c, 0xf7, 0xe3, 0x86, |
236 » » 0x78, 0xd0, 0xed, 0xd0, 0xf3, 0x65, 0x20, 0xeb, | 296 » » 0xe8, 0xec, 0x3b, 0xbd, 0x2c, 0x9a, 0x3f, 0x57, |
237 » » 0x80, 0xd1, 0x0b, 0x00, 0x00, 0x34, 0x00, 0x33, | 297 » » 0xf0, 0xa4, 0xd4, 0x00, 0x00, 0x34, 0x00, 0x33, |
238 0x00, 0x45, 0x00, 0x39, 0x00, 0x88, 0x00, 0x16, | 298 0x00, 0x45, 0x00, 0x39, 0x00, 0x88, 0x00, 0x16, |
239 0x00, 0x32, 0x00, 0x44, 0x00, 0x38, 0x00, 0x87, | 299 0x00, 0x32, 0x00, 0x44, 0x00, 0x38, 0x00, 0x87, |
240 0x00, 0x13, 0x00, 0x66, 0x00, 0x90, 0x00, 0x91, | 300 0x00, 0x13, 0x00, 0x66, 0x00, 0x90, 0x00, 0x91, |
241 0x00, 0x8f, 0x00, 0x8e, 0x00, 0x2f, 0x00, 0x41, | 301 0x00, 0x8f, 0x00, 0x8e, 0x00, 0x2f, 0x00, 0x41, |
242 0x00, 0x35, 0x00, 0x84, 0x00, 0x0a, 0x00, 0x05, | 302 0x00, 0x35, 0x00, 0x84, 0x00, 0x0a, 0x00, 0x05, |
243 0x00, 0x04, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8b, | 303 0x00, 0x04, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8b, |
244 » » 0x00, 0x8a, 0x01, 0x00, 0x00, 0x1e, 0x00, 0x09, | 304 » » 0x00, 0x8a, 0x01, 0x00, 0x00, 0x19, 0x00, 0x09, |
245 0x00, 0x03, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, | 305 0x00, 0x03, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, |
246 0x0e, 0x00, 0x0c, 0x00, 0x00, 0x09, 0x6c, 0x6f, | 306 0x0e, 0x00, 0x0c, 0x00, 0x00, 0x09, 0x6c, 0x6f, |
247 » » 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0xff, | 307 » » 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, |
248 » » 0x01, 0x00, 0x01, 0x00, | |
249 }, | 308 }, |
250 | 309 |
251 { | 310 { |
252 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, | 311 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, |
253 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, | 312 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, |
254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 313 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 314 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 315 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
257 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, | 316 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, |
258 0x03, 0x01, 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, | 317 0x03, 0x01, 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
342 0x98, 0x1f, 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, | 401 0x98, 0x1f, 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, |
343 0xa3, 0x1b, 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, | 402 0xa3, 0x1b, 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, |
344 0xe9, 0x70, 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, | 403 0xe9, 0x70, 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, |
345 0x26, 0x6e, 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, | 404 0x26, 0x6e, 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, |
346 0xbd, 0xd9, 0x16, 0x03, 0x01, 0x00, 0x04, 0x0e, | 405 0xbd, 0xd9, 0x16, 0x03, 0x01, 0x00, 0x04, 0x0e, |
347 0x00, 0x00, 0x00, | 406 0x00, 0x00, 0x00, |
348 }, | 407 }, |
349 | 408 |
350 { | 409 { |
351 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, | 410 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, |
352 » » 0x82, 0x00, 0x80, 0x3c, 0x13, 0xd7, 0x12, 0xc1, | 411 » » 0x82, 0x00, 0x80, 0x39, 0xe2, 0x0f, 0x49, 0xa0, |
353 » » 0x6a, 0xf0, 0x3f, 0x8c, 0xa1, 0x35, 0x5d, 0xc5, | 412 » » 0xe6, 0xe4, 0x3b, 0x0c, 0x5f, 0xce, 0x39, 0x97, |
354 » » 0x89, 0x1e, 0x9e, 0xcd, 0x32, 0xc7, 0x9e, 0xe6, | 413 » » 0x6c, 0xb6, 0x41, 0xd9, 0xe1, 0x52, 0x8f, 0x43, |
355 » » 0xae, 0xd5, 0xf1, 0xbf, 0x70, 0xd7, 0xa9, 0xef, | 414 » » 0xb3, 0xc6, 0x4f, 0x9a, 0xe2, 0x1e, 0xb9, 0x3b, |
356 » » 0x2c, 0x4c, 0xf4, 0x22, 0xbc, 0x17, 0x17, 0xaa, | 415 » » 0xe3, 0x72, 0x17, 0x68, 0xb2, 0x0d, 0x7b, 0x71, |
357 » » 0x05, 0xf3, 0x9f, 0x80, 0xf2, 0xe9, 0x82, 0x2f, | 416 » » 0x33, 0x96, 0x5c, 0xf9, 0xfe, 0x18, 0x8f, 0x2f, |
358 » » 0x2a, 0x15, 0x54, 0x0d, 0x16, 0x0e, 0x77, 0x4c, | 417 » » 0x2b, 0x82, 0xec, 0x03, 0xf2, 0x16, 0xa8, 0xf8, |
359 » » 0x28, 0x3c, 0x03, 0x2d, 0x2d, 0xd7, 0xc8, 0x64, | 418 » » 0x39, 0xf9, 0xbb, 0x5a, 0xd3, 0x0c, 0xc1, 0x2a, |
360 » » 0xd9, 0x59, 0x4b, 0x1c, 0xf4, 0xde, 0xff, 0x2f, | 419 » » 0x52, 0xa1, 0x90, 0x20, 0x6b, 0x24, 0xc9, 0x55, |
361 » » 0xbc, 0x94, 0xaf, 0x18, 0x26, 0x37, 0xce, 0x4f, | 420 » » 0xee, 0x05, 0xd8, 0xb3, 0x43, 0x58, 0xf6, 0x7f, |
362 » » 0x84, 0x74, 0x2e, 0x45, 0x66, 0x7c, 0x0c, 0x54, | 421 » » 0x68, 0x2d, 0xb3, 0xd1, 0x1b, 0x30, 0xaa, 0xdf, |
363 » » 0x46, 0x36, 0x5f, 0x65, 0x21, 0x7b, 0x83, 0x8c, | 422 » » 0xfc, 0x85, 0xf1, 0xab, 0x14, 0x51, 0x91, 0x78, |
364 » » 0x6d, 0x76, 0xcd, 0x0d, 0x9f, 0xda, 0x1c, 0xa4, | 423 » » 0x29, 0x35, 0x65, 0xe0, 0x9c, 0xf6, 0xb7, 0x35, |
365 » » 0x6e, 0xfe, 0xb1, 0xf7, 0x09, 0x0d, 0xfb, 0x74, | 424 » » 0x33, 0xdb, 0x28, 0x93, 0x4d, 0x86, 0xbc, 0xfe, |
366 » » 0x66, 0x34, 0x99, 0x89, 0x7f, 0x5f, 0x77, 0x87, | 425 » » 0xaa, 0xd1, 0xc0, 0x2e, 0x4d, 0xec, 0xa2, 0x98, |
367 » » 0x4a, 0x66, 0x4b, 0xa9, 0x59, 0x57, 0xe3, 0x56, | 426 » » 0xca, 0x08, 0xb2, 0x91, 0x14, 0xde, 0x97, 0x3a, |
368 » » 0x0d, 0xdd, 0xd8, 0x14, 0x03, 0x01, 0x00, 0x01, | 427 » » 0xc4, 0x6b, 0x49, 0x14, 0x03, 0x01, 0x00, 0x01, |
369 » » 0x01, 0x16, 0x03, 0x01, 0x00, 0x24, 0xc0, 0x4e, | 428 » » 0x01, 0x16, 0x03, 0x01, 0x00, 0x24, 0x7a, 0xcb, |
370 » » 0xd3, 0x0f, 0xb5, 0xc0, 0x57, 0xa6, 0x18, 0x80, | 429 » » 0x3b, 0x0e, 0xbb, 0x7a, 0x56, 0x39, 0xaf, 0x83, |
371 » » 0x80, 0x6b, 0x49, 0xfe, 0xbd, 0x3a, 0x7a, 0x2c, | 430 » » 0xae, 0xfd, 0x25, 0xfd, 0x64, 0xb4, 0x0c, 0x0c, |
372 » » 0xef, 0x70, 0xb5, 0x1c, 0xd2, 0xdf, 0x5f, 0x78, | 431 » » 0x17, 0x46, 0x54, 0x2c, 0x6a, 0x07, 0x83, 0xc6, |
373 » » 0x5a, 0xd8, 0x4f, 0xa0, 0x95, 0xb4, 0xb3, 0xb5, | 432 » » 0x46, 0x08, 0x0b, 0xcd, 0x15, 0x53, 0xef, 0x40, |
374 » » 0xaa, 0x3b, | 433 » » 0x4e, 0x56, |
375 }, | 434 }, |
376 | 435 |
377 { | 436 { |
378 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, | 437 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, |
379 » » 0x01, 0x00, 0x24, 0x9d, 0xc9, 0xda, 0xdf, 0xeb, | 438 » » 0x01, 0x00, 0x24, 0xd3, 0x72, 0xeb, 0x29, 0xb9, |
380 » » 0xc8, 0xdb, 0xf8, 0x94, 0xa5, 0xef, 0xd5, 0xfc, | 439 » » 0x15, 0x29, 0xb5, 0xe5, 0xb7, 0xef, 0x5c, 0xb2, |
381 » » 0x89, 0x01, 0x64, 0x30, 0x77, 0x5a, 0x18, 0x4b, | 440 » » 0x9d, 0xf6, 0xc8, 0x47, 0xd6, 0xa0, 0x84, 0xf0, |
382 » » 0x16, 0x79, 0x9c, 0xf6, 0xf5, 0x09, 0x22, 0x12, | 441 » » 0x8c, 0xcb, 0xe6, 0xbe, 0xbc, 0xfb, 0x38, 0x90, |
383 » » 0x4c, 0x3e, 0xa8, 0x8e, 0x91, 0xa5, 0x24, | 442 » » 0x89, 0x60, 0xa2, 0xe8, 0xaa, 0xb3, 0x12, 0x17, |
| 443 » » 0x03, 0x01, 0x00, 0x21, 0x67, 0x4a, 0x3d, 0x31, |
| 444 » » 0x6c, 0x5a, 0x1c, 0xf9, 0x6e, 0xf1, 0xd8, 0x12, |
| 445 » » 0x0e, 0xb9, 0xfd, 0xfc, 0x66, 0x91, 0xd1, 0x1d, |
| 446 » » 0x6e, 0xe4, 0x55, 0xdd, 0x11, 0xb9, 0xb8, 0xa2, |
| 447 » » 0x65, 0xa1, 0x95, 0x64, 0x1c, 0x15, 0x03, 0x01, |
| 448 » » 0x00, 0x16, 0x9b, 0xa0, 0x24, 0xe3, 0xcb, 0xae, |
| 449 » » 0xad, 0x51, 0xb3, 0x63, 0x59, 0x78, 0x49, 0x24, |
| 450 » » 0x06, 0x6e, 0xee, 0x7a, 0xd7, 0x74, 0x53, 0x04, |
384 }, | 451 }, |
385 } | 452 } |
386 | 453 |
387 var des3ServerScript = [][]byte{ | 454 var des3ServerScript = [][]byte{ |
388 { | 455 { |
389 0x16, 0x03, 0x02, 0x00, 0x7a, 0x01, 0x00, 0x00, | 456 0x16, 0x03, 0x02, 0x00, 0x7a, 0x01, 0x00, 0x00, |
390 0x76, 0x03, 0x02, 0x4e, 0x84, 0xf4, 0x3c, 0xe4, | 457 0x76, 0x03, 0x02, 0x4e, 0x84, 0xf4, 0x3c, 0xe4, |
391 0xb8, 0xc7, 0xa0, 0x30, 0x55, 0x2a, 0xbc, 0xb7, | 458 0xb8, 0xc7, 0xa0, 0x30, 0x55, 0x2a, 0xbc, 0xb7, |
392 0x04, 0x6b, 0x6f, 0x87, 0x93, 0x96, 0xbd, 0x1a, | 459 0x04, 0x6b, 0x6f, 0x87, 0x93, 0x96, 0xbd, 0x1a, |
393 0x7a, 0x1e, 0xce, 0xd2, 0x0d, 0xf3, 0x01, 0x03, | 460 0x7a, 0x1e, 0xce, 0xd2, 0x0d, 0xf3, 0x01, 0x03, |
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
871 0x03, 0x00, 0x00, 0x21, 0xee, 0x44, 0xf3, 0xa6, | 938 0x03, 0x00, 0x00, 0x21, 0xee, 0x44, 0xf3, 0xa6, |
872 0x88, 0x9d, 0x78, 0x44, 0xde, 0xdf, 0xeb, 0xc5, | 939 0x88, 0x9d, 0x78, 0x44, 0xde, 0xdf, 0xeb, 0xc5, |
873 0xad, 0xc4, 0xcc, 0x56, 0x5c, 0x54, 0x96, 0x52, | 940 0xad, 0xc4, 0xcc, 0x56, 0x5c, 0x54, 0x96, 0x52, |
874 0x3f, 0xd9, 0x40, 0x6e, 0x79, 0xd8, 0x58, 0x78, | 941 0x3f, 0xd9, 0x40, 0x6e, 0x79, 0xd8, 0x58, 0x78, |
875 0x4f, 0x5a, 0xe9, 0x06, 0xef, 0x15, 0x03, 0x00, | 942 0x4f, 0x5a, 0xe9, 0x06, 0xef, 0x15, 0x03, 0x00, |
876 0x00, 0x16, 0xd3, 0xc2, 0x52, 0x99, 0x2a, 0x84, | 943 0x00, 0x16, 0xd3, 0xc2, 0x52, 0x99, 0x2a, 0x84, |
877 0xc4, 0x52, 0x5f, 0x3b, 0x19, 0xe7, 0xfc, 0x65, | 944 0xc4, 0x52, 0x5f, 0x3b, 0x19, 0xe7, 0xfc, 0x65, |
878 0xaf, 0xd3, 0xb7, 0xa3, 0xcc, 0x4a, 0x1d, 0x2e, | 945 0xaf, 0xd3, 0xb7, 0xa3, 0xcc, 0x4a, 0x1d, 0x2e, |
879 }, | 946 }, |
880 } | 947 } |
| 948 |
| 949 var clientauthTests = []clientauthTest{ |
| 950 // Server doesn't asks for cert |
| 951 // gotest -test.run "TestRunServer" -serve -clientauth 0 |
| 952 // gnutls-cli --insecure --debug 100 -p 10443 localhost 2>&1 | |
| 953 // python parse-gnutls-cli-debug-log.py |
| 954 {"NoClientCert", NoClientCert, nil, |
| 955 [][]byte{{ |
| 956 0x16, 0x03, 0x02, 0x00, 0x7a, 0x01, 0x00, 0x00, |
| 957 0x76, 0x03, 0x02, 0x4e, 0xe0, 0x92, 0x5d, 0xcd, |
| 958 0xfe, 0x0c, 0x69, 0xd4, 0x7d, 0x8e, 0xa6, 0x88, |
| 959 0xde, 0x72, 0x04, 0x29, 0x6a, 0x4a, 0x16, 0x23, |
| 960 0xd7, 0x8f, 0xbc, 0xfa, 0x80, 0x73, 0x2e, 0x12, |
| 961 0xb7, 0x0b, 0x39, 0x00, 0x00, 0x34, 0x00, 0x33, |
| 962 0x00, 0x45, 0x00, 0x39, 0x00, 0x88, 0x00, 0x16, |
| 963 0x00, 0x32, 0x00, 0x44, 0x00, 0x38, 0x00, 0x87, |
| 964 0x00, 0x13, 0x00, 0x66, 0x00, 0x90, 0x00, 0x91, |
| 965 0x00, 0x8f, 0x00, 0x8e, 0x00, 0x2f, 0x00, 0x41, |
| 966 0x00, 0x35, 0x00, 0x84, 0x00, 0x0a, 0x00, 0x05, |
| 967 0x00, 0x04, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8b, |
| 968 0x00, 0x8a, 0x01, 0x00, 0x00, 0x19, 0x00, 0x09, |
| 969 0x00, 0x03, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, |
| 970 0x0e, 0x00, 0x0c, 0x00, 0x00, 0x09, 0x6c, 0x6f, |
| 971 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, |
| 972 }, |
| 973 |
| 974 { |
| 975 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, |
| 976 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 977 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 978 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 979 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 980 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, |
| 981 0x03, 0x01, 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, |
| 982 0x00, 0x02, 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, |
| 983 0x02, 0xb0, 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, |
| 984 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, |
| 985 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, |
| 986 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, |
| 987 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, |
| 988 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, |
| 989 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, |
| 990 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, |
| 991 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, |
| 992 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, |
| 993 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, |
| 994 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, |
| 995 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, |
| 996 0x20, 0x4c, 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, |
| 997 0x31, 0x30, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, |
| 998 0x30, 0x39, 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, |
| 999 0x31, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, |
| 1000 0x39, 0x33, 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, |
| 1001 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, |
| 1002 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, |
| 1003 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, |
| 1004 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, |
| 1005 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, |
| 1006 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, |
| 1007 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, |
| 1008 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, |
| 1009 0x4c, 0x74, 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, |
| 1010 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, |
| 1011 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, |
| 1012 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, |
| 1013 0xbb, 0x79, 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, |
| 1014 0x46, 0x10, 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, |
| 1015 0x07, 0x43, 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, |
| 1016 0x43, 0x85, 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, |
| 1017 0x4c, 0x2c, 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, |
| 1018 0x82, 0xe5, 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, |
| 1019 0xa5, 0x2c, 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, |
| 1020 0x7a, 0x56, 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, |
| 1021 0x7b, 0x26, 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, |
| 1022 0xc9, 0x21, 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, |
| 1023 0x5a, 0xbf, 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, |
| 1024 0x99, 0x07, 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, |
| 1025 0x04, 0x39, 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, |
| 1026 0x7c, 0xe3, 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, |
| 1027 0xcf, 0xaf, 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, |
| 1028 0xdb, 0xdb, 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, |
| 1029 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, |
| 1030 0x30, 0x81, 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, |
| 1031 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, |
| 1032 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, |
| 1033 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, |
| 1034 0x88, 0x39, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, |
| 1035 0x23, 0x04, 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, |
| 1036 0xad, 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, |
| 1037 0x69, 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, |
| 1038 0x18, 0x88, 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, |
| 1039 0x45, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, |
| 1040 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, |
| 1041 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, |
| 1042 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, |
| 1043 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, |
| 1044 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, |
| 1045 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, |
| 1046 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, |
| 1047 0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, |
| 1048 0x00, 0x85, 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, |
| 1049 0xca, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, |
| 1050 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, |
| 1051 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, |
| 1052 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, |
| 1053 0x81, 0x00, 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, |
| 1054 0xb1, 0x59, 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, |
| 1055 0x14, 0xd7, 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, |
| 1056 0x5a, 0x95, 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, |
| 1057 0x12, 0x66, 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, |
| 1058 0x60, 0xd3, 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, |
| 1059 0x25, 0x13, 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, |
| 1060 0x1d, 0xba, 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, |
| 1061 0xd7, 0x31, 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, |
| 1062 0xea, 0x50, 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, |
| 1063 0x5a, 0x5f, 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, |
| 1064 0x90, 0x96, 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, |
| 1065 0x98, 0x1f, 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, |
| 1066 0xa3, 0x1b, 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, |
| 1067 0xe9, 0x70, 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, |
| 1068 0x26, 0x6e, 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, |
| 1069 0xbd, 0xd9, 0x16, 0x03, 0x01, 0x00, 0x04, 0x0e, |
| 1070 0x00, 0x00, 0x00, |
| 1071 }, |
| 1072 |
| 1073 { |
| 1074 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, |
| 1075 0x82, 0x00, 0x80, 0x10, 0xe1, 0x00, 0x3d, 0x0a, |
| 1076 0x6b, 0x02, 0x7f, 0x97, 0xde, 0xfb, 0x65, 0x46, |
| 1077 0x1a, 0x50, 0x4e, 0x34, 0x9a, 0xae, 0x14, 0x7e, |
| 1078 0xec, 0xef, 0x85, 0x15, 0x3b, 0x39, 0xc2, 0x45, |
| 1079 0x04, 0x40, 0x92, 0x71, 0xd6, 0x7e, 0xf6, 0xfd, |
| 1080 0x4d, 0x84, 0xf7, 0xc4, 0x77, 0x99, 0x3d, 0xe2, |
| 1081 0xc3, 0x8d, 0xb0, 0x4c, 0x74, 0xc8, 0x51, 0xec, |
| 1082 0xb2, 0xe8, 0x6b, 0xa1, 0xd2, 0x4d, 0xd8, 0x61, |
| 1083 0x92, 0x7a, 0x24, 0x57, 0x44, 0x4f, 0xa2, 0x1e, |
| 1084 0x74, 0x0b, 0x06, 0x4b, 0x80, 0x34, 0x8b, 0xfe, |
| 1085 0xc2, 0x0e, 0xc1, 0xcd, 0xab, 0x0c, 0x3f, 0x54, |
| 1086 0xe2, 0x44, 0xe9, 0x6c, 0x2b, 0xba, 0x7b, 0x64, |
| 1087 0xf1, 0x93, 0x65, 0x75, 0xf2, 0x35, 0xff, 0x27, |
| 1088 0x03, 0xd5, 0x64, 0xe6, 0x8e, 0xe7, 0x7b, 0x56, |
| 1089 0xb6, 0x61, 0x73, 0xeb, 0xa2, 0xdc, 0xa4, 0x6e, |
| 1090 0x52, 0xac, 0xbc, 0xba, 0x11, 0xa3, 0xd2, 0x61, |
| 1091 0x4a, 0xe0, 0xbb, 0x14, 0x03, 0x01, 0x00, 0x01, |
| 1092 0x01, 0x16, 0x03, 0x01, 0x00, 0x24, 0xd2, 0x5a, |
| 1093 0x0c, 0x2a, 0x27, 0x96, 0xba, 0xa9, 0x67, 0xd2, |
| 1094 0x51, 0x68, 0x32, 0x68, 0x22, 0x1f, 0xb9, 0x27, |
| 1095 0x79, 0x59, 0x28, 0xdf, 0x38, 0x1f, 0x92, 0x21, |
| 1096 0x5d, 0x0f, 0xf4, 0xc0, 0xee, 0xb7, 0x10, 0x5a, |
| 1097 0xa9, 0x45, |
| 1098 }, |
| 1099 |
| 1100 { |
| 1101 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, |
| 1102 0x01, 0x00, 0x24, 0x13, 0x6f, 0x6c, 0x71, 0x83, |
| 1103 0x59, 0xcf, 0x32, 0x72, 0xe9, 0xce, 0xcc, 0x7a, |
| 1104 0x6c, 0xf0, 0x72, 0x39, 0x16, 0xae, 0x40, 0x61, |
| 1105 0xfa, 0x92, 0x4c, 0xe7, 0xf2, 0x1a, 0xd7, 0x0c, |
| 1106 0x84, 0x76, 0x6c, 0xe9, 0x11, 0x43, 0x19, 0x17, |
| 1107 0x03, 0x01, 0x00, 0x21, 0xc0, 0xa2, 0x13, 0x28, |
| 1108 0x94, 0x8c, 0x5c, 0xd6, 0x79, 0xb9, 0xfe, 0xae, |
| 1109 0x45, 0x4b, 0xc0, 0x7c, 0xae, 0x2d, 0xb4, 0x0d, |
| 1110 0x31, 0xc4, 0xad, 0x22, 0xd7, 0x1e, 0x99, 0x1c, |
| 1111 0x4c, 0x69, 0xab, 0x42, 0x61, 0x15, 0x03, 0x01, |
| 1112 0x00, 0x16, 0xe1, 0x0c, 0x67, 0xf3, 0xf4, 0xb9, |
| 1113 0x8e, 0x81, 0x8e, 0x01, 0xb8, 0xa0, 0x69, 0x8c, |
| 1114 0x03, 0x11, 0x43, 0x3e, 0xee, 0xb7, 0x4d, 0x69, |
| 1115 }}}, |
| 1116 // Server asks for cert with empty CA list, client doesn't give it. |
| 1117 // gotest -test.run "TestRunServer" -serve -clientauth 1 |
| 1118 // gnutls-cli --insecure --debug 100 -p 10443 localhost |
| 1119 {"RequestClientCert, none given", RequestClientCert, nil, |
| 1120 [][]byte{{ |
| 1121 0x16, 0x03, 0x02, 0x00, 0x7a, 0x01, 0x00, 0x00, |
| 1122 0x76, 0x03, 0x02, 0x4e, 0xe0, 0x93, 0xe2, 0x47, |
| 1123 0x06, 0xa0, 0x61, 0x0c, 0x51, 0xdd, 0xf0, 0xef, |
| 1124 0xf4, 0x30, 0x72, 0xe1, 0xa6, 0x50, 0x68, 0x82, |
| 1125 0x3c, 0xfb, 0xcb, 0x72, 0x5e, 0x73, 0x9d, 0xda, |
| 1126 0x27, 0x35, 0x72, 0x00, 0x00, 0x34, 0x00, 0x33, |
| 1127 0x00, 0x45, 0x00, 0x39, 0x00, 0x88, 0x00, 0x16, |
| 1128 0x00, 0x32, 0x00, 0x44, 0x00, 0x38, 0x00, 0x87, |
| 1129 0x00, 0x13, 0x00, 0x66, 0x00, 0x90, 0x00, 0x91, |
| 1130 0x00, 0x8f, 0x00, 0x8e, 0x00, 0x2f, 0x00, 0x41, |
| 1131 0x00, 0x35, 0x00, 0x84, 0x00, 0x0a, 0x00, 0x05, |
| 1132 0x00, 0x04, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8b, |
| 1133 0x00, 0x8a, 0x01, 0x00, 0x00, 0x19, 0x00, 0x09, |
| 1134 0x00, 0x03, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, |
| 1135 0x0e, 0x00, 0x0c, 0x00, 0x00, 0x09, 0x6c, 0x6f, |
| 1136 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, |
| 1137 }, |
| 1138 |
| 1139 { |
| 1140 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, |
| 1141 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 1142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 1143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 1144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 1145 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, |
| 1146 0x03, 0x01, 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, |
| 1147 0x00, 0x02, 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, |
| 1148 0x02, 0xb0, 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, |
| 1149 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, |
| 1150 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, |
| 1151 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, |
| 1152 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, |
| 1153 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, |
| 1154 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, |
| 1155 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, |
| 1156 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, |
| 1157 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, |
| 1158 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, |
| 1159 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, |
| 1160 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, |
| 1161 0x20, 0x4c, 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, |
| 1162 0x31, 0x30, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, |
| 1163 0x30, 0x39, 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, |
| 1164 0x31, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, |
| 1165 0x39, 0x33, 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, |
| 1166 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, |
| 1167 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, |
| 1168 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, |
| 1169 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, |
| 1170 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, |
| 1171 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, |
| 1172 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, |
| 1173 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, |
| 1174 0x4c, 0x74, 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, |
| 1175 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, |
| 1176 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, |
| 1177 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, |
| 1178 0xbb, 0x79, 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, |
| 1179 0x46, 0x10, 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, |
| 1180 0x07, 0x43, 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, |
| 1181 0x43, 0x85, 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, |
| 1182 0x4c, 0x2c, 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, |
| 1183 0x82, 0xe5, 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, |
| 1184 0xa5, 0x2c, 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, |
| 1185 0x7a, 0x56, 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, |
| 1186 0x7b, 0x26, 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, |
| 1187 0xc9, 0x21, 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, |
| 1188 0x5a, 0xbf, 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, |
| 1189 0x99, 0x07, 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, |
| 1190 0x04, 0x39, 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, |
| 1191 0x7c, 0xe3, 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, |
| 1192 0xcf, 0xaf, 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, |
| 1193 0xdb, 0xdb, 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, |
| 1194 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, |
| 1195 0x30, 0x81, 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, |
| 1196 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, |
| 1197 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, |
| 1198 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, |
| 1199 0x88, 0x39, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, |
| 1200 0x23, 0x04, 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, |
| 1201 0xad, 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, |
| 1202 0x69, 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, |
| 1203 0x18, 0x88, 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, |
| 1204 0x45, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, |
| 1205 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, |
| 1206 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, |
| 1207 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, |
| 1208 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, |
| 1209 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, |
| 1210 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, |
| 1211 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, |
| 1212 0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, |
| 1213 0x00, 0x85, 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, |
| 1214 0xca, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, |
| 1215 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, |
| 1216 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, |
| 1217 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, |
| 1218 0x81, 0x00, 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, |
| 1219 0xb1, 0x59, 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, |
| 1220 0x14, 0xd7, 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, |
| 1221 0x5a, 0x95, 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, |
| 1222 0x12, 0x66, 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, |
| 1223 0x60, 0xd3, 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, |
| 1224 0x25, 0x13, 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, |
| 1225 0x1d, 0xba, 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, |
| 1226 0xd7, 0x31, 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, |
| 1227 0xea, 0x50, 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, |
| 1228 0x5a, 0x5f, 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, |
| 1229 0x90, 0x96, 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, |
| 1230 0x98, 0x1f, 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, |
| 1231 0xa3, 0x1b, 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, |
| 1232 0xe9, 0x70, 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, |
| 1233 0x26, 0x6e, 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, |
| 1234 0xbd, 0xd9, 0x16, 0x03, 0x01, 0x00, 0x08, 0x0d, |
| 1235 0x00, 0x00, 0x04, 0x01, 0x01, 0x00, 0x00, 0x16, |
| 1236 0x03, 0x01, 0x00, 0x04, 0x0e, 0x00, 0x00, 0x00, |
| 1237 }, |
| 1238 |
| 1239 { |
| 1240 0x16, 0x03, 0x01, 0x00, 0x07, 0x0b, 0x00, 0x00, |
| 1241 0x03, 0x00, 0x00, 0x00, 0x16, 0x03, 0x01, 0x00, |
| 1242 0x86, 0x10, 0x00, 0x00, 0x82, 0x00, 0x80, 0x64, |
| 1243 0x28, 0xb9, 0x3f, 0x48, 0xaf, 0x06, 0x22, 0x39, |
| 1244 0x56, 0xd8, 0x6f, 0x63, 0x5d, 0x03, 0x48, 0x63, |
| 1245 0x01, 0x13, 0xa2, 0xd6, 0x76, 0xc0, 0xab, 0xda, |
| 1246 0x25, 0x30, 0x75, 0x6c, 0xaa, 0xb4, 0xdc, 0x35, |
| 1247 0x72, 0xdc, 0xf2, 0x43, 0xe4, 0x1d, 0x82, 0xfb, |
| 1248 0x6c, 0x64, 0xe2, 0xa7, 0x8f, 0x32, 0x67, 0x6b, |
| 1249 0xcd, 0xd2, 0xb2, 0x36, 0x94, 0xbc, 0x6f, 0x46, |
| 1250 0x79, 0x29, 0x42, 0xe3, 0x1a, 0xbf, 0xfb, 0x41, |
| 1251 0xd5, 0xe3, 0xb4, 0x2a, 0xf6, 0x95, 0x6f, 0x0c, |
| 1252 0x87, 0xb9, 0x03, 0x18, 0xa1, 0xea, 0x4a, 0xe2, |
| 1253 0x2e, 0x0f, 0x50, 0x00, 0xc1, 0xe8, 0x8c, 0xc8, |
| 1254 0xa2, 0xf6, 0xa4, 0x05, 0xf4, 0x38, 0x3e, 0xd9, |
| 1255 0x6e, 0x63, 0x96, 0x0c, 0x34, 0x73, 0x90, 0x03, |
| 1256 0x55, 0xa6, 0x34, 0xb0, 0x5e, 0x8c, 0x48, 0x40, |
| 1257 0x25, 0x45, 0x84, 0xa6, 0x21, 0x3f, 0x81, 0x97, |
| 1258 0xa7, 0x11, 0x09, 0x14, 0x95, 0xa5, 0xe5, 0x14, |
| 1259 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 0x01, |
| 1260 0x00, 0x24, 0x16, 0xaa, 0x01, 0x2c, 0xa8, 0xc1, |
| 1261 0x28, 0xaf, 0x35, 0xc1, 0xc1, 0xf3, 0x0a, 0x25, |
| 1262 0x66, 0x6e, 0x27, 0x11, 0xa3, 0xa4, 0xd9, 0xe9, |
| 1263 0xea, 0x15, 0x09, 0x9d, 0x28, 0xe3, 0x5b, 0x2b, |
| 1264 0xa6, 0x25, 0xa7, 0x14, 0x24, 0x3a, |
| 1265 }, |
| 1266 |
| 1267 { |
| 1268 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, |
| 1269 0x01, 0x00, 0x24, 0x9a, 0xa8, 0xd6, 0x77, 0x46, |
| 1270 0x45, 0x68, 0x9d, 0x5d, 0xa9, 0x68, 0x03, 0xe5, |
| 1271 0xaf, 0xe8, 0xc8, 0x21, 0xc5, 0xc6, 0xc1, 0x50, |
| 1272 0xe0, 0xd8, 0x52, 0xce, 0xa3, 0x4f, 0x2d, 0xf4, |
| 1273 0xe3, 0xa7, 0x7d, 0x35, 0x80, 0x84, 0x12, 0x17, |
| 1274 0x03, 0x01, 0x00, 0x21, 0x8a, 0x82, 0x0c, 0x54, |
| 1275 0x1b, 0xeb, 0x77, 0x90, 0x2c, 0x3e, 0xbc, 0xf0, |
| 1276 0x23, 0xcc, 0xa8, 0x9f, 0x25, 0x08, 0x12, 0xed, |
| 1277 0x43, 0xf1, 0xf9, 0x06, 0xad, 0xa9, 0x4b, 0x97, |
| 1278 0x82, 0xb7, 0xc4, 0x0b, 0x4c, 0x15, 0x03, 0x01, |
| 1279 0x00, 0x16, 0x05, 0x2d, 0x9d, 0x45, 0x03, 0xb7, |
| 1280 0xc2, 0xd1, 0xb5, 0x1a, 0x43, 0xcf, 0x1a, 0x37, |
| 1281 0xf4, 0x70, 0xcc, 0xb4, 0xed, 0x07, 0x76, 0x3a, |
| 1282 }}}, |
| 1283 // Server asks for cert with empty CA list, client gives one |
| 1284 // gotest -test.run "TestRunServer" -serve -clientauth 1 |
| 1285 // gnutls-cli --insecure --debug 100 -p 10443 localhost |
| 1286 {"RequestClientCert, client gives it", RequestClientCert, |
| 1287 []*x509.Certificate{clicert}, |
| 1288 [][]byte{{ |
| 1289 0x16, 0x03, 0x02, 0x00, 0x7a, 0x01, 0x00, 0x00, |
| 1290 0x76, 0x03, 0x02, 0x4e, 0xe7, 0x44, 0xda, 0x58, |
| 1291 0x7d, 0x46, 0x4a, 0x48, 0x97, 0x9f, 0xe5, 0x91, |
| 1292 0x11, 0x64, 0xa7, 0x1e, 0x4d, 0xb7, 0xfe, 0x9b, |
| 1293 0xc6, 0x63, 0xf8, 0xa4, 0xb5, 0x0b, 0x18, 0xb5, |
| 1294 0xbd, 0x19, 0xb3, 0x00, 0x00, 0x34, 0x00, 0x33, |
| 1295 0x00, 0x45, 0x00, 0x39, 0x00, 0x88, 0x00, 0x16, |
| 1296 0x00, 0x32, 0x00, 0x44, 0x00, 0x38, 0x00, 0x87, |
| 1297 0x00, 0x13, 0x00, 0x66, 0x00, 0x90, 0x00, 0x91, |
| 1298 0x00, 0x8f, 0x00, 0x8e, 0x00, 0x2f, 0x00, 0x41, |
| 1299 0x00, 0x35, 0x00, 0x84, 0x00, 0x0a, 0x00, 0x05, |
| 1300 0x00, 0x04, 0x00, 0x8c, 0x00, 0x8d, 0x00, 0x8b, |
| 1301 0x00, 0x8a, 0x01, 0x00, 0x00, 0x19, 0x00, 0x09, |
| 1302 0x00, 0x03, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, |
| 1303 0x0e, 0x00, 0x0c, 0x00, 0x00, 0x09, 0x6c, 0x6f, |
| 1304 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, |
| 1305 }, |
| 1306 |
| 1307 { |
| 1308 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, |
| 1309 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 1310 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 1311 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 1312 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 1313 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, |
| 1314 0x03, 0x01, 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, |
| 1315 0x00, 0x02, 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, |
| 1316 0x02, 0xb0, 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, |
| 1317 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, |
| 1318 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, |
| 1319 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, |
| 1320 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, |
| 1321 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, |
| 1322 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, |
| 1323 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, |
| 1324 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, |
| 1325 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, |
| 1326 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, |
| 1327 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, |
| 1328 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, |
| 1329 0x20, 0x4c, 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, |
| 1330 0x31, 0x30, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, |
| 1331 0x30, 0x39, 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, |
| 1332 0x31, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, |
| 1333 0x39, 0x33, 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, |
| 1334 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, |
| 1335 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, |
| 1336 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, |
| 1337 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, |
| 1338 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, |
| 1339 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, |
| 1340 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, |
| 1341 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, |
| 1342 0x4c, 0x74, 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, |
| 1343 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, |
| 1344 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, |
| 1345 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, |
| 1346 0xbb, 0x79, 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, |
| 1347 0x46, 0x10, 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, |
| 1348 0x07, 0x43, 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, |
| 1349 0x43, 0x85, 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, |
| 1350 0x4c, 0x2c, 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, |
| 1351 0x82, 0xe5, 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, |
| 1352 0xa5, 0x2c, 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, |
| 1353 0x7a, 0x56, 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, |
| 1354 0x7b, 0x26, 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, |
| 1355 0xc9, 0x21, 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, |
| 1356 0x5a, 0xbf, 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, |
| 1357 0x99, 0x07, 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, |
| 1358 0x04, 0x39, 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, |
| 1359 0x7c, 0xe3, 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, |
| 1360 0xcf, 0xaf, 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, |
| 1361 0xdb, 0xdb, 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, |
| 1362 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, |
| 1363 0x30, 0x81, 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, |
| 1364 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, |
| 1365 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, |
| 1366 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, |
| 1367 0x88, 0x39, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, |
| 1368 0x23, 0x04, 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, |
| 1369 0xad, 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, |
| 1370 0x69, 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, |
| 1371 0x18, 0x88, 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, |
| 1372 0x45, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, |
| 1373 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, |
| 1374 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, |
| 1375 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, |
| 1376 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, |
| 1377 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, |
| 1378 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, |
| 1379 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, |
| 1380 0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, |
| 1381 0x00, 0x85, 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, |
| 1382 0xca, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, |
| 1383 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, |
| 1384 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, |
| 1385 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, |
| 1386 0x81, 0x00, 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, |
| 1387 0xb1, 0x59, 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, |
| 1388 0x14, 0xd7, 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, |
| 1389 0x5a, 0x95, 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, |
| 1390 0x12, 0x66, 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, |
| 1391 0x60, 0xd3, 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, |
| 1392 0x25, 0x13, 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, |
| 1393 0x1d, 0xba, 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, |
| 1394 0xd7, 0x31, 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, |
| 1395 0xea, 0x50, 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, |
| 1396 0x5a, 0x5f, 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, |
| 1397 0x90, 0x96, 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, |
| 1398 0x98, 0x1f, 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, |
| 1399 0xa3, 0x1b, 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, |
| 1400 0xe9, 0x70, 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, |
| 1401 0x26, 0x6e, 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, |
| 1402 0xbd, 0xd9, 0x16, 0x03, 0x01, 0x00, 0x08, 0x0d, |
| 1403 0x00, 0x00, 0x04, 0x01, 0x01, 0x00, 0x00, 0x16, |
| 1404 0x03, 0x01, 0x00, 0x04, 0x0e, 0x00, 0x00, 0x00, |
| 1405 }, |
| 1406 |
| 1407 { |
| 1408 0x16, 0x03, 0x01, 0x01, 0xfb, 0x0b, 0x00, 0x01, |
| 1409 0xf7, 0x00, 0x01, 0xf4, 0x00, 0x01, 0xf1, 0x30, |
| 1410 0x82, 0x01, 0xed, 0x30, 0x82, 0x01, 0x58, 0xa0, |
| 1411 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x00, 0x30, |
| 1412 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, |
| 1413 0x0d, 0x01, 0x01, 0x05, 0x30, 0x26, 0x31, 0x10, |
| 1414 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, |
| 1415 0x07, 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, |
| 1416 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, |
| 1417 0x03, 0x13, 0x09, 0x31, 0x32, 0x37, 0x2e, 0x30, |
| 1418 0x2e, 0x30, 0x2e, 0x31, 0x30, 0x1e, 0x17, 0x0d, |
| 1419 0x31, 0x31, 0x31, 0x32, 0x30, 0x38, 0x30, 0x37, |
| 1420 0x35, 0x35, 0x31, 0x32, 0x5a, 0x17, 0x0d, 0x31, |
| 1421 0x32, 0x31, 0x32, 0x30, 0x37, 0x30, 0x38, 0x30, |
| 1422 0x30, 0x31, 0x32, 0x5a, 0x30, 0x26, 0x31, 0x10, |
| 1423 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, |
| 1424 0x07, 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, |
| 1425 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, |
| 1426 0x03, 0x13, 0x09, 0x31, 0x32, 0x37, 0x2e, 0x30, |
| 1427 0x2e, 0x30, 0x2e, 0x31, 0x30, 0x81, 0x9c, 0x30, |
| 1428 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, |
| 1429 0x0d, 0x01, 0x01, 0x01, 0x03, 0x81, 0x8c, 0x00, |
| 1430 0x30, 0x81, 0x88, 0x02, 0x81, 0x80, 0x4e, 0xd0, |
| 1431 0x7b, 0x31, 0xe3, 0x82, 0x64, 0xd9, 0x59, 0xc0, |
| 1432 0xc2, 0x87, 0xa4, 0x5e, 0x1e, 0x8b, 0x73, 0x33, |
| 1433 0xc7, 0x63, 0x53, 0xdf, 0x66, 0x92, 0x06, 0x84, |
| 1434 0xf6, 0x64, 0xd5, 0x8f, 0xe4, 0x36, 0xa7, 0x1d, |
| 1435 0x2b, 0xe8, 0xb3, 0x20, 0x36, 0x45, 0x23, 0xb5, |
| 1436 0xe3, 0x95, 0xae, 0xed, 0xe0, 0xf5, 0x20, 0x9c, |
| 1437 0x8d, 0x95, 0xdf, 0x7f, 0x5a, 0x12, 0xef, 0x87, |
| 1438 0xe4, 0x5b, 0x68, 0xe4, 0xe9, 0x0e, 0x74, 0xec, |
| 1439 0x04, 0x8a, 0x7f, 0xde, 0x93, 0x27, 0xc4, 0x01, |
| 1440 0x19, 0x7a, 0xbd, 0xf2, 0xdc, 0x3d, 0x14, 0xab, |
| 1441 0xd0, 0x54, 0xca, 0x21, 0x0c, 0xd0, 0x4d, 0x6e, |
| 1442 0x87, 0x2e, 0x5c, 0xc5, 0xd2, 0xbb, 0x4d, 0x4b, |
| 1443 0x4f, 0xce, 0xb6, 0x2c, 0xf7, 0x7e, 0x88, 0xec, |
| 1444 0x7c, 0xd7, 0x02, 0x91, 0x74, 0xa6, 0x1e, 0x0c, |
| 1445 0x1a, 0xda, 0xe3, 0x4a, 0x5a, 0x2e, 0xde, 0x13, |
| 1446 0x9c, 0x4c, 0x40, 0x88, 0x59, 0x93, 0x02, 0x03, |
| 1447 0x01, 0x00, 0x01, 0xa3, 0x32, 0x30, 0x30, 0x30, |
| 1448 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, |
| 1449 0xff, 0x04, 0x04, 0x03, 0x02, 0x00, 0xa0, 0x30, |
| 1450 0x0d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x06, |
| 1451 0x04, 0x04, 0x01, 0x02, 0x03, 0x04, 0x30, 0x0f, |
| 1452 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x08, 0x30, |
| 1453 0x06, 0x80, 0x04, 0x01, 0x02, 0x03, 0x04, 0x30, |
| 1454 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, |
| 1455 0x0d, 0x01, 0x01, 0x05, 0x03, 0x81, 0x81, 0x00, |
| 1456 0x36, 0x1f, 0xb3, 0x7a, 0x0c, 0x75, 0xc9, 0x6e, |
| 1457 0x37, 0x46, 0x61, 0x2b, 0xd5, 0xbd, 0xc0, 0xa7, |
| 1458 0x4b, 0xcc, 0x46, 0x9a, 0x81, 0x58, 0x7c, 0x85, |
| 1459 0x79, 0x29, 0xc8, 0xc8, 0xc6, 0x67, 0xdd, 0x32, |
| 1460 0x56, 0x45, 0x2b, 0x75, 0xb6, 0xe9, 0x24, 0xa9, |
| 1461 0x50, 0x9a, 0xbe, 0x1f, 0x5a, 0xfa, 0x1a, 0x15, |
| 1462 0xd9, 0xcc, 0x55, 0x95, 0x72, 0x16, 0x83, 0xb9, |
| 1463 0xc2, 0xb6, 0x8f, 0xfd, 0x88, 0x8c, 0x38, 0x84, |
| 1464 0x1d, 0xab, 0x5d, 0x92, 0x31, 0x13, 0x4f, 0xfd, |
| 1465 0x83, 0x3b, 0xc6, 0x9d, 0xf1, 0x11, 0x62, 0xb6, |
| 1466 0x8b, 0xec, 0xab, 0x67, 0xbe, 0xc8, 0x64, 0xb0, |
| 1467 0x11, 0x50, 0x46, 0x58, 0x17, 0x6b, 0x99, 0x1c, |
| 1468 0xd3, 0x1d, 0xfc, 0x06, 0xf1, 0x0e, 0xe5, 0x96, |
| 1469 0xa8, 0x0c, 0xf9, 0x78, 0x20, 0xb7, 0x44, 0x18, |
| 1470 0x51, 0x8d, 0x10, 0x7e, 0x4f, 0x94, 0x67, 0xdf, |
| 1471 0xa3, 0x4e, 0x70, 0x73, 0x8e, 0x90, 0x91, 0x85, |
| 1472 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, |
| 1473 0x82, 0x00, 0x80, 0xa7, 0x2f, 0xed, 0xfa, 0xc2, |
| 1474 0xbd, 0x46, 0xa1, 0xf2, 0x69, 0xc5, 0x1d, 0xa1, |
| 1475 0x34, 0xd6, 0xd0, 0x84, 0xf5, 0x5d, 0x8c, 0x82, |
| 1476 0x8d, 0x98, 0x82, 0x9c, 0xd9, 0x07, 0xe0, 0xf7, |
| 1477 0x55, 0x49, 0x4d, 0xa1, 0x48, 0x59, 0x02, 0xd3, |
| 1478 0x84, 0x37, 0xaf, 0x01, 0xb3, 0x3a, 0xf4, 0xed, |
| 1479 0x99, 0xbe, 0x67, 0x36, 0x19, 0x55, 0xf3, 0xf9, |
| 1480 0xcb, 0x94, 0xe5, 0x7b, 0x8b, 0x77, 0xf2, 0x5f, |
| 1481 0x4c, 0xfe, 0x01, 0x1f, 0x7b, 0xd7, 0x23, 0x49, |
| 1482 0x0c, 0xcb, 0x6c, 0xb0, 0xe7, 0x77, 0xd6, 0xcf, |
| 1483 0xa8, 0x7d, 0xdb, 0xa7, 0x14, 0xe2, 0xf5, 0xf3, |
| 1484 0xff, 0xba, 0x23, 0xd2, 0x9a, 0x36, 0x14, 0x60, |
| 1485 0x2a, 0x91, 0x5d, 0x2b, 0x35, 0x3b, 0xb6, 0xdd, |
| 1486 0xcb, 0x6b, 0xdc, 0x18, 0xdc, 0x33, 0xb8, 0xb3, |
| 1487 0xc7, 0x27, 0x7e, 0xfc, 0xd2, 0xf7, 0x97, 0x90, |
| 1488 0x5e, 0x17, 0xac, 0x14, 0x8e, 0x0f, 0xca, 0xb5, |
| 1489 0x6f, 0xc9, 0x2d, 0x16, 0x03, 0x01, 0x00, 0x86, |
| 1490 0x0f, 0x00, 0x00, 0x82, 0x00, 0x80, 0x44, 0x7f, |
| 1491 0xa2, 0x59, 0x60, 0x0b, 0x5a, 0xc4, 0xaf, 0x1e, |
| 1492 0x60, 0xa5, 0x24, 0xea, 0xc1, 0xc3, 0x22, 0x21, |
| 1493 0x6b, 0x22, 0x8b, 0x2a, 0x11, 0x82, 0x68, 0x7d, |
| 1494 0xb9, 0xdd, 0x9c, 0x27, 0x4c, 0xc2, 0xc8, 0xa2, |
| 1495 0x8b, 0x6b, 0x77, 0x8d, 0x3a, 0x2b, 0x8d, 0x2f, |
| 1496 0x6a, 0x2b, 0x43, 0xd2, 0xd1, 0xc6, 0x41, 0x79, |
| 1497 0xa2, 0x4f, 0x2b, 0xc2, 0xf7, 0xb2, 0x10, 0xad, |
| 1498 0xa6, 0x01, 0x51, 0x51, 0x25, 0xe7, 0x58, 0x7a, |
| 1499 0xcf, 0x3b, 0xc4, 0x29, 0xb5, 0xe5, 0xa7, 0x83, |
| 1500 0xe6, 0xcb, 0x1e, 0xf3, 0x02, 0x0f, 0x53, 0x3b, |
| 1501 0xb5, 0x39, 0xef, 0x9c, 0x42, 0xe0, 0xa6, 0x9b, |
| 1502 0x2b, 0xdd, 0x60, 0xae, 0x0a, 0x73, 0x35, 0xbe, |
| 1503 0x26, 0x10, 0x1b, 0xe9, 0xe9, 0x61, 0xab, 0x20, |
| 1504 0xa5, 0x48, 0xc6, 0x60, 0xa6, 0x50, 0x3c, 0xfb, |
| 1505 0xa7, 0xca, 0xb0, 0x80, 0x95, 0x1e, 0xce, 0xc7, |
| 1506 0xbb, 0x68, 0x44, 0xdc, 0x0e, 0x0e, 0x14, 0x03, |
| 1507 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 0x01, 0x00, |
| 1508 0x24, 0xb6, 0xcd, 0x0c, 0x78, 0xfd, 0xd6, 0xff, |
| 1509 0xbe, 0x97, 0xd5, 0x0a, 0x7d, 0x4f, 0xa1, 0x03, |
| 1510 0x78, 0xc8, 0x61, 0x6f, 0xf2, 0x4b, 0xa8, 0x56, |
| 1511 0x4f, 0x3c, 0xa2, 0xd9, 0xd0, 0x20, 0x13, 0x1b, |
| 1512 0x8b, 0x36, 0xb7, 0x33, 0x9c, |
| 1513 }, |
| 1514 |
| 1515 { |
| 1516 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, |
| 1517 0x01, 0x00, 0x24, 0xa3, 0x43, 0x94, 0xe7, 0xdf, |
| 1518 0xb6, 0xc3, 0x03, 0x9f, 0xc1, 0x59, 0x0c, 0xc3, |
| 1519 0x13, 0xae, 0xed, 0xcf, 0xff, 0xf1, 0x80, 0xf3, |
| 1520 0x13, 0x63, 0x1c, 0xf0, 0xca, 0xad, 0x9e, 0x71, |
| 1521 0x46, 0x5f, 0x6b, 0xeb, 0x10, 0x3f, 0xe3, 0x17, |
| 1522 0x03, 0x01, 0x00, 0x21, 0xe9, 0x80, 0x95, 0x6e, |
| 1523 0x05, 0x55, 0x2f, 0xed, 0x4d, 0xde, 0x17, 0x3a, |
| 1524 0x32, 0x9b, 0x2a, 0x74, 0x30, 0x4f, 0xe0, 0x9f, |
| 1525 0x4e, 0xd3, 0x06, 0xbd, 0x3a, 0x43, 0x75, 0x8b, |
| 1526 0x5b, 0x9a, 0xd8, 0x2e, 0x56, 0x15, 0x03, 0x01, |
| 1527 0x00, 0x16, 0x53, 0xf5, 0xff, 0xe0, 0xa1, 0x6c, |
| 1528 0x33, 0xf4, 0x4e, 0x89, 0x68, 0xe1, 0xf7, 0x61, |
| 1529 0x13, 0xb3, 0x12, 0xa1, 0x8e, 0x5a, 0x7a, 0x02, |
| 1530 }}}, |
| 1531 } |
| 1532 |
| 1533 // cert.pem and key.pem were generated with generate_cert.go |
| 1534 // Thus, they have no ExtKeyUsage fields and trigger an error |
| 1535 // when verification is turned on. |
| 1536 |
| 1537 var clicert = loadPEMCert(` |
| 1538 -----BEGIN CERTIFICATE----- |
| 1539 MIIB7TCCAVigAwIBAgIBADALBgkqhkiG9w0BAQUwJjEQMA4GA1UEChMHQWNtZSBD |
| 1540 bzESMBAGA1UEAxMJMTI3LjAuMC4xMB4XDTExMTIwODA3NTUxMloXDTEyMTIwNzA4 |
| 1541 MDAxMlowJjEQMA4GA1UEChMHQWNtZSBDbzESMBAGA1UEAxMJMTI3LjAuMC4xMIGc |
| 1542 MAsGCSqGSIb3DQEBAQOBjAAwgYgCgYBO0Hsx44Jk2VnAwoekXh6LczPHY1PfZpIG |
| 1543 hPZk1Y/kNqcdK+izIDZFI7Xjla7t4PUgnI2V339aEu+H5Fto5OkOdOwEin/ekyfE |
| 1544 ARl6vfLcPRSr0FTKIQzQTW6HLlzF0rtNS0/Otiz3fojsfNcCkXSmHgwa2uNKWi7e |
| 1545 E5xMQIhZkwIDAQABozIwMDAOBgNVHQ8BAf8EBAMCAKAwDQYDVR0OBAYEBAECAwQw |
| 1546 DwYDVR0jBAgwBoAEAQIDBDALBgkqhkiG9w0BAQUDgYEANh+zegx1yW43RmEr1b3A |
| 1547 p0vMRpqBWHyFeSnIyMZn3TJWRSt1tukkqVCavh9a+hoV2cxVlXIWg7nCto/9iIw4 |
| 1548 hB2rXZIxE0/9gzvGnfERYraL7KtnvshksBFQRlgXa5kc0x38BvEO5ZaoDPl4ILdE |
| 1549 GFGNEH5PlGffo05wc46QkYU= |
| 1550 -----END CERTIFICATE----- |
| 1551 `) |
| 1552 |
| 1553 /* corresponding key.pem for cert.pem is: |
| 1554 -----BEGIN RSA PRIVATE KEY----- |
| 1555 MIICXAIBAAKBgE7QezHjgmTZWcDCh6ReHotzM8djU99mkgaE9mTVj+Q2px0r6LMg |
| 1556 NkUjteOVru3g9SCcjZXff1oS74fkW2jk6Q507ASKf96TJ8QBGXq98tw9FKvQVMoh |
| 1557 DNBNbocuXMXSu01LT862LPd+iOx81wKRdKYeDBra40paLt4TnExAiFmTAgMBAAEC |
| 1558 gYBxvXd8yNteFTns8A/2yomEMC4yeosJJSpp1CsN3BJ7g8/qTnrVPxBy+RU+qr63 |
| 1559 t2WquaOu/cr5P8iEsa6lk20tf8pjKLNXeX0b1RTzK8rJLbS7nGzP3tvOhL096VtQ |
| 1560 dAo4ROEaro0TzYpHmpciSvxVIeEIAAdFDObDJPKqcJAxyQJBAJizfYgK8Gzx9fsx |
| 1561 hxp+VteCbVPg2euASH5Yv3K5LukRdKoSzHE2grUVQgN/LafC0eZibRanxHegYSr7 |
| 1562 7qaswKUCQQCEIWor/X4XTMdVj3Oj+vpiw75y/S9gh682+myZL+d/02IEkwnB098P |
| 1563 RkKVpenBHyrGg0oeN5La7URILWKj7CPXAkBKo6F+d+phNjwIFoN1Xb/RA32w/D1I |
| 1564 saG9sF+UEhRt9AxUfW/U/tIQ9V0ZHHcSg1XaCM5Nvp934brdKdvTOKnJAkBD5h/3 |
| 1565 Rybatlvg/fzBEaJFyq09zhngkxlZOUtBVTqzl17RVvY2orgH02U4HbCHy4phxOn7 |
| 1566 qTdQRYlHRftgnWK1AkANibn9PRYJ7mJyJ9Dyj2QeNcSkSTzrt0tPvUMf4+meJymN |
| 1567 1Ntu5+S1DLLzfxlaljWG6ylW6DNxujCyuXIV2rvAMAA= |
| 1568 -----END RSA PRIVATE KEY----- |
| 1569 */ |
LEFT | RIGHT |