github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/src/pkg/crypto/tls/handshake_server_test.go (about) 1 // Copyright 2009 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package tls 6 7 import ( 8 "bytes" 9 "crypto/rsa" 10 "crypto/x509" 11 "encoding/hex" 12 "encoding/pem" 13 "flag" 14 "fmt" 15 "io" 16 "log" 17 "math/big" 18 "net" 19 "os" 20 "strconv" 21 "strings" 22 "sync" 23 "testing" 24 "time" 25 ) 26 27 type zeroSource struct{} 28 29 func (zeroSource) Read(b []byte) (n int, err error) { 30 for i := range b { 31 b[i] = 0 32 } 33 34 return len(b), nil 35 } 36 37 var testConfig *Config 38 39 func init() { 40 testConfig = new(Config) 41 testConfig.Time = func() time.Time { return time.Unix(0, 0) } 42 testConfig.Rand = zeroSource{} 43 testConfig.Certificates = make([]Certificate, 2) 44 testConfig.Certificates[0].Certificate = [][]byte{testCertificate} 45 testConfig.Certificates[0].PrivateKey = testPrivateKey 46 testConfig.Certificates[1].Certificate = [][]byte{testSNICertificate} 47 testConfig.Certificates[1].PrivateKey = testPrivateKey 48 testConfig.BuildNameToCertificate() 49 testConfig.CipherSuites = []uint16{TLS_RSA_WITH_RC4_128_SHA} 50 testConfig.InsecureSkipVerify = true 51 } 52 53 func testClientHelloFailure(t *testing.T, m handshakeMessage, expected error) { 54 // Create in-memory network connection, 55 // send message to server. Should return 56 // expected error. 57 c, s := net.Pipe() 58 go func() { 59 cli := Client(c, testConfig) 60 if ch, ok := m.(*clientHelloMsg); ok { 61 cli.vers = ch.vers 62 } 63 cli.writeRecord(recordTypeHandshake, m.marshal()) 64 c.Close() 65 }() 66 err := Server(s, testConfig).Handshake() 67 s.Close() 68 if e, ok := err.(*net.OpError); !ok || e.Err != expected { 69 t.Errorf("Got error: %s; expected: %s", err, expected) 70 } 71 } 72 73 func TestSimpleError(t *testing.T) { 74 testClientHelloFailure(t, &serverHelloDoneMsg{}, alertUnexpectedMessage) 75 } 76 77 var badProtocolVersions = []uint16{0x0000, 0x0005, 0x0100, 0x0105, 0x0200, 0x0205} 78 79 func TestRejectBadProtocolVersion(t *testing.T) { 80 for _, v := range badProtocolVersions { 81 testClientHelloFailure(t, &clientHelloMsg{vers: v}, alertProtocolVersion) 82 } 83 } 84 85 func TestNoSuiteOverlap(t *testing.T) { 86 clientHello := &clientHelloMsg{ 87 vers: 0x0301, 88 cipherSuites: []uint16{0xff00}, 89 compressionMethods: []uint8{0}, 90 } 91 testClientHelloFailure(t, clientHello, alertHandshakeFailure) 92 } 93 94 func TestNoCompressionOverlap(t *testing.T) { 95 clientHello := &clientHelloMsg{ 96 vers: 0x0301, 97 cipherSuites: []uint16{TLS_RSA_WITH_RC4_128_SHA}, 98 compressionMethods: []uint8{0xff}, 99 } 100 testClientHelloFailure(t, clientHello, alertHandshakeFailure) 101 } 102 103 func TestAlertForwarding(t *testing.T) { 104 c, s := net.Pipe() 105 go func() { 106 Client(c, testConfig).sendAlert(alertUnknownCA) 107 c.Close() 108 }() 109 110 err := Server(s, testConfig).Handshake() 111 s.Close() 112 if e, ok := err.(*net.OpError); !ok || e.Err != error(alertUnknownCA) { 113 t.Errorf("Got error: %s; expected: %s", err, alertUnknownCA) 114 } 115 } 116 117 func TestClose(t *testing.T) { 118 c, s := net.Pipe() 119 go c.Close() 120 121 err := Server(s, testConfig).Handshake() 122 s.Close() 123 if err != io.EOF { 124 t.Errorf("Got error: %s; expected: %s", err, io.EOF) 125 } 126 } 127 128 func testHandshake(clientConfig, serverConfig *Config) (state ConnectionState, err error) { 129 c, s := net.Pipe() 130 go func() { 131 cli := Client(c, clientConfig) 132 cli.Handshake() 133 c.Close() 134 }() 135 server := Server(s, serverConfig) 136 err = server.Handshake() 137 if err == nil { 138 state = server.ConnectionState() 139 } 140 s.Close() 141 return 142 } 143 144 func TestCipherSuitePreference(t *testing.T) { 145 serverConfig := &Config{ 146 CipherSuites: []uint16{TLS_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA}, 147 Certificates: testConfig.Certificates, 148 } 149 clientConfig := &Config{ 150 CipherSuites: []uint16{TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_RC4_128_SHA}, 151 InsecureSkipVerify: true, 152 } 153 state, err := testHandshake(clientConfig, serverConfig) 154 if err != nil { 155 t.Fatalf("handshake failed: %s", err) 156 } 157 if state.CipherSuite != TLS_RSA_WITH_AES_128_CBC_SHA { 158 // By default the server should use the client's preference. 159 t.Fatalf("Client's preference was not used, got %x", state.CipherSuite) 160 } 161 162 serverConfig.PreferServerCipherSuites = true 163 state, err = testHandshake(clientConfig, serverConfig) 164 if err != nil { 165 t.Fatalf("handshake failed: %s", err) 166 } 167 if state.CipherSuite != TLS_RSA_WITH_RC4_128_SHA { 168 t.Fatalf("Server's preference was not used, got %x", state.CipherSuite) 169 } 170 } 171 172 func testServerScript(t *testing.T, name string, serverScript [][]byte, config *Config, peers []*x509.Certificate) { 173 c, s := net.Pipe() 174 srv := Server(s, config) 175 pchan := make(chan []*x509.Certificate, 1) 176 go func() { 177 srv.Write([]byte("hello, world\n")) 178 srv.Close() 179 s.Close() 180 st := srv.ConnectionState() 181 pchan <- st.PeerCertificates 182 }() 183 184 for i, b := range serverScript { 185 if i%2 == 0 { 186 c.Write(b) 187 continue 188 } 189 bb := make([]byte, len(b)) 190 n, err := io.ReadFull(c, bb) 191 if err != nil { 192 t.Fatalf("%s #%d: %s\nRead %d, wanted %d, got %x, wanted %x\n", name, i, err, n, len(bb), bb[:n], b) 193 } 194 if !bytes.Equal(b, bb) { 195 t.Fatalf("%s #%d: mismatch on read: got:%x want:%x", name, i, bb, b) 196 } 197 } 198 c.Close() 199 200 if peers != nil { 201 gotpeers := <-pchan 202 if len(peers) == len(gotpeers) { 203 for i := range peers { 204 if !peers[i].Equal(gotpeers[i]) { 205 t.Fatalf("%s: mismatch on peer cert %d", name, i) 206 } 207 } 208 } else { 209 t.Fatalf("%s: mismatch on peer list length: %d (wanted) != %d (got)", name, len(peers), len(gotpeers)) 210 } 211 } 212 } 213 214 func TestHandshakeServerRC4(t *testing.T) { 215 testServerScript(t, "RC4", rc4ServerScript, testConfig, nil) 216 } 217 218 func TestHandshakeServer3DES(t *testing.T) { 219 des3Config := new(Config) 220 *des3Config = *testConfig 221 des3Config.CipherSuites = []uint16{TLS_RSA_WITH_3DES_EDE_CBC_SHA} 222 testServerScript(t, "3DES", des3ServerScript, des3Config, nil) 223 } 224 225 func TestHandshakeServerAES(t *testing.T) { 226 aesConfig := new(Config) 227 *aesConfig = *testConfig 228 aesConfig.CipherSuites = []uint16{TLS_RSA_WITH_AES_128_CBC_SHA} 229 testServerScript(t, "AES", aesServerScript, aesConfig, nil) 230 } 231 232 func TestHandshakeServerSSLv3(t *testing.T) { 233 testServerScript(t, "SSLv3", sslv3ServerScript, testConfig, nil) 234 } 235 236 // TestHandshakeServerSNI involves a client sending an SNI extension of 237 // "snitest.com", which happens to match the CN of testSNICertificate. The test 238 // verifies that the server correctly selects that certificate. 239 func TestHandshakeServerSNI(t *testing.T) { 240 testServerScript(t, "SNI", selectCertificateBySNIScript, testConfig, nil) 241 } 242 243 func TestResumption(t *testing.T) { 244 testServerScript(t, "IssueTicket", issueSessionTicketTest, testConfig, nil) 245 testServerScript(t, "Resume", serverResumeTest, testConfig, nil) 246 } 247 248 type clientauthTest struct { 249 name string 250 clientauth ClientAuthType 251 peers []*x509.Certificate 252 script [][]byte 253 } 254 255 func TestClientAuth(t *testing.T) { 256 for _, cat := range clientauthTests { 257 t.Log("running", cat.name) 258 cfg := new(Config) 259 *cfg = *testConfig 260 cfg.ClientAuth = cat.clientauth 261 testServerScript(t, cat.name, cat.script, cfg, cat.peers) 262 } 263 } 264 265 // recordingConn is a net.Conn that records the traffic that passes through it. 266 // WriteTo can be used to produce Go code that contains the recorded traffic. 267 type recordingConn struct { 268 net.Conn 269 lock sync.Mutex 270 flows [][]byte 271 currentlyReading bool 272 } 273 274 func (r *recordingConn) Read(b []byte) (n int, err error) { 275 if n, err = r.Conn.Read(b); n == 0 { 276 return 277 } 278 b = b[:n] 279 280 r.lock.Lock() 281 defer r.lock.Unlock() 282 283 if l := len(r.flows); l == 0 || !r.currentlyReading { 284 buf := make([]byte, len(b)) 285 copy(buf, b) 286 r.flows = append(r.flows, buf) 287 } else { 288 r.flows[l-1] = append(r.flows[l-1], b[:n]...) 289 } 290 r.currentlyReading = true 291 return 292 } 293 294 func (r *recordingConn) Write(b []byte) (n int, err error) { 295 if n, err = r.Conn.Write(b); n == 0 { 296 return 297 } 298 b = b[:n] 299 300 r.lock.Lock() 301 defer r.lock.Unlock() 302 303 if l := len(r.flows); l == 0 || r.currentlyReading { 304 buf := make([]byte, len(b)) 305 copy(buf, b) 306 r.flows = append(r.flows, buf) 307 } else { 308 r.flows[l-1] = append(r.flows[l-1], b[:n]...) 309 } 310 r.currentlyReading = false 311 return 312 } 313 314 // WriteTo writes Go source code to w that contains the recorded traffic. 315 func (r *recordingConn) WriteTo(w io.Writer) { 316 fmt.Fprintf(w, "var changeMe = [][]byte {\n") 317 for _, buf := range r.flows { 318 fmt.Fprintf(w, "\t{") 319 for i, b := range buf { 320 if i%8 == 0 { 321 fmt.Fprintf(w, "\n\t\t") 322 } 323 fmt.Fprintf(w, "0x%02x, ", b) 324 } 325 fmt.Fprintf(w, "\n\t},\n") 326 } 327 fmt.Fprintf(w, "}\n") 328 } 329 330 var serve = flag.Bool("serve", false, "run a TLS server on :10443") 331 var testCipherSuites = flag.String("ciphersuites", 332 "0x"+strconv.FormatInt(int64(TLS_RSA_WITH_RC4_128_SHA), 16), 333 "cipher suites to accept in serving mode") 334 var testClientAuth = flag.Int("clientauth", 0, "value for tls.Config.ClientAuth") 335 336 func GetTestConfig() *Config { 337 var config = *testConfig 338 suites := strings.Split(*testCipherSuites, ",") 339 config.CipherSuites = make([]uint16, len(suites)) 340 for i := range suites { 341 suite, err := strconv.ParseUint(suites[i], 0, 64) 342 if err != nil { 343 panic(err) 344 } 345 config.CipherSuites[i] = uint16(suite) 346 } 347 348 config.ClientAuth = ClientAuthType(*testClientAuth) 349 return &config 350 } 351 352 func TestRunServer(t *testing.T) { 353 if !*serve { 354 return 355 } 356 357 config := GetTestConfig() 358 359 const addr = ":10443" 360 l, err := net.Listen("tcp", addr) 361 if err != nil { 362 t.Fatal(err) 363 } 364 log.Printf("Now listening for connections on %s", addr) 365 366 for { 367 tcpConn, err := l.Accept() 368 if err != nil { 369 log.Printf("error accepting connection: %s", err) 370 break 371 } 372 373 record := &recordingConn{ 374 Conn: tcpConn, 375 } 376 377 conn := Server(record, config) 378 if err := conn.Handshake(); err != nil { 379 log.Printf("error from TLS handshake: %s", err) 380 break 381 } 382 383 _, err = conn.Write([]byte("hello, world\n")) 384 if err != nil { 385 log.Printf("error from Write: %s", err) 386 continue 387 } 388 389 conn.Close() 390 391 record.WriteTo(os.Stdout) 392 } 393 } 394 395 func bigFromString(s string) *big.Int { 396 ret := new(big.Int) 397 ret.SetString(s, 10) 398 return ret 399 } 400 401 func fromHex(s string) []byte { 402 b, _ := hex.DecodeString(s) 403 return b 404 } 405 406 var testCertificate = fromHex("308202b030820219a00302010202090085b0bba48a7fb8ca300d06092a864886f70d01010505003045310b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507479204c7464301e170d3130303432343039303933385a170d3131303432343039303933385a3045310b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507479204c746430819f300d06092a864886f70d010101050003818d0030818902818100bb79d6f517b5e5bf4610d0dc69bee62b07435ad0032d8a7a4385b71452e7a5654c2c78b8238cb5b482e5de1f953b7e62a52ca533d6fe125c7a56fcf506bffa587b263fb5cd04d3d0c921964ac7f4549f5abfef427100fe1899077f7e887d7df10439c4a22edb51c97ce3c04c3b326601cfafb11db8719a1ddbdb896baeda2d790203010001a381a73081a4301d0603551d0e04160414b1ade2855acfcb28db69ce2369ded3268e18883930750603551d23046e306c8014b1ade2855acfcb28db69ce2369ded3268e188839a149a4473045310b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507479204c746482090085b0bba48a7fb8ca300c0603551d13040530030101ff300d06092a864886f70d010105050003818100086c4524c76bb159ab0c52ccf2b014d7879d7a6475b55a9566e4c52b8eae12661feb4f38b36e60d392fdf74108b52513b1187a24fb301dbaed98b917ece7d73159db95d31d78ea50565cd5825a2d5a5f33c4b6d8c97590968c0f5298b5cd981f89205ff2a01ca31b9694dda9fd57e970e8266d71999b266e3850296c90a7bdd9") 407 408 var testSNICertificate = fromHex("308201f23082015da003020102020100300b06092a864886f70d01010530283110300e060355040a130741636d6520436f311430120603550403130b736e69746573742e636f6d301e170d3132303431313137343033355a170d3133303431313137343533355a30283110300e060355040a130741636d6520436f311430120603550403130b736e69746573742e636f6d30819d300b06092a864886f70d01010103818d0030818902818100bb79d6f517b5e5bf4610d0dc69bee62b07435ad0032d8a7a4385b71452e7a5654c2c78b8238cb5b482e5de1f953b7e62a52ca533d6fe125c7a56fcf506bffa587b263fb5cd04d3d0c921964ac7f4549f5abfef427100fe1899077f7e887d7df10439c4a22edb51c97ce3c04c3b326601cfafb11db8719a1ddbdb896baeda2d790203010001a3323030300e0603551d0f0101ff0404030200a0300d0603551d0e0406040401020304300f0603551d2304083006800401020304300b06092a864886f70d0101050381810089c6455f1c1f5ef8eb1ab174ee2439059f5c4259bb1a8d86cdb1d056f56a717da40e95ab90f59e8deaf627c157995094db0802266eb34fc6842dea8a4b68d9c1389103ab84fb9e1f85d9b5d23ff2312c8670fbb540148245a4ebafe264d90c8a4cf4f85b0fac12ac2fc4a3154bad52462868af96c62c6525d652b6e31845bdcc") 409 410 var testPrivateKey = &rsa.PrivateKey{ 411 PublicKey: rsa.PublicKey{ 412 N: bigFromString("131650079503776001033793877885499001334664249354723305978524647182322416328664556247316495448366990052837680518067798333412266673813370895702118944398081598789828837447552603077848001020611640547221687072142537202428102790818451901395596882588063427854225330436740647715202971973145151161964464812406232198521"), 413 E: 65537, 414 }, 415 D: bigFromString("29354450337804273969007277378287027274721892607543397931919078829901848876371746653677097639302788129485893852488285045793268732234230875671682624082413996177431586734171663258657462237320300610850244186316880055243099640544518318093544057213190320837094958164973959123058337475052510833916491060913053867729"), 416 Primes: []*big.Int{ 417 bigFromString("11969277782311800166562047708379380720136961987713178380670422671426759650127150688426177829077494755200794297055316163155755835813760102405344560929062149"), 418 bigFromString("10998999429884441391899182616418192492905073053684657075974935218461686523870125521822756579792315215543092255516093840728890783887287417039645833477273829"), 419 }, 420 } 421 422 func loadPEMCert(in string) *x509.Certificate { 423 block, _ := pem.Decode([]byte(in)) 424 if block.Type == "CERTIFICATE" && len(block.Headers) == 0 { 425 cert, err := x509.ParseCertificate(block.Bytes) 426 if err == nil { 427 return cert 428 } 429 panic("error parsing cert") 430 } 431 panic("error parsing PEM") 432 } 433 434 // Script of interaction with gnutls implementation. 435 // The values for this test are obtained by building and running in server mode: 436 // % go test -test.run "TestRunServer" -serve 437 // The recorded bytes are written to stdout. 438 var rc4ServerScript = [][]byte{ 439 { 440 0x16, 0x03, 0x01, 0x00, 0x54, 0x01, 0x00, 0x00, 441 0x50, 0x03, 0x01, 0x50, 0x77, 0x3d, 0xbd, 0x32, 442 0x13, 0xd7, 0xea, 0x33, 0x65, 0x02, 0xb8, 0x70, 443 0xb7, 0x84, 0xc4, 0x05, 0x1f, 0xa4, 0x24, 0xc4, 444 0x91, 0x69, 0x04, 0x32, 0x96, 0xfe, 0x5b, 0x49, 445 0x71, 0x60, 0x9a, 0x00, 0x00, 0x28, 0x00, 0x39, 446 0x00, 0x38, 0x00, 0x35, 0x00, 0x16, 0x00, 0x13, 447 0x00, 0x0a, 0x00, 0x33, 0x00, 0x32, 0x00, 0x2f, 448 0x00, 0x05, 0x00, 0x04, 0x00, 0x15, 0x00, 0x12, 449 0x00, 0x09, 0x00, 0x14, 0x00, 0x11, 0x00, 0x08, 450 0x00, 0x06, 0x00, 0x03, 0x00, 0xff, 0x02, 0x01, 451 0x00, 452 }, 453 { 454 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, 455 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 456 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 457 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 458 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 459 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, 460 0x03, 0x01, 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, 461 0x00, 0x02, 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, 462 0x02, 0xb0, 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, 463 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, 464 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, 465 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 466 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, 467 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 468 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 469 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 470 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 471 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 472 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 473 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 474 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 475 0x20, 0x4c, 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, 476 0x31, 0x30, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 477 0x30, 0x39, 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, 478 0x31, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 479 0x39, 0x33, 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, 480 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 481 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 482 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 483 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 484 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 485 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 486 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 487 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 488 0x4c, 0x74, 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, 489 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 490 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 491 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 492 0xbb, 0x79, 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, 493 0x46, 0x10, 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, 494 0x07, 0x43, 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, 495 0x43, 0x85, 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, 496 0x4c, 0x2c, 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, 497 0x82, 0xe5, 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, 498 0xa5, 0x2c, 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, 499 0x7a, 0x56, 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, 500 0x7b, 0x26, 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, 501 0xc9, 0x21, 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, 502 0x5a, 0xbf, 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, 503 0x99, 0x07, 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, 504 0x04, 0x39, 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, 505 0x7c, 0xe3, 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, 506 0xcf, 0xaf, 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, 507 0xdb, 0xdb, 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, 508 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, 509 0x30, 0x81, 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, 510 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, 511 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 512 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 513 0x88, 0x39, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, 514 0x23, 0x04, 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, 515 0xad, 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 516 0x69, 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 517 0x18, 0x88, 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, 518 0x45, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 519 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 520 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 521 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 522 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 523 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 524 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 525 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 526 0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, 527 0x00, 0x85, 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 528 0xca, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 529 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 530 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 531 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 532 0x81, 0x00, 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, 533 0xb1, 0x59, 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, 534 0x14, 0xd7, 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, 535 0x5a, 0x95, 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, 536 0x12, 0x66, 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, 537 0x60, 0xd3, 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, 538 0x25, 0x13, 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, 539 0x1d, 0xba, 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, 540 0xd7, 0x31, 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, 541 0xea, 0x50, 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, 542 0x5a, 0x5f, 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, 543 0x90, 0x96, 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, 544 0x98, 0x1f, 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, 545 0xa3, 0x1b, 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, 546 0xe9, 0x70, 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, 547 0x26, 0x6e, 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, 548 0xbd, 0xd9, 0x16, 0x03, 0x01, 0x00, 0x04, 0x0e, 549 0x00, 0x00, 0x00, 550 }, 551 { 552 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, 553 0x82, 0x00, 0x80, 0x2d, 0x09, 0x7c, 0x7f, 0xfc, 554 0x84, 0xce, 0xb3, 0x30, 0x9b, 0xf9, 0xb7, 0xc8, 555 0xc3, 0xff, 0xee, 0x6f, 0x20, 0x8a, 0xf4, 0xfb, 556 0x86, 0x55, 0x1f, 0x6a, 0xb4, 0x81, 0x50, 0x3a, 557 0x46, 0x1b, 0xd3, 0xca, 0x4b, 0x11, 0xff, 0xef, 558 0x02, 0xbc, 0x18, 0xb8, 0x4a, 0x7d, 0x43, 0x23, 559 0x96, 0x92, 0x27, 0x7c, 0xca, 0xcf, 0xe6, 0x91, 560 0xe8, 0x14, 0x97, 0x68, 0xb4, 0xe5, 0xc0, 0xc9, 561 0x23, 0xdd, 0x54, 0x07, 0xa6, 0x2e, 0x8c, 0x98, 562 0xfc, 0xc6, 0x8c, 0x04, 0x6b, 0x1b, 0x5f, 0xd5, 563 0x3d, 0x8b, 0x6c, 0x55, 0x4f, 0x7a, 0xe6, 0x6c, 564 0x74, 0x2c, 0x1e, 0x34, 0xdb, 0xfb, 0x00, 0xb1, 565 0x4e, 0x10, 0x21, 0x16, 0xe0, 0x3e, 0xc5, 0x64, 566 0x84, 0x28, 0x2b, 0x2b, 0x29, 0x47, 0x51, 0x34, 567 0x76, 0x15, 0x20, 0x71, 0x0b, 0x30, 0xa1, 0x85, 568 0xd5, 0x15, 0x18, 0x14, 0x64, 0x4b, 0x40, 0x7c, 569 0x4f, 0xb3, 0x7b, 0x14, 0x03, 0x01, 0x00, 0x01, 570 0x01, 0x16, 0x03, 0x01, 0x00, 0x24, 0xab, 0xee, 571 0xf5, 0x97, 0x5f, 0xc6, 0x78, 0xf3, 0xc6, 0x83, 572 0x5b, 0x55, 0x4f, 0xcb, 0x45, 0x3f, 0xfa, 0xf7, 573 0x05, 0x02, 0xc2, 0x63, 0x87, 0x18, 0xb5, 0x9a, 574 0x62, 0xe2, 0x3f, 0x88, 0x5a, 0x60, 0x61, 0x72, 575 0xfa, 0x9c, 576 }, 577 { 578 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 579 0x01, 0x00, 0x24, 0x72, 0xa4, 0xe4, 0xaa, 0xd2, 580 0xc4, 0x39, 0x7e, 0x2a, 0xc1, 0x6f, 0x34, 0x42, 581 0x28, 0xcb, 0x9d, 0x7a, 0x09, 0xca, 0x96, 0xad, 582 0x0e, 0x11, 0x51, 0x8a, 0x06, 0xb0, 0xe9, 0xca, 583 0xeb, 0xce, 0xe2, 0xd5, 0x2e, 0xc1, 0x8d, 0x17, 584 0x03, 0x01, 0x00, 0x21, 0x2e, 0x61, 0x86, 0x17, 585 0xdb, 0xa6, 0x30, 0xe2, 0x62, 0x06, 0x2a, 0x8b, 586 0x75, 0x2c, 0x2d, 0xcf, 0xf5, 0x01, 0x11, 0x52, 587 0x81, 0x38, 0xcf, 0xd5, 0xf7, 0xdc, 0x52, 0x31, 588 0x1f, 0x97, 0x43, 0xc2, 0x71, 0x15, 0x03, 0x01, 589 0x00, 0x16, 0xe0, 0x21, 0xfe, 0x36, 0x2e, 0x68, 590 0x2c, 0xf1, 0xbe, 0x04, 0xec, 0xd4, 0xc6, 0xdd, 591 0xac, 0x6f, 0x4c, 0x85, 0x32, 0x3f, 0x87, 0x1b, 592 }, 593 } 594 595 var des3ServerScript = [][]byte{ 596 { 597 0x16, 0x03, 0x00, 0x00, 0xc5, 0x01, 0x00, 0x00, 598 0xc1, 0x03, 0x03, 0x50, 0xae, 0x5d, 0x38, 0xec, 599 0xaa, 0x2f, 0x41, 0xf9, 0xd2, 0x7b, 0xa1, 0xfd, 600 0x0f, 0xff, 0x4e, 0x54, 0x0e, 0x15, 0x57, 0xaf, 601 0x2c, 0x91, 0xb5, 0x35, 0x5b, 0x2e, 0xb0, 0xec, 602 0x20, 0xe5, 0xd2, 0x00, 0x00, 0x50, 0xc0, 0x09, 603 0xc0, 0x23, 0xc0, 0x2b, 0xc0, 0x0a, 0xc0, 0x24, 604 0xc0, 0x2c, 0xc0, 0x08, 0xc0, 0x13, 0xc0, 0x27, 605 0xc0, 0x2f, 0xc0, 0x14, 0xc0, 0x30, 0xc0, 0x12, 606 0x00, 0x33, 0x00, 0x67, 0x00, 0x45, 0x00, 0x9e, 607 0x00, 0x39, 0x00, 0x6b, 0x00, 0x88, 0x00, 0x16, 608 0x00, 0x32, 0x00, 0x40, 0x00, 0x44, 0x00, 0xa2, 609 0x00, 0x38, 0x00, 0x6a, 0x00, 0x87, 0x00, 0x13, 610 0x00, 0x66, 0x00, 0x2f, 0x00, 0x3c, 0x00, 0x41, 611 0x00, 0x9c, 0x00, 0x35, 0x00, 0x3d, 0x00, 0x84, 612 0x00, 0x0a, 0x00, 0x05, 0x00, 0x04, 0x01, 0x00, 613 0x00, 0x48, 0x00, 0x05, 0x00, 0x05, 0x01, 0x00, 614 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x01, 0x00, 615 0x00, 0x23, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0c, 616 0x00, 0x0a, 0x00, 0x13, 0x00, 0x15, 0x00, 0x17, 617 0x00, 0x18, 0x00, 0x19, 0x00, 0x0b, 0x00, 0x02, 618 0x01, 0x00, 0x00, 0x0d, 0x00, 0x1c, 0x00, 0x1a, 619 0x04, 0x01, 0x04, 0x02, 0x04, 0x03, 0x05, 0x01, 620 0x05, 0x03, 0x06, 0x01, 0x06, 0x03, 0x03, 0x01, 621 0x03, 0x02, 0x03, 0x03, 0x02, 0x01, 0x02, 0x02, 622 0x02, 0x03, 623 }, 624 { 625 0x16, 0x03, 0x01, 0x00, 0x30, 0x02, 0x00, 0x00, 626 0x2c, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 627 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 628 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 629 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 630 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 631 0x04, 0x00, 0x23, 0x00, 0x00, 0x16, 0x03, 0x01, 632 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, 0x00, 0x02, 633 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, 0x02, 0xb0, 634 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, 0x02, 0x01, 635 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, 0xbb, 0xa4, 636 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, 0x06, 0x09, 637 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 638 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, 0x0b, 0x30, 639 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 640 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 641 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 0x6d, 642 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 643 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 644 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 645 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 646 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 647 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 648 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 0x39, 649 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, 0x31, 0x30, 650 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 0x39, 0x33, 651 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, 0x30, 0x09, 652 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41, 653 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 654 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 0x6d, 0x65, 655 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 0x21, 656 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 657 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 658 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 0x74, 659 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 0x74, 660 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 661 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 662 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 663 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xbb, 0x79, 664 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, 0x46, 0x10, 665 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, 0x07, 0x43, 666 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, 0x43, 0x85, 667 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, 0x4c, 0x2c, 668 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, 0x82, 0xe5, 669 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, 0xa5, 0x2c, 670 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, 0x7a, 0x56, 671 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, 0x7b, 0x26, 672 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, 0xc9, 0x21, 673 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, 0x5a, 0xbf, 674 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, 0x99, 0x07, 675 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, 0x04, 0x39, 676 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, 0x7c, 0xe3, 677 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, 0xcf, 0xaf, 678 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, 0xdb, 0xdb, 679 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, 0x02, 0x03, 680 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, 0x30, 0x81, 681 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 682 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, 0xe2, 0x85, 683 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 0xce, 0x23, 684 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 0x88, 0x39, 685 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 686 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, 0xad, 0xe2, 687 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 0xce, 688 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 0x88, 689 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, 0x45, 0x31, 690 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 691 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 692 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 693 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 694 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 695 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 696 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 697 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 698 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, 0x00, 0x85, 699 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 700 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 701 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 702 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 703 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 704 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, 0xb1, 0x59, 705 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, 0x14, 0xd7, 706 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, 0x5a, 0x95, 707 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, 0x12, 0x66, 708 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, 0x60, 0xd3, 709 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, 0x25, 0x13, 710 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, 0x1d, 0xba, 711 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, 0xd7, 0x31, 712 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, 0xea, 0x50, 713 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, 0x5a, 0x5f, 714 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, 0x90, 0x96, 715 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, 0x98, 0x1f, 716 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, 0xa3, 0x1b, 717 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, 0xe9, 0x70, 718 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, 0x26, 0x6e, 719 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, 0xbd, 0xd9, 720 0x16, 0x03, 0x01, 0x00, 0x04, 0x0e, 0x00, 0x00, 721 0x00, 722 }, 723 { 724 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, 725 0x82, 0x00, 0x80, 0x51, 0x04, 0xf1, 0x7a, 0xbf, 726 0xe8, 0xa5, 0x86, 0x09, 0xa7, 0xf3, 0xcc, 0x93, 727 0x00, 0x10, 0x5b, 0xb8, 0xc1, 0x51, 0x0d, 0x5b, 728 0xcd, 0xed, 0x26, 0x01, 0x69, 0x73, 0xf4, 0x05, 729 0x8a, 0x6a, 0xc3, 0xb1, 0x9e, 0x84, 0x4e, 0x39, 730 0xcf, 0x5e, 0x55, 0xa9, 0x70, 0x19, 0x96, 0x91, 731 0xcd, 0x2c, 0x78, 0x3c, 0xa2, 0x6d, 0xb0, 0x49, 732 0x86, 0xf6, 0xd1, 0x3a, 0xde, 0x00, 0x4b, 0xa6, 733 0x25, 0xbf, 0x85, 0x39, 0xce, 0xb1, 0xcf, 0xbc, 734 0x16, 0xc7, 0x66, 0xac, 0xf8, 0xd2, 0x3b, 0xd1, 735 0xcc, 0x16, 0xac, 0x63, 0x3c, 0xbe, 0xd9, 0xb6, 736 0x6a, 0xe4, 0x13, 0x8a, 0xf4, 0x56, 0x2f, 0x92, 737 0x54, 0xd8, 0xf0, 0x84, 0x01, 0x32, 0x1a, 0xa9, 738 0x2d, 0xaf, 0x82, 0x0e, 0x00, 0xfa, 0x07, 0x88, 739 0xd9, 0x87, 0xe7, 0xdc, 0x9e, 0xe9, 0x72, 0x49, 740 0xb8, 0xfa, 0x8c, 0x7b, 0x07, 0x0b, 0x03, 0x7c, 741 0x10, 0x8c, 0x8a, 0x14, 0x03, 0x01, 0x00, 0x01, 742 0x01, 0x16, 0x03, 0x01, 0x00, 0xa8, 0x61, 0xa4, 743 0xf4, 0x5f, 0x8a, 0x1f, 0x5c, 0x92, 0x3f, 0x8c, 744 0xdb, 0xd6, 0x10, 0xcd, 0x9e, 0xe7, 0xf0, 0xc4, 745 0x3c, 0xb6, 0x1c, 0x9a, 0x56, 0x73, 0x7f, 0xa6, 746 0x14, 0x24, 0xcb, 0x96, 0x1f, 0xe0, 0xaf, 0xcd, 747 0x3c, 0x66, 0x43, 0xb7, 0x37, 0x65, 0x34, 0x47, 748 0xf8, 0x43, 0xf1, 0xcc, 0x15, 0xb8, 0xdc, 0x35, 749 0xe0, 0xa4, 0x2d, 0x78, 0x94, 0xe0, 0x02, 0xf3, 750 0x76, 0x46, 0xf7, 0x9b, 0x8d, 0x0d, 0x5d, 0x0b, 751 0xd3, 0xdd, 0x9a, 0x9e, 0x62, 0x2e, 0xc5, 0x98, 752 0x75, 0x63, 0x0c, 0xbf, 0x8e, 0x49, 0x33, 0x23, 753 0x7c, 0x00, 0xcf, 0xfb, 0xcf, 0xba, 0x0f, 0x41, 754 0x39, 0x89, 0xb9, 0xcc, 0x59, 0xd0, 0x2b, 0xb6, 755 0xec, 0x04, 0xe2, 0xc0, 0x52, 0xc7, 0xcf, 0x71, 756 0x47, 0xff, 0x70, 0x7e, 0xa9, 0xbd, 0x1c, 0xdd, 757 0x17, 0xa5, 0x6c, 0xb7, 0x10, 0x4f, 0x42, 0x18, 758 0x37, 0x69, 0xa9, 0xd2, 0xb3, 0x18, 0x84, 0x92, 759 0xa7, 0x47, 0x21, 0xf6, 0x95, 0x63, 0x29, 0xd6, 760 0xa5, 0xb6, 0xda, 0x65, 0x67, 0x69, 0xc4, 0x26, 761 0xac, 0x8b, 0x08, 0x58, 0xdd, 0x3c, 0x31, 0x20, 762 0xd5, 0x0c, 0x88, 0x72, 0x18, 0x16, 0x88, 0x1e, 763 0x4a, 0x0f, 0xe1, 0xcf, 0x95, 0x24, 764 }, 765 { 766 0x16, 0x03, 0x01, 0x00, 0x72, 0x04, 0x00, 0x00, 767 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 768 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 769 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 770 0xe8, 0x4b, 0xde, 0xef, 0xba, 0x3e, 0x18, 0x1c, 771 0x1e, 0x5e, 0xbc, 0x87, 0xf1, 0x87, 0x8d, 0x72, 772 0xe3, 0xbe, 0x0f, 0xdf, 0xfd, 0xd0, 0xb2, 0x89, 773 0xf8, 0x05, 0x9a, 0x52, 0x47, 0x77, 0x9e, 0xe8, 774 0xb1, 0x1d, 0x18, 0xed, 0x6a, 0x4b, 0x63, 0x1d, 775 0xf1, 0x62, 0xd2, 0x65, 0x21, 0x26, 0x73, 0xd4, 776 0x35, 0x5b, 0x95, 0x89, 0x12, 0x59, 0x23, 0x8c, 777 0xc3, 0xfc, 0xf9, 0x4d, 0x21, 0x79, 0xa0, 0xbd, 778 0xff, 0x33, 0xa2, 0x3d, 0x0b, 0x6f, 0x89, 0xc9, 779 0x23, 0xe4, 0xe7, 0x9f, 0x1d, 0x98, 0xf6, 0xed, 780 0x02, 0x8d, 0xac, 0x1a, 0xf9, 0xcb, 0xa5, 0x14, 781 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 0x01, 782 0x00, 0x28, 0x91, 0x56, 0x80, 0xe2, 0x6d, 0x51, 783 0x88, 0x03, 0xf8, 0x49, 0xe6, 0x6a, 0x5a, 0xfb, 784 0x2f, 0x0b, 0xb5, 0xa1, 0x0d, 0x63, 0x83, 0xae, 785 0xb9, 0xbc, 0x05, 0xf0, 0x81, 0x00, 0x61, 0x83, 786 0x38, 0xda, 0x14, 0xf6, 0xea, 0xd8, 0x78, 0x65, 787 0xc7, 0x26, 0x17, 0x03, 0x01, 0x00, 0x18, 0x81, 788 0x30, 0x8b, 0x22, 0x5a, 0xd3, 0x7f, 0xc8, 0xf2, 789 0x8a, 0x6b, 0xa3, 0xba, 0x4d, 0xe7, 0x6e, 0xd2, 790 0xfd, 0xbf, 0xf2, 0xc5, 0x28, 0xa0, 0x62, 0x17, 791 0x03, 0x01, 0x00, 0x28, 0x17, 0x83, 0x3c, 0x78, 792 0x18, 0xfa, 0x8d, 0x58, 0x5c, 0xaa, 0x05, 0x7d, 793 0x67, 0x96, 0x11, 0x60, 0x11, 0xc0, 0x1e, 0x0d, 794 0x6a, 0x6e, 0x5f, 0x1d, 0x98, 0x4b, 0xff, 0x82, 795 0xee, 0x21, 0x06, 0x29, 0xd3, 0x8b, 0x80, 0x78, 796 0x39, 0x05, 0x34, 0x9b, 0x15, 0x03, 0x01, 0x00, 797 0x18, 0xa9, 0x38, 0x18, 0x4f, 0x9d, 0x84, 0x75, 798 0x88, 0x53, 0xd6, 0x85, 0xc2, 0x15, 0x4b, 0xe3, 799 0xe3, 0x35, 0x9a, 0x74, 0xc9, 0x3e, 0x13, 0xc1, 800 0x8c, 801 }, 802 } 803 804 var aesServerScript = [][]byte{ 805 { 806 0x16, 0x03, 0x00, 0x00, 0xc5, 0x01, 0x00, 0x00, 807 0xc1, 0x03, 0x03, 0x50, 0xae, 0x5c, 0xe9, 0x5e, 808 0x31, 0x93, 0x82, 0xa5, 0x6f, 0x51, 0x82, 0xc8, 809 0x55, 0x4f, 0x1f, 0x2e, 0x90, 0x98, 0x81, 0x13, 810 0x27, 0x80, 0x68, 0xb4, 0x2d, 0xba, 0x3a, 0x76, 811 0xd8, 0xd7, 0x2c, 0x00, 0x00, 0x50, 0xc0, 0x09, 812 0xc0, 0x23, 0xc0, 0x2b, 0xc0, 0x0a, 0xc0, 0x24, 813 0xc0, 0x2c, 0xc0, 0x08, 0xc0, 0x13, 0xc0, 0x27, 814 0xc0, 0x2f, 0xc0, 0x14, 0xc0, 0x30, 0xc0, 0x12, 815 0x00, 0x33, 0x00, 0x67, 0x00, 0x45, 0x00, 0x9e, 816 0x00, 0x39, 0x00, 0x6b, 0x00, 0x88, 0x00, 0x16, 817 0x00, 0x32, 0x00, 0x40, 0x00, 0x44, 0x00, 0xa2, 818 0x00, 0x38, 0x00, 0x6a, 0x00, 0x87, 0x00, 0x13, 819 0x00, 0x66, 0x00, 0x2f, 0x00, 0x3c, 0x00, 0x41, 820 0x00, 0x9c, 0x00, 0x35, 0x00, 0x3d, 0x00, 0x84, 821 0x00, 0x0a, 0x00, 0x05, 0x00, 0x04, 0x01, 0x00, 822 0x00, 0x48, 0x00, 0x05, 0x00, 0x05, 0x01, 0x00, 823 0x00, 0x00, 0x00, 0xff, 0x01, 0x00, 0x01, 0x00, 824 0x00, 0x23, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x0c, 825 0x00, 0x0a, 0x00, 0x13, 0x00, 0x15, 0x00, 0x17, 826 0x00, 0x18, 0x00, 0x19, 0x00, 0x0b, 0x00, 0x02, 827 0x01, 0x00, 0x00, 0x0d, 0x00, 0x1c, 0x00, 0x1a, 828 0x04, 0x01, 0x04, 0x02, 0x04, 0x03, 0x05, 0x01, 829 0x05, 0x03, 0x06, 0x01, 0x06, 0x03, 0x03, 0x01, 830 0x03, 0x02, 0x03, 0x03, 0x02, 0x01, 0x02, 0x02, 831 0x02, 0x03, 832 }, 833 { 834 0x16, 0x03, 0x01, 0x00, 0x30, 0x02, 0x00, 0x00, 835 0x2c, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 836 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 837 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 838 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 839 0x00, 0x00, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 840 0x04, 0x00, 0x23, 0x00, 0x00, 0x16, 0x03, 0x01, 841 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, 0x00, 0x02, 842 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, 0x02, 0xb0, 843 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, 0x02, 0x01, 844 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, 0xbb, 0xa4, 845 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, 0x06, 0x09, 846 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 847 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, 0x0b, 0x30, 848 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 849 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 850 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 0x6d, 851 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 852 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 853 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 854 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 855 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 856 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 857 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 0x39, 858 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, 0x31, 0x30, 859 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 0x39, 0x33, 860 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, 0x30, 0x09, 861 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41, 862 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 863 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 0x6d, 0x65, 864 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 0x21, 865 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 866 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 867 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 0x74, 868 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 0x74, 869 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 870 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 871 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 872 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xbb, 0x79, 873 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, 0x46, 0x10, 874 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, 0x07, 0x43, 875 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, 0x43, 0x85, 876 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, 0x4c, 0x2c, 877 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, 0x82, 0xe5, 878 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, 0xa5, 0x2c, 879 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, 0x7a, 0x56, 880 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, 0x7b, 0x26, 881 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, 0xc9, 0x21, 882 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, 0x5a, 0xbf, 883 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, 0x99, 0x07, 884 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, 0x04, 0x39, 885 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, 0x7c, 0xe3, 886 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, 0xcf, 0xaf, 887 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, 0xdb, 0xdb, 888 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, 0x02, 0x03, 889 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, 0x30, 0x81, 890 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 891 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, 0xe2, 0x85, 892 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 0xce, 0x23, 893 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 0x88, 0x39, 894 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 895 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, 0xad, 0xe2, 896 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 0xce, 897 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 0x88, 898 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, 0x45, 0x31, 899 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 900 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 901 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 902 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 903 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 904 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 905 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 906 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 907 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, 0x00, 0x85, 908 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 909 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 910 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 911 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 912 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 913 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, 0xb1, 0x59, 914 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, 0x14, 0xd7, 915 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, 0x5a, 0x95, 916 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, 0x12, 0x66, 917 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, 0x60, 0xd3, 918 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, 0x25, 0x13, 919 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, 0x1d, 0xba, 920 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, 0xd7, 0x31, 921 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, 0xea, 0x50, 922 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, 0x5a, 0x5f, 923 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, 0x90, 0x96, 924 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, 0x98, 0x1f, 925 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, 0xa3, 0x1b, 926 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, 0xe9, 0x70, 927 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, 0x26, 0x6e, 928 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, 0xbd, 0xd9, 929 0x16, 0x03, 0x01, 0x00, 0x04, 0x0e, 0x00, 0x00, 930 0x00, 931 }, 932 { 933 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, 934 0x82, 0x00, 0x80, 0x51, 0x2e, 0xec, 0x0d, 0x86, 935 0xf3, 0x9f, 0xf2, 0x77, 0x04, 0x27, 0x2b, 0x0e, 936 0x9c, 0xab, 0x35, 0x84, 0x65, 0xff, 0x36, 0xef, 937 0xc0, 0x08, 0xc9, 0x1d, 0x9f, 0x29, 0xae, 0x8d, 938 0xc5, 0x66, 0x81, 0x31, 0x92, 0x5e, 0x3d, 0xac, 939 0xaa, 0x37, 0x28, 0x2c, 0x06, 0x91, 0xa6, 0xc2, 940 0xd0, 0x83, 0x34, 0x24, 0x1c, 0x88, 0xfc, 0x0a, 941 0xcf, 0xbf, 0xc2, 0x94, 0xe2, 0xed, 0xa7, 0x6a, 942 0xa8, 0x8d, 0x3d, 0xf7, 0x06, 0x7d, 0x69, 0xf8, 943 0x0d, 0xb2, 0xf7, 0xe4, 0x45, 0xcb, 0x0a, 0x25, 944 0xcb, 0xb2, 0x2e, 0x38, 0x9a, 0x84, 0x75, 0xe8, 945 0xe1, 0x42, 0x39, 0xa2, 0x18, 0x0e, 0x48, 0xca, 946 0x33, 0x16, 0x4e, 0xf6, 0x2f, 0xec, 0x07, 0xe7, 947 0x57, 0xe1, 0x20, 0x40, 0x40, 0x6d, 0x4e, 0x29, 948 0x04, 0x1a, 0x8c, 0x99, 0xfb, 0x19, 0x3c, 0xaa, 949 0x75, 0x64, 0xd3, 0xa6, 0xe6, 0xed, 0x3f, 0x5a, 950 0xd2, 0xc9, 0x80, 0x14, 0x03, 0x01, 0x00, 0x01, 951 0x01, 0x16, 0x03, 0x01, 0x01, 0x10, 0xe9, 0x9e, 952 0x06, 0x92, 0x18, 0xbf, 0x5e, 0xaf, 0x33, 0xc1, 953 0xbf, 0x0e, 0x12, 0x07, 0x48, 0x4f, 0x6b, 0x6c, 954 0xf5, 0x23, 0x5e, 0x87, 0xa7, 0xd3, 0x50, 0x79, 955 0x38, 0xdc, 0xe0, 0x49, 0xd3, 0x81, 0x21, 0x12, 956 0xd0, 0x3d, 0x9a, 0xfb, 0x83, 0xc1, 0x8b, 0xfc, 957 0x14, 0xd5, 0xd5, 0xa7, 0xa3, 0x34, 0x14, 0x71, 958 0xbe, 0xea, 0x37, 0x18, 0x12, 0x7f, 0x41, 0xfb, 959 0xc5, 0x51, 0x17, 0x9d, 0x96, 0x58, 0x14, 0xfb, 960 0x4f, 0xd7, 0xd3, 0x15, 0x0f, 0xec, 0x5a, 0x0d, 961 0x35, 0xbb, 0x3c, 0x81, 0x5b, 0x3f, 0xdf, 0x52, 962 0xa4, 0x4c, 0xcd, 0x13, 0xe1, 0x10, 0x37, 0x34, 963 0xbf, 0xb4, 0x80, 0x1e, 0x8d, 0xe2, 0xc3, 0x7a, 964 0x0f, 0x7b, 0x7d, 0x23, 0xeb, 0xd0, 0x99, 0x69, 965 0xad, 0x0a, 0x2d, 0xb3, 0x6c, 0xd6, 0x80, 0x11, 966 0x7f, 0x6c, 0xed, 0x1b, 0xcd, 0x08, 0x22, 0x56, 967 0x90, 0x0e, 0xa4, 0xc3, 0x29, 0x33, 0x96, 0x30, 968 0x34, 0x94, 0xa1, 0xeb, 0x9c, 0x1b, 0x5a, 0xd1, 969 0x03, 0x61, 0xf9, 0xdd, 0xf3, 0x64, 0x8a, 0xfd, 970 0x5f, 0x44, 0xdb, 0x2e, 0xa7, 0xfd, 0xe1, 0x1a, 971 0x66, 0xc5, 0x01, 0x9c, 0xc7, 0xd1, 0xc4, 0xd3, 972 0xea, 0x14, 0x3c, 0xed, 0x74, 0xbb, 0x1b, 0x97, 973 0x8f, 0xf1, 0x29, 0x39, 0x33, 0x92, 0x93, 0x4e, 974 0xf5, 0x87, 0x91, 0x61, 0x65, 0x8d, 0x27, 0x8d, 975 0x76, 0xc1, 0xfa, 0x6a, 0x99, 0x80, 0xb1, 0x9b, 976 0x29, 0x53, 0xce, 0x3e, 0xb6, 0x9a, 0xce, 0x3c, 977 0x19, 0x5e, 0x48, 0x83, 0xaa, 0xa7, 0x66, 0x98, 978 0x59, 0xf4, 0xbb, 0xf2, 0xbc, 0xd9, 0xc5, 0x9a, 979 0xc8, 0x2c, 0x63, 0x58, 0xd5, 0xd4, 0xbc, 0x03, 980 0xa9, 0x06, 0xa9, 0x80, 0x0d, 0xb3, 0x46, 0x2d, 981 0xe3, 0xc6, 0xaf, 0x1a, 0x39, 0x18, 0x7e, 0x1e, 982 0x83, 0x80, 0x46, 0x11, 0xd2, 0x13, 0x9f, 0xda, 983 0xfc, 0x2d, 0x42, 0xaa, 0x5a, 0x1d, 0x4c, 0x31, 984 0xe5, 0x58, 0x78, 0x5e, 0xe2, 0x04, 0xd6, 0x23, 985 0x7f, 0x3f, 0x06, 0xc0, 0x54, 0xf8, 986 }, 987 { 988 0x16, 0x03, 0x01, 0x00, 0x72, 0x04, 0x00, 0x00, 989 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 990 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 991 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 992 0xe8, 0x4b, 0xfb, 0xef, 0xba, 0xed, 0xc5, 0x36, 993 0xc8, 0x5a, 0x41, 0x3f, 0x05, 0xfa, 0xfe, 0x48, 994 0xc3, 0x91, 0x12, 0x8b, 0xe8, 0x32, 0x6a, 0x9f, 995 0xdc, 0x97, 0xe2, 0x77, 0xb9, 0x96, 0x2d, 0xd4, 996 0xe5, 0xbd, 0xa1, 0xfd, 0x94, 0xbb, 0x74, 0x63, 997 0xb1, 0x0c, 0x38, 0xbc, 0x6f, 0x69, 0xaf, 0xa3, 998 0x46, 0x9c, 0x96, 0x41, 0xde, 0x59, 0x23, 0xff, 999 0x15, 0x6b, 0x3a, 0xef, 0x91, 0x6d, 0x92, 0x44, 1000 0xdc, 0x72, 0x1f, 0x40, 0x3d, 0xb5, 0x34, 0x8f, 1001 0x2a, 0xac, 0x21, 0x69, 0x05, 0x6f, 0xb2, 0x60, 1002 0x32, 0x5d, 0x3d, 0x97, 0xb4, 0x24, 0x99, 0x14, 1003 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 0x01, 1004 0x00, 0x30, 0x68, 0x27, 0x97, 0xca, 0x63, 0x09, 1005 0x22, 0xed, 0x0e, 0x61, 0x7c, 0x76, 0x31, 0x9c, 1006 0xbe, 0x27, 0xc9, 0xe6, 0x09, 0xc3, 0xc3, 0xc2, 1007 0xf4, 0xa2, 0x32, 0xba, 0x7c, 0xf2, 0x0f, 0xb8, 1008 0x3d, 0xcb, 0xe2, 0x4c, 0xc0, 0x7d, 0x8e, 0x5b, 1009 0x5a, 0xed, 0x05, 0x5c, 0x15, 0x96, 0x69, 0xc2, 1010 0x6f, 0x5f, 0x17, 0x03, 0x01, 0x00, 0x20, 0x5a, 1011 0xfe, 0x0b, 0xe1, 0x6f, 0xa8, 0x54, 0x19, 0x78, 1012 0xca, 0xba, 0x2e, 0x1e, 0x2e, 0xe1, 0x5d, 0x17, 1013 0xe5, 0x97, 0x05, 0x2c, 0x08, 0x0c, 0xff, 0xa8, 1014 0x59, 0xa9, 0xde, 0x5e, 0x21, 0x34, 0x04, 0x17, 1015 0x03, 0x01, 0x00, 0x30, 0x86, 0xb1, 0x3f, 0x88, 1016 0x43, 0xf0, 0x07, 0xee, 0xa8, 0xf4, 0xbc, 0xe7, 1017 0x5f, 0xc6, 0x8c, 0x86, 0x4c, 0xca, 0x70, 0x88, 1018 0xcc, 0x6a, 0xb4, 0x3d, 0x40, 0xe8, 0x54, 0x89, 1019 0x19, 0x43, 0x1f, 0x76, 0xe2, 0xac, 0xb2, 0x5b, 1020 0x92, 0xf8, 0x57, 0x39, 0x2a, 0xc3, 0x6d, 0x13, 1021 0x45, 0xfa, 0x36, 0x9e, 0x15, 0x03, 0x01, 0x00, 1022 0x20, 0x6d, 0xed, 0x7b, 0x59, 0x28, 0x2a, 0x27, 1023 0x04, 0x15, 0x07, 0x4e, 0xeb, 0x13, 0x00, 0xe3, 1024 0x3a, 0x3f, 0xf8, 0xaa, 0x2b, 0x3b, 0x1a, 0x8c, 1025 0x12, 0xd6, 0x4c, 0xec, 0x2a, 0xaf, 0x33, 0x60, 1026 0xaf, 1027 }, 1028 } 1029 1030 var sslv3ServerScript = [][]byte{ 1031 { 1032 0x16, 0x03, 0x00, 0x00, 0x54, 0x01, 0x00, 0x00, 1033 0x50, 0x03, 0x00, 0x50, 0x77, 0x3d, 0x42, 0xae, 1034 0x84, 0xbd, 0xc5, 0x07, 0xa5, 0xc4, 0xd6, 0x16, 1035 0x4e, 0xd5, 0xc5, 0xfa, 0x02, 0x7a, 0x0f, 0x1d, 1036 0xc1, 0xe1, 0xaa, 0xe3, 0x3b, 0x4b, 0x6f, 0x11, 1037 0xfa, 0x1a, 0xa4, 0x00, 0x00, 0x28, 0x00, 0x39, 1038 0x00, 0x38, 0x00, 0x35, 0x00, 0x16, 0x00, 0x13, 1039 0x00, 0x0a, 0x00, 0x33, 0x00, 0x32, 0x00, 0x2f, 1040 0x00, 0x05, 0x00, 0x04, 0x00, 0x15, 0x00, 0x12, 1041 0x00, 0x09, 0x00, 0x14, 0x00, 0x11, 0x00, 0x08, 1042 0x00, 0x06, 0x00, 0x03, 0x00, 0xff, 0x02, 0x01, 1043 0x00, 1044 }, 1045 { 1046 0x16, 0x03, 0x00, 0x00, 0x2a, 0x02, 0x00, 0x00, 1047 0x26, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1048 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1049 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1050 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1051 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, 1052 0x03, 0x00, 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, 1053 0x00, 0x02, 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, 1054 0x02, 0xb0, 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, 1055 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, 1056 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, 1057 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 1058 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, 1059 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 1060 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 1061 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 1062 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 1063 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 1064 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 1065 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 1066 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 1067 0x20, 0x4c, 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, 1068 0x31, 0x30, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 1069 0x30, 0x39, 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, 1070 0x31, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 1071 0x39, 0x33, 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, 1072 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 1073 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 1074 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 1075 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 1076 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 1077 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 1078 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 1079 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 1080 0x4c, 0x74, 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, 1081 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 1082 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 1083 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 1084 0xbb, 0x79, 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, 1085 0x46, 0x10, 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, 1086 0x07, 0x43, 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, 1087 0x43, 0x85, 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, 1088 0x4c, 0x2c, 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, 1089 0x82, 0xe5, 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, 1090 0xa5, 0x2c, 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, 1091 0x7a, 0x56, 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, 1092 0x7b, 0x26, 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, 1093 0xc9, 0x21, 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, 1094 0x5a, 0xbf, 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, 1095 0x99, 0x07, 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, 1096 0x04, 0x39, 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, 1097 0x7c, 0xe3, 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, 1098 0xcf, 0xaf, 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, 1099 0xdb, 0xdb, 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, 1100 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, 1101 0x30, 0x81, 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, 1102 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, 1103 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 1104 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 1105 0x88, 0x39, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, 1106 0x23, 0x04, 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, 1107 0xad, 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 1108 0x69, 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 1109 0x18, 0x88, 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, 1110 0x45, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 1111 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 1112 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 1113 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 1114 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 1115 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 1116 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 1117 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 1118 0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, 1119 0x00, 0x85, 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 1120 0xca, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 1121 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 1122 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 1123 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 1124 0x81, 0x00, 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, 1125 0xb1, 0x59, 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, 1126 0x14, 0xd7, 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, 1127 0x5a, 0x95, 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, 1128 0x12, 0x66, 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, 1129 0x60, 0xd3, 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, 1130 0x25, 0x13, 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, 1131 0x1d, 0xba, 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, 1132 0xd7, 0x31, 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, 1133 0xea, 0x50, 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, 1134 0x5a, 0x5f, 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, 1135 0x90, 0x96, 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, 1136 0x98, 0x1f, 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, 1137 0xa3, 0x1b, 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, 1138 0xe9, 0x70, 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, 1139 0x26, 0x6e, 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, 1140 0xbd, 0xd9, 0x16, 0x03, 0x00, 0x00, 0x04, 0x0e, 1141 0x00, 0x00, 0x00, 1142 }, 1143 { 1144 0x16, 0x03, 0x00, 0x00, 0x84, 0x10, 0x00, 0x00, 1145 0x80, 0x4a, 0x8d, 0xc4, 0x38, 0x7a, 0x9c, 0xd6, 1146 0xe8, 0x72, 0x9e, 0xa3, 0xdf, 0x37, 0xb4, 0x6c, 1147 0x58, 0x33, 0x59, 0xd9, 0xc9, 0x4b, 0x50, 0x33, 1148 0x6c, 0xed, 0x73, 0x38, 0x2a, 0x46, 0x55, 0x31, 1149 0xa9, 0x8e, 0x8e, 0xfc, 0x0b, 0x5d, 0x5f, 0x3c, 1150 0x88, 0x28, 0x3f, 0x60, 0x51, 0x13, 0xf1, 0x59, 1151 0x0c, 0xa3, 0x5e, 0xe0, 0xa3, 0x35, 0x06, 0xb1, 1152 0x71, 0x59, 0x24, 0x4e, 0xed, 0x07, 0x15, 0x88, 1153 0x50, 0xef, 0xc2, 0xb2, 0x2a, 0x52, 0x30, 0x6a, 1154 0x7c, 0xbe, 0x2f, 0xc6, 0x8f, 0xa8, 0x83, 0xc5, 1155 0x80, 0x14, 0x62, 0x74, 0x7f, 0x96, 0x9f, 0x41, 1156 0x32, 0x74, 0xdd, 0x76, 0x2d, 0x7b, 0xeb, 0x7b, 1157 0xea, 0xd0, 0x4f, 0x0c, 0xcf, 0x9a, 0x9c, 0xc5, 1158 0x7a, 0xe4, 0xbc, 0xf8, 0xa6, 0xe1, 0x09, 0x8e, 1159 0x7c, 0x53, 0x3a, 0xe3, 0x30, 0x8f, 0x76, 0xee, 1160 0x58, 0xbb, 0xfd, 0x0b, 0x06, 0xb8, 0xdf, 0xb7, 1161 0x31, 0x14, 0x03, 0x00, 0x00, 0x01, 0x01, 0x16, 1162 0x03, 0x00, 0x00, 0x3c, 0x13, 0x91, 0xc6, 0x4a, 1163 0x0c, 0x59, 0x25, 0xce, 0x54, 0xc0, 0x1d, 0xb9, 1164 0x2a, 0xff, 0x4d, 0xca, 0x26, 0x0c, 0x8c, 0x04, 1165 0x98, 0x7c, 0x7c, 0x38, 0xa3, 0xf5, 0xf9, 0x36, 1166 0x1c, 0x04, 0x32, 0x47, 0x2d, 0x48, 0x0e, 0x96, 1167 0xe8, 0x2b, 0x5e, 0x5a, 0xc6, 0x0a, 0x48, 0x41, 1168 0x34, 0x5e, 0x62, 0xd5, 0x68, 0x4e, 0x44, 0x1d, 1169 0xb2, 0xa1, 0x11, 0xad, 0x6e, 0x14, 0x85, 0x61, 1170 }, 1171 { 1172 0x14, 0x03, 0x00, 0x00, 0x01, 0x01, 0x16, 0x03, 1173 0x00, 0x00, 0x3c, 0x88, 0xae, 0xa9, 0xd4, 0xa8, 1174 0x10, 0x8d, 0x65, 0xa6, 0x3e, 0x1e, 0xed, 0xd2, 1175 0xfc, 0xc4, 0x7c, 0xa8, 0x94, 0x4f, 0x11, 0xaf, 1176 0xa6, 0x87, 0x09, 0x37, 0x54, 0xf7, 0x69, 0xd1, 1177 0xb5, 0x25, 0x6b, 0xb5, 0xed, 0xcb, 0x25, 0x39, 1178 0x73, 0xeb, 0x53, 0x6c, 0xc7, 0xb4, 0x29, 0x8f, 1179 0xd6, 0x49, 0xd1, 0x95, 0x59, 0x80, 0x9a, 0x67, 1180 0x5c, 0xb2, 0xe0, 0xbd, 0x1e, 0xff, 0xaa, 0x17, 1181 0x03, 0x00, 0x00, 0x21, 0x65, 0x7b, 0x99, 0x09, 1182 0x02, 0xc3, 0x9d, 0x54, 0xd6, 0xe7, 0x32, 0x62, 1183 0xab, 0xc1, 0x09, 0x91, 0x30, 0x0a, 0xc9, 0xfa, 1184 0x70, 0xec, 0x06, 0x7b, 0xa3, 0xe1, 0x5f, 0xb4, 1185 0x63, 0xe6, 0x5c, 0xba, 0x1f, 0x15, 0x03, 0x00, 1186 0x00, 0x16, 0x40, 0x70, 0xbe, 0xe6, 0xa6, 0xee, 1187 0x8f, 0xd0, 0x87, 0xa0, 0x43, 0xa1, 0x92, 0xd7, 1188 0xd0, 0x1a, 0x0c, 0x20, 0x7c, 0xbf, 0xa2, 0xb5, 1189 }, 1190 } 1191 1192 var selectCertificateBySNIScript = [][]byte{ 1193 { 1194 0x16, 0x03, 0x01, 0x00, 0x6a, 0x01, 0x00, 0x00, 1195 0x66, 0x03, 0x01, 0x50, 0x77, 0x3d, 0xfe, 0xfb, 1196 0x8d, 0xc2, 0x68, 0xeb, 0xf9, 0xfa, 0x54, 0x97, 1197 0x86, 0x45, 0xa2, 0xa3, 0xed, 0xb1, 0x91, 0xb8, 1198 0x28, 0xc0, 0x47, 0xaf, 0xfb, 0xcd, 0xdc, 0x0e, 1199 0xb3, 0xea, 0xa5, 0x00, 0x00, 0x28, 0x00, 0x39, 1200 0x00, 0x38, 0x00, 0x35, 0x00, 0x16, 0x00, 0x13, 1201 0x00, 0x0a, 0x00, 0x33, 0x00, 0x32, 0x00, 0x2f, 1202 0x00, 0x05, 0x00, 0x04, 0x00, 0x15, 0x00, 0x12, 1203 0x00, 0x09, 0x00, 0x14, 0x00, 0x11, 0x00, 0x08, 1204 0x00, 0x06, 0x00, 0x03, 0x00, 0xff, 0x02, 0x01, 1205 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x10, 0x00, 1206 0x0e, 0x00, 0x00, 0x0b, 0x73, 0x6e, 0x69, 0x74, 1207 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 1208 }, 1209 { 1210 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, 1211 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 1212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1215 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, 1216 0x03, 0x01, 0x02, 0x00, 0x0b, 0x00, 0x01, 0xfc, 1217 0x00, 0x01, 0xf9, 0x00, 0x01, 0xf6, 0x30, 0x82, 1218 0x01, 0xf2, 0x30, 0x82, 0x01, 0x5d, 0xa0, 0x03, 1219 0x02, 0x01, 0x02, 0x02, 0x01, 0x00, 0x30, 0x0b, 1220 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 1221 0x01, 0x01, 0x05, 0x30, 0x28, 0x31, 0x10, 0x30, 1222 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x07, 1223 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x31, 1224 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 0x04, 0x03, 1225 0x13, 0x0b, 0x73, 0x6e, 0x69, 0x74, 0x65, 0x73, 1226 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 0x1e, 0x17, 1227 0x0d, 0x31, 0x32, 0x30, 0x34, 0x31, 0x31, 0x31, 1228 0x37, 0x34, 0x30, 0x33, 0x35, 0x5a, 0x17, 0x0d, 1229 0x31, 0x33, 0x30, 0x34, 0x31, 0x31, 0x31, 0x37, 1230 0x34, 0x35, 0x33, 0x35, 0x5a, 0x30, 0x28, 0x31, 1231 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 1232 0x13, 0x07, 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 1233 0x6f, 0x31, 0x14, 0x30, 0x12, 0x06, 0x03, 0x55, 1234 0x04, 0x03, 0x13, 0x0b, 0x73, 0x6e, 0x69, 0x74, 1235 0x65, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x30, 1236 0x81, 0x9d, 0x30, 0x0b, 0x06, 0x09, 0x2a, 0x86, 1237 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x03, 1238 0x81, 0x8d, 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 1239 0x81, 0x00, 0xbb, 0x79, 0xd6, 0xf5, 0x17, 0xb5, 1240 0xe5, 0xbf, 0x46, 0x10, 0xd0, 0xdc, 0x69, 0xbe, 1241 0xe6, 0x2b, 0x07, 0x43, 0x5a, 0xd0, 0x03, 0x2d, 1242 0x8a, 0x7a, 0x43, 0x85, 0xb7, 0x14, 0x52, 0xe7, 1243 0xa5, 0x65, 0x4c, 0x2c, 0x78, 0xb8, 0x23, 0x8c, 1244 0xb5, 0xb4, 0x82, 0xe5, 0xde, 0x1f, 0x95, 0x3b, 1245 0x7e, 0x62, 0xa5, 0x2c, 0xa5, 0x33, 0xd6, 0xfe, 1246 0x12, 0x5c, 0x7a, 0x56, 0xfc, 0xf5, 0x06, 0xbf, 1247 0xfa, 0x58, 0x7b, 0x26, 0x3f, 0xb5, 0xcd, 0x04, 1248 0xd3, 0xd0, 0xc9, 0x21, 0x96, 0x4a, 0xc7, 0xf4, 1249 0x54, 0x9f, 0x5a, 0xbf, 0xef, 0x42, 0x71, 0x00, 1250 0xfe, 0x18, 0x99, 0x07, 0x7f, 0x7e, 0x88, 0x7d, 1251 0x7d, 0xf1, 0x04, 0x39, 0xc4, 0xa2, 0x2e, 0xdb, 1252 0x51, 0xc9, 0x7c, 0xe3, 0xc0, 0x4c, 0x3b, 0x32, 1253 0x66, 0x01, 0xcf, 0xaf, 0xb1, 0x1d, 0xb8, 0x71, 1254 0x9a, 0x1d, 0xdb, 0xdb, 0x89, 0x6b, 0xae, 0xda, 1255 0x2d, 0x79, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 1256 0x32, 0x30, 0x30, 0x30, 0x0e, 0x06, 0x03, 0x55, 1257 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 1258 0x02, 0x00, 0xa0, 0x30, 0x0d, 0x06, 0x03, 0x55, 1259 0x1d, 0x0e, 0x04, 0x06, 0x04, 0x04, 0x01, 0x02, 1260 0x03, 0x04, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 1261 0x23, 0x04, 0x08, 0x30, 0x06, 0x80, 0x04, 0x01, 1262 0x02, 0x03, 0x04, 0x30, 0x0b, 0x06, 0x09, 0x2a, 1263 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 1264 0x03, 0x81, 0x81, 0x00, 0x89, 0xc6, 0x45, 0x5f, 1265 0x1c, 0x1f, 0x5e, 0xf8, 0xeb, 0x1a, 0xb1, 0x74, 1266 0xee, 0x24, 0x39, 0x05, 0x9f, 0x5c, 0x42, 0x59, 1267 0xbb, 0x1a, 0x8d, 0x86, 0xcd, 0xb1, 0xd0, 0x56, 1268 0xf5, 0x6a, 0x71, 0x7d, 0xa4, 0x0e, 0x95, 0xab, 1269 0x90, 0xf5, 0x9e, 0x8d, 0xea, 0xf6, 0x27, 0xc1, 1270 0x57, 0x99, 0x50, 0x94, 0xdb, 0x08, 0x02, 0x26, 1271 0x6e, 0xb3, 0x4f, 0xc6, 0x84, 0x2d, 0xea, 0x8a, 1272 0x4b, 0x68, 0xd9, 0xc1, 0x38, 0x91, 0x03, 0xab, 1273 0x84, 0xfb, 0x9e, 0x1f, 0x85, 0xd9, 0xb5, 0xd2, 1274 0x3f, 0xf2, 0x31, 0x2c, 0x86, 0x70, 0xfb, 0xb5, 1275 0x40, 0x14, 0x82, 0x45, 0xa4, 0xeb, 0xaf, 0xe2, 1276 0x64, 0xd9, 0x0c, 0x8a, 0x4c, 0xf4, 0xf8, 0x5b, 1277 0x0f, 0xac, 0x12, 0xac, 0x2f, 0xc4, 0xa3, 0x15, 1278 0x4b, 0xad, 0x52, 0x46, 0x28, 0x68, 0xaf, 0x96, 1279 0xc6, 0x2c, 0x65, 0x25, 0xd6, 0x52, 0xb6, 0xe3, 1280 0x18, 0x45, 0xbd, 0xcc, 0x16, 0x03, 0x01, 0x00, 1281 0x04, 0x0e, 0x00, 0x00, 0x00, 1282 }, 1283 { 1284 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, 1285 0x82, 0x00, 0x80, 0x69, 0xc3, 0xd4, 0x0e, 0xcc, 1286 0xdc, 0xbc, 0x5e, 0xc2, 0x64, 0xa6, 0xde, 0x3c, 1287 0x0c, 0x7e, 0x0c, 0x6b, 0x80, 0x0f, 0xd4, 0x8f, 1288 0x02, 0x4b, 0xb2, 0xba, 0x8d, 0x01, 0xeb, 0x6b, 1289 0xa1, 0x2e, 0x79, 0x37, 0xba, 0xae, 0x24, 0xc2, 1290 0x26, 0x72, 0x51, 0xe1, 0x82, 0x8e, 0x51, 0x41, 1291 0x1c, 0x54, 0xa4, 0x26, 0xbe, 0x13, 0xcd, 0x1b, 1292 0xc6, 0xed, 0x3d, 0x1f, 0xfd, 0x72, 0x80, 0x90, 1293 0xdb, 0xbf, 0xd6, 0x39, 0x94, 0x5f, 0x48, 0xfb, 1294 0x25, 0x5a, 0xc9, 0x60, 0x9b, 0xd7, 0xc6, 0x20, 1295 0xa8, 0x66, 0x64, 0x13, 0xf3, 0x65, 0xc8, 0xb1, 1296 0xd5, 0x33, 0x21, 0x0e, 0x73, 0x41, 0xc0, 0x18, 1297 0x1a, 0x37, 0xfe, 0xcf, 0x28, 0x2a, 0xcd, 0xe4, 1298 0x0b, 0xac, 0xdd, 0x25, 0x5e, 0xcb, 0x17, 0x51, 1299 0x69, 0xd5, 0x8c, 0xf4, 0xb6, 0x21, 0x98, 0xef, 1300 0x20, 0xdb, 0x14, 0x67, 0xf3, 0x7c, 0x95, 0x6a, 1301 0x48, 0x2a, 0x6a, 0x14, 0x03, 0x01, 0x00, 0x01, 1302 0x01, 0x16, 0x03, 0x01, 0x00, 0x24, 0x36, 0x1b, 1303 0x09, 0xe5, 0xb9, 0xb9, 0x4d, 0x7d, 0xae, 0x87, 1304 0xb6, 0x0f, 0xaf, 0xec, 0x22, 0xba, 0x0d, 0xa5, 1305 0x96, 0x5e, 0x64, 0x65, 0xe7, 0xfb, 0xe3, 0xf3, 1306 0x6b, 0x72, 0xa8, 0xdb, 0xed, 0xd8, 0x69, 0x9c, 1307 0x08, 0xd8, 1308 }, 1309 { 1310 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 1311 0x01, 0x00, 0x24, 0x60, 0xf7, 0x09, 0x5f, 0xd1, 1312 0xcb, 0xc9, 0xe1, 0x22, 0xb5, 0x2a, 0xcc, 0xde, 1313 0x7c, 0xa7, 0xb8, 0x85, 0x00, 0xbc, 0xfd, 0x85, 1314 0xe1, 0x91, 0x36, 0xbb, 0x07, 0x42, 0xad, 0x3d, 1315 0x29, 0x62, 0x69, 0xc1, 0x45, 0x92, 0x6f, 0x17, 1316 0x03, 0x01, 0x00, 0x21, 0x0d, 0xf9, 0xd5, 0x87, 1317 0xb9, 0x57, 0x3c, 0x50, 0x19, 0xe4, 0x3a, 0x50, 1318 0x45, 0xcc, 0x86, 0x89, 0xd4, 0x32, 0x79, 0x45, 1319 0x7c, 0x9f, 0x96, 0xd4, 0x54, 0x56, 0x0c, 0x63, 1320 0x72, 0x81, 0xc3, 0xd3, 0xe3, 0x15, 0x03, 0x01, 1321 0x00, 0x16, 0x84, 0xec, 0x2e, 0xf6, 0xaf, 0x4f, 1322 0xee, 0x48, 0x0f, 0xbe, 0xcd, 0x82, 0x5c, 0x56, 1323 0x16, 0xe4, 0xfb, 0x89, 0xc5, 0x57, 0x3e, 0x91, 1324 }, 1325 } 1326 1327 var issueSessionTicketTest = [][]byte{ 1328 { 1329 0x16, 0x03, 0x01, 0x00, 0x5a, 0x01, 0x00, 0x00, 1330 0x56, 0x03, 0x01, 0x50, 0x77, 0x3e, 0x49, 0x7a, 1331 0xb7, 0x86, 0x5c, 0x27, 0xd2, 0x97, 0x61, 0xe3, 1332 0x49, 0x41, 0x48, 0xe7, 0x0e, 0xaa, 0x7e, 0x4d, 1333 0xb8, 0xdc, 0x01, 0x97, 0xfb, 0xab, 0x53, 0xb2, 1334 0x5e, 0x36, 0xf6, 0x00, 0x00, 0x28, 0x00, 0x39, 1335 0x00, 0x38, 0x00, 0x35, 0x00, 0x16, 0x00, 0x13, 1336 0x00, 0x0a, 0x00, 0x33, 0x00, 0x32, 0x00, 0x2f, 1337 0x00, 0x05, 0x00, 0x04, 0x00, 0x15, 0x00, 0x12, 1338 0x00, 0x09, 0x00, 0x14, 0x00, 0x11, 0x00, 0x08, 1339 0x00, 0x06, 0x00, 0x03, 0x00, 0xff, 0x02, 0x01, 1340 0x00, 0x00, 0x04, 0x00, 0x23, 0x00, 0x00, 1341 }, 1342 { 1343 0x16, 0x03, 0x01, 0x00, 0x30, 0x02, 0x00, 0x00, 1344 0x2c, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 1345 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1346 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1347 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1348 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 1349 0x04, 0x00, 0x23, 0x00, 0x00, 0x16, 0x03, 0x01, 1350 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, 0x00, 0x02, 1351 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, 0x02, 0xb0, 1352 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, 0x02, 0x01, 1353 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, 0xbb, 0xa4, 1354 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, 0x06, 0x09, 1355 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 1356 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, 0x0b, 0x30, 1357 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 1358 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 1359 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 0x6d, 1360 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 1361 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 1362 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 1363 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 1364 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 1365 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x30, 1366 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 0x39, 1367 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, 0x31, 0x30, 1368 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 0x39, 0x33, 1369 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, 0x30, 0x09, 1370 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41, 1371 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 1372 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 0x6d, 0x65, 1373 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 0x21, 1374 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 1375 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 1376 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 0x74, 1377 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 0x74, 1378 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, 0x06, 0x09, 1379 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 1380 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30, 1381 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xbb, 0x79, 1382 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, 0x46, 0x10, 1383 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, 0x07, 0x43, 1384 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, 0x43, 0x85, 1385 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, 0x4c, 0x2c, 1386 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, 0x82, 0xe5, 1387 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, 0xa5, 0x2c, 1388 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, 0x7a, 0x56, 1389 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, 0x7b, 0x26, 1390 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, 0xc9, 0x21, 1391 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, 0x5a, 0xbf, 1392 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, 0x99, 0x07, 1393 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, 0x04, 0x39, 1394 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, 0x7c, 0xe3, 1395 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, 0xcf, 0xaf, 1396 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, 0xdb, 0xdb, 1397 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, 0x02, 0x03, 1398 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, 0x30, 0x81, 1399 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 1400 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, 0xe2, 0x85, 1401 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 0xce, 0x23, 1402 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 0x88, 0x39, 1403 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 1404 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, 0xad, 0xe2, 1405 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 0xce, 1406 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 0x88, 1407 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, 0x45, 0x31, 1408 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 1409 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 1410 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 1411 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 1412 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 1413 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 1414 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 1415 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 1416 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, 0x00, 0x85, 1417 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 1418 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 1419 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x0d, 0x06, 1420 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 1421 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 1422 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, 0xb1, 0x59, 1423 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, 0x14, 0xd7, 1424 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, 0x5a, 0x95, 1425 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, 0x12, 0x66, 1426 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, 0x60, 0xd3, 1427 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, 0x25, 0x13, 1428 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, 0x1d, 0xba, 1429 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, 0xd7, 0x31, 1430 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, 0xea, 0x50, 1431 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, 0x5a, 0x5f, 1432 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, 0x90, 0x96, 1433 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, 0x98, 0x1f, 1434 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, 0xa3, 0x1b, 1435 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, 0xe9, 0x70, 1436 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, 0x26, 0x6e, 1437 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, 0xbd, 0xd9, 1438 0x16, 0x03, 0x01, 0x00, 0x04, 0x0e, 0x00, 0x00, 1439 0x00, 1440 }, 1441 { 1442 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, 1443 0x82, 0x00, 0x80, 0x68, 0x10, 0xdc, 0x80, 0xbc, 1444 0xb3, 0x5a, 0x10, 0x75, 0x89, 0xcc, 0xe5, 0x9f, 1445 0xbf, 0xe2, 0xce, 0xa4, 0x9f, 0x7f, 0x60, 0xc4, 1446 0xfe, 0x5c, 0xb5, 0x02, 0x2d, 0xa5, 0xa9, 0x1e, 1447 0x2c, 0x10, 0x79, 0x15, 0x0f, 0xed, 0x96, 0xb3, 1448 0xa8, 0x5e, 0x21, 0xbc, 0x5b, 0xdc, 0x58, 0x04, 1449 0x7d, 0x37, 0xdb, 0xa0, 0x31, 0xe8, 0x4f, 0x04, 1450 0xbc, 0x46, 0x7c, 0xdb, 0x2e, 0x93, 0x07, 0xaf, 1451 0xa6, 0x36, 0xd3, 0x39, 0x8d, 0x1d, 0x95, 0xa8, 1452 0x50, 0x4b, 0xc4, 0x2b, 0xde, 0xd7, 0x04, 0x6d, 1453 0x77, 0x6c, 0x4d, 0x70, 0x51, 0x88, 0x16, 0x31, 1454 0x40, 0xb5, 0xba, 0x90, 0x47, 0x64, 0x0c, 0x87, 1455 0xa5, 0x19, 0xf9, 0x89, 0x24, 0x3c, 0x5e, 0x4b, 1456 0xaa, 0xe0, 0x60, 0x47, 0x0f, 0x2e, 0xcc, 0xc2, 1457 0xd5, 0x21, 0xed, 0x72, 0xd0, 0xa9, 0xdd, 0x2a, 1458 0x2b, 0xef, 0x08, 0x3a, 0x65, 0xea, 0x8b, 0x52, 1459 0x77, 0x2d, 0xcc, 0x14, 0x03, 0x01, 0x00, 0x01, 1460 0x01, 0x16, 0x03, 0x01, 0x00, 0x24, 0xe2, 0x95, 1461 0x62, 0x3c, 0x18, 0xe5, 0xc7, 0x2c, 0xda, 0x16, 1462 0x9b, 0x28, 0x0d, 0xf7, 0x88, 0x7b, 0x5d, 0x33, 1463 0x55, 0x3b, 0x01, 0x73, 0xf2, 0xc6, 0x4e, 0x96, 1464 0x01, 0x01, 0x83, 0x65, 0xd4, 0xef, 0x12, 0x13, 1465 0x1d, 0x42, 1466 }, 1467 { 1468 0x16, 0x03, 0x01, 0x00, 0x72, 0x04, 0x00, 0x00, 1469 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 1470 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1471 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 1472 0xe8, 0x4b, 0xd1, 0xef, 0xba, 0xfb, 0x41, 0x92, 1473 0x6d, 0x37, 0x5f, 0xf8, 0x7d, 0x90, 0x0f, 0x01, 1474 0xf8, 0x8c, 0xee, 0xbc, 0xd9, 0x0c, 0x97, 0x7e, 1475 0x23, 0x46, 0xe2, 0x6b, 0x52, 0xc6, 0xc6, 0x97, 1476 0x1d, 0xab, 0xde, 0xa0, 0x86, 0x94, 0xc8, 0x2e, 1477 0x8b, 0x2e, 0x42, 0x5f, 0xc2, 0x70, 0x35, 0xc9, 1478 0xee, 0x37, 0xeb, 0x70, 0xaa, 0x59, 0x23, 0x6c, 1479 0xc8, 0xc1, 0x84, 0x89, 0x39, 0x87, 0x73, 0x0a, 1480 0x7e, 0xba, 0xca, 0xed, 0x63, 0xba, 0x4e, 0x4f, 1481 0xf3, 0x31, 0x4b, 0xf0, 0xee, 0x91, 0xa5, 0xb4, 1482 0x62, 0x01, 0x9e, 0xbd, 0xbc, 0xb3, 0x35, 0x14, 1483 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 0x01, 1484 0x00, 0x24, 0x3f, 0x66, 0xe4, 0x98, 0xc1, 0x3f, 1485 0xc6, 0x2c, 0x81, 0xfb, 0xa9, 0x9f, 0x27, 0xe9, 1486 0x63, 0x20, 0x1e, 0x0e, 0x4f, 0xfc, 0x5d, 0x12, 1487 0xee, 0x77, 0x73, 0xc6, 0x96, 0x51, 0xf2, 0x26, 1488 0x35, 0x3f, 0xce, 0x6a, 0xa9, 0xfd, 0x17, 0x03, 1489 0x01, 0x00, 0x21, 0x8d, 0xd5, 0x67, 0x60, 0x5d, 1490 0xa7, 0x93, 0xcc, 0x39, 0x78, 0x59, 0xab, 0xdb, 1491 0x10, 0x96, 0xf2, 0xad, 0xa2, 0x85, 0xe2, 0x93, 1492 0x43, 0x43, 0xcf, 0x82, 0xbd, 0x1f, 0xdc, 0x7a, 1493 0x72, 0xd6, 0x83, 0x3b, 0x15, 0x03, 0x01, 0x00, 1494 0x16, 0x89, 0x55, 0xf6, 0x42, 0x71, 0xa9, 0xe9, 1495 0x05, 0x68, 0xe8, 0xce, 0x0d, 0x21, 0xe9, 0xec, 1496 0xf2, 0x27, 0x67, 0xa7, 0x94, 0xf8, 0x34, 1497 }, 1498 } 1499 var serverResumeTest = [][]byte{ 1500 { 1501 0x16, 0x03, 0x01, 0x00, 0xc2, 0x01, 0x00, 0x00, 1502 0xbe, 0x03, 0x01, 0x50, 0x77, 0x3e, 0x4f, 0x1f, 1503 0x6f, 0xa5, 0x81, 0xeb, 0xb8, 0x80, 0x55, 0xa4, 1504 0x76, 0xc2, 0x7f, 0x27, 0xf2, 0xe7, 0xc9, 0x7a, 1505 0x01, 0x3c, 0xd8, 0xc1, 0xde, 0x99, 0x1f, 0x7c, 1506 0xab, 0x35, 0x98, 0x00, 0x00, 0x28, 0x00, 0x39, 1507 0x00, 0x38, 0x00, 0x35, 0x00, 0x16, 0x00, 0x13, 1508 0x00, 0x0a, 0x00, 0x33, 0x00, 0x32, 0x00, 0x2f, 1509 0x00, 0x05, 0x00, 0x04, 0x00, 0x15, 0x00, 0x12, 1510 0x00, 0x09, 0x00, 0x14, 0x00, 0x11, 0x00, 0x08, 1511 0x00, 0x06, 0x00, 0x03, 0x00, 0xff, 0x02, 0x01, 1512 0x00, 0x00, 0x6c, 0x00, 0x23, 0x00, 0x68, 0x00, 1513 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1514 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x65, 1515 0xe8, 0x4b, 0xd1, 0xef, 0xba, 0xfb, 0x41, 0x92, 1516 0x6d, 0x37, 0x5f, 0xf8, 0x7d, 0x90, 0x0f, 0x01, 1517 0xf8, 0x8c, 0xee, 0xbc, 0xd9, 0x0c, 0x97, 0x7e, 1518 0x23, 0x46, 0xe2, 0x6b, 0x52, 0xc6, 0xc6, 0x97, 1519 0x1d, 0xab, 0xde, 0xa0, 0x86, 0x94, 0xc8, 0x2e, 1520 0x8b, 0x2e, 0x42, 0x5f, 0xc2, 0x70, 0x35, 0xc9, 1521 0xee, 0x37, 0xeb, 0x70, 0xaa, 0x59, 0x23, 0x6c, 1522 0xc8, 0xc1, 0x84, 0x89, 0x39, 0x87, 0x73, 0x0a, 1523 0x7e, 0xba, 0xca, 0xed, 0x63, 0xba, 0x4e, 0x4f, 1524 0xf3, 0x31, 0x4b, 0xf0, 0xee, 0x91, 0xa5, 0xb4, 1525 0x62, 0x01, 0x9e, 0xbd, 0xbc, 0xb3, 0x35, 1526 }, 1527 { 1528 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, 1529 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 1530 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1531 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1532 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1533 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x14, 1534 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 0x01, 1535 0x00, 0x24, 0xc5, 0x35, 0x74, 0x19, 0x05, 0xc5, 1536 0x85, 0x68, 0x48, 0xe8, 0xb5, 0xe9, 0xaf, 0x78, 1537 0xbd, 0x35, 0x6f, 0xe9, 0x79, 0x34, 0x1b, 0xf0, 1538 0x35, 0xd4, 0x4e, 0x55, 0x2e, 0x3c, 0xd5, 0xaf, 1539 0xfc, 0xba, 0xf5, 0x1e, 0x83, 0x32, 1540 }, 1541 { 1542 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 1543 0x01, 0x00, 0x24, 0x27, 0x28, 0x88, 0xe1, 0x7e, 1544 0x0d, 0x9c, 0x12, 0x50, 0xf6, 0x7a, 0xa7, 0x32, 1545 0x21, 0x68, 0xba, 0xd8, 0x0a, 0xdc, 0x39, 0xef, 1546 0x68, 0x95, 0x82, 0xae, 0xbd, 0x12, 0x79, 0xa1, 1547 0x99, 0xfd, 0xd0, 0x10, 0x8e, 0x4b, 0xd8, 1548 }, 1549 { 1550 0x17, 0x03, 0x01, 0x00, 0x21, 0xc5, 0x7e, 0x0a, 1551 0x52, 0x6a, 0xb9, 0xaa, 0x1d, 0xae, 0x9e, 0x24, 1552 0x9c, 0x34, 0x1e, 0xdb, 0x50, 0x95, 0xee, 0x76, 1553 0xd7, 0x28, 0x88, 0x08, 0xe3, 0x2e, 0x58, 0xf7, 1554 0xdb, 0x34, 0x75, 0xa5, 0x7f, 0x9d, 0x15, 0x03, 1555 0x01, 0x00, 0x16, 0x2c, 0xc1, 0x29, 0x5f, 0x12, 1556 0x1d, 0x19, 0xab, 0xb3, 0xf4, 0x35, 0x1c, 0x62, 1557 0x6a, 0x80, 0x29, 0x0d, 0x0e, 0xef, 0x7d, 0x6e, 1558 0x50, 1559 }, 1560 } 1561 1562 var clientauthTests = []clientauthTest{ 1563 // Server asks for cert with empty CA list, client doesn't give it. 1564 // go test -run "TestRunServer" -serve -clientauth 1 1565 {"RequestClientCert, none given", RequestClientCert, nil, [][]byte{ 1566 { 1567 0x16, 0x03, 0x01, 0x00, 0x54, 0x01, 0x00, 0x00, 1568 0x50, 0x03, 0x01, 0x50, 0x77, 0x43, 0x9e, 0x31, 1569 0xe6, 0x36, 0x5e, 0x5e, 0x24, 0xe4, 0x0d, 0x26, 1570 0x34, 0xa7, 0x1c, 0x2e, 0x59, 0x6d, 0xa5, 0x3e, 1571 0x72, 0xf3, 0xa3, 0x1c, 0xbc, 0xb3, 0x27, 0xaf, 1572 0x92, 0x5b, 0x7d, 0x00, 0x00, 0x28, 0x00, 0x39, 1573 0x00, 0x38, 0x00, 0x35, 0x00, 0x16, 0x00, 0x13, 1574 0x00, 0x0a, 0x00, 0x33, 0x00, 0x32, 0x00, 0x2f, 1575 0x00, 0x05, 0x00, 0x04, 0x00, 0x15, 0x00, 0x12, 1576 0x00, 0x09, 0x00, 0x14, 0x00, 0x11, 0x00, 0x08, 1577 0x00, 0x06, 0x00, 0x03, 0x00, 0xff, 0x02, 0x01, 1578 0x00, 1579 }, 1580 { 1581 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, 1582 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 1583 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1584 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1585 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1586 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, 1587 0x03, 0x01, 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, 1588 0x00, 0x02, 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, 1589 0x02, 0xb0, 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, 1590 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, 1591 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, 1592 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 1593 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, 1594 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 1595 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 1596 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 1597 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 1598 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 1599 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 1600 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 1601 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 1602 0x20, 0x4c, 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, 1603 0x31, 0x30, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 1604 0x30, 0x39, 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, 1605 0x31, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 1606 0x39, 0x33, 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, 1607 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 1608 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 1609 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 1610 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 1611 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 1612 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 1613 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 1614 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 1615 0x4c, 0x74, 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, 1616 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 1617 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 1618 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 1619 0xbb, 0x79, 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, 1620 0x46, 0x10, 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, 1621 0x07, 0x43, 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, 1622 0x43, 0x85, 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, 1623 0x4c, 0x2c, 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, 1624 0x82, 0xe5, 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, 1625 0xa5, 0x2c, 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, 1626 0x7a, 0x56, 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, 1627 0x7b, 0x26, 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, 1628 0xc9, 0x21, 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, 1629 0x5a, 0xbf, 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, 1630 0x99, 0x07, 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, 1631 0x04, 0x39, 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, 1632 0x7c, 0xe3, 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, 1633 0xcf, 0xaf, 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, 1634 0xdb, 0xdb, 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, 1635 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, 1636 0x30, 0x81, 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, 1637 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, 1638 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 1639 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 1640 0x88, 0x39, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, 1641 0x23, 0x04, 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, 1642 0xad, 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 1643 0x69, 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 1644 0x18, 0x88, 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, 1645 0x45, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 1646 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 1647 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 1648 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 1649 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 1650 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 1651 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 1652 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 1653 0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, 1654 0x00, 0x85, 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 1655 0xca, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 1656 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 1657 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 1658 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 1659 0x81, 0x00, 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, 1660 0xb1, 0x59, 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, 1661 0x14, 0xd7, 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, 1662 0x5a, 0x95, 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, 1663 0x12, 0x66, 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, 1664 0x60, 0xd3, 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, 1665 0x25, 0x13, 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, 1666 0x1d, 0xba, 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, 1667 0xd7, 0x31, 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, 1668 0xea, 0x50, 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, 1669 0x5a, 0x5f, 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, 1670 0x90, 0x96, 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, 1671 0x98, 0x1f, 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, 1672 0xa3, 0x1b, 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, 1673 0xe9, 0x70, 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, 1674 0x26, 0x6e, 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, 1675 0xbd, 0xd9, 0x16, 0x03, 0x01, 0x00, 0x08, 0x0d, 1676 0x00, 0x00, 0x04, 0x01, 0x01, 0x00, 0x00, 0x16, 1677 0x03, 0x01, 0x00, 0x04, 0x0e, 0x00, 0x00, 0x00, 1678 }, 1679 { 1680 0x16, 0x03, 0x01, 0x00, 0x07, 0x0b, 0x00, 0x00, 1681 0x03, 0x00, 0x00, 0x00, 0x16, 0x03, 0x01, 0x00, 1682 0x86, 0x10, 0x00, 0x00, 0x82, 0x00, 0x80, 0x04, 1683 0x58, 0x63, 0x26, 0x32, 0x1b, 0x34, 0xbe, 0x10, 1684 0xe4, 0xe4, 0x3e, 0xcd, 0x36, 0x7f, 0xa8, 0xa8, 1685 0xe0, 0x19, 0xe8, 0x94, 0x13, 0xd9, 0x35, 0xc4, 1686 0x71, 0xb4, 0x91, 0xd4, 0xbc, 0x74, 0x57, 0x9f, 1687 0x93, 0xb7, 0x5d, 0x3b, 0x9c, 0xff, 0x5d, 0x79, 1688 0xdb, 0x86, 0xfc, 0xdc, 0x74, 0x1e, 0x0c, 0xc6, 1689 0xe8, 0x93, 0xcf, 0xaf, 0xba, 0x1d, 0xfd, 0x8a, 1690 0xeb, 0xef, 0xbf, 0xfa, 0xa6, 0xe7, 0x53, 0x98, 1691 0x60, 0x4e, 0x0e, 0x60, 0x7d, 0xea, 0x40, 0x8d, 1692 0x1d, 0x8f, 0xa3, 0xc6, 0x83, 0xbc, 0xef, 0xb7, 1693 0x9a, 0x4a, 0xe7, 0x99, 0xee, 0x0b, 0xc7, 0x46, 1694 0x75, 0x45, 0x66, 0xe8, 0x5f, 0x4b, 0x08, 0xa4, 1695 0xc1, 0x36, 0xd0, 0x36, 0x2c, 0xf2, 0x9a, 0x44, 1696 0x1e, 0x5f, 0x22, 0xf4, 0xbe, 0x66, 0x66, 0x17, 1697 0xd8, 0xb6, 0x0a, 0x89, 0xed, 0x22, 0x80, 0xdb, 1698 0xad, 0x05, 0xd1, 0xb5, 0x93, 0xa1, 0x1c, 0x14, 1699 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 0x01, 1700 0x00, 0x24, 0x62, 0x6f, 0x3d, 0x30, 0x56, 0x97, 1701 0xde, 0x03, 0x67, 0xa9, 0x63, 0x21, 0xb6, 0xe6, 1702 0x05, 0x69, 0x94, 0xfb, 0x50, 0xc1, 0x99, 0xdd, 1703 0xf6, 0xe8, 0x60, 0xbd, 0xe6, 0xba, 0xe3, 0x50, 1704 0x0a, 0xcd, 0xde, 0x14, 0x16, 0xc4, 1705 }, 1706 { 1707 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 1708 0x01, 0x00, 0x24, 0xf0, 0x21, 0xf6, 0x84, 0x6a, 1709 0xe3, 0x6b, 0x8a, 0xc5, 0x46, 0x50, 0xca, 0x40, 1710 0xea, 0x4e, 0x82, 0xc1, 0x70, 0x25, 0xd8, 0x7d, 1711 0x60, 0xf5, 0x51, 0x7f, 0x64, 0x03, 0x9f, 0x53, 1712 0xec, 0xfb, 0x57, 0xa9, 0xfc, 0x26, 0x15, 0x17, 1713 0x03, 0x01, 0x00, 0x21, 0xa6, 0xc6, 0x94, 0x2b, 1714 0xa9, 0xcb, 0x93, 0xff, 0xb6, 0xa6, 0xe7, 0xc5, 1715 0x37, 0x86, 0x15, 0x37, 0x57, 0xce, 0xef, 0x54, 1716 0x96, 0x5d, 0x50, 0xa0, 0x50, 0x69, 0x5e, 0x82, 1717 0x61, 0x8d, 0x42, 0xfb, 0x78, 0x15, 0x03, 0x01, 1718 0x00, 0x16, 0x45, 0xd1, 0x86, 0x68, 0x59, 0xc1, 1719 0xaf, 0xac, 0x5c, 0x46, 0x8a, 0x68, 0x69, 0x0c, 1720 0xd7, 0x67, 0xbf, 0xf0, 0x3e, 0xee, 0x45, 0x55, 1721 }, 1722 }}, 1723 // Server asks for cert with empty CA list, client gives one 1724 // go test -run "TestRunServer" -serve -clientauth 1 1725 {"RequestClientCert, client gives it", RequestClientCert, []*x509.Certificate{clientCertificate}, [][]byte{ 1726 { 1727 0x16, 0x03, 0x01, 0x00, 0x54, 0x01, 0x00, 0x00, 1728 0x50, 0x03, 0x01, 0x50, 0x77, 0x43, 0x47, 0xfd, 1729 0x1d, 0xb0, 0x60, 0x4c, 0x25, 0x86, 0x45, 0x4a, 1730 0xe5, 0x3f, 0x80, 0x56, 0x18, 0x91, 0x5c, 0xe2, 1731 0x62, 0xc5, 0x77, 0xc2, 0x92, 0xdd, 0xdc, 0x39, 1732 0x23, 0x1d, 0xc5, 0x00, 0x00, 0x28, 0x00, 0x39, 1733 0x00, 0x38, 0x00, 0x35, 0x00, 0x16, 0x00, 0x13, 1734 0x00, 0x0a, 0x00, 0x33, 0x00, 0x32, 0x00, 0x2f, 1735 0x00, 0x05, 0x00, 0x04, 0x00, 0x15, 0x00, 0x12, 1736 0x00, 0x09, 0x00, 0x14, 0x00, 0x11, 0x00, 0x08, 1737 0x00, 0x06, 0x00, 0x03, 0x00, 0xff, 0x02, 0x01, 1738 0x00, 1739 }, 1740 { 1741 0x16, 0x03, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x00, 1742 0x26, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 1743 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1744 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1745 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1746 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x16, 1747 0x03, 0x01, 0x02, 0xbe, 0x0b, 0x00, 0x02, 0xba, 1748 0x00, 0x02, 0xb7, 0x00, 0x02, 0xb4, 0x30, 0x82, 1749 0x02, 0xb0, 0x30, 0x82, 0x02, 0x19, 0xa0, 0x03, 1750 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x85, 0xb0, 1751 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 0xca, 0x30, 0x0d, 1752 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 1753 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x45, 0x31, 1754 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 1755 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 1756 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 1757 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 1758 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 1759 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 1760 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 1761 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 1762 0x20, 0x4c, 0x74, 0x64, 0x30, 0x1e, 0x17, 0x0d, 1763 0x31, 0x30, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 1764 0x30, 0x39, 0x33, 0x38, 0x5a, 0x17, 0x0d, 0x31, 1765 0x31, 0x30, 0x34, 0x32, 0x34, 0x30, 0x39, 0x30, 1766 0x39, 0x33, 0x38, 0x5a, 0x30, 0x45, 0x31, 0x0b, 1767 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 1768 0x02, 0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 1769 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 1770 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 1771 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 1772 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 1773 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 1774 0x69, 0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 1775 0x4c, 0x74, 0x64, 0x30, 0x81, 0x9f, 0x30, 0x0d, 1776 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 1777 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 1778 0x00, 0x30, 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 1779 0xbb, 0x79, 0xd6, 0xf5, 0x17, 0xb5, 0xe5, 0xbf, 1780 0x46, 0x10, 0xd0, 0xdc, 0x69, 0xbe, 0xe6, 0x2b, 1781 0x07, 0x43, 0x5a, 0xd0, 0x03, 0x2d, 0x8a, 0x7a, 1782 0x43, 0x85, 0xb7, 0x14, 0x52, 0xe7, 0xa5, 0x65, 1783 0x4c, 0x2c, 0x78, 0xb8, 0x23, 0x8c, 0xb5, 0xb4, 1784 0x82, 0xe5, 0xde, 0x1f, 0x95, 0x3b, 0x7e, 0x62, 1785 0xa5, 0x2c, 0xa5, 0x33, 0xd6, 0xfe, 0x12, 0x5c, 1786 0x7a, 0x56, 0xfc, 0xf5, 0x06, 0xbf, 0xfa, 0x58, 1787 0x7b, 0x26, 0x3f, 0xb5, 0xcd, 0x04, 0xd3, 0xd0, 1788 0xc9, 0x21, 0x96, 0x4a, 0xc7, 0xf4, 0x54, 0x9f, 1789 0x5a, 0xbf, 0xef, 0x42, 0x71, 0x00, 0xfe, 0x18, 1790 0x99, 0x07, 0x7f, 0x7e, 0x88, 0x7d, 0x7d, 0xf1, 1791 0x04, 0x39, 0xc4, 0xa2, 0x2e, 0xdb, 0x51, 0xc9, 1792 0x7c, 0xe3, 0xc0, 0x4c, 0x3b, 0x32, 0x66, 0x01, 1793 0xcf, 0xaf, 0xb1, 0x1d, 0xb8, 0x71, 0x9a, 0x1d, 1794 0xdb, 0xdb, 0x89, 0x6b, 0xae, 0xda, 0x2d, 0x79, 1795 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x81, 0xa7, 1796 0x30, 0x81, 0xa4, 0x30, 0x1d, 0x06, 0x03, 0x55, 1797 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xb1, 0xad, 1798 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 0x69, 1799 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 0x18, 1800 0x88, 0x39, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d, 1801 0x23, 0x04, 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xb1, 1802 0xad, 0xe2, 0x85, 0x5a, 0xcf, 0xcb, 0x28, 0xdb, 1803 0x69, 0xce, 0x23, 0x69, 0xde, 0xd3, 0x26, 0x8e, 1804 0x18, 0x88, 0x39, 0xa1, 0x49, 0xa4, 0x47, 0x30, 1805 0x45, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 1806 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 1807 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 1808 0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 1809 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 1810 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 1811 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 1812 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 1813 0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, 1814 0x00, 0x85, 0xb0, 0xbb, 0xa4, 0x8a, 0x7f, 0xb8, 1815 0xca, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 1816 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 1817 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 1818 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x03, 0x81, 1819 0x81, 0x00, 0x08, 0x6c, 0x45, 0x24, 0xc7, 0x6b, 1820 0xb1, 0x59, 0xab, 0x0c, 0x52, 0xcc, 0xf2, 0xb0, 1821 0x14, 0xd7, 0x87, 0x9d, 0x7a, 0x64, 0x75, 0xb5, 1822 0x5a, 0x95, 0x66, 0xe4, 0xc5, 0x2b, 0x8e, 0xae, 1823 0x12, 0x66, 0x1f, 0xeb, 0x4f, 0x38, 0xb3, 0x6e, 1824 0x60, 0xd3, 0x92, 0xfd, 0xf7, 0x41, 0x08, 0xb5, 1825 0x25, 0x13, 0xb1, 0x18, 0x7a, 0x24, 0xfb, 0x30, 1826 0x1d, 0xba, 0xed, 0x98, 0xb9, 0x17, 0xec, 0xe7, 1827 0xd7, 0x31, 0x59, 0xdb, 0x95, 0xd3, 0x1d, 0x78, 1828 0xea, 0x50, 0x56, 0x5c, 0xd5, 0x82, 0x5a, 0x2d, 1829 0x5a, 0x5f, 0x33, 0xc4, 0xb6, 0xd8, 0xc9, 0x75, 1830 0x90, 0x96, 0x8c, 0x0f, 0x52, 0x98, 0xb5, 0xcd, 1831 0x98, 0x1f, 0x89, 0x20, 0x5f, 0xf2, 0xa0, 0x1c, 1832 0xa3, 0x1b, 0x96, 0x94, 0xdd, 0xa9, 0xfd, 0x57, 1833 0xe9, 0x70, 0xe8, 0x26, 0x6d, 0x71, 0x99, 0x9b, 1834 0x26, 0x6e, 0x38, 0x50, 0x29, 0x6c, 0x90, 0xa7, 1835 0xbd, 0xd9, 0x16, 0x03, 0x01, 0x00, 0x08, 0x0d, 1836 0x00, 0x00, 0x04, 0x01, 0x01, 0x00, 0x00, 0x16, 1837 0x03, 0x01, 0x00, 0x04, 0x0e, 0x00, 0x00, 0x00, 1838 }, 1839 { 1840 0x16, 0x03, 0x01, 0x01, 0xfb, 0x0b, 0x00, 0x01, 1841 0xf7, 0x00, 0x01, 0xf4, 0x00, 0x01, 0xf1, 0x30, 1842 0x82, 0x01, 0xed, 0x30, 0x82, 0x01, 0x58, 0xa0, 1843 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x00, 0x30, 1844 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 1845 0x0d, 0x01, 0x01, 0x05, 0x30, 0x26, 0x31, 0x10, 1846 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 1847 0x07, 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, 1848 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 1849 0x03, 0x13, 0x09, 0x31, 0x32, 0x37, 0x2e, 0x30, 1850 0x2e, 0x30, 0x2e, 0x31, 0x30, 0x1e, 0x17, 0x0d, 1851 0x31, 0x31, 0x31, 0x32, 0x30, 0x38, 0x30, 0x37, 1852 0x35, 0x35, 0x31, 0x32, 0x5a, 0x17, 0x0d, 0x31, 1853 0x32, 0x31, 0x32, 0x30, 0x37, 0x30, 0x38, 0x30, 1854 0x30, 0x31, 0x32, 0x5a, 0x30, 0x26, 0x31, 0x10, 1855 0x30, 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 1856 0x07, 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, 1857 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 1858 0x03, 0x13, 0x09, 0x31, 0x32, 0x37, 0x2e, 0x30, 1859 0x2e, 0x30, 0x2e, 0x31, 0x30, 0x81, 0x9c, 0x30, 1860 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 1861 0x0d, 0x01, 0x01, 0x01, 0x03, 0x81, 0x8c, 0x00, 1862 0x30, 0x81, 0x88, 0x02, 0x81, 0x80, 0x4e, 0xd0, 1863 0x7b, 0x31, 0xe3, 0x82, 0x64, 0xd9, 0x59, 0xc0, 1864 0xc2, 0x87, 0xa4, 0x5e, 0x1e, 0x8b, 0x73, 0x33, 1865 0xc7, 0x63, 0x53, 0xdf, 0x66, 0x92, 0x06, 0x84, 1866 0xf6, 0x64, 0xd5, 0x8f, 0xe4, 0x36, 0xa7, 0x1d, 1867 0x2b, 0xe8, 0xb3, 0x20, 0x36, 0x45, 0x23, 0xb5, 1868 0xe3, 0x95, 0xae, 0xed, 0xe0, 0xf5, 0x20, 0x9c, 1869 0x8d, 0x95, 0xdf, 0x7f, 0x5a, 0x12, 0xef, 0x87, 1870 0xe4, 0x5b, 0x68, 0xe4, 0xe9, 0x0e, 0x74, 0xec, 1871 0x04, 0x8a, 0x7f, 0xde, 0x93, 0x27, 0xc4, 0x01, 1872 0x19, 0x7a, 0xbd, 0xf2, 0xdc, 0x3d, 0x14, 0xab, 1873 0xd0, 0x54, 0xca, 0x21, 0x0c, 0xd0, 0x4d, 0x6e, 1874 0x87, 0x2e, 0x5c, 0xc5, 0xd2, 0xbb, 0x4d, 0x4b, 1875 0x4f, 0xce, 0xb6, 0x2c, 0xf7, 0x7e, 0x88, 0xec, 1876 0x7c, 0xd7, 0x02, 0x91, 0x74, 0xa6, 0x1e, 0x0c, 1877 0x1a, 0xda, 0xe3, 0x4a, 0x5a, 0x2e, 0xde, 0x13, 1878 0x9c, 0x4c, 0x40, 0x88, 0x59, 0x93, 0x02, 0x03, 1879 0x01, 0x00, 0x01, 0xa3, 0x32, 0x30, 0x30, 0x30, 1880 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 1881 0xff, 0x04, 0x04, 0x03, 0x02, 0x00, 0xa0, 0x30, 1882 0x0d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x06, 1883 0x04, 0x04, 0x01, 0x02, 0x03, 0x04, 0x30, 0x0f, 1884 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x08, 0x30, 1885 0x06, 0x80, 0x04, 0x01, 0x02, 0x03, 0x04, 0x30, 1886 0x0b, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 1887 0x0d, 0x01, 0x01, 0x05, 0x03, 0x81, 0x81, 0x00, 1888 0x36, 0x1f, 0xb3, 0x7a, 0x0c, 0x75, 0xc9, 0x6e, 1889 0x37, 0x46, 0x61, 0x2b, 0xd5, 0xbd, 0xc0, 0xa7, 1890 0x4b, 0xcc, 0x46, 0x9a, 0x81, 0x58, 0x7c, 0x85, 1891 0x79, 0x29, 0xc8, 0xc8, 0xc6, 0x67, 0xdd, 0x32, 1892 0x56, 0x45, 0x2b, 0x75, 0xb6, 0xe9, 0x24, 0xa9, 1893 0x50, 0x9a, 0xbe, 0x1f, 0x5a, 0xfa, 0x1a, 0x15, 1894 0xd9, 0xcc, 0x55, 0x95, 0x72, 0x16, 0x83, 0xb9, 1895 0xc2, 0xb6, 0x8f, 0xfd, 0x88, 0x8c, 0x38, 0x84, 1896 0x1d, 0xab, 0x5d, 0x92, 0x31, 0x13, 0x4f, 0xfd, 1897 0x83, 0x3b, 0xc6, 0x9d, 0xf1, 0x11, 0x62, 0xb6, 1898 0x8b, 0xec, 0xab, 0x67, 0xbe, 0xc8, 0x64, 0xb0, 1899 0x11, 0x50, 0x46, 0x58, 0x17, 0x6b, 0x99, 0x1c, 1900 0xd3, 0x1d, 0xfc, 0x06, 0xf1, 0x0e, 0xe5, 0x96, 1901 0xa8, 0x0c, 0xf9, 0x78, 0x20, 0xb7, 0x44, 0x18, 1902 0x51, 0x8d, 0x10, 0x7e, 0x4f, 0x94, 0x67, 0xdf, 1903 0xa3, 0x4e, 0x70, 0x73, 0x8e, 0x90, 0x91, 0x85, 1904 0x16, 0x03, 0x01, 0x00, 0x86, 0x10, 0x00, 0x00, 1905 0x82, 0x00, 0x80, 0x81, 0x46, 0x43, 0xf9, 0xe7, 1906 0xda, 0x8c, 0x92, 0x3a, 0x78, 0x1a, 0x86, 0xb3, 1907 0xbe, 0x83, 0x22, 0xb6, 0xaa, 0x57, 0x37, 0x68, 1908 0x9e, 0x54, 0x3f, 0xd3, 0xce, 0x4d, 0x5e, 0x2a, 1909 0xdc, 0xb0, 0x49, 0x02, 0xbb, 0xc0, 0x45, 0x58, 1910 0x79, 0x10, 0xc7, 0x94, 0x60, 0x9f, 0x1b, 0x5f, 1911 0x18, 0x31, 0x37, 0x9c, 0xe0, 0xe6, 0xdf, 0x5e, 1912 0x70, 0x44, 0xf6, 0x8b, 0xdf, 0xf1, 0xf6, 0x43, 1913 0xc8, 0x2f, 0xd1, 0xce, 0xd0, 0xd6, 0x64, 0x4f, 1914 0xe8, 0x2b, 0xfa, 0xd3, 0xd0, 0xd1, 0x2e, 0xaa, 1915 0x9b, 0x1d, 0x13, 0x5c, 0xbe, 0x57, 0x41, 0x6c, 1916 0x5e, 0x8d, 0xea, 0xa9, 0x3c, 0x58, 0xa0, 0x30, 1917 0x92, 0x77, 0x7a, 0xed, 0x64, 0x58, 0xe5, 0x7f, 1918 0x6a, 0x93, 0x89, 0x66, 0x3d, 0x13, 0x16, 0x56, 1919 0xa0, 0xad, 0xdc, 0x68, 0x95, 0x87, 0x81, 0xd0, 1920 0x90, 0x4d, 0x5f, 0xfe, 0x3e, 0x83, 0x15, 0x2e, 1921 0x50, 0x3c, 0xdd, 0x16, 0x03, 0x01, 0x00, 0x86, 1922 0x0f, 0x00, 0x00, 0x82, 0x00, 0x80, 0x2b, 0xf8, 1923 0x56, 0x48, 0xbb, 0x02, 0x37, 0x15, 0x02, 0x74, 1924 0x33, 0x53, 0x65, 0xa7, 0x7c, 0x2f, 0xc6, 0x5d, 1925 0x80, 0x59, 0xc1, 0xc2, 0x3b, 0xa9, 0xde, 0x4e, 1926 0x70, 0x51, 0xd2, 0xde, 0x58, 0x7f, 0xd8, 0xb9, 1927 0xb6, 0x3b, 0xc8, 0xaa, 0xfc, 0x3d, 0x53, 0x2d, 1928 0x61, 0x4d, 0xf5, 0x60, 0x12, 0xc2, 0xa5, 0x39, 1929 0x0c, 0xa7, 0xc6, 0xac, 0x26, 0x4b, 0xf4, 0x5f, 1930 0xe9, 0xf4, 0xf2, 0x73, 0x48, 0xe4, 0x3b, 0xee, 1931 0xf2, 0xee, 0xc0, 0xee, 0xfb, 0x5b, 0x60, 0xc2, 1932 0x74, 0xe6, 0xf6, 0x43, 0x3e, 0xa4, 0xf7, 0x97, 1933 0x3d, 0xfc, 0xe9, 0x44, 0x21, 0x18, 0x46, 0x05, 1934 0x33, 0xf8, 0xfe, 0x35, 0x5b, 0xe6, 0x8f, 0xef, 1935 0x4d, 0x4c, 0x87, 0xf6, 0xb4, 0x6e, 0x6b, 0x39, 1936 0xd8, 0xaa, 0x1b, 0x33, 0xc9, 0x1c, 0x66, 0x48, 1937 0xbe, 0xfa, 0xb5, 0x92, 0x09, 0xfd, 0xb9, 0xb9, 1938 0xca, 0xe6, 0x6d, 0x71, 0xc6, 0x89, 0x14, 0x03, 1939 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 0x01, 0x00, 1940 0x24, 0xe3, 0x2b, 0xef, 0x17, 0xd5, 0xa6, 0x4c, 1941 0x2e, 0x10, 0xac, 0x9c, 0xfe, 0x0f, 0x18, 0x43, 1942 0x95, 0x00, 0x81, 0xf7, 0x7c, 0x00, 0x5b, 0x89, 1943 0x52, 0x41, 0xe4, 0x8a, 0x8a, 0x34, 0x31, 0x09, 1944 0x48, 0x7c, 0xc5, 0xc3, 0x83, 1945 }, 1946 { 1947 0x14, 0x03, 0x01, 0x00, 0x01, 0x01, 0x16, 0x03, 1948 0x01, 0x00, 0x24, 0x24, 0xaa, 0xaa, 0x56, 0x8b, 1949 0x41, 0x87, 0x01, 0xbe, 0x80, 0x05, 0x51, 0x36, 1950 0x08, 0xfc, 0xaf, 0xff, 0x7f, 0xf4, 0x74, 0x84, 1951 0x88, 0xdc, 0xb8, 0x8e, 0x70, 0x6c, 0x22, 0x04, 1952 0xee, 0x45, 0x8d, 0xda, 0xed, 0xc6, 0x05, 0x17, 1953 0x03, 0x01, 0x00, 0x21, 0x91, 0x49, 0x4b, 0xed, 1954 0xa3, 0x41, 0xe9, 0x88, 0x3b, 0xa3, 0x01, 0xee, 1955 0x77, 0x4e, 0x12, 0xb4, 0xcd, 0x5e, 0xcc, 0x45, 1956 0x02, 0x5a, 0x20, 0xd6, 0xe8, 0xac, 0xcb, 0x60, 1957 0xcb, 0x1b, 0xef, 0xf9, 0xc2, 0x15, 0x03, 0x01, 1958 0x00, 0x16, 0xd4, 0xcd, 0x92, 0x3c, 0x10, 0x93, 1959 0x68, 0xc3, 0xdd, 0xaf, 0xe9, 0xcb, 0x5d, 0x94, 1960 0x1a, 0x06, 0x81, 0xa7, 0x78, 0x0f, 0xc3, 0x03, 1961 }, 1962 }}, 1963 } 1964 1965 // cert.pem and key.pem were generated with generate_cert.go 1966 // Thus, they have no ExtKeyUsage fields and trigger an error 1967 // when verification is turned on. 1968 1969 var clientCertificate = loadPEMCert(` 1970 -----BEGIN CERTIFICATE----- 1971 MIIB7TCCAVigAwIBAgIBADALBgkqhkiG9w0BAQUwJjEQMA4GA1UEChMHQWNtZSBD 1972 bzESMBAGA1UEAxMJMTI3LjAuMC4xMB4XDTExMTIwODA3NTUxMloXDTEyMTIwNzA4 1973 MDAxMlowJjEQMA4GA1UEChMHQWNtZSBDbzESMBAGA1UEAxMJMTI3LjAuMC4xMIGc 1974 MAsGCSqGSIb3DQEBAQOBjAAwgYgCgYBO0Hsx44Jk2VnAwoekXh6LczPHY1PfZpIG 1975 hPZk1Y/kNqcdK+izIDZFI7Xjla7t4PUgnI2V339aEu+H5Fto5OkOdOwEin/ekyfE 1976 ARl6vfLcPRSr0FTKIQzQTW6HLlzF0rtNS0/Otiz3fojsfNcCkXSmHgwa2uNKWi7e 1977 E5xMQIhZkwIDAQABozIwMDAOBgNVHQ8BAf8EBAMCAKAwDQYDVR0OBAYEBAECAwQw 1978 DwYDVR0jBAgwBoAEAQIDBDALBgkqhkiG9w0BAQUDgYEANh+zegx1yW43RmEr1b3A 1979 p0vMRpqBWHyFeSnIyMZn3TJWRSt1tukkqVCavh9a+hoV2cxVlXIWg7nCto/9iIw4 1980 hB2rXZIxE0/9gzvGnfERYraL7KtnvshksBFQRlgXa5kc0x38BvEO5ZaoDPl4ILdE 1981 GFGNEH5PlGffo05wc46QkYU= 1982 -----END CERTIFICATE----- 1983 `) 1984 1985 /* corresponding key.pem for cert.pem is: 1986 -----BEGIN RSA PRIVATE KEY----- 1987 MIICWgIBAAKBgE7QezHjgmTZWcDCh6ReHotzM8djU99mkgaE9mTVj+Q2px0r6LMg 1988 NkUjteOVru3g9SCcjZXff1oS74fkW2jk6Q507ASKf96TJ8QBGXq98tw9FKvQVMoh 1989 DNBNbocuXMXSu01LT862LPd+iOx81wKRdKYeDBra40paLt4TnExAiFmTAgMBAAEC 1990 gYBxvXd8yNteFTns8A/2yomEMC4yeosJJSpp1CsN3BJ7g8/qTnrVPxBy+RU+qr63 1991 t2WquaOu/cr5P8iEsa6lk20tf8pjKLNXeX0b1RTzK8rJLbS7nGzP3tvOhL096VtQ 1992 dAo4ROEaro0TzYpHmpciSvxVIeEIAAdFDObDJPKqcJAxyQJBAJizfYgK8Gzx9fsx 1993 hxp+VteCbVPg2euASH5Yv3K5LukRdKoSzHE2grUVQgN/LafC0eZibRanxHegYSr7 1994 7qaswKUCQQCEIWor/X4XTMdVj3Oj+vpiw75y/S9gh682+myZL+d/02IEkwnB098P 1995 RkKVpenBHyrGg0oeN5La7URILWKj7CPXAkBKo6F+d+phNjwIFoN1Xb/RA32w/D1I 1996 saG9sF+UEhRt9AxUfW/U/tIQ9V0ZHHcSg1XaCM5Nvp934brdKdvTOKnJAkBD5h/3 1997 Rybatlvg/fzBEaJFyq09zhngkxlZOUtBVTqzl17RVvY2orgH02U4HbCHy4phxOn7 1998 qTdQRYlHRftgnWK1AkANibn9PRYJ7mJyJ9Dyj2QeNcSkSTzrt0tPvUMf4+meJymN 1999 1Ntu5+S1DLLzfxlaljWG6ylW6DNxujCyuXIV2rvA 2000 -----END RSA PRIVATE KEY----- 2001 */