diff --git a/common.go b/common.go index 1412e828..3f7d5fcc 100644 --- a/common.go +++ b/common.go @@ -234,6 +234,17 @@ const ( RequireAndVerifyClientCert ) +// requiresClientCert returns whether the ClientAuthType requires a client +// certificate to be provided. +func requiresClientCert(c ClientAuthType) bool { + switch c { + case RequireAnyClientCert, RequireAndVerifyClientCert: + return true + default: + return false + } +} + // ClientSessionState contains the state needed by clients to resume TLS // sessions. type ClientSessionState struct { @@ -599,6 +610,10 @@ func ticketKeyFromBytes(b [32]byte) (key ticketKey) { return key } +// maxSessionTicketLifetime is the maximum allowed lifetime of a TLS 1.3 session +// ticket, and the lifetime we set for tickets we send. +const maxSessionTicketLifetime = 7 * 24 * time.Hour + // Clone returns a shallow clone of c. It is safe to clone a Config that is // being used concurrently by a TLS client or server. func (c *Config) Clone() *Config { diff --git a/handshake_client_test.go b/handshake_client_test.go index 103dfa44..29b6386e 100644 --- a/handshake_client_test.go +++ b/handshake_client_test.go @@ -869,11 +869,14 @@ func TestClientKeyUpdate(t *testing.T) { runClientTestTLS13(t, test) } -func TestClientResumption(t *testing.T) { - // TODO(filippo): update to test both TLS 1.3 and 1.2 once PSK are - // supported server-side. +func TestResumption(t *testing.T) { + t.Run("TLSv12", func(t *testing.T) { testResumption(t, VersionTLS12) }) + t.Run("TLSv13", func(t *testing.T) { testResumption(t, VersionTLS13) }) +} +func testResumption(t *testing.T, version uint16) { serverConfig := &Config{ + MaxVersion: version, CipherSuites: []uint16{TLS_RSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA}, Certificates: testConfig.Certificates, } @@ -887,6 +890,7 @@ func TestClientResumption(t *testing.T) { rootCAs.AddCert(issuer) clientConfig := &Config{ + MaxVersion: version, CipherSuites: []uint16{TLS_RSA_WITH_RC4_128_SHA}, ClientSessionCache: NewLRUClientSessionCache(32), RootCAs: rootCAs, @@ -924,9 +928,12 @@ func TestClientResumption(t *testing.T) { testResumeState("Handshake", false) ticket := getTicket() testResumeState("Resume", true) - if !bytes.Equal(ticket, getTicket()) { + if !bytes.Equal(ticket, getTicket()) && version != VersionTLS13 { t.Fatal("first ticket doesn't match ticket after resumption") } + if bytes.Equal(ticket, getTicket()) && version == VersionTLS13 { + t.Fatal("ticket didn't change after resumption") + } key1 := randomKey() serverConfig.SetSessionTicketKeys([][32]byte{key1}) @@ -946,6 +953,7 @@ func TestClientResumption(t *testing.T) { // Reset serverConfig to ensure that calling SetSessionTicketKeys // before the serverConfig is used works. serverConfig = &Config{ + MaxVersion: version, CipherSuites: []uint16{TLS_RSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA}, Certificates: testConfig.Certificates, } @@ -953,9 +961,13 @@ func TestClientResumption(t *testing.T) { testResumeState("FreshConfig", true) - clientConfig.CipherSuites = []uint16{TLS_ECDHE_RSA_WITH_RC4_128_SHA} - testResumeState("DifferentCipherSuite", false) - testResumeState("DifferentCipherSuiteRecovers", true) + // In TLS 1.3, cross-cipher suite resumption is allowed as long as the KDF + // hash matches. Also, Config.CipherSuites does not apply to TLS 1.3. + if version != VersionTLS13 { + clientConfig.CipherSuites = []uint16{TLS_ECDHE_RSA_WITH_RC4_128_SHA} + testResumeState("DifferentCipherSuite", false) + testResumeState("DifferentCipherSuiteRecovers", true) + } deleteTicket() testResumeState("WithoutSessionTicket", false) @@ -966,18 +978,21 @@ func TestClientResumption(t *testing.T) { serverConfig.ClientAuth = RequireAndVerifyClientCert clientConfig.Certificates = serverConfig.Certificates testResumeState("InitialHandshake", false) - testResumeState("WithClientCertificates", true) - - // Tickets should be removed from the session cache on TLS handshake failure - farFuture := func() time.Time { return time.Unix(16725225600, 0) } - serverConfig.Time = farFuture - _, _, err = testHandshake(t, clientConfig, serverConfig) - if err == nil { - t.Fatalf("handshake did not fail after client certificate expiry") + if version != VersionTLS13 { + // TODO(filippo): reenable when client authentication is implemented + testResumeState("WithClientCertificates", true) + + // Tickets should be removed from the session cache on TLS handshake failure + farFuture := func() time.Time { return time.Unix(16725225600, 0) } + serverConfig.Time = farFuture + _, _, err = testHandshake(t, clientConfig, serverConfig) + if err == nil { + t.Fatalf("handshake did not fail after client certificate expiry") + } + serverConfig.Time = nil + testResumeState("AfterHandshakeFailure", false) + serverConfig.ClientAuth = NoClientCert } - serverConfig.Time = nil - testResumeState("AfterHandshakeFailure", false) - serverConfig.ClientAuth = NoClientCert clientConfig.ClientSessionCache = nil testResumeState("WithoutSessionCache", false) diff --git a/handshake_client_tls13.go b/handshake_client_tls13.go index 233b1638..8c38612f 100644 --- a/handshake_client_tls13.go +++ b/handshake_client_tls13.go @@ -565,7 +565,7 @@ func (c *Conn) handleNewSessionTicket(msg *newSessionTicketMsgTLS13) error { return nil } lifetime := time.Duration(msg.lifetime) * time.Second - if lifetime > 7*24*time.Hour { + if lifetime > maxSessionTicketLifetime { c.sendAlert(alertIllegalParameter) return errors.New("tls: received a session ticket with invalid lifetime") } diff --git a/handshake_messages.go b/handshake_messages.go index c1f86f63..b6001e36 100644 --- a/handshake_messages.go +++ b/handshake_messages.go @@ -30,6 +30,23 @@ func addBytesWithLength(b *cryptobyte.Builder, v []byte, n int) { })) } +// addUint64 appends a big-endian, 64-bit value to the cryptobyte.Builder. +func addUint64(b *cryptobyte.Builder, v uint64) { + b.AddUint32(uint32(v >> 32)) + b.AddUint32(uint32(v)) +} + +// readUint64 decodes a big-endian, 64-bit value into out and advances over it. +// It reports whether the read was successful. +func readUint64(s *cryptobyte.String, out *uint64) bool { + var hi, lo uint32 + if !s.ReadUint32(&hi) || !s.ReadUint32(&lo) { + return false + } + *out = uint64(hi)<<32 | uint64(lo) + return true +} + // readUint8LengthPrefixed acts like s.ReadUint8LengthPrefixed, but targets a // []byte instead of a cryptobyte.String. func readUint8LengthPrefixed(s *cryptobyte.String, out *[]byte) bool { @@ -1266,58 +1283,81 @@ func (m *certificateMsgTLS13) marshal() []byte { b.AddUint8(typeCertificate) b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) { b.AddUint8(0) // certificate_request_context - b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) { - for i, cert := range m.certificate.Certificate { - b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) { - b.AddBytes(cert) - }) - b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { - if i > 0 { - // This library only supports OCSP and SCT for leaf certificates. - return - } - if m.ocspStapling { - b.AddUint16(extensionStatusRequest) - b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { - b.AddUint8(statusTypeOCSP) - b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) { - b.AddBytes(m.certificate.OCSPStaple) - }) - }) - } - if m.scts { - b.AddUint16(extensionSCT) - b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { - b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { - for _, sct := range m.certificate.SignedCertificateTimestamps { - b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { - b.AddBytes(sct) - }) - } - }) - }) - } - }) - } - }) + + certificate := m.certificate + if !m.ocspStapling { + certificate.OCSPStaple = nil + } + if !m.scts { + certificate.SignedCertificateTimestamps = nil + } + marshalCertificate(b, certificate) }) m.raw = b.BytesOrPanic() return m.raw } +func marshalCertificate(b *cryptobyte.Builder, certificate Certificate) { + b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) { + for i, cert := range certificate.Certificate { + b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) { + b.AddBytes(cert) + }) + b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { + if i > 0 { + // This library only supports OCSP and SCT for leaf certificates. + return + } + if certificate.OCSPStaple != nil { + b.AddUint16(extensionStatusRequest) + b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { + b.AddUint8(statusTypeOCSP) + b.AddUint24LengthPrefixed(func(b *cryptobyte.Builder) { + b.AddBytes(certificate.OCSPStaple) + }) + }) + } + if certificate.SignedCertificateTimestamps != nil { + b.AddUint16(extensionSCT) + b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { + b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { + for _, sct := range certificate.SignedCertificateTimestamps { + b.AddUint16LengthPrefixed(func(b *cryptobyte.Builder) { + b.AddBytes(sct) + }) + } + }) + }) + } + }) + } + }) +} + func (m *certificateMsgTLS13) unmarshal(data []byte) bool { *m = certificateMsgTLS13{raw: data} s := cryptobyte.String(data) - var context, certList cryptobyte.String + var context cryptobyte.String if !s.Skip(4) || // message type and uint24 length field !s.ReadUint8LengthPrefixed(&context) || !context.Empty() || - !s.ReadUint24LengthPrefixed(&certList) || + !unmarshalCertificate(&s, &m.certificate) || !s.Empty() { return false } + m.scts = m.certificate.SignedCertificateTimestamps != nil + m.ocspStapling = m.certificate.OCSPStaple != nil + + return true +} + +func unmarshalCertificate(s *cryptobyte.String, certificate *Certificate) bool { + var certList cryptobyte.String + if !s.ReadUint24LengthPrefixed(&certList) { + return false + } for !certList.Empty() { var cert []byte var extensions cryptobyte.String @@ -1325,7 +1365,7 @@ func (m *certificateMsgTLS13) unmarshal(data []byte) bool { !certList.ReadUint16LengthPrefixed(&extensions) { return false } - m.certificate.Certificate = append(m.certificate.Certificate, cert) + certificate.Certificate = append(certificate.Certificate, cert) for !extensions.Empty() { var extension uint16 var extData cryptobyte.String @@ -1333,22 +1373,20 @@ func (m *certificateMsgTLS13) unmarshal(data []byte) bool { !extensions.ReadUint16LengthPrefixed(&extData) { return false } - if len(m.certificate.Certificate) > 1 { + if len(certificate.Certificate) > 1 { // This library only supports OCSP and SCT for leaf certificates. continue } switch extension { case extensionStatusRequest: - m.ocspStapling = true var statusType uint8 if !extData.ReadUint8(&statusType) || statusType != statusTypeOCSP || - !readUint24LengthPrefixed(&extData, &m.certificate.OCSPStaple) || - len(m.certificate.OCSPStaple) == 0 { + !readUint24LengthPrefixed(&extData, &certificate.OCSPStaple) || + len(certificate.OCSPStaple) == 0 { return false } case extensionSCT: - m.scts = true var sctList cryptobyte.String if !extData.ReadUint16LengthPrefixed(&sctList) || sctList.Empty() { return false @@ -1359,8 +1397,8 @@ func (m *certificateMsgTLS13) unmarshal(data []byte) bool { len(sct) == 0 { return false } - m.certificate.SignedCertificateTimestamps = append( - m.certificate.SignedCertificateTimestamps, sct) + certificate.SignedCertificateTimestamps = append( + certificate.SignedCertificateTimestamps, sct) } default: // Ignore unknown extensions. diff --git a/handshake_messages_test.go b/handshake_messages_test.go index ab9e1f50..8a735230 100644 --- a/handshake_messages_test.go +++ b/handshake_messages_test.go @@ -29,6 +29,7 @@ var tests = []interface{}{ &nextProtoMsg{}, &newSessionTicketMsg{}, &sessionState{}, + &sessionStateTLS13{}, &encryptedExtensionsMsg{}, &endOfEarlyDataMsg{}, &keyUpdateMsg{}, @@ -332,6 +333,27 @@ func (*sessionState) Generate(rand *rand.Rand, size int) reflect.Value { return reflect.ValueOf(s) } +func (*sessionStateTLS13) Generate(rand *rand.Rand, size int) reflect.Value { + s := &sessionStateTLS13{} + s.cipherSuite = uint16(rand.Intn(10000)) + s.resumptionSecret = randomBytes(rand.Intn(100)+1, rand) + s.createdAt = uint64(rand.Int63()) + for i := 0; i < rand.Intn(2)+1; i++ { + s.certificate.Certificate = append( + s.certificate.Certificate, randomBytes(rand.Intn(500)+1, rand)) + } + if rand.Intn(10) > 5 { + s.certificate.OCSPStaple = randomBytes(rand.Intn(100)+1, rand) + } + if rand.Intn(10) > 5 { + for i := 0; i < rand.Intn(2)+1; i++ { + s.certificate.SignedCertificateTimestamps = append( + s.certificate.SignedCertificateTimestamps, randomBytes(rand.Intn(500)+1, rand)) + } + } + return reflect.ValueOf(s) +} + func (*endOfEarlyDataMsg) Generate(rand *rand.Rand, size int) reflect.Value { m := &endOfEarlyDataMsg{} return reflect.ValueOf(m) diff --git a/handshake_server.go b/handshake_server.go index f24ebf1c..56ec3b60 100644 --- a/handshake_server.go +++ b/handshake_server.go @@ -323,9 +323,13 @@ func (hs *serverHandshakeState) checkForResumption() bool { return false } - var ok bool - var sessionTicket = append([]uint8{}, hs.clientHello.sessionTicket...) - if hs.sessionState, ok = c.decryptTicket(sessionTicket); !ok { + plaintext, usedOldKey := c.decryptTicket(hs.clientHello.sessionTicket) + if plaintext == nil { + return false + } + hs.sessionState = &sessionState{usedOldKey: usedOldKey} + ok := hs.sessionState.unmarshal(plaintext) + if !ok { return false } @@ -352,7 +356,7 @@ func (hs *serverHandshakeState) checkForResumption() bool { } sessionHasClientCerts := len(hs.sessionState.certificates) != 0 - needClientCerts := c.config.ClientAuth == RequireAnyClientCert || c.config.ClientAuth == RequireAndVerifyClientCert + needClientCerts := requiresClientCert(c.config.ClientAuth) if needClientCerts && !sessionHasClientCerts { return false } @@ -657,7 +661,7 @@ func (hs *serverHandshakeState) sendSessionTicket() error { masterSecret: hs.masterSecret, certificates: hs.certsFromClient, } - m.ticket, err = c.encryptTicket(&state) + m.ticket, err = c.encryptTicket(state.marshal()) if err != nil { return err } diff --git a/handshake_server_test.go b/handshake_server_test.go index eb6bd2f1..c8e6adce 100644 --- a/handshake_server_test.go +++ b/handshake_server_test.go @@ -16,6 +16,7 @@ import ( "errors" "fmt" "io" + "io/ioutil" "math/big" "net" "os" @@ -348,21 +349,41 @@ func TestClose(t *testing.T) { func testHandshake(t *testing.T, clientConfig, serverConfig *Config) (serverState, clientState ConnectionState, err error) { c, s := localPipe(t) - done := make(chan bool) + errChan := make(chan error) go func() { cli := Client(c, clientConfig) - cli.Handshake() + err := cli.Handshake() + if err != nil { + errChan <- fmt.Errorf("client: %v", err) + c.Close() + return + } + defer cli.Close() clientState = cli.ConnectionState() - c.Close() - done <- true + buf, err := ioutil.ReadAll(cli) + if err != nil { + t.Errorf("failed to call cli.Read: %v", err) + } + if got := string(buf); got != opensslSentinel { + t.Errorf("read %q from TLS connection, but expected %q", got, opensslSentinel) + } + errChan <- nil }() server := Server(s, serverConfig) err = server.Handshake() if err == nil { serverState = server.ConnectionState() + if _, err := io.WriteString(server, opensslSentinel); err != nil { + t.Errorf("failed to call server.Write: %v", err) + } + if err := server.Close(); err != nil { + t.Errorf("failed to call server.Close: %v", err) + } + err = <-errChan + } else { + s.Close() + <-errChan } - s.Close() - <-done return } @@ -1053,49 +1074,83 @@ func TestCipherSuiteCertPreferenceECDSA(t *testing.T) { runServerTestTLS12(t, test) } -func TestResumption(t *testing.T) { +func TestServerResumption(t *testing.T) { sessionFilePath := tempFile("") defer os.Remove(sessionFilePath) - test := &serverTest{ + testIssue := &serverTest{ name: "IssueTicket", command: []string{"openssl", "s_client", "-cipher", "AES128-SHA", "-sess_out", sessionFilePath}, wait: true, } - runServerTestTLS12(t, test) - - test = &serverTest{ + testResume := &serverTest{ name: "Resume", command: []string{"openssl", "s_client", "-cipher", "AES128-SHA", "-sess_in", sessionFilePath}, + validate: func(state ConnectionState) error { + if !state.DidResume { + return errors.New("did not resume") + } + return nil + }, } - runServerTestTLS12(t, test) + + runServerTestTLS12(t, testIssue) + runServerTestTLS12(t, testResume) + + runServerTestTLS13(t, testIssue) + runServerTestTLS13(t, testResume) + + config := testConfig.Clone() + config.CurvePreferences = []CurveID{CurveP256} + + testResumeHRR := &serverTest{ + name: "Resume-HelloRetryRequest", + command: []string{"openssl", "s_client", "-curves", "X25519:P-256", "-sess_in", sessionFilePath}, + config: config, + validate: func(state ConnectionState) error { + if !state.DidResume { + return errors.New("did not resume") + } + return nil + }, + } + + runServerTestTLS13(t, testResumeHRR) } -func TestResumptionDisabled(t *testing.T) { +func TestServerResumptionDisabled(t *testing.T) { sessionFilePath := tempFile("") defer os.Remove(sessionFilePath) config := testConfig.Clone() - test := &serverTest{ + testIssue := &serverTest{ name: "IssueTicketPreDisable", command: []string{"openssl", "s_client", "-cipher", "AES128-SHA", "-sess_out", sessionFilePath}, config: config, wait: true, } - runServerTestTLS12(t, test) - - config.SessionTicketsDisabled = true - - test = &serverTest{ + testResume := &serverTest{ name: "ResumeDisabled", command: []string{"openssl", "s_client", "-cipher", "AES128-SHA", "-sess_in", sessionFilePath}, config: config, + validate: func(state ConnectionState) error { + if state.DidResume { + return errors.New("resumed with SessionTicketsDisabled") + } + return nil + }, } - runServerTestTLS12(t, test) - // One needs to manually confirm that the handshake in the golden data - // file for ResumeDisabled does not include a resumption handshake. + config.SessionTicketsDisabled = false + runServerTestTLS12(t, testIssue) + config.SessionTicketsDisabled = true + runServerTestTLS12(t, testResume) + + config.SessionTicketsDisabled = false + runServerTestTLS13(t, testIssue) + config.SessionTicketsDisabled = true + runServerTestTLS13(t, testResume) } func TestFallbackSCSV(t *testing.T) { @@ -1593,3 +1648,14 @@ func TestCloseServerConnectionOnIdleClient(t *testing.T) { t.Errorf("Error expected, but no error returned") } } + +func TestCloneHash(t *testing.T) { + h1 := crypto.SHA256.New() + h1.Write([]byte("test")) + s1 := h1.Sum(nil) + h2 := cloneHash(h1, crypto.SHA256) + s2 := h2.Sum(nil) + if !bytes.Equal(s1, s2) { + t.Error("cloned hash generated a different sum") + } +} diff --git a/handshake_server_tls13.go b/handshake_server_tls13.go index 4daf62b0..512ca070 100644 --- a/handshake_server_tls13.go +++ b/handshake_server_tls13.go @@ -14,8 +14,14 @@ import ( "hash" "io" "sync/atomic" + "time" ) +// maxClientPSKIdentities is the number of client PSK identities the server will +// attempt to validate. It will ignore the rest not to let cheap ClientHello +// messages cause too much work in session ticket decryption attempts. +const maxClientPSKIdentities = 5 + type serverHandshakeStateTLS13 struct { c *Conn clientHello *clientHelloMsg @@ -24,9 +30,12 @@ type serverHandshakeStateTLS13 struct { suite *cipherSuiteTLS13 cert *Certificate sigAlg SignatureScheme + earlySecret []byte + sharedKey []byte handshakeSecret []byte trafficSecret []byte // client_application_traffic_secret_0 transcript hash.Hash + clientFinished []byte } func (hs *serverHandshakeStateTLS13) handshake() error { @@ -36,16 +45,33 @@ func (hs *serverHandshakeStateTLS13) handshake() error { if err := hs.processClientHello(); err != nil { return err } + usePSK, err := hs.checkForResumption() + if err != nil { + return err + } + if !usePSK { + if err := hs.pickCertificate(); err != nil { + return err + } + } c.buffering = true if err := hs.sendServerParameters(); err != nil { return err } - if err := hs.sendServerCertificate(); err != nil { - return err + if !usePSK { + if err := hs.sendServerCertificate(); err != nil { + return err + } } if err := hs.sendServerFinished(); err != nil { return err } + // Note that at this point we could start sending application data without + // waiting for the client's second flight, but the application might not + // expect the lack of replay protection of the ClientHello parameters. + if err := hs.sendSessionTickets(); err != nil { + return err + } if _, err := c.flush(); err != nil { return err } @@ -163,14 +189,138 @@ GroupSelection: return err } hs.hello.serverShare = keyShare{group: selectedGroup, data: params.PublicKey()} - sharedKey := params.SharedKey(clientKeyShare.data) - if sharedKey == nil { + hs.sharedKey = params.SharedKey(clientKeyShare.data) + if hs.sharedKey == nil { c.sendAlert(alertIllegalParameter) return errors.New("tls: invalid client key share") } - earlySecret := hs.suite.extract(nil, nil) - hs.handshakeSecret = hs.suite.extract(sharedKey, - hs.suite.deriveSecret(earlySecret, "derived", nil)) + + return nil +} + +func (hs *serverHandshakeStateTLS13) checkForResumption() (usePSK bool, err error) { + c := hs.c + + if c.config.SessionTicketsDisabled { + return false, nil + } + + modeOK := false + for _, mode := range hs.clientHello.pskModes { + if mode == pskModeDHE { + modeOK = true + break + } + } + if !modeOK { + return false, nil + } + + if len(hs.clientHello.pskIdentities) != len(hs.clientHello.pskBinders) { + c.sendAlert(alertIllegalParameter) + return false, errors.New("tls: invalid or missing PSK binders") + } + if len(hs.clientHello.pskIdentities) == 0 { + return false, nil + } + + for i, identity := range hs.clientHello.pskIdentities { + if i >= maxClientPSKIdentities { + break + } + + plaintext, _ := c.decryptTicket(identity.label) + if plaintext == nil { + continue + } + sessionState := new(sessionStateTLS13) + if ok := sessionState.unmarshal(plaintext); !ok { + continue + } + + createdAt := time.Unix(int64(sessionState.createdAt), 0) + if c.config.time().Sub(createdAt) > maxSessionTicketLifetime { + continue + } + + // We don't check the obfuscated ticket age because it's affected by + // clock skew and it's only a freshness signal useful for shrinking the + // window for replay attacks, which don't affect us as we don't do 0-RTT. + + pskSuite := cipherSuiteTLS13ByID(sessionState.cipherSuite) + if pskSuite == nil || pskSuite.hash != hs.suite.hash { + continue + } + + // PSK connections don't re-establish client certificates, but carry + // them over in the session ticket. Ensure the presence of client certs + // in the ticket is consistent with the configured requirements. + sessionHasClientCerts := len(sessionState.certificate.Certificate) != 0 + needClientCerts := requiresClientCert(c.config.ClientAuth) + if needClientCerts && !sessionHasClientCerts { + continue + } + if sessionHasClientCerts && c.config.ClientAuth == NoClientCert { + continue + } + + psk := hs.suite.expandLabel(sessionState.resumptionSecret, "resumption", + nil, hs.suite.hash.Size()) + hs.earlySecret = hs.suite.extract(psk, nil) + binderKey := hs.suite.deriveSecret(hs.earlySecret, resumptionBinderLabel, nil) + // Clone the transcript in case a HelloRetryRequest was recorded. + transcript := cloneHash(hs.transcript, hs.suite.hash) + if transcript == nil { + c.sendAlert(alertInternalError) + return false, errors.New("tls: internal error: failed to clone hash") + } + transcript.Write(hs.clientHello.marshalWithoutBinders()) + pskBinder := hs.suite.finishedHash(binderKey, transcript) + if !hmac.Equal(hs.clientHello.pskBinders[i], pskBinder) { + c.sendAlert(alertDecryptError) + return false, errors.New("tls: invalid PSK binder") + } + + hs.hello.selectedIdentityPresent = true + hs.hello.selectedIdentity = uint16(i) + c.didResume = true + // TODO(filippo): surface sessionState.certificate. + return true, nil + } + + return false, nil +} + +// cloneHash uses the encoding.BinaryMarshaler and encoding.BinaryUnmarshaler +// interfaces implemented by standard library hashes to clone the state of in +// to a new instance of h. It returns nil if the operation fails. +func cloneHash(in hash.Hash, h crypto.Hash) hash.Hash { + // Recreate the interface to avoid importing encoding. + type binaryMarshaler interface { + MarshalBinary() (data []byte, err error) + UnmarshalBinary(data []byte) error + } + marshaler, ok := in.(binaryMarshaler) + if !ok { + return nil + } + state, err := marshaler.MarshalBinary() + if err != nil { + return nil + } + out := h.New() + unmarshaler, ok := out.(binaryMarshaler) + if !ok { + return nil + } + if err := unmarshaler.UnmarshalBinary(state); err != nil { + return nil + } + return out +} + +func (hs *serverHandshakeStateTLS13) pickCertificate() error { + c := hs.c // This implements a very simplistic certificate selection strategy for now: // getCertificate delegates to the application Config.GetCertificate, or @@ -350,6 +500,13 @@ func (hs *serverHandshakeStateTLS13) sendServerParameters() error { return err } + earlySecret := hs.earlySecret + if earlySecret == nil { + earlySecret = hs.suite.extract(nil, nil) + } + hs.handshakeSecret = hs.suite.extract(hs.sharedKey, + hs.suite.deriveSecret(earlySecret, "derived", nil)) + clientSecret := hs.suite.deriveSecret(hs.handshakeSecret, clientHandshakeTrafficLabel, hs.transcript) c.in.setTrafficSecret(hs.suite, clientSecret) @@ -467,6 +624,60 @@ func (hs *serverHandshakeStateTLS13) sendServerFinished() error { c.ekm = hs.suite.exportKeyingMaterial(masterSecret, hs.transcript) + // Precompute the expected client flight for the transcript. + hs.clientFinished = hs.suite.finishedHash(c.in.trafficSecret, hs.transcript) + finishedMsg := &finishedMsg{ + verifyData: hs.clientFinished, + } + hs.transcript.Write(finishedMsg.marshal()) + + if hs.shouldSendSessionTickets() { + c.resumptionSecret = hs.suite.deriveSecret(masterSecret, + resumptionLabel, hs.transcript) + } + + return nil +} + +func (hs *serverHandshakeStateTLS13) shouldSendSessionTickets() bool { + if hs.c.config.SessionTicketsDisabled { + return false + } + + // Don't send tickets the client wouldn't use. See RFC 8446, Section 4.2.9. + for _, pskMode := range hs.clientHello.pskModes { + if pskMode == pskModeDHE { + return true + } + } + return false +} + +func (hs *serverHandshakeStateTLS13) sendSessionTickets() error { + c := hs.c + + if !hs.shouldSendSessionTickets() { + return nil + } + + m := new(newSessionTicketMsgTLS13) + + var err error + state := sessionStateTLS13{ + cipherSuite: hs.suite.id, + createdAt: uint64(c.config.time().Unix()), + resumptionSecret: c.resumptionSecret, + } + m.label, err = c.encryptTicket(state.marshal()) + if err != nil { + return err + } + m.lifetime = uint32(maxSessionTicketLifetime / time.Second) + + if _, err := c.writeRecord(recordTypeHandshake, m.marshal()); err != nil { + return err + } + return nil } @@ -484,14 +695,11 @@ func (hs *serverHandshakeStateTLS13) readClientFinished() error { return unexpectedMessageError(finished, msg) } - expectedMAC := hs.suite.finishedHash(c.in.trafficSecret, hs.transcript) - if !hmac.Equal(expectedMAC, finished.verifyData) { + if !hmac.Equal(hs.clientFinished, finished.verifyData) { c.sendAlert(alertDecryptError) return errors.New("tls: invalid client finished hash") } - hs.transcript.Write(finished.marshal()) - c.in.setTrafficSecret(hs.suite, hs.trafficSecret) return nil diff --git a/testdata/Server-TLSv13-AES128-SHA256 b/testdata/Server-TLSv13-AES128-SHA256 index fcc1a49d..9e854036 100644 --- a/testdata/Server-TLSv13-AES128-SHA256 +++ b/testdata/Server-TLSv13-AES128-SHA256 @@ -1,9 +1,9 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 dc 01 00 00 d8 03 03 f7 9c d1 5f 55 |.............._U| -00000010 eb 97 fd e1 e6 95 50 97 d0 c6 ad ca e0 08 a0 f5 |......P.........| -00000020 ae 38 9e 60 28 e9 dc 06 3c 54 c5 20 46 14 c7 70 |.8.`(....L.. r...| +00000030 ad d2 b6 e8 86 d8 34 45 42 44 b7 36 50 9b 64 36 |......4EBD.6P.d6| +00000040 de 03 b0 e5 99 8b f9 5a 67 5b f6 72 00 04 13 01 |.......Zg[.r....| 00000050 00 ff 01 00 00 8b 00 00 00 0e 00 0c 00 00 09 31 |...............1| 00000060 32 37 2e 30 2e 30 2e 31 00 0b 00 04 03 00 01 02 |27.0.0.1........| 00000070 00 0a 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 |................| @@ -11,80 +11,90 @@ 00000090 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b 08 04 |................| 000000a0 08 05 08 06 04 01 05 01 06 01 00 2b 00 03 02 03 |...........+....| 000000b0 04 00 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 |..-.....3.&.$...| -000000c0 20 c3 51 8d 67 9c 81 e9 70 8e 8c 4f 85 79 7f ad | .Q.g...p..O.y..| -000000d0 a9 63 8d 2a 48 84 a5 05 03 58 c7 c0 0b ab 9f 7c |.c.*H....X.....|| -000000e0 1d |.| +000000c0 20 52 35 32 79 0e bf 01 91 5a b1 be 9b ff bf f4 | R52y....Z......| +000000d0 72 13 1a 3d a6 a8 15 9f ad c3 a9 b6 32 79 84 32 |r..=........2y.2| +000000e0 71 |q| >>> Flow 2 (server to client) 00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 46 14 c7 70 |........... F..p| -00000030 69 0d f2 97 27 19 5e 26 3a 1a 3a 70 ec bd 5b 98 |i...'.^&:.:p..[.| -00000040 37 15 49 09 f9 6a e5 d9 24 a7 df 49 13 01 00 00 |7.I..j..$..I....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 72 a7 88 94 |........... r...| +00000030 ad d2 b6 e8 86 d8 34 45 42 44 b7 36 50 9b 64 36 |......4EBD.6P.d6| +00000040 de 03 b0 e5 99 8b f9 5a 67 5b f6 72 13 01 00 00 |.......Zg[.r....| 00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| 00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| -00000080 03 03 00 01 01 17 03 03 00 17 65 99 0a bb fc 0a |..........e.....| -00000090 a1 c2 2d 9c 7f 2e 0f 8d 50 5b 17 d3 66 6b 08 d1 |..-.....P[..fk..| -000000a0 cd 17 03 03 02 6d e6 e8 30 95 96 f8 18 a4 0e a9 |.....m..0.......| -000000b0 18 eb 1a 61 d4 57 c4 69 5c fa bf 26 cb d3 6d e7 |...a.W.i\..&..m.| -000000c0 d9 cd b7 d1 a2 46 c2 2d b2 83 f0 02 30 51 73 ac |.....F.-....0Qs.| -000000d0 8c 47 b3 5a b0 ae 13 7f ad a0 15 da 48 96 da 84 |.G.Z........H...| -000000e0 69 e3 a4 8a 71 33 63 1b 6d 42 6d 57 f4 9c 46 fb |i...q3c.mBmW..F.| -000000f0 c0 4a ad 77 6b 99 81 0c 2a 2d a2 d0 98 89 7b 8c |.J.wk...*-....{.| -00000100 ee 56 a4 e0 94 1a 83 07 5f 64 b2 7a 11 77 98 df |.V......_d.z.w..| -00000110 32 85 14 19 5b 97 4e 47 48 7c 6d bf f8 34 eb d4 |2...[.NGH|m..4..| -00000120 38 90 0e 78 df f4 94 49 11 5e 7f d3 65 d3 36 e8 |8..x...I.^..e.6.| -00000130 26 bc a1 ba 28 c8 2e 51 86 77 ea f0 91 4b 7e 31 |&...(..Q.w...K~1| -00000140 9c 42 63 f9 17 7f b4 6d 68 69 76 a2 3c 7f af 01 |.Bc....mhiv.<...| -00000150 d6 e2 72 c3 c9 2a d9 b9 e4 a1 e9 6b 05 07 7f d3 |..r..*.....k....| -00000160 e3 55 d5 9e df 5e 02 ad 3f 84 8f 17 47 f8 c1 6f |.U...^..?...G..o| -00000170 3a 98 63 f7 5f a6 3c a9 79 31 74 3d 99 c2 6c 91 |:.c._.<.y1t=..l.| -00000180 3f 72 5d 96 d4 55 de 46 44 44 d9 99 6f ef d4 96 |?r]..U.FDD..o...| -00000190 f7 a9 e1 2b fc d3 e7 0a a2 01 36 50 b6 8b 29 97 |...+......6P..).| -000001a0 4e 5b 7f f0 20 82 79 3e ea e3 f1 df 40 c5 02 66 |N[.. .y>....@..f| -000001b0 ba f9 fc c1 cf 08 0a ef 18 16 11 4a 78 9b 94 82 |...........Jx...| -000001c0 07 e1 a7 45 b4 7d 47 f9 ae 4b d1 86 d4 86 10 b3 |...E.}G..K......| -000001d0 7e 18 23 12 2f a0 5b 89 fb 82 0d 44 2b cb 4a 05 |~.#./.[....D+.J.| -000001e0 61 f6 9b 66 41 d2 37 9c 3c 05 4e 84 6d 67 65 6f |a..fA.7.<.N.mgeo| -000001f0 0e 0e 97 5c 92 19 f1 b8 14 08 f2 0e a9 a6 93 1e |...\............| -00000200 c5 8c a6 e2 da f1 fe e2 87 67 1b 88 c8 50 73 49 |.........g...PsI| -00000210 2b 27 7a 86 24 d7 55 03 44 a3 45 13 b8 e9 d2 62 |+'z.$.U.D.E....b| -00000220 a5 27 7c 95 31 6d cf aa a1 21 57 c5 1a 7e 4e 63 |.'|.1m...!W..~Nc| -00000230 ad 94 78 7a 42 61 16 19 9c c4 39 de a4 78 71 c3 |..xzBa....9..xq.| -00000240 00 e8 01 4e 1a 84 8b 70 83 cc 09 12 1f 31 18 80 |...N...p.....1..| -00000250 70 92 4e 7e 77 4a d9 05 92 44 e2 03 8e 8e 9b 3c |p.N~wJ...D.....<| -00000260 25 d3 a9 a4 6d 42 06 35 bd 5c 7b e6 b2 99 3f 8f |%...mB.5.\{...?.| -00000270 ba 53 3c e5 45 41 17 19 0e 74 3b 9b 00 93 bb a1 |.S<.EA...t;.....| -00000280 b6 a6 08 a9 58 7b b1 f2 4b 03 c3 d8 2e a4 79 18 |....X{..K.....y.| -00000290 08 8f 1e 10 8d 72 04 76 a9 18 6c 11 8f 19 87 e2 |.....r.v..l.....| -000002a0 6f a6 b1 46 b7 0c 75 e7 a4 87 c1 c5 b4 93 82 85 |o..F..u.........| -000002b0 99 76 41 57 d3 ca 8d 7e 4c e5 83 b0 e7 dd 9e 61 |.vAW...~L......a| -000002c0 11 3c 21 f6 c5 1a 91 25 d5 20 5d 20 55 74 bb 04 |.X| -00000380 b2 05 25 a3 54 a6 1f b8 84 02 3c e4 e0 18 db b9 |..%.T.....<.....| -00000390 1f 35 26 b5 98 68 bd 3e 0b 7c 8c da 8b a8 fe 95 |.5&..h.>.|......| -000003a0 59 39 0c 78 9a c4 d4 21 6b fe 35 c5 1b a9 47 5d |Y9.x...!k.5...G]| -000003b0 50 17 03 03 00 35 ce 61 ce fa 4a ed f7 a7 b1 09 |P....5.a..J.....| -000003c0 f4 ca 2b 94 9d a6 70 39 4a eb b1 e3 63 9f d7 85 |..+...p9J...c...| -000003d0 cc dc 6a 0b 30 1f d8 fa 12 4b ef eb 25 1f e8 1d |..j.0....K..%...| -000003e0 85 e3 f2 04 52 17 ec 78 ed b2 1b |....R..x...| +00000080 03 03 00 01 01 17 03 03 00 17 2a 27 a8 a8 aa f7 |..........*'....| +00000090 7f c4 74 12 f2 f5 b3 46 e3 fc 9f c6 8e 4d 81 4c |..t....F.....M.L| +000000a0 f2 17 03 03 02 6d 4c ad 3d 6f 2b c3 22 fc e0 3f |.....mL.=o+."..?| +000000b0 74 c2 f7 20 1a 37 ff 42 3e 5c c7 7e 0a 27 48 88 |t.. .7.B>\.~.'H.| +000000c0 23 77 d3 e9 96 d0 6c 44 67 e0 13 03 06 e3 f8 70 |#w....lDg......p| +000000d0 c0 e1 56 8f a3 18 58 8a d0 a0 f1 96 0a 4b 47 f8 |..V...X......KG.| +000000e0 a0 51 06 82 03 09 e8 82 e7 c1 91 5a fb 2e a4 a7 |.Q.........Z....| +000000f0 34 19 d8 c1 86 0d 56 e9 74 f1 28 7a 7e bf 50 30 |4.....V.t.(z~.P0| +00000100 e1 29 43 fa d9 67 6f d1 94 4c 7f 06 b9 b7 5d 6c |.)C..go..L....]l| +00000110 f1 a4 dc 48 53 de 7e d6 c2 8a 32 a3 78 94 2d 55 |...HS.~...2.x.-U| +00000120 76 0d 3c b8 93 76 98 70 36 c2 2e a2 b3 8c ec 32 |v.<..v.p6......2| +00000130 43 50 06 f8 76 28 19 3b a3 51 64 26 24 fa 97 43 |CP..v(.;.Qd&$..C| +00000140 65 12 aa 2f 55 c3 30 33 9a 88 dc 4c 86 e5 13 aa |e../U.03...L....| +00000150 4b 4d 85 e6 67 0c 87 61 26 cd 1b 7b 80 67 87 60 |KM..g..a&..{.g.`| +00000160 00 0d 7a eb 9a e4 d2 a6 72 b5 66 f4 5b 9c 2f 42 |..z.....r.f.[./B| +00000170 c1 4b d3 cf 9f e7 be bf a4 12 57 d4 15 83 ce 61 |.K........W....a| +00000180 c0 29 71 ed d5 c3 e3 68 a0 c7 02 ed 94 d7 1f b2 |.)q....h........| +00000190 11 c1 38 67 a6 42 d2 23 ae b8 16 ed 69 92 91 57 |..8g.B.#....i..W| +000001a0 ca b6 fd 93 8f 32 ab 2d 8b 74 f8 b0 bb 5a a0 16 |.....2.-.t...Z..| +000001b0 72 92 6e 9e 10 46 3a 7d 2f 55 de 0c d4 9d b6 d0 |r.n..F:}/U......| +000001c0 e1 f6 2d 10 de 97 c1 28 c8 d4 63 4a 5b f9 08 c7 |..-....(..cJ[...| +000001d0 8b 28 65 0b 07 e2 62 82 09 3e d2 dd 82 a6 72 79 |.(e...b..>....ry| +000001e0 1d 59 ef 58 87 5a b6 b1 38 20 3c 4c 55 c0 9d fb |.Y.X.Z..8 3.$oe7@..A_| +000003e0 43 3a dd 65 3d a7 b4 6c bf 21 f4 17 03 03 00 93 |C:.e=..l.!......| +000003f0 1a a6 3b b4 be dd c0 64 5f ae 2d 05 70 3b 5e fc |..;....d_.-.p;^.| +00000400 83 e0 ad 5b d0 b3 32 bc f9 98 b2 f5 9f 16 14 52 |...[..2........R| +00000410 37 2c 72 90 c1 be 97 49 a3 4d 10 97 0e d0 ec ff |7,r....I.M......| +00000420 98 50 87 90 ba f2 f0 81 08 14 ad f6 f9 3b d0 b8 |.P...........;..| +00000430 f8 c2 62 96 d1 4b 4f 5a 96 43 9f b6 96 6b 59 b8 |..b..KOZ.C...kY.| +00000440 f5 cc cf bc 79 1a a6 6e c6 7d 06 10 8f a0 21 39 |....y..n.}....!9| +00000450 67 5f 36 37 19 fa 0f 56 00 36 16 10 a2 80 9f 01 |g_67...V.6......| +00000460 0a 68 2d 50 a1 fc 67 c5 00 24 36 54 c2 5a 93 a4 |.h-P..g..$6T.Z..| +00000470 0a 6c cd aa 3f 22 bf ef f4 80 32 6a 14 e1 1e 6b |.l..?"....2j...k| +00000480 8a 38 40 |.8@| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 ad 1b 33 af 8e |..........5..3..| -00000010 ab 81 7c f3 9f 2b 76 19 d8 37 9f ef ef b7 76 33 |..|..+v..7....v3| -00000020 1b a9 05 4d 2b 79 d7 ae f7 87 c9 1f c3 4f 8e 50 |...M+y.......O.P| -00000030 02 5b 34 b0 b3 4b f7 ce bf 4c 3c b0 db 31 28 ab |.[4..K...L<..1(.| +00000000 14 03 03 00 01 01 17 03 03 00 35 3c 0b 73 34 15 |..........5<.s4.| +00000010 e0 fc da 7f 3a 12 a0 50 95 09 0c ec 6a d5 7b 55 |....:..P....j.{U| +00000020 76 0f 7a 8e 25 e4 d2 b9 5f 5a 79 95 a5 a4 c6 9d |v.z.%..._Zy.....| +00000030 eb 0a ad 13 d1 97 a5 bd c4 d0 1e ce 59 59 04 16 |............YY..| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e c7 45 aa 04 3f d4 29 33 fd 40 17 |......E..?.)3.@.| -00000010 c3 60 4d 05 54 f7 f0 68 82 19 dd 00 97 1c 93 e1 |.`M.T..h........| -00000020 01 19 33 17 03 03 00 13 50 d4 21 09 db 6d ce f8 |..3.....P.!..m..| -00000030 d0 ab 2d ba e7 c0 b2 7e 5b 62 e0 |..-....~[b.| +00000000 17 03 03 00 1e 9a 92 bf 83 9f 0b 36 66 2f 8e d5 |...........6f/..| +00000010 69 74 a7 a2 20 bb b2 d5 ac e8 99 b1 e6 df 4d 03 |it.. .........M.| +00000020 3e 9e 9c 17 03 03 00 13 7e 0c 85 34 9e 48 48 4a |>.......~..4.HHJ| +00000030 ce fa 96 dd 7b 7c 11 38 20 8d 33 |....{|.8 .3| diff --git a/testdata/Server-TLSv13-AES256-SHA384 b/testdata/Server-TLSv13-AES256-SHA384 index d7fa9980..60aa82df 100644 --- a/testdata/Server-TLSv13-AES256-SHA384 +++ b/testdata/Server-TLSv13-AES256-SHA384 @@ -1,9 +1,9 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 dc 01 00 00 d8 03 03 f2 41 21 15 42 |............A!.B| -00000010 77 2a a0 81 3d 0e f8 66 c0 9d 10 e6 0d b2 ea 15 |w*..=..f........| -00000020 ad 7b 23 a4 63 a9 8e 06 fd a5 fb 20 38 22 f7 e8 |.{#.c...... 8"..| -00000030 9d 36 66 18 6a 38 41 49 0c 42 9d 56 11 3d 74 cb |.6f.j8AI.B.V.=t.| -00000040 9b 55 93 bb 68 4e 4d de a9 96 fc 45 00 04 13 02 |.U..hNM....E....| +00000000 16 03 01 00 dc 01 00 00 d8 03 03 70 b7 07 12 16 |...........p....| +00000010 50 d7 b9 c9 5f 02 47 2d ff 93 a7 2f e8 51 dc a0 |P..._.G-.../.Q..| +00000020 8f 0d c8 80 38 c7 af 7e da bb ed 20 67 73 58 d7 |....8..~... gsX.| +00000030 11 8b c6 0d 72 86 e0 08 3e 2d d9 b9 16 9f 85 6e |....r...>-.....n| +00000040 3c 87 fd 87 c3 95 f6 4c 76 21 50 af 00 04 13 02 |<......Lv!P.....| 00000050 00 ff 01 00 00 8b 00 00 00 0e 00 0c 00 00 09 31 |...............1| 00000060 32 37 2e 30 2e 30 2e 31 00 0b 00 04 03 00 01 02 |27.0.0.1........| 00000070 00 0a 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 |................| @@ -11,82 +11,93 @@ 00000090 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b 08 04 |................| 000000a0 08 05 08 06 04 01 05 01 06 01 00 2b 00 03 02 03 |...........+....| 000000b0 04 00 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 |..-.....3.&.$...| -000000c0 20 97 44 9d 4b c2 e5 38 dd 18 d5 79 ac 7e 65 b7 | .D.K..8...y.~e.| -000000d0 e9 0e 89 ff f8 ab 81 81 ad 7f 9a c3 59 12 5a 55 |............Y.ZU| -000000e0 4e |N| +000000c0 20 f4 08 51 f6 69 b7 d6 a9 3e 18 a7 ee c0 30 f3 | ..Q.i...>....0.| +000000d0 13 63 52 40 30 7c 79 6c 24 03 c9 89 25 bd a4 5f |.cR@0|yl$...%.._| +000000e0 64 |d| >>> Flow 2 (server to client) 00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 38 22 f7 e8 |........... 8"..| -00000030 9d 36 66 18 6a 38 41 49 0c 42 9d 56 11 3d 74 cb |.6f.j8AI.B.V.=t.| -00000040 9b 55 93 bb 68 4e 4d de a9 96 fc 45 13 02 00 00 |.U..hNM....E....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 67 73 58 d7 |........... gsX.| +00000030 11 8b c6 0d 72 86 e0 08 3e 2d d9 b9 16 9f 85 6e |....r...>-.....n| +00000040 3c 87 fd 87 c3 95 f6 4c 76 21 50 af 13 02 00 00 |<......Lv!P.....| 00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| 00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| -00000080 03 03 00 01 01 17 03 03 00 17 c8 4d 76 95 99 66 |...........Mv..f| -00000090 62 83 71 d0 1f 1a 84 b9 11 37 57 e3 49 cc fd d4 |b.q......7W.I...| -000000a0 c9 17 03 03 02 6d 94 79 d5 d0 c7 a0 74 d4 96 53 |.....m.y....t..S| -000000b0 b2 d7 c0 a6 95 2a c9 ba d3 85 16 98 66 4b 6d f8 |.....*......fKm.| -000000c0 b6 c7 6d 2f 48 71 1d bc 12 6b 84 4a 29 89 7f 4d |..m/Hq...k.J)..M| -000000d0 39 89 55 8d 26 6d 68 e8 62 38 0c a2 1f 2b 53 fe |9.U.&mh.b8...+S.| -000000e0 0b 9d c0 8c 73 8b ae 13 03 e6 cc af 4f e1 78 29 |....s.......O.x)| -000000f0 be ec d6 c0 6c 9f 18 d2 3f 44 36 b9 0e 97 fc 1c |....l...?D6.....| -00000100 b3 94 62 8d a3 b1 3f e8 e8 c3 77 d9 49 13 d2 db |..b...?...w.I...| -00000110 93 9a 8b c5 51 85 c0 40 a6 0f f3 ca 66 13 e2 3f |....Q..@....f..?| -00000120 29 f1 65 0e ad cc eb bc de 68 18 c0 b7 05 c7 6b |).e......h.....k| -00000130 83 66 a1 5c 5e 97 68 5f 0e ae b2 19 e0 ab b0 ee |.f.\^.h_........| -00000140 b9 44 64 20 5d 7a 77 ee 77 db a1 77 cb 7b ce d5 |.Dd ]zw.w..w.{..| -00000150 c5 e1 78 b2 75 ea e6 2e 3b 8c 39 e3 51 c9 48 37 |..x.u...;.9.Q.H7| -00000160 60 d5 68 4f 15 a7 29 56 76 c3 2c 5a 68 1c 6a b2 |`.hO..)Vv.,Zh.j.| -00000170 20 c4 f0 df 35 87 72 c5 1a ed fa 24 66 b4 87 12 | ...5.r....$f...| -00000180 f5 b3 79 d4 b6 fe c9 4e 31 14 f3 e2 5d 13 fc ed |..y....N1...]...| -00000190 6d 88 04 9d 8d 11 ed fd 6a fb e6 b4 53 20 51 e6 |m.......j...S Q.| -000001a0 49 24 55 b1 5b 86 36 5a ed 68 02 eb 43 97 da 49 |I$U.[.6Z.h..C..I| -000001b0 da 7a 21 61 27 f6 24 6e cc b3 25 76 e9 ce c2 d2 |.z!a'.$n..%v....| -000001c0 b5 ef f7 63 a6 c9 7c 9b dd 12 ea 7c 15 bd 29 fb |...c..|....|..).| -000001d0 20 f5 37 96 07 cc 2c 22 4a c1 11 ef 22 4e 7a 05 | .7...,"J..."Nz.| -000001e0 80 ff 1f cd c9 a7 11 80 1e 3c 11 0d 10 ed 56 c6 |.........<....V.| -000001f0 13 64 55 13 44 ce cc b7 9d 1a 57 11 b6 ef 27 02 |.dU.D.....W...'.| -00000200 62 3e aa 81 14 ab 79 a5 cc 96 7d e3 bf c1 d3 98 |b>....y...}.....| -00000210 da 9d 34 f1 7a c6 1a 1a 0d b4 3d ed 40 41 49 39 |..4.z.....=.@AI9| -00000220 a7 8d a0 85 50 c1 b3 6c e9 51 be 44 8c 7d d8 3b |....P..l.Q.D.}.;| -00000230 d6 e2 77 cb ab 01 98 87 d4 94 53 e4 f6 04 8f d2 |..w.......S.....| -00000240 a4 36 35 9f df dc 2e 72 22 94 db 58 f7 77 c3 96 |.65....r"..X.w..| -00000250 2b 0f 4a 7a 3d 94 12 5a 18 90 6c 87 18 a0 0b 80 |+.Jz=..Z..l.....| -00000260 eb 44 de 79 4f 0e 66 fa 62 e7 26 73 06 af 44 e7 |.D.yO.f.b.&s..D.| -00000270 7a 36 84 68 3d 3d 79 ac cd 33 97 6a ad 95 ca 6d |z6.h==y..3.j...m| -00000280 c8 a9 75 98 21 b0 d2 dc 72 5d 61 15 67 0c 3e f8 |..u.!...r]a.g.>.| -00000290 54 18 52 bd 46 75 81 3f a6 6d c9 84 7a 97 4e db |T.R.Fu.?.m..z.N.| -000002a0 96 73 ad 53 09 ab 1c d6 c3 4d 1a 5c e9 b2 e7 aa |.s.S.....M.\....| -000002b0 2a f1 d5 be 1b c6 01 d1 8b 54 24 e9 16 d1 02 d0 |*........T$.....| -000002c0 dc cb c1 37 71 e1 01 74 b1 5f 91 60 09 01 31 e2 |...7q..t._.`..1.| -000002d0 2a f0 5b 34 e6 d0 52 db a2 cf f1 f1 b7 da b6 76 |*.[4..R........v| -000002e0 8e fd a5 fd 6e f5 c5 0c 34 74 2e f0 c0 44 b4 57 |....n...4t...D.W| -000002f0 e1 50 f5 68 06 a3 14 1d f5 ac 2b 61 f8 ec cf 05 |.P.h......+a....| -00000300 c9 ef e6 a8 31 aa a5 a8 15 65 36 58 e0 da 96 03 |....1....e6X....| -00000310 57 05 4e 17 03 03 00 99 ec a2 db dd 9e a8 d8 10 |W.N.............| -00000320 fc d4 1b 45 02 b5 2c f1 fc 05 44 30 27 55 63 3e |...E..,...D0'Uc>| -00000330 41 45 ea be e1 a8 0b 2e 4d 70 18 3a 9b ae d2 b5 |AE......Mp.:....| -00000340 ed 0d 3e 08 5f b6 86 b0 e0 06 66 45 91 67 bc fd |..>._.....fE.g..| -00000350 7b 8f 6a 73 d4 29 df 17 74 e7 f8 92 f9 2b e4 31 |{.js.)..t....+.1| -00000360 dc 8a 6c 1c 53 1f c2 d6 fc 83 33 15 58 e1 ea 49 |..l.S.....3.X..I| -00000370 cc 74 7c f3 00 37 ca bc ae 31 e8 b2 aa 19 18 e2 |.t|..7...1......| -00000380 7d 60 8c 15 f8 ce e2 7d 86 1b a1 2c 59 5a 2a b2 |}`.....}...,YZ*.| -00000390 81 f3 22 12 8a 6e 28 b9 22 ba 15 03 3d 24 09 50 |.."..n(."...=$.P| -000003a0 b5 81 43 c0 a1 62 cf c6 9d 69 be ba 89 d1 74 19 |..C..b...i....t.| -000003b0 85 17 03 03 00 45 45 29 37 b5 5d ee db 9c 73 85 |.....EE)7.]...s.| -000003c0 4f 69 2b 32 b7 d7 16 c6 73 f1 59 89 38 10 63 88 |Oi+2....s.Y.8.c.| -000003d0 81 72 5e 60 72 d5 6a 26 c9 50 18 03 d3 bd 50 83 |.r^`r.j&.P....P.| -000003e0 1b ea c1 e3 4b f4 31 b0 e7 90 af aa e3 10 fd 77 |....K.1........w| -000003f0 97 49 ef 8b 63 f3 c0 af 82 06 c3 |.I..c......| +00000080 03 03 00 01 01 17 03 03 00 17 cc b9 e4 43 5e f6 |.............C^.| +00000090 9a 5a 62 14 02 39 fb 13 76 e8 10 db 26 1c 07 ec |.Zb..9..v...&...| +000000a0 06 17 03 03 02 6d 39 e9 a0 33 ee 39 36 54 62 f1 |.....m9..3.96Tb.| +000000b0 e9 1d 32 45 0f 5a ca 72 f7 7e 43 d8 89 97 00 3d |..2E.Z.r.~C....=| +000000c0 59 70 08 b4 d1 e1 84 24 7a b8 45 3c b8 32 93 b5 |Yp.....$z.E<.2..| +000000d0 51 a5 58 60 3f 60 52 aa c1 ff 85 fb fd 50 87 38 |Q.X`?`R......P.8| +000000e0 47 7a 88 c6 d1 e6 3c b3 16 14 5b cb 23 50 26 7a |Gz....<...[.#P&z| +000000f0 1d 28 d1 d2 29 5d b0 40 97 2f 3b 58 7c 8a 76 1f |.(..)].@./;X|.v.| +00000100 1c c1 d2 2b 63 9d 53 bc fb c2 42 cb 40 0d d0 7c |...+c.S...B.@..|| +00000110 73 6c dc 63 90 89 e3 66 67 2b a2 70 af e0 af fe |sl.c...fg+.p....| +00000120 0c c0 db 41 76 d0 16 37 2a 09 7a 79 31 03 c6 4a |...Av..7*.zy1..J| +00000130 f4 06 22 ac 96 b4 25 1f 54 11 24 c8 67 22 8f 2a |.."...%.T.$.g".*| +00000140 56 0c 24 fa 20 ed a8 37 66 f7 38 44 43 e2 e6 e3 |V.$. ..7f.8DC...| +00000150 96 b5 d5 dd a5 2c 23 e4 57 57 7d 7a 59 e2 4f 66 |.....,#.WW}zY.Of| +00000160 c4 29 d6 d1 32 a3 9c 4c dd 63 b2 a6 dc ff 6f 61 |.)..2..L.c....oa| +00000170 c2 db 88 80 23 c1 27 d4 be dd 4f b4 c9 b8 56 4c |....#.'...O...VL| +00000180 65 b6 f8 32 b2 60 7b af 5f 54 71 61 20 db 25 85 |e..2.`{._Tqa .%.| +00000190 34 b6 58 9b 71 01 dd 53 cd 13 65 2e 23 69 96 0e |4.X.q..S..e.#i..| +000001a0 89 94 75 09 64 60 76 d2 65 85 38 3d f1 0e cb 47 |..u.d`v.e.8=...G| +000001b0 c1 2c 52 f8 ce 7a a6 9f dd 7c 39 7e a7 f9 a6 1b |.,R..z...|9~....| +000001c0 c1 23 81 a6 7a b1 6c d4 3c 1c f3 71 ce 72 24 01 |.#..z.l.<..q.r$.| +000001d0 4a 8d e9 24 47 51 73 67 dc 7a 9f 0b 63 7d 29 e1 |J..$GQsg.z..c}).| +000001e0 3e 5e ac 72 d7 c8 d9 c2 13 de 92 dd 04 cb 09 21 |>^.r...........!| +000001f0 ad 41 69 27 77 48 eb 87 cb 3b 23 ba 06 a3 68 96 |.Ai'wH...;#...h.| +00000200 ad 24 35 f6 a6 03 87 a7 4d 9f d4 bf e5 8b 9f 56 |.$5.....M......V| +00000210 54 dd 0e 08 da 29 ff eb 9b e1 0a a5 25 b1 85 be |T....)......%...| +00000220 f8 ae 63 f4 49 64 cc 0a 41 0e 26 8a 8e bc 6f c9 |..c.Id..A.&...o.| +00000230 f5 41 55 80 0d bd 70 ad 85 b0 d4 8d 33 ac b6 40 |.AU...p.....3..@| +00000240 3e 76 fc fb 8f d2 7d 06 14 d4 45 24 6e 36 46 1c |>v....}...E$n6F.| +00000250 06 d3 f7 f3 4c 3a a5 83 4f 75 72 77 b4 5e 37 49 |....L:..Ourw.^7I| +00000260 41 f1 9f e6 d1 46 87 56 c8 64 28 fd 38 f0 0f 9c |A....F.V.d(.8...| +00000270 d0 39 ff 4b 46 56 73 0d 12 7d bf 63 b4 b8 0d 33 |.9.KFVs..}.c...3| +00000280 6b 4a 2b f8 39 67 f1 ec 2d a6 0b 5c 91 2d d8 3e |kJ+.9g..-..\.-.>| +00000290 91 81 1a 37 29 c7 14 d2 be db 31 61 dc 5d b1 e4 |...7).....1a.]..| +000002a0 64 af 14 9c 93 85 e7 5b 0e 42 63 c7 5e b5 cc 51 |d......[.Bc.^..Q| +000002b0 ca 83 ca fa 52 bd 44 a1 1c 76 20 bc 3d 9f 82 79 |....R.D..v .=..y| +000002c0 20 5c 01 14 e3 07 02 4c f6 87 f7 46 b8 de 47 23 | \.....L...F..G#| +000002d0 5d 5c b3 8f cd 96 49 51 32 3f d2 5d 92 32 19 b5 |]\....IQ2?.].2..| +000002e0 10 33 46 37 f0 b5 82 23 a5 91 1f 60 fb 21 2c 08 |.3F7...#...`.!,.| +000002f0 c3 6e 17 72 0b 5d c9 7b cc 77 97 6f 20 d9 a6 fa |.n.r.].{.w.o ...| +00000300 cc 4a bb c6 3b 0e b1 66 ae 57 f5 1b 16 46 36 b7 |.J..;..f.W...F6.| +00000310 a5 94 ae 17 03 03 00 99 d7 86 a0 5f c0 d2 33 3e |..........._..3>| +00000320 ce ce ea db cb a1 a5 11 b7 cc a1 48 b6 86 f5 11 |...........H....| +00000330 d6 32 8c f9 e8 bb e3 3e ea 6f 1a df 64 cd c8 7d |.2.....>.o..d..}| +00000340 e9 cb e4 19 fe cd 75 74 03 4a fe 91 1d 87 28 65 |......ut.J....(e| +00000350 25 79 3a 19 13 ba 67 16 aa 7e 8e c0 e6 53 4f bb |%y:...g..~...SO.| +00000360 98 ed cc 59 db 5e 73 23 d4 a9 a7 2a 6d 01 73 4a |...Y.^s#...*m.sJ| +00000370 e6 65 2e c0 34 49 c1 d8 70 2e 70 1b 10 97 74 23 |.e..4I..p.p...t#| +00000380 fe 6b 5d cd fa 71 c8 43 c3 5b 42 5c 7b e0 9e 3f |.k]..q.C.[B\{..?| +00000390 a8 3d a9 d1 97 17 87 80 af 7c 5d 8b 70 ba 87 06 |.=.......|].p...| +000003a0 67 dd 29 df f3 ca 9a f4 c8 93 e8 f8 ac c0 df 8e |g.).............| +000003b0 c5 17 03 03 00 45 40 a4 26 66 29 18 b8 d6 a7 87 |.....E@.&f).....| +000003c0 91 5f 6d 79 13 f8 7a 47 cf ac 93 7c 11 cb 4a b2 |._my..zG...|..J.| +000003d0 24 a6 40 fb d4 ed 71 ec 19 53 ba ae e0 bb e6 cf |$.@...q..S......| +000003e0 d6 8a a6 3c 6a 4e a3 6f 6c d7 2d e1 8a a4 6c da |.....q=....| +00000410 dc 2f 4a 62 c2 9f e2 e5 16 51 ff 35 a7 70 df 12 |./Jb.....Q.5.p..| +00000420 23 d6 f7 6c 96 91 7f 0f 6d d4 45 5f c6 8c c5 93 |#..l....m.E_....| +00000430 b1 b7 46 ef f0 f4 a3 68 35 ff 09 38 8d 6d c6 84 |..F....h5..8.m..| +00000440 d3 1c 4d 48 4e fc 4a c0 46 06 b1 a5 1c 74 a0 44 |..MHN.J.F....t.D| +00000450 69 68 20 33 df 70 60 69 57 c7 85 bd 3e ed 55 d0 |ih 3.p`iW...>.U.| +00000460 56 84 8f 19 03 5a 54 9a d5 3e 5d 37 98 40 4c f0 |V....ZT..>]7.@L.| +00000470 5e f1 26 e5 97 01 fc 0f 2a 09 e9 7a 51 69 c0 8e |^.&.....*..zQi..| +00000480 d4 25 80 f4 ca 91 f3 a7 5c 0c 96 ba ec a8 b5 ee |.%......\.......| +00000490 ab ec 05 cb 99 30 78 48 1b 78 bf 3d b9 f4 e8 33 |.....0xH.x.=...3| +000004a0 4d 45 d1 |ME.| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 45 59 c5 37 de 55 |..........EY.7.U| -00000010 de 8c 48 e6 2e 1c c6 d9 12 58 ad 58 97 af f3 09 |..H......X.X....| -00000020 0c 86 38 94 c8 a3 d0 67 b2 3a 36 80 d8 ac f9 7e |..8....g.:6....~| -00000030 42 58 7a a1 0b a3 06 a3 32 0a e3 21 01 cb 7b 55 |BXz.....2..!..{U| -00000040 73 1a 8b 32 ba cd 85 28 f7 ed 9a c8 dd 2b d7 66 |s..2...(.....+.f| +00000000 14 03 03 00 01 01 17 03 03 00 45 54 0e c1 aa 95 |..........ET....| +00000010 fd c5 d2 8b a0 ae 40 a1 9a b8 87 39 17 53 f7 10 |......@....9.S..| +00000020 62 6f 55 18 42 cf 75 cb 05 de 32 28 c4 a0 f1 17 |boU.B.u...2(....| +00000030 f1 55 ae 2c 97 9e dd d2 d0 a7 6b c6 51 51 c6 0c |.U.,......k.QQ..| +00000040 81 3f 04 db 94 e6 68 f0 a1 80 10 39 06 99 25 e2 |.?....h....9..%.| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e ee 52 21 e0 e3 c5 ae ac 1b 26 91 |......R!......&.| -00000010 0e b3 a0 b8 70 cc 71 c8 c3 10 0f e8 b4 79 eb 47 |....p.q......y.G| -00000020 fc 13 b7 17 03 03 00 13 02 ef f4 ef 4b a2 83 93 |............K...| -00000030 4b ea 6b 63 d9 29 69 79 0e 8d 34 |K.kc.)iy..4| +00000000 17 03 03 00 1e e4 4f d5 b0 e7 a0 e2 13 69 75 7c |......O......iu|| +00000010 b1 84 93 be 99 ea 27 20 dd 08 89 6c e2 5a c6 bc |......' ...l.Z..| +00000020 b8 41 3d 17 03 03 00 13 cf 64 ad ad d9 84 87 36 |.A=......d.....6| +00000030 b9 ea b8 76 97 93 c1 03 44 c5 de |...v....D..| diff --git a/testdata/Server-TLSv13-ALPN b/testdata/Server-TLSv13-ALPN index 31d7be34..4ac9f1d7 100644 --- a/testdata/Server-TLSv13-ALPN +++ b/testdata/Server-TLSv13-ALPN @@ -1,9 +1,9 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 f8 01 00 00 f4 03 03 ff d4 51 5f e2 |.............Q_.| -00000010 dd 9d 8f 57 03 9e ce ae 23 c2 e6 17 33 de df f9 |...W....#...3...| -00000020 49 f3 42 76 dc fe 7a 91 db 67 a0 20 1b a9 d2 90 |I.Bv..z..g. ....| -00000030 d4 cb ec 3c e5 ea 1f 43 51 dd 0c 57 88 d1 a4 52 |...<...CQ..W...R| -00000040 31 48 6b a2 5c 6d 5b 53 ab 05 7b ac 00 08 13 02 |1Hk.\m[S..{.....| +00000000 16 03 01 00 f8 01 00 00 f4 03 03 65 16 78 26 cc |...........e.x&.| +00000010 27 bc 06 a0 4c f5 a3 e3 cd c2 f0 42 8c 61 0e e9 |'...L......B.a..| +00000020 8b 2b 52 ca a3 07 d6 58 96 4f f1 20 c3 7f e3 22 |.+R....X.O. ..."| +00000030 2c 27 94 91 ab cc e5 56 b1 31 fb eb ed b4 84 3e |,'.....V.1.....>| +00000040 ae 93 6e 6e a9 5c d2 47 6e 5b 0c 43 00 08 13 02 |..nn.\.Gn[.C....| 00000050 13 03 13 01 00 ff 01 00 00 a3 00 00 00 0e 00 0c |................| 00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| 00000070 03 00 01 02 00 0a 00 0c 00 0a 00 1d 00 17 00 1e |................| @@ -12,83 +12,93 @@ 000000a0 00 17 00 00 00 0d 00 1e 00 1c 04 03 05 03 06 03 |................| 000000b0 08 07 08 08 08 09 08 0a 08 0b 08 04 08 05 08 06 |................| 000000c0 04 01 05 01 06 01 00 2b 00 03 02 03 04 00 2d 00 |.......+......-.| -000000d0 02 01 01 00 33 00 26 00 24 00 1d 00 20 39 8f 57 |....3.&.$... 9.W| -000000e0 2f 4c ec 9a 34 c2 9a 00 63 8d 55 d0 41 61 6b bf |/L..4...c.U.Aak.| -000000f0 81 28 57 ea dc aa 36 11 aa bf 73 89 6a |.(W...6...s.j| +000000d0 02 01 01 00 33 00 26 00 24 00 1d 00 20 76 1d a9 |....3.&.$... v..| +000000e0 43 43 a4 98 96 39 59 80 b0 7e 13 29 2a ea 53 e7 |CC...9Y..~.)*.S.| +000000f0 34 73 7a 10 0c f5 b0 92 b1 ab e2 26 17 |4sz........&.| >>> Flow 2 (server to client) 00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 1b a9 d2 90 |........... ....| -00000030 d4 cb ec 3c e5 ea 1f 43 51 dd 0c 57 88 d1 a4 52 |...<...CQ..W...R| -00000040 31 48 6b a2 5c 6d 5b 53 ab 05 7b ac 13 02 00 00 |1Hk.\m[S..{.....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 c3 7f e3 22 |........... ..."| +00000030 2c 27 94 91 ab cc e5 56 b1 31 fb eb ed b4 84 3e |,'.....V.1.....>| +00000040 ae 93 6e 6e a9 5c d2 47 6e 5b 0c 43 13 02 00 00 |..nn.\.Gn[.C....| 00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| 00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| -00000080 03 03 00 01 01 17 03 03 00 24 6b 2e 09 93 7b 47 |.........$k...{G| -00000090 92 5b ec 7a 94 83 04 a4 fc 5d 9c b0 ca 11 3f 94 |.[.z.....]....?.| -000000a0 fd cb 36 55 be e8 20 34 6e fd db 23 61 d7 17 03 |..6U.. 4n..#a...| -000000b0 03 02 6d 75 74 6c 3e ca 77 66 06 c7 26 76 83 9f |..mutl>.wf..&v..| -000000c0 54 23 47 53 d6 b7 7f 6f a1 fb 78 c5 aa 85 fb 40 |T#GS...o..x....@| -000000d0 9f 34 48 a3 ad 47 70 9f 5f b4 96 f6 5b c8 ac ba |.4H..Gp._...[...| -000000e0 cc f7 ee 3e 9c 7a ad 48 57 44 ce 77 4f 17 13 6c |...>.z.HWD.wO..l| -000000f0 90 f4 c5 53 92 37 16 aa 59 60 51 9d f2 b7 9f 31 |...S.7..Y`Q....1| -00000100 a6 a9 15 86 fe 01 04 36 22 b0 48 45 a0 b5 dd 0f |.......6".HE....| -00000110 87 a7 33 dd 8b 76 66 af e6 a3 7c 1d 1b fb 1d 77 |..3..vf...|....w| -00000120 5e d4 c7 51 50 6f 36 b2 48 c7 a2 7e 3a 1c ad 76 |^..QPo6.H..~:..v| -00000130 01 43 6a bf 8a 2b a8 02 71 3b 9b aa 80 63 35 20 |.Cj..+..q;...c5 | -00000140 b9 37 05 9c 09 41 1d 07 31 2a 43 f9 36 5e 38 62 |.7...A..1*C.6^8b| -00000150 cc 2f 08 6f ff 91 28 98 4b 69 a3 0d 61 c3 cd b7 |./.o..(.Ki..a...| -00000160 06 84 f8 fc a9 e0 46 ac f7 df ba 12 aa c5 d4 4c |......F........L| -00000170 34 4e c3 6c 46 3c d5 d6 63 91 28 b5 32 9a f0 70 |4N.lF<..c.(.2..p| -00000180 15 e6 5e c3 06 de 3b 3b ac a8 b6 78 04 d1 d4 78 |..^...;;...x...x| -00000190 73 10 7d 80 ce c1 56 9d 0e ea 0d 6a 16 75 34 04 |s.}...V....j.u4.| -000001a0 32 bc d4 52 5f 54 90 8a ad a7 7a bc 68 be ba cc |2..R_T....z.h...| -000001b0 60 14 a4 b7 d5 b4 51 b7 11 9a c8 4e 5d d1 a3 71 |`.....Q....N]..q| -000001c0 75 d6 47 d7 03 68 34 a5 32 09 b3 98 43 21 b5 0c |u.G..h4.2...C!..| -000001d0 50 e5 1a 5e d3 0c c3 2d 93 d7 d6 42 4d 98 76 66 |P..^...-...BM.vf| -000001e0 b3 a0 94 25 fc 88 17 33 6d 22 7c 3a da 0c 8e ec |...%...3m"|:....| -000001f0 fa cf 92 20 e0 f7 8f 1e b5 e3 4c 13 4d 4d 45 10 |... ......L.MME.| -00000200 8e e3 4e 0f 4e 9d 63 ec ad 73 7f a3 11 88 69 f2 |..N.N.c..s....i.| -00000210 6f 4e 91 c4 d4 ad 2c a4 21 89 50 a9 f9 2d 9c ff |oN....,.!.P..-..| -00000220 ff 0e db b9 fb 14 1b c1 8c 9b cf 94 49 a3 85 2c |............I..,| -00000230 2d d2 15 12 0c 7d 70 12 01 07 62 1f 05 f0 88 51 |-....}p...b....Q| -00000240 82 84 ac 2a b9 c5 56 ee 6e a5 5f cd 3f 92 0b cc |...*..V.n._.?...| -00000250 8a d2 92 91 93 a1 11 4c 42 3d c9 87 29 e7 13 7d |.......LB=..)..}| -00000260 33 b4 14 0f 1b ed d4 94 17 a1 31 5b 44 e9 1d 78 |3.........1[D..x| -00000270 6a 0f dd d4 0a 3b 40 f1 a2 a2 ab 84 4c 25 7f cd |j....;@.....L%..| -00000280 09 45 36 d8 b8 c3 3c 80 2a 00 67 dd eb 9b 67 b1 |.E6...<.*.g...g.| -00000290 d5 22 d6 84 a7 15 fe 56 b3 b0 a2 6e 64 7e 74 23 |.".....V...nd~t#| -000002a0 9f 20 72 ca f1 b9 03 02 56 a5 d4 d3 f7 bb 53 67 |. r.....V.....Sg| -000002b0 27 1f 2c b2 4e f1 05 17 8b 72 f5 27 cc 66 62 5b |'.,.N....r.'.fb[| -000002c0 95 cf 6e 5b e8 b9 ee d0 f8 b2 6b 4c 3e 99 c4 ed |..n[......kL>...| -000002d0 da 9d 12 73 9e 80 bc 83 6f f1 09 8f 74 47 01 df |...s....o...tG..| -000002e0 f5 ff b0 21 8b 4e 7c 3e 16 47 18 48 51 e0 e2 7f |...!.N|>.G.HQ...| -000002f0 dc 9f e3 2e 35 b0 5b e1 55 29 d7 11 85 5b c3 10 |....5.[.U)...[..| -00000300 5c dc 61 30 52 5f 53 83 08 87 6d b6 1c f2 2b ff |\.a0R_S...m...+.| -00000310 3e 60 17 5b ff fc a2 db 5c 24 6a 70 19 28 ba 14 |>`.[....\$jp.(..| -00000320 17 03 03 00 99 64 2f 8f 76 2f 84 aa c9 ca 55 00 |.....d/.v/....U.| -00000330 16 e4 22 b7 88 be 72 3b 7a db b7 85 0f 44 df dc |.."...r;z....D..| -00000340 7e fa 2c 76 37 c1 dd 95 96 ac c3 0e 4f ce ee ea |~.,v7.......O...| -00000350 71 91 5a 98 af e5 50 4f 5d 42 2d 57 b5 cf a6 a3 |q.Z...PO]B-W....| -00000360 db df 73 a2 1d b4 02 e4 b5 23 ae f5 da b7 f6 cd |..s......#......| -00000370 7d 48 d2 5e 7c 40 4f c6 9b 3e f7 51 8a 58 df b6 |}H.^|@O..>.Q.X..| -00000380 56 ac 3f 17 a4 95 ce 06 5b a3 b4 df 72 08 35 20 |V.?.....[...r.5 | -00000390 0f 92 fd 48 45 48 e1 c2 cf 1f b4 fb 9b 7d b8 6c |...HEH.......}.l| -000003a0 6d fa 10 04 d6 14 a9 59 0e 97 c9 33 85 ca d4 62 |m......Y...3...b| -000003b0 46 b7 0b e8 78 67 ca 6b e5 66 b3 72 f8 90 17 03 |F...xg.k.f.r....| -000003c0 03 00 45 c6 c1 e4 ff 98 d3 4f 79 cd 61 7b 31 42 |..E......Oy.a{1B| -000003d0 f6 db 92 92 f8 ee 41 98 cd 8c db 4f ab e1 84 43 |......A....O...C| -000003e0 d9 35 5a 3a ab 86 0f 3a 5a e3 e4 f6 41 1d 98 6b |.5Z:...:Z...A..k| -000003f0 b2 ac e7 e3 5a 38 c9 54 29 4a ba 13 ed 80 d8 71 |....Z8.T)J.....q| -00000400 6f b9 15 8a 39 3b 89 24 |o...9;.$| +00000080 03 03 00 01 01 17 03 03 00 24 1a dd ed 59 79 84 |.........$...Yy.| +00000090 d6 2e 17 81 75 e0 ee b3 98 8c 04 a3 ea 7c 46 f0 |....u........|F.| +000000a0 76 58 78 5a 37 99 a6 32 ad c6 5a 5a 3a ce 17 03 |vXxZ7..2..ZZ:...| +000000b0 03 02 6d 31 3b 00 34 ef 22 53 8a 31 f5 88 fb 3f |..m1;.4."S.1...?| +000000c0 e4 72 a8 20 65 ef be c6 78 84 4e 93 6a 8a fa 01 |.r. e...x.N.j...| +000000d0 10 b0 dd 0e 7d 8f 07 b8 da 29 4b 0a 5b 32 de cf |....}....)K.[2..| +000000e0 31 66 04 9c c6 d8 ab f0 07 f0 aa c3 b6 3e bf d4 |1f...........>..| +000000f0 0e 53 5d a4 4f aa 19 cf f4 3d 60 5b 19 ec e3 e2 |.S].O....=`[....| +00000100 71 1b 54 20 48 41 68 32 f5 28 06 e2 b7 29 89 c3 |q.T HAh2.(...)..| +00000110 d5 eb 07 f3 49 fb 0b f5 81 0a f2 65 70 24 a9 bc |....I......ep$..| +00000120 6b e7 70 58 7c f2 0a 91 3e f4 26 ea 1a 22 15 24 |k.pX|...>.&..".$| +00000130 5a 28 43 89 ac 1c 9b 39 1a 93 ec 32 5e ba cb f4 |Z(C....9...2^...| +00000140 57 a1 ca 03 8e 2e 0b 96 e7 7f e5 c5 30 22 ec fd |W...........0"..| +00000150 fe 6d 5f 01 e9 7a 5e b3 68 67 ee e9 23 d5 72 46 |.m_..z^.hg..#.rF| +00000160 77 05 b7 27 26 78 fe f9 cc c8 c2 fe a8 4e 93 04 |w..'&x.......N..| +00000170 56 bc 64 f1 55 ff 92 8d cb 81 46 cb 2d db 9b 41 |V.d.U.....F.-..A| +00000180 59 76 0c b5 65 7a e1 09 2f b6 3b d4 92 87 7c a6 |Yv..ez../.;...|.| +00000190 06 d7 37 aa db bc 07 12 a4 2e 38 be 97 83 80 80 |..7.......8.....| +000001a0 86 05 3a 4b 89 25 7f ef 5e 54 42 4a 89 99 f2 95 |..:K.%..^TBJ....| +000001b0 70 92 fb ac 2f ae b4 1f a0 5c 8c bf 45 2d 54 91 |p.../....\..E-T.| +000001c0 01 88 d5 9b a3 da af 67 1c ce 2e 9c 05 4c 68 d8 |.......g.....Lh.| +000001d0 b5 ee 98 06 a4 18 c8 c0 2d 7c bf 6e e2 eb 0d aa |........-|.n....| +000001e0 5b c6 f8 27 ad 3a 1a cf ac 35 f4 55 41 3c e0 8c |[..'.:...5.UA<..| +000001f0 3e 26 56 95 33 c4 f1 05 5a e7 9d 6e 33 90 d1 37 |>&V.3...Z..n3..7| +00000200 03 77 1f 76 1a 35 43 c1 a4 8c 5a 68 f5 bc 6c 7a |.w.v.5C...Zh..lz| +00000210 43 27 37 cd d9 55 76 69 bd 78 47 4e 2e 25 96 e6 |C'7..Uvi.xGN.%..| +00000220 8f 46 a3 70 ff b8 55 f2 66 46 2c 59 ad b9 b7 9a |.F.p..U.fF,Y....| +00000230 a1 dc a4 8b 2b fa 14 17 dd bf 46 c6 9a ef 50 54 |....+.....F...PT| +00000240 6e b8 d3 d7 13 d4 74 dd a5 ef 16 5f 2a fa ea 9b |n.....t...._*...| +00000250 59 7c 41 f8 6d 00 b5 01 9d c8 35 34 1e 1c 3f 64 |Y|A.m.....54..?d| +00000260 6a da 1e c4 64 4d e5 2e c7 28 f8 14 70 e6 72 4b |j...dM...(..p.rK| +00000270 ab 8a 22 5e 2b 5c aa b3 02 72 80 0c 80 11 cd 18 |.."^+\...r......| +00000280 b8 e1 8c 54 54 72 fd 68 71 66 ef bc 3e 03 ca a4 |...TTr.hqf..>...| +00000290 ae f4 ad 7b 29 08 ff 49 07 09 bc a1 cd e3 14 69 |...{)..I.......i| +000002a0 47 0e b0 c0 a8 89 3a 7b 71 e5 ba 32 36 e8 b5 0a |G.....:{q..26...| +000002b0 9e f6 9f 6f 12 89 f5 36 5c 96 28 e1 2d 6b b3 06 |...o...6\.(.-k..| +000002c0 d6 68 d3 99 f4 3d 27 b2 61 df 75 29 a0 24 8a ba |.h...='.a.u).$..| +000002d0 48 c4 5c 8c 36 21 3a 3e bf 92 4f 73 cc bd a1 b1 |H.\.6!:>..Os....| +000002e0 e7 00 c6 05 94 1e 8e 73 d3 52 aa 4d 02 40 3b 50 |.......s.R.M.@;P| +000002f0 5f f0 37 b6 61 43 9f 39 63 64 ad 37 12 97 2a 0c |_.7.aC.9cd.7..*.| +00000300 5e d9 20 e0 78 da f3 80 d8 29 ea b3 c5 52 55 cc |^. .x....)...RU.| +00000310 3d e0 91 b7 f8 f9 b0 29 5a b3 e9 65 04 31 5c 6c |=......)Z..e.1\l| +00000320 17 03 03 00 99 7d d6 2e 45 d8 e2 5b f8 c1 21 86 |.....}..E..[..!.| +00000330 8a 31 78 88 5d 61 ca 8c e5 23 07 d7 85 da cb 04 |.1x.]a...#......| +00000340 be c3 24 2b 27 42 bb a1 1e 4f 8b bb a2 5d 3b 1e |..$+'B...O...];.| +00000350 8a 64 f0 2a 2f 79 51 cc 1b 34 99 b6 33 75 31 c9 |.d.*/yQ..4..3u1.| +00000360 2e ea 70 ef 97 c4 bb 4c ec aa cf 11 6c 88 96 c4 |..p....L....l...| +00000370 9b b9 df b9 ef 10 bb 36 65 1f 8d 7e 22 e8 67 80 |.......6e..~".g.| +00000380 80 6e 2b 34 94 a4 5f b1 5d 88 11 2e bf 22 f9 fe |.n+4.._.]...."..| +00000390 be 76 e8 86 da 40 76 8c 9c 40 b6 b4 50 41 92 f5 |.v...@v..@..PA..| +000003a0 ce 8c bd 13 ea f0 6f 56 c2 1c c6 ed 08 33 71 36 |......oV.....3q6| +000003b0 a4 16 b6 ca bf ba 0e 65 b0 a2 2b 35 39 c7 17 03 |.......e..+59...| +000003c0 03 00 45 3b 7a 67 26 15 b4 9b 0f ba 61 5d d0 4c |..E;zg&.....a].L| +000003d0 60 27 29 03 fb da 90 ea 0c 64 22 24 ac 60 74 02 |`')......d"$.`t.| +000003e0 0e 99 e0 e1 55 35 da c2 75 19 82 0c fa f8 f0 09 |....U5..u.......| +000003f0 35 1e ca de d1 e1 17 8e d2 f7 fb f9 94 d1 03 fb |5...............| +00000400 b5 8a 32 f6 8f 02 5f fa 17 03 03 00 a3 21 96 04 |..2..._......!..| +00000410 46 58 eb 83 db 06 a7 ba f2 9e 5c 8a 35 0d 87 78 |FX........\.5..x| +00000420 29 17 4f 7a 95 21 1f b4 f3 fa bb de 93 b7 e7 1c |).Oz.!..........| +00000430 24 40 06 6b 9f b5 12 49 36 39 01 b9 17 cb 5c 99 |$@.k...I69....\.| +00000440 93 71 dc 8f c5 54 c0 dd ff 36 92 24 cd b3 ac 40 |.q...T...6.$...@| +00000450 c0 57 76 c3 2a a0 d3 07 af 00 4b df c5 f9 34 77 |.Wv.*.....K...4w| +00000460 ed cc 14 e1 50 bf 41 1e b5 39 5d 92 a8 e4 f5 a6 |....P.A..9].....| +00000470 b2 12 08 56 b6 43 cf dc eb a9 0e 9e 0e 8a 97 63 |...V.C.........c| +00000480 f8 92 a8 1b 74 f3 65 60 6a f3 f0 e7 54 fd d3 08 |....t.e`j...T...| +00000490 20 ce b4 16 ab c9 e1 7a 49 9c bf d6 3a a7 2b 5c | ......zI...:.+\| +000004a0 1b 1c a7 89 f3 6a 6d 3d 0a 07 16 b4 c1 c2 4b 2e |.....jm=......K.| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 45 93 c5 37 2f 37 |..........E..7/7| -00000010 8d ae 7f be 77 25 59 77 39 37 d7 f0 29 68 25 cb |....w%Yw97..)h%.| -00000020 fb 2d 8a 7e 83 d4 60 09 84 69 1a bd 05 fd d8 53 |.-.~..`..i.....S| -00000030 98 f7 40 f5 ba 1b 5e 62 03 50 be 25 65 1b d8 d1 |..@...^b.P.%e...| -00000040 32 a9 6d bf 3d ad bc 0a 1e f1 f6 52 45 5e 98 6c |2.m.=......RE^.l| +00000000 14 03 03 00 01 01 17 03 03 00 45 90 6e 35 6d 4e |..........E.n5mN| +00000010 3b 8a 39 88 85 99 ac 05 fe 2c e3 a8 31 46 4e c2 |;.9......,..1FN.| +00000020 ea fe a2 ff 41 5b 64 77 bc 0c 6d 72 f7 c8 f3 07 |....A[dw..mr....| +00000030 ce 29 c2 6e 7c b5 88 13 35 f8 c0 90 98 ab 0f f9 |.).n|...5.......| +00000040 e2 8e 57 7e 23 7b 57 17 b6 13 11 9e 52 67 44 26 |..W~#{W.....RgD&| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e e2 90 5e 4a be d1 94 5f 64 9e 3a |.......^J..._d.:| -00000010 92 3c e2 bc be df 1b da b2 c0 eb 0d f3 2e 7d 23 |.<............}#| -00000020 fe 71 13 17 03 03 00 13 2a 3e 5b dc 81 c5 2f 73 |.q......*>[.../s| -00000030 81 90 29 95 13 64 59 a3 40 cc d6 |..)..dY.@..| +00000000 17 03 03 00 1e 98 55 d6 42 d5 d4 01 c9 be 70 27 |......U.B.....p'| +00000010 9e 5a d5 7d fc 41 1e ec fe fd d5 0f 01 16 56 82 |.Z.}.A........V.| +00000020 13 13 c7 17 03 03 00 13 bb 71 20 65 f8 af 42 ea |.........q e..B.| +00000030 42 73 b8 24 d8 dc 79 7c 71 32 35 |Bs.$..y|q25| diff --git a/testdata/Server-TLSv13-ALPN-NoMatch b/testdata/Server-TLSv13-ALPN-NoMatch index 0abc7171..84c38acb 100644 --- a/testdata/Server-TLSv13-ALPN-NoMatch +++ b/testdata/Server-TLSv13-ALPN-NoMatch @@ -1,9 +1,9 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 f8 01 00 00 f4 03 03 d8 28 7b f8 3a |............({.:| -00000010 90 13 9b b7 92 e5 33 de 3c 0a 29 bf 0b d8 1b a6 |......3.<.).....| -00000020 d4 8b a5 f9 fa 72 37 b5 6c 0d 4b 20 6b a5 56 0d |.....r7.l.K k.V.| -00000030 86 c6 28 d5 7e 10 c3 6f 36 c3 d1 d2 90 41 34 ee |..(.~..o6....A4.| -00000040 0c ef 47 5f 17 43 ac 86 59 70 44 14 00 08 13 02 |..G_.C..YpD.....| +00000000 16 03 01 00 f8 01 00 00 f4 03 03 b6 62 6e 7c 66 |............bn|f| +00000010 e0 73 6f bc ce d7 e3 5c 3a 39 c5 c9 5e f3 8f 76 |.so....\:9..^..v| +00000020 f0 ed 0e 30 fd 80 a0 79 74 fd d4 20 6b 6e f8 9d |...0...yt.. kn..| +00000030 30 1b ee fa 7c 5f 64 e0 da 81 26 7a 85 d2 f9 79 |0...|_d...&z...y| +00000040 e7 09 71 f8 2a 4c 41 74 02 a9 0c d2 00 08 13 02 |..q.*LAt........| 00000050 13 03 13 01 00 ff 01 00 00 a3 00 00 00 0e 00 0c |................| 00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| 00000070 03 00 01 02 00 0a 00 0c 00 0a 00 1d 00 17 00 1e |................| @@ -12,82 +12,93 @@ 000000a0 00 17 00 00 00 0d 00 1e 00 1c 04 03 05 03 06 03 |................| 000000b0 08 07 08 08 08 09 08 0a 08 0b 08 04 08 05 08 06 |................| 000000c0 04 01 05 01 06 01 00 2b 00 03 02 03 04 00 2d 00 |.......+......-.| -000000d0 02 01 01 00 33 00 26 00 24 00 1d 00 20 71 31 a3 |....3.&.$... q1.| -000000e0 98 a9 e0 5b f1 45 57 46 18 1a 9b d9 04 a7 30 16 |...[.EWF......0.| -000000f0 c5 e7 f3 11 e7 16 92 ed f1 54 4d d2 29 |.........TM.)| +000000d0 02 01 01 00 33 00 26 00 24 00 1d 00 20 8d 7d e2 |....3.&.$... .}.| +000000e0 55 da a7 1b 29 fc a4 d3 b0 62 51 43 d9 d6 cd 79 |U...)....bQC...y| +000000f0 a4 f9 3c f2 4e 03 87 1f 38 29 35 c3 36 |..<.N...8)5.6| >>> Flow 2 (server to client) 00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 6b a5 56 0d |........... k.V.| -00000030 86 c6 28 d5 7e 10 c3 6f 36 c3 d1 d2 90 41 34 ee |..(.~..o6....A4.| -00000040 0c ef 47 5f 17 43 ac 86 59 70 44 14 13 02 00 00 |..G_.C..YpD.....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 6b 6e f8 9d |........... kn..| +00000030 30 1b ee fa 7c 5f 64 e0 da 81 26 7a 85 d2 f9 79 |0...|_d...&z...y| +00000040 e7 09 71 f8 2a 4c 41 74 02 a9 0c d2 13 02 00 00 |..q.*LAt........| 00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| 00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| -00000080 03 03 00 01 01 17 03 03 00 17 65 07 84 ea dc f3 |..........e.....| -00000090 6d 0e 15 2d 61 75 65 05 38 ca 43 ef 5d 14 fc bf |m..-aue.8.C.]...| -000000a0 d3 17 03 03 02 6d d3 f2 e2 97 77 75 a4 ef f1 81 |.....m....wu....| -000000b0 33 c7 c8 ca f0 8e 26 91 78 4d 18 b7 2d d8 30 69 |3.....&.xM..-.0i| -000000c0 8a 3e d7 f1 13 34 1a 61 43 a7 a8 44 0c 6f e5 da |.>...4.aC..D.o..| -000000d0 4b 5e 8d 58 16 98 c8 63 fb c9 07 cb 84 c8 2d a9 |K^.X...c......-.| -000000e0 6b be 04 51 d4 e7 75 11 28 44 f4 8c 77 96 ab 0d |k..Q..u.(D..w...| -000000f0 e7 54 ff ad 43 b6 7b d2 63 46 7c 07 ee 03 a8 e1 |.T..C.{.cF|.....| -00000100 73 98 05 32 5d 73 fc d0 6c 4c 3a 56 e4 02 e7 05 |s..2]s..lL:V....| -00000110 8d 18 c6 dc e5 b9 4f f4 ee 8b 7c 29 12 d7 b9 22 |......O...|)..."| -00000120 90 21 3d 1d 83 09 a4 ac b9 bb f9 b3 0d 2b 82 b5 |.!=..........+..| -00000130 5a ca a7 fc 46 aa 3b ae 75 14 67 3e 69 a5 95 ea |Z...F.;.u.g>i...| -00000140 79 58 6d 72 63 c1 64 62 88 2e 6f a1 cb 2c aa 18 |yXmrc.db..o..,..| -00000150 5a c0 48 79 45 05 66 01 91 05 4d f7 da 61 b9 d8 |Z.HyE.f...M..a..| -00000160 c0 49 d8 1a e5 de de 84 a1 8f 7f db 33 63 50 1c |.I..........3cP.| -00000170 d3 f1 0d 54 7e 00 94 89 79 70 54 8d 6d ff ad a0 |...T~...ypT.m...| -00000180 ea 2a ac ec dd 3b 51 8c 32 56 1a e8 81 c1 48 cb |.*...;Q.2V....H.| -00000190 98 16 3c 5b b2 54 00 97 87 c6 ae 92 15 8a 00 1f |..<[.T..........| -000001a0 1b ad b8 58 a8 5c 8d ea 69 5a 60 3b e5 e2 9b 3c |...X.\..iZ`;...<| -000001b0 2e 9b 55 94 c2 f9 9a 5e a1 e2 92 8d 15 16 74 90 |..U....^......t.| -000001c0 0f 3c 2f 10 42 99 46 e9 52 7a b6 74 4b 96 2d 6e |...Z3aI.MG| +00000100 95 16 c5 6e a4 b3 94 44 4c 8b 5d d6 2c c9 26 a1 |...n...DL.].,.&.| +00000110 01 e8 cc 20 9c 19 d3 3e eb d5 7c 97 4e 1e af 7b |... ...>..|.N..{| +00000120 68 0e 7b eb bb 91 81 60 a2 c8 37 96 84 f2 cd fe |h.{....`..7.....| +00000130 7f 22 7f 7f 22 6a c7 23 68 79 48 ae 35 47 27 4b |.".."j.#hyH.5G'K| +00000140 c0 ce e7 9c 7f 23 fd 44 e1 a5 da 9f 61 94 46 1f |.....#.D....a.F.| +00000150 6c ea b9 50 53 c2 35 70 d4 77 d7 2d d5 54 fb d7 |l..PS.5p.w.-.T..| +00000160 90 4b f9 bb 98 67 cc 5b 97 56 ef ff 5d c9 08 9c |.K...g.[.V..]...| +00000170 26 cd cf ba 51 6f a5 f4 20 34 83 85 ef 71 98 1b |&...Qo.. 4...q..| +00000180 dd 41 f9 51 f3 59 77 d7 b5 f5 98 40 fd 78 ef b6 |.A.Q.Yw....@.x..| +00000190 47 8c 27 e3 c8 ae 9d c3 47 92 dc 97 23 82 2f 80 |G.'.....G...#./.| +000001a0 2f 0f 17 17 17 f1 49 ec c3 1c 73 02 38 b3 a6 6d |/.....I...s.8..m| +000001b0 89 5f 55 30 ea 10 5d fe a7 6e 88 fb cc fd 9a 01 |._U0..]..n......| +000001c0 10 f8 4e 6a 7f ba 62 ab 15 85 7a 8d fc de 92 f7 |..Nj..b...z.....| +000001d0 91 9a d8 dc f3 de 3e 36 19 45 44 8c d7 03 67 c8 |......>6.ED...g.| +000001e0 14 24 09 33 1b f3 2f 2d a6 a5 9a 6c e2 04 da 4b |.$.3../-...l...K| +000001f0 18 13 57 12 83 86 46 8f af 35 f4 0a 1b 09 1c 25 |..W...F..5.....%| +00000200 bb 1e 22 fb 71 48 3f 34 47 d4 52 ec 3c 81 dd 5b |..".qH?4G.R.<..[| +00000210 0d a0 b4 74 a7 60 5f 60 14 ee d3 08 54 92 45 42 |...t.`_`....T.EB| +00000220 52 82 8d 54 84 ee c0 1d a7 a9 b4 a0 13 82 75 cd |R..T..........u.| +00000230 f6 a7 bc aa 0a e9 0a c5 36 ea 6f c1 8b 56 22 81 |........6.o..V".| +00000240 0a 8e 81 3d bf 34 f4 cc 80 02 d2 01 b5 2c b8 6b |...=.4.......,.k| +00000250 4b e8 06 06 cf e1 69 50 59 ea b2 a5 b0 06 96 02 |K.....iPY.......| +00000260 0e 45 8c 8c 46 ae 24 a0 80 92 75 46 7b cd 9e de |.E..F.$...uF{...| +00000270 a2 a0 d5 f4 68 ef 34 82 37 08 64 62 e8 eb 41 a4 |....h.4.7.db..A.| +00000280 32 a8 d4 c3 ee 16 67 2c 47 08 ef 23 c7 27 4a 21 |2.....g,G..#.'J!| +00000290 5c 66 36 93 6c 8c 8c fd 04 9a d9 84 e0 be 45 50 |\f6.l.........EP| +000002a0 0c 42 a2 d3 ba 5a 92 14 86 75 d2 33 6f 8b 69 a3 |.B...Z...u.3o.i.| +000002b0 b2 da 7e 19 e0 a6 0d 8e cb 21 bf f6 fa 5c 41 de |..~......!...\A.| +000002c0 d8 56 f7 d0 53 66 54 d2 5c e7 b5 20 af 0d 01 5a |.V..SfT.\.. ...Z| +000002d0 09 d0 ed 7f f1 1d d7 32 55 a8 c2 5a ba d8 e1 46 |.......2U..Z...F| +000002e0 fb 32 39 8b 8c 94 73 44 85 64 d6 c7 9f 6a d5 4e |.29...sD.d...j.N| +000002f0 fc 16 a2 10 cb 06 43 10 da a5 b2 71 e7 04 a6 3f |......C....q...?| +00000300 83 79 2c cb 2e 40 ab c8 53 18 11 95 3a f5 b9 b7 |.y,..@..S...:...| +00000310 df 99 d7 17 03 03 00 99 c0 29 f3 15 df b1 dc 36 |.........).....6| +00000320 a9 78 21 ed ba 5a 85 11 51 23 3f e9 b4 b3 bb b3 |.x!..Z..Q#?.....| +00000330 27 92 8e 9c a0 f8 b3 38 35 ef 9f bf 2b 31 82 cd |'......85...+1..| +00000340 de 3a 0c 0c b1 09 65 77 00 4c af 8c fe ff 2c 75 |.:....ew.L....,u| +00000350 62 48 13 96 63 5c 73 00 13 1f ef 27 f5 b2 4c fe |bH..c\s....'..L.| +00000360 8e 2a ff ab 94 68 5e 7c 02 19 d5 f3 68 07 b8 a1 |.*...h^|....h...| +00000370 2a 48 fc 4e ad b9 1c 95 13 d9 19 9d 47 7f 07 4d |*H.N........G..M| +00000380 b8 75 79 e7 da 6f 46 3e eb 27 c4 6f da ab bb fd |.uy..oF>.'.o....| +00000390 0a 04 08 15 c4 45 c4 1a 09 db 48 ca 3d 8e 63 af |.....E....H.=.c.| +000003a0 d8 0d 6b a2 04 22 eb 6d ed bf b6 45 d2 c8 b9 ee |..k..".m...E....| +000003b0 02 17 03 03 00 45 5c ef 9a 1c 12 95 25 da 79 21 |.....E\.....%.y!| +000003c0 6c 74 a2 64 cf bf aa cd 53 a4 43 48 d7 f3 b2 35 |lt.d....S.CH...5| +000003d0 da f2 0e d4 1c 14 23 63 8f 7a e5 5a 98 46 71 ad |......#c.z.Z.Fq.| +000003e0 19 a2 8f 22 b1 c5 93 89 0b 7f cd 38 09 9a ea f1 |...".......8....| +000003f0 51 6b 46 0f 8b 00 8d c2 1a 97 de 17 03 03 00 a3 |QkF.............| +00000400 32 88 68 5e f9 90 07 5d 4d 04 3d 1d 26 ac a2 1b |2.h^...]M.=.&...| +00000410 54 d0 37 7c 9f e7 8f ee c5 a6 bc b6 a9 78 08 40 |T.7|.........x.@| +00000420 f3 07 2f f5 b4 1f 08 c6 af 2d 4f 2e 87 4e 5f 95 |../......-O..N_.| +00000430 c9 b7 42 3a b5 ef ff 43 41 05 7c 7d 64 3f 56 ec |..B:...CA.|}d?V.| +00000440 ee b6 04 61 0a 56 79 77 5f 1c be e2 24 a2 cb 81 |...a.Vyw_...$...| +00000450 96 6f 95 6e a7 5a 2c 9e a0 e6 30 e5 f7 02 ff 10 |.o.n.Z,...0.....| +00000460 33 28 6e d7 ec 34 98 bf 26 2e 56 1d 99 e9 50 94 |3(n..4..&.V...P.| +00000470 71 be 0e 05 d3 86 95 db b9 4f 42 80 8a 12 2e ff |q........OB.....| +00000480 b6 be 81 f2 6f 4c 6a 00 a0 b8 53 c7 d7 fa 94 c6 |....oLj...S.....| +00000490 b2 b5 80 4b 3e e9 88 42 36 52 23 ca e4 48 b6 03 |...K>..B6R#..H..| +000004a0 13 7d 69 |.}i| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 45 3e 0c e1 f6 9c |..........E>....| -00000010 ee d8 82 9d b6 e6 ef ea 09 6e 2a a3 e7 45 1b 07 |.........n*..E..| -00000020 95 c8 d5 56 05 c4 90 10 24 eb bc de 52 d9 8e bb |...V....$...R...| -00000030 32 0e 5e 60 a4 bc 09 47 40 e5 30 56 b5 55 a6 ba |2.^`...G@.0V.U..| -00000040 b2 ad 2a 36 59 2e 33 49 54 e8 7e d6 ea 11 db 09 |..*6Y.3IT.~.....| +00000000 14 03 03 00 01 01 17 03 03 00 45 1d 07 22 a7 34 |..........E..".4| +00000010 0d a7 a0 e5 8c ed 58 d4 5c 39 d2 96 43 73 eb 8c |......X.\9..Cs..| +00000020 5f c1 0c 90 67 6f ae b1 ae ee 6c dd cd 47 31 83 |_...go....l..G1.| +00000030 be b1 f2 50 ec 31 54 ba 21 82 c4 bd aa 51 0a 7a |...P.1T.!....Q.z| +00000040 0d 25 18 68 00 18 8b 51 c3 ca ae b1 fa 20 e0 0b |.%.h...Q..... ..| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e 7c c1 c4 be 47 41 b6 b4 8a 37 cb |.....|...GA...7.| -00000010 d0 33 f4 e3 5d a1 62 3e 9a 0b fd a5 df a3 85 f2 |.3..].b>........| -00000020 2d 0d 9d 17 03 03 00 13 29 f1 b6 f3 3f db 71 5c |-.......)...?.q\| -00000030 fc af 5a 52 52 3f a8 a2 f5 03 57 |..ZRR?....W| +00000000 17 03 03 00 1e 1a 08 af cf 27 80 23 d8 94 0a fe |.........'.#....| +00000010 44 1c 78 f2 76 ac 9b 90 db 5c b6 8d c0 73 36 62 |D.x.v....\...s6b| +00000020 82 5d 8a 17 03 03 00 13 1a 2b 70 c9 14 dc c8 df |.].......+p.....| +00000030 e2 01 4e 69 e8 d7 13 0c 94 96 75 |..Ni......u| diff --git a/testdata/Server-TLSv13-CHACHA20-SHA256 b/testdata/Server-TLSv13-CHACHA20-SHA256 index 8c2dcefa..760c5970 100644 --- a/testdata/Server-TLSv13-CHACHA20-SHA256 +++ b/testdata/Server-TLSv13-CHACHA20-SHA256 @@ -1,9 +1,9 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 dc 01 00 00 d8 03 03 3a 67 df d1 61 |...........:g..a| -00000010 7e 99 9a 82 12 bc af 5e 66 ca 60 c4 a2 7f a6 a6 |~......^f.`.....| -00000020 71 b5 ff b7 e5 96 12 21 f0 92 85 20 e6 52 d4 99 |q......!... .R..| -00000030 4b 4a b0 43 53 5e d4 cd 8e d9 a9 f5 42 aa c4 64 |KJ.CS^......B..d| -00000040 58 65 ec 46 ae d9 d7 0d 62 de 21 2e 00 04 13 03 |Xe.F....b.!.....| +00000000 16 03 01 00 dc 01 00 00 d8 03 03 7f d6 02 2f 2d |............../-| +00000010 ed b1 3c f2 c2 48 5e d5 f4 57 c9 8c ba 81 36 52 |..<..H^..W....6R| +00000020 85 3e 79 de 79 cc 36 6a f9 88 89 20 db e1 89 a5 |.>y.y.6j... ....| +00000030 26 4c 2a 2d 0f 33 e2 3f 57 05 cc 74 cd 4c 96 be |&L*-.3.?W..t.L..| +00000040 91 94 ef 54 1c 1f 01 ef d4 36 75 2f 00 04 13 03 |...T.....6u/....| 00000050 00 ff 01 00 00 8b 00 00 00 0e 00 0c 00 00 09 31 |...............1| 00000060 32 37 2e 30 2e 30 2e 31 00 0b 00 04 03 00 01 02 |27.0.0.1........| 00000070 00 0a 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 |................| @@ -11,80 +11,90 @@ 00000090 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b 08 04 |................| 000000a0 08 05 08 06 04 01 05 01 06 01 00 2b 00 03 02 03 |...........+....| 000000b0 04 00 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 |..-.....3.&.$...| -000000c0 20 d0 26 0b b3 f0 56 30 0d 3b 71 2b db 78 60 62 | .&...V0.;q+.x`b| -000000d0 e9 d1 6b e0 12 95 27 be 40 ad 40 56 e1 f3 f6 c8 |..k...'.@.@V....| -000000e0 4f |O| +000000c0 20 30 20 a8 d0 3d ea df 38 aa 65 6f dd c8 25 13 | 0 ..=..8.eo..%.| +000000d0 03 c4 a2 24 d4 a8 0d 1a a6 65 32 75 83 ef 71 70 |...$.....e2u..qp| +000000e0 30 |0| >>> Flow 2 (server to client) 00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 e6 52 d4 99 |........... .R..| -00000030 4b 4a b0 43 53 5e d4 cd 8e d9 a9 f5 42 aa c4 64 |KJ.CS^......B..d| -00000040 58 65 ec 46 ae d9 d7 0d 62 de 21 2e 13 03 00 00 |Xe.F....b.!.....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 db e1 89 a5 |........... ....| +00000030 26 4c 2a 2d 0f 33 e2 3f 57 05 cc 74 cd 4c 96 be |&L*-.3.?W..t.L..| +00000040 91 94 ef 54 1c 1f 01 ef d4 36 75 2f 13 03 00 00 |...T.....6u/....| 00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| 00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| -00000080 03 03 00 01 01 17 03 03 00 17 ea 45 ce e9 f5 10 |...........E....| -00000090 95 59 6d ed 7a 9c fb 59 92 aa 50 11 a8 59 93 03 |.Ym.z..Y..P..Y..| -000000a0 a1 17 03 03 02 6d 3c ce b8 65 ce 05 e3 17 9d ed |.....m<..e......| -000000b0 f7 79 65 08 6b 3d 04 bb 8d 60 0a 38 25 e7 4c a8 |.ye.k=...`.8%.L.| -000000c0 6b e1 ad 95 85 30 59 06 c0 0a 26 0e d6 1a 81 76 |k....0Y...&....v| -000000d0 40 55 6a 43 26 71 95 3b d5 73 1b 24 52 79 23 f9 |@UjC&q.;.s.$Ry#.| -000000e0 db 97 c7 8d a7 c3 03 b8 35 56 1a 4a cc 3d 76 88 |........5V.J.=v.| -000000f0 4f 23 75 67 c2 84 6d db fa cc 6c 77 94 f3 eb 95 |O#ug..m...lw....| -00000100 eb 27 f4 e2 03 41 b5 d7 e9 e1 7e 29 b4 82 01 e6 |.'...A....~)....| -00000110 3f 76 e4 1f ef cb 39 27 a5 3b 34 f1 d5 f2 26 c7 |?v....9'.;4...&.| -00000120 10 37 41 c1 08 81 00 9e 37 6d e4 0f a9 57 a7 1d |.7A.....7m...W..| -00000130 ea a8 19 23 32 a7 1a 04 8f c1 00 18 da 06 fd bc |...#2...........| -00000140 90 5d fb e7 03 f5 68 28 77 ed 47 5d 38 ec 66 6b |.]....h(w.G]8.fk| -00000150 0d c6 04 94 b9 af c0 a6 75 63 a4 8e bc 2e fd 52 |........uc.....R| -00000160 9b c3 f5 4f b0 23 4d ed 7b 56 23 f5 fc d6 0e 3d |...O.#M.{V#....=| -00000170 80 e2 31 24 79 33 6c 14 54 ef 09 b7 2d 3a 27 69 |..1$y3l.T...-:'i| -00000180 a7 18 9d cb 70 f6 bc 1a 87 61 f2 9b 37 62 d5 6e |....p....a..7b.n| -00000190 d1 32 b8 93 9b 83 48 48 27 f4 cb fa cd c4 66 92 |.2....HH'.....f.| -000001a0 5d 4e 20 4b 26 b5 27 26 19 60 83 80 3c 4d a7 0a |]N K&.'&.`...8R`...V.8?..| -00000300 cf 26 02 22 9e 48 30 4f eb 24 e3 94 df 09 bc 8f |.&.".H0O.$......| -00000310 51 27 5f 17 03 03 00 99 aa 1e 71 5d 27 7c 0a cc |Q'_.......q]'|..| -00000320 a6 16 22 c9 77 45 a7 c4 a4 e5 2d 2d ac c8 1b 2b |..".wE....--...+| -00000330 2e 48 03 a5 94 c4 0c 4d 52 e4 2e eb eb 46 36 1e |.H.....MR....F6.| -00000340 57 d8 bd 8a 9b 23 9c 27 fb ac 6f 37 2b 8f 70 69 |W....#.'..o7+.pi| -00000350 ed f4 83 56 54 fb 03 d6 58 b5 5e 0d b7 82 58 09 |...VT...X.^...X.| -00000360 32 ce a0 e4 d7 4d 41 ea 42 39 c3 0b 5e 25 29 50 |2....MA.B9..^%)P| -00000370 d0 5b b4 94 15 22 85 d6 52 19 38 a9 56 c4 81 2e |.[..."..R.8.V...| -00000380 ef 8d 3b b9 a0 9e c2 2f 24 53 4f 44 0e c1 a2 e3 |..;..../$SOD....| -00000390 59 d8 d4 44 a9 39 19 e2 b0 d0 ab c7 7a e0 68 e1 |Y..D.9......z.h.| -000003a0 a1 04 f0 7c 0a 12 e8 85 0a a6 6f ec 68 98 a6 98 |...|......o.h...| -000003b0 b9 17 03 03 00 35 08 a4 e6 55 41 66 f8 c3 d4 3c |.....5...UAf...<| -000003c0 17 6f 54 f3 d5 91 09 53 db b1 49 15 d5 0a 2d ec |.oT....S..I...-.| -000003d0 fc 88 68 76 a3 8d 8d d6 b1 4b af b5 be c8 69 0c |..hv.....K....i.| -000003e0 08 41 a3 9d 23 c1 87 5d 33 b9 a6 |.A..#..]3..| +00000080 03 03 00 01 01 17 03 03 00 17 f4 9a 6e ea 99 81 |............n...| +00000090 59 33 26 a6 6a 40 1d a9 59 67 31 35 09 b0 ed 15 |Y3&.j@..Yg15....| +000000a0 83 17 03 03 02 6d 56 59 69 c8 6d 45 c6 2f 58 3d |.....mVYi.mE./X=| +000000b0 db 87 dd 56 0f 2d d9 21 1b 97 94 77 f2 72 28 0d |...V.-.!...w.r(.| +000000c0 48 04 79 83 7e 2e a1 c9 30 56 d7 9c c8 0a 37 65 |H.y.~...0V....7e| +000000d0 b6 6b 31 ae 9a 5f ff 13 15 94 99 7c 92 e1 32 80 |.k1.._.....|..2.| +000000e0 28 3c ab b1 cc fe ba 92 3c 03 bb fd b8 55 f5 f2 |(<......<....U..| +000000f0 ba be 28 90 c5 7e 07 48 d5 45 b6 84 80 02 2d cd |..(..~.H.E....-.| +00000100 14 27 81 b6 4e b4 7f 5f 78 a3 26 c2 0c af 12 d6 |.'..N.._x.&.....| +00000110 e9 14 22 c8 ee 2e 5e fc c3 ca 8f 01 9b 37 6a b0 |.."...^......7j.| +00000120 f8 53 b2 8e 31 d7 1f 34 f6 35 ed 81 e0 f7 6f e1 |.S..1..4.5....o.| +00000130 90 cf 1a 4f 44 50 d5 cd 96 c3 4a 22 7a 54 28 bd |...ODP....J"zT(.| +00000140 88 56 5c 77 67 eb a6 78 5c 8b 82 39 03 13 55 c3 |.V\wg..x\..9..U.| +00000150 20 68 45 26 7a 96 fe 1c f9 33 14 1e 1d 8a 5f 51 | hE&z....3...._Q| +00000160 c3 2f 17 91 ba 37 63 49 e1 65 89 bf e8 a1 27 5f |./...7cI.e....'_| +00000170 fd 59 46 80 f7 9b 45 89 50 ab cd 9b aa b4 45 04 |.YF...E.P.....E.| +00000180 b5 1b 85 88 1c 59 ba b2 d6 50 0b fd 5c d9 59 83 |.....Y...P..\.Y.| +00000190 7a 6c 9b ad 27 33 a0 49 74 eb a6 cd a8 e8 4b d7 |zl..'3.It.....K.| +000001a0 71 ef 63 64 ff 24 a7 09 2e b7 f6 6f 9d 9f 75 84 |q.cd.$.....o..u.| +000001b0 97 0a 76 bf 72 ed ff e8 1a 49 ca 0b 0d f5 2c fb |..v.r....I....,.| +000001c0 69 c2 5c fe db 58 0a a1 9c d4 47 6a 8f a6 bd ec |i.\..X....Gj....| +000001d0 32 fb 40 6a 71 9d 19 37 e6 fd d4 3d fa 5b f3 53 |2.@jq..7...=.[.S| +000001e0 43 df d5 fa 53 29 40 70 77 a6 9e f7 03 7d 08 8b |C...S)@pw....}..| +000001f0 5a 71 73 e5 af 45 58 56 9f 56 ad 73 aa d2 b3 7c |Zqs..EXV.V.s...|| +00000200 92 99 c8 04 16 bf ca f2 81 2e 29 c3 79 21 f1 11 |..........).y!..| +00000210 92 f4 1d 34 24 73 e3 82 28 5a 31 70 45 da 8d 94 |...4$s..(Z1pE...| +00000220 38 75 31 bc f9 e5 2b 11 7e fd bc 19 fe 65 ad 53 |8u1...+.~....e.S| +00000230 e5 e6 17 b8 69 ea 54 fd 92 a9 41 7a 8c 7f da 4f |....i.T...Az...O| +00000240 ba f1 9f a2 e2 5b e7 7a 23 17 9e 29 95 7e 72 79 |.....[.z#..).~ry| +00000250 22 67 c5 68 0a 4d fb e9 64 61 3a 53 18 e7 dd 7d |"g.h.M..da:S...}| +00000260 5b 16 b9 fa 69 95 82 eb ee 1a 30 97 93 97 fc ee |[...i.....0.....| +00000270 9e 2b 22 64 08 7d 25 05 77 5e d7 bd 0e c3 9f a4 |.+"d.}%.w^......| +00000280 f4 bf 77 3d 56 84 c8 a1 10 1c e0 5b da 39 3d 2d |..w=V......[.9=-| +00000290 92 80 9a 07 b2 29 c5 ab e0 e1 1c ad ba 3e fa 4e |.....).......>.N| +000002a0 65 4f 31 63 de 33 6a 5c af e0 88 70 fc 6e 6a a2 |eO1c.3j\...p.nj.| +000002b0 ca da 2f 14 1d 4f 8c 7d 8d da 36 9b ea 7f 7e 79 |../..O.}..6...~y| +000002c0 9c dc 4a 3b 69 d9 50 31 bb f2 f8 8a 7f 6e 73 bc |..J;i.P1.....ns.| +000002d0 41 7c 3a 86 10 91 9b 3a 8e 3e c8 bc 6a c4 4d f2 |A|:....:.>..j.M.| +000002e0 45 87 49 49 d2 2f aa 4d d0 6f e9 1e a4 d6 06 63 |E.II./.M.o.....c| +000002f0 ac 90 ce 9a cb f7 97 55 2b e8 8c 8d 55 f6 32 26 |.......U+...U.2&| +00000300 55 d4 60 0e c0 0b da 0e ac c9 4c c3 95 03 54 d7 |U.`.......L...T.| +00000310 99 ec e1 17 03 03 00 99 c4 65 5e 67 e3 a1 98 d6 |.........e^g....| +00000320 f8 34 15 ed a9 55 80 c7 c0 e7 ca 67 f1 cb 58 e2 |.4...U.....g..X.| +00000330 6e 4d d4 9e 18 c3 37 c2 ff 72 bc cb 8e 6a 97 e2 |nM....7..r...j..| +00000340 b5 83 75 34 2a 75 9f 7f 8e 1e 47 e6 cd 53 85 c5 |..u4*u....G..S..| +00000350 69 b6 c0 46 9f 46 a8 09 6a 21 d5 af 36 d2 d0 ba |i..F.F..j!..6...| +00000360 65 0f da a5 af eb 3a 0c 8b 85 00 2a dd 11 71 28 |e.....:....*..q(| +00000370 5b 71 a9 df 69 20 8a d9 27 1e 4f 02 89 03 6f 27 |[q..i ..'.O...o'| +00000380 20 e1 37 17 69 c2 62 3e 46 39 43 2d 64 43 f3 cc | .7.i.b>F9C-dC..| +00000390 14 5f a0 73 06 bf 42 cb da 79 21 28 b1 a1 c4 de |._.s..B..y!(....| +000003a0 39 98 83 ad 3a d6 05 fd 58 b0 2c 97 bf 48 74 0e |9...:...X.,..Ht.| +000003b0 25 17 03 03 00 35 69 10 76 25 e3 9e 63 10 76 73 |%....5i.v%..c.vs| +000003c0 f5 fc 90 2c 95 e5 dc 29 79 a0 ed 0a 3a 72 58 38 |...,...)y...:rX8| +000003d0 bf b9 17 af 77 9f 05 92 af d4 a7 c7 d6 56 77 01 |....w........Vw.| +000003e0 da 94 31 d2 be be 95 e1 b1 95 75 17 03 03 00 93 |..1.......u.....| +000003f0 f9 fa a9 41 89 d3 e8 3b cb 11 63 76 56 fe 28 86 |...A...;..cvV.(.| +00000400 87 b0 0f d0 4d a8 fb 22 e9 89 f6 40 8a db 51 be |....M.."...@..Q.| +00000410 2c 9f 9c 39 f4 43 bc 1f b0 32 9b 9c 8e a6 6e e1 |,..9.C...2....n.| +00000420 f3 f7 f0 91 ed 56 6f 2d be 37 6b 3b ed f7 5b a6 |.....Vo-.7k;..[.| +00000430 d3 14 0a f9 58 b8 7b 37 fc 15 97 57 79 16 8c 0c |....X.{7...Wy...| +00000440 d2 93 7a 58 b8 48 51 f7 58 82 7d a0 4b e1 41 f6 |..zX.HQ.X.}.K.A.| +00000450 e1 44 12 1e ea 80 f3 b6 d0 72 ec 5c 84 01 6a b3 |.D.......r.\..j.| +00000460 f7 83 b5 47 22 0b e7 03 60 09 a7 23 23 20 5e 6b |...G"...`..## ^k| +00000470 f6 25 34 64 11 ad 46 90 db cb 13 f5 10 0a 75 e8 |.%4d..F.......u.| +00000480 3e c8 03 |>..| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 6a 0f 9f 87 b5 |..........5j....| -00000010 48 60 db 20 7b e9 4f ba fd bf e5 b8 fc 14 3e 2f |H`. {.O.......>/| -00000020 3e e8 58 ed d4 c5 e5 da cc 7d c4 32 d4 db c2 6a |>.X......}.2...j| -00000030 39 65 85 63 9c 92 7b 7c b3 6f 45 d8 c4 c3 5e 6c |9e.c..{|.oE...^l| +00000000 14 03 03 00 01 01 17 03 03 00 35 27 f0 39 68 fc |..........5'.9h.| +00000010 9f 6c a4 fd a7 cf 1f 25 67 54 3c e6 9e 7c 99 5a |.l.....%gT<..|.Z| +00000020 e9 b7 3c 0c f2 dc b6 22 36 0d 43 a3 ee 76 4b a9 |..<...."6.C..vK.| +00000030 6a cb b8 f6 8a c8 58 91 79 19 95 7c 83 a0 87 57 |j.....X.y..|...W| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e f5 83 ab 23 7e fa 4b 92 40 4b d3 |........#~.K.@K.| -00000010 dd 19 de a3 32 df 90 94 86 da da b6 58 97 5a 46 |....2.......X.ZF| -00000020 5f f5 b4 17 03 03 00 13 ef a9 5a 2c 54 8d 83 21 |_.........Z,T..!| -00000030 79 79 0e 9e a6 f2 4f f6 f8 36 63 |yy....O..6c| +00000000 17 03 03 00 1e d5 8a ef 04 f9 6c 27 62 0a f1 a4 |..........l'b...| +00000010 4b 7f e4 e4 ff 53 f3 61 20 b9 56 96 30 f9 06 c9 |K....S.a .V.0...| +00000020 cc 9c ed 17 03 03 00 13 4a 83 cd 86 98 97 20 45 |........J..... E| +00000030 ab 2f c5 72 15 f6 ed a8 8c 8c 0e |./.r.......| diff --git a/testdata/Server-TLSv13-ECDHE-ECDSA-AES b/testdata/Server-TLSv13-ECDHE-ECDSA-AES index 3cd1aaff..d2b02504 100644 --- a/testdata/Server-TLSv13-ECDHE-ECDSA-AES +++ b/testdata/Server-TLSv13-ECDHE-ECDSA-AES @@ -1,9 +1,9 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 dc 01 00 00 d8 03 03 9e ef 21 d2 56 |.............!.V| -00000010 3a 1d 59 80 d2 09 8b d6 5d df fc 37 e3 b6 8d 14 |:.Y.....]..7....| -00000020 05 7c da 8e 01 c9 cf 0e a8 ec 5b 20 19 22 52 01 |.|........[ ."R.| -00000030 0c d8 6e 8c 98 99 97 e5 ab b4 f9 5c fc 29 3f bd |..n........\.)?.| -00000040 a0 03 0d 05 78 24 dd 69 1d ad 26 39 00 04 13 01 |....x$.i..&9....| +00000000 16 03 01 00 dc 01 00 00 d8 03 03 90 bc cf 62 d0 |..............b.| +00000010 bc 89 6b 84 ad 18 87 f5 9c 96 0e 02 3f ae a5 4b |..k.........?..K| +00000020 80 70 f8 54 47 b1 78 03 48 4d 06 20 ae 9e 3c 17 |.p.TG.x.HM. ..<.| +00000030 1a c6 fa 52 84 da ea a9 9c 08 e7 10 65 3a 65 4e |...R........e:eN| +00000040 d1 65 61 40 bf 7c ee db d4 f2 73 ff 00 04 13 01 |.ea@.|....s.....| 00000050 00 ff 01 00 00 8b 00 00 00 0e 00 0c 00 00 09 31 |...............1| 00000060 32 37 2e 30 2e 30 2e 31 00 0b 00 04 03 00 01 02 |27.0.0.1........| 00000070 00 0a 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 |................| @@ -11,76 +11,86 @@ 00000090 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b 08 04 |................| 000000a0 08 05 08 06 04 01 05 01 06 01 00 2b 00 03 02 03 |...........+....| 000000b0 04 00 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 |..-.....3.&.$...| -000000c0 20 8e 46 85 be 7d 3e a5 f5 a0 41 a3 b0 d2 de 25 | .F..}>...A....%| -000000d0 ae 1c 30 b5 b2 33 83 81 e1 1c 72 75 73 59 ba b6 |..0..3....rusY..| -000000e0 0f |.| +000000c0 20 ad 11 a7 07 20 9c cb 33 96 f4 0d 78 a1 89 55 | .... ..3...x..U| +000000d0 6c af 70 f4 ac d6 cb d9 0d 1b 13 fa 50 de 68 17 |l.p.........P.h.| +000000e0 1d |.| >>> Flow 2 (server to client) 00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 19 22 52 01 |........... ."R.| -00000030 0c d8 6e 8c 98 99 97 e5 ab b4 f9 5c fc 29 3f bd |..n........\.)?.| -00000040 a0 03 0d 05 78 24 dd 69 1d ad 26 39 13 01 00 00 |....x$.i..&9....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 ae 9e 3c 17 |........... ..<.| +00000030 1a c6 fa 52 84 da ea a9 9c 08 e7 10 65 3a 65 4e |...R........e:eN| +00000040 d1 65 61 40 bf 7c ee db d4 f2 73 ff 13 01 00 00 |.ea@.|....s.....| 00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| 00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| -00000080 03 03 00 01 01 17 03 03 00 17 7d 27 14 0c e1 76 |..........}'...v| -00000090 ac 23 c8 3f ff b6 f2 93 32 cd 6c 79 e9 c7 2d cd |.#.?....2.ly..-.| -000000a0 07 17 03 03 02 22 8d 6a df 72 09 4a 7f df 86 d9 |.....".j.r.J....| -000000b0 9a 0e e2 e6 d1 a3 86 7f ee d2 87 15 d0 79 c5 d6 |.............y..| -000000c0 79 d8 23 58 ff db 09 c2 0e cc b3 72 4f 51 28 3e |y.#X.......rOQ(>| -000000d0 0e 27 e4 dc b3 72 45 59 01 39 f9 da 5a b3 fe 61 |.'...rEY.9..Z..a| -000000e0 e4 27 2c ba e5 b3 59 29 70 b6 3d b0 63 fa 9b 5f |.',...Y)p.=.c.._| -000000f0 8f c0 4c 6e 31 fd 8f 55 1a c5 36 3b 00 91 14 89 |..Ln1..U..6;....| -00000100 87 3c 20 97 88 79 c7 05 c9 37 66 03 70 ea 60 25 |.< ..y...7f.p.`%| -00000110 93 d4 d1 a6 d8 b8 ad 9e 1a 5b 68 30 7b 14 ce e2 |.........[h0{...| -00000120 76 9d 7f d8 b5 5e 7d ad 5d 7b 63 be d1 16 14 60 |v....^}.]{c....`| -00000130 d1 03 21 a8 83 5d 5b 36 13 1a 1e 2d 97 79 eb ef |..!..][6...-.y..| -00000140 36 28 c5 5a 23 78 53 18 59 15 28 31 0f 8b 43 a2 |6(.Z#xS.Y.(1..C.| -00000150 e8 2d d9 87 5e 44 01 fc 94 04 32 2a 0b 8c fb 74 |.-..^D....2*...t| -00000160 c3 40 ac 51 38 1a 87 bc b9 58 8d 75 c2 cc ec 29 |.@.Q8....X.u...)| -00000170 2e 93 f7 9e 6a d1 0b 18 9f b0 d7 b7 4c 3f 8e 44 |....j.......L?.D| -00000180 0e 44 53 dc 64 24 85 35 b0 64 c1 0e 4e 8d ad 3d |.DS.d$.5.d..N..=| -00000190 10 91 2f 89 1d 59 94 06 0f 94 18 19 50 4d dd 9b |../..Y......PM..| -000001a0 ff dd 78 9f 0a 26 35 66 00 0e 13 a2 8b 83 df 3a |..x..&5f.......:| -000001b0 c0 ce c1 d7 8c 6a eb a7 b9 d9 68 cc 69 e9 07 9f |.....j....h.i...| -000001c0 0d 96 c7 3b 73 7e c3 76 96 9a 47 66 7c 66 a3 6b |...;s~.v..Gf|f.k| -000001d0 96 b1 9d 52 06 0a ed b5 87 8f ba ad 06 da 0b 1e |...R............| -000001e0 7c 1a f6 64 c9 6c 27 30 96 bc c2 1a c4 47 c5 e0 ||..d.l'0.....G..| -000001f0 76 1f 7c db aa b5 49 a0 ac aa d9 c7 68 7d 5f 51 |v.|...I.....h}_Q| -00000200 a1 dc 86 a1 01 d7 6a e3 b0 12 c1 d1 79 39 fe 6b |......j.....y9.k| -00000210 bb 6b a6 82 e1 8f f6 a5 a8 7c 06 db 74 4f 80 a8 |.k.......|..tO..| -00000220 ec 67 f5 a8 7a e8 2a 71 be ee 56 fd 39 80 2c ba |.g..z.*q..V.9.,.| -00000230 74 a2 76 83 6f 83 a6 f5 9d 5e f6 23 60 f5 88 e2 |t.v.o....^.#`...| -00000240 13 f2 7b ee cd f8 0f 2b 51 73 44 76 e2 56 32 db |..{....+QsDv.V2.| -00000250 e7 cd 86 6b f4 87 dd 14 47 0a a2 93 7c 53 21 84 |...k....G...|S!.| -00000260 78 f6 c3 f3 ff fc 82 1f d9 7c 4e f7 93 39 aa fc |x........|N..9..| -00000270 89 45 b0 7d 28 81 fe e9 98 94 33 49 0c 1f 3b 95 |.E.}(.....3I..;.| -00000280 68 10 98 c9 34 59 9f ce 60 1e 09 b3 bc 94 1e 16 |h...4Y..`.......| -00000290 cc 72 fd 4e 81 a3 57 fe c2 10 4f 45 3a bf 2b 48 |.r.N..W...OE:.+H| -000002a0 86 be 60 61 19 b7 30 ff c6 83 be 97 80 85 c3 fd |..`a..0.........| -000002b0 f0 cb ad a3 17 6e 66 cf 16 d8 48 51 d1 da 3d a2 |.....nf...HQ..=.| -000002c0 ad ff 36 10 09 ba 09 cf 17 03 03 00 a4 50 2a 1b |..6..........P*.| -000002d0 51 51 99 a8 cf 07 a8 19 ac b1 02 5c a9 16 e0 1c |QQ.........\....| -000002e0 24 97 de 28 e1 38 27 06 f5 b3 4e 99 6f f1 00 a5 |$..(.8'...N.o...| -000002f0 32 eb a4 a4 6e 8f db c2 71 e7 2a 89 da 35 00 7b |2...n...q.*..5.{| -00000300 47 8a 21 70 94 ec 9a 34 10 7b 37 79 f5 c3 8c 34 |G.!p...4.{7y...4| -00000310 c1 d6 b4 3f 36 50 43 16 1e a3 a6 8e a2 bc 16 f9 |...?6PC.........| -00000320 cd 03 2c b2 6c c6 45 87 d5 10 b9 26 12 0d 6e a1 |..,.l.E....&..n.| -00000330 0f 33 94 11 59 90 55 13 3c be c1 b3 e4 b7 43 25 |.3..Y.U.<.....C%| -00000340 5d 41 8d 78 73 21 84 30 d8 51 64 e2 43 48 9d 40 |]A.xs!.0.Qd.CH.@| -00000350 47 c4 6c b5 cf 7d 43 65 f1 5a ce e7 71 66 cd 98 |G.l..}Ce.Z..qf..| -00000360 60 90 10 f9 ad 15 e3 c8 16 d5 13 ba 3b 0b e1 38 |`...........;..8| -00000370 97 17 03 03 00 35 e0 02 c7 69 21 47 8f 99 34 90 |.....5...i!G..4.| -00000380 03 69 0b b5 9b e6 33 63 f0 d1 c0 7c 58 2f 95 e0 |.i....3c...|X/..| -00000390 3f 46 ed ee 1c f6 15 6d 62 d0 05 81 c3 cc 45 ac |?F.....mb.....E.| -000003a0 c6 9c 78 da aa cd d5 8b b1 6b 7d |..x......k}| +00000080 03 03 00 01 01 17 03 03 00 17 f1 16 14 8f 0a b5 |................| +00000090 92 fa 55 d7 fb 6c 33 04 ae c6 ed 3b 90 27 e9 ae |..U..l3....;.'..| +000000a0 e8 17 03 03 02 22 ca b1 97 19 9d da 2e 1d 12 f4 |....."..........| +000000b0 05 af 35 28 1e 85 9d 28 81 f0 5a 83 46 9c df f7 |..5(...(..Z.F...| +000000c0 58 2e 30 fa b9 07 00 cf fe 69 37 5e f2 75 a0 ef |X.0......i7^.u..| +000000d0 f3 ab 60 0b c5 09 72 bd b4 42 2f 45 24 3e 82 d0 |..`...r..B/E$>..| +000000e0 f1 a1 dd 3a de 6a b9 9d 85 2b 83 75 47 c9 d2 c3 |...:.j...+.uG...| +000000f0 25 91 85 c2 a1 97 6a 62 dd aa 19 11 94 e2 6b f9 |%.....jb......k.| +00000100 7d 5a bc 5e d4 64 bc 74 44 85 d1 7a eb 3a ef d5 |}Z.^.d.tD..z.:..| +00000110 96 f4 22 64 61 2b 79 77 ac 8b 61 69 cc eb ad fd |.."da+yw..ai....| +00000120 38 5e 61 74 d9 4f 70 82 06 3b 3e f8 a8 53 7c e8 |8^at.Op..;>..S|.| +00000130 9d 98 43 a1 af 86 ba d9 64 64 f0 e0 b0 8f 39 6b |..C.....dd....9k| +00000140 16 d6 92 09 8d 5b d0 34 f4 14 60 69 a0 28 73 3a |.....[.4..`i.(s:| +00000150 24 7f 81 4e 8b d1 50 49 1a c0 60 92 fd 02 47 6d |$..N..PI..`...Gm| +00000160 d8 97 62 b2 b4 57 8b d7 d1 b6 bf 19 40 cb 13 09 |..b..W......@...| +00000170 ef d6 55 66 39 88 29 e0 14 2d 06 98 d6 b6 bf a6 |..Uf9.)..-......| +00000180 04 10 47 d5 64 fe 38 69 db 33 a4 fc 12 de 83 5b |..G.d.8i.3.....[| +00000190 c9 8e 76 56 bc f7 dd ac 96 c6 a0 ed e5 43 0b 13 |..vV.........C..| +000001a0 1e 78 94 18 fd 57 50 79 08 91 18 aa 84 63 4e 46 |.x...WPy.....cNF| +000001b0 53 db e0 f3 9a 0b d6 13 20 36 aa 56 dd 7a 62 d9 |S....... 6.V.zb.| +000001c0 3f f6 bd 87 74 3c 86 d1 94 a1 04 79 a8 54 e4 8e |?...t<.....y.T..| +000001d0 11 d6 52 42 5c 4b 77 18 b9 d7 db f7 48 9a 69 e1 |..RB\Kw.....H.i.| +000001e0 2d b9 38 38 e4 e8 94 5e b1 7e 2c 81 96 6a a0 ed |-.88...^.~,..j..| +000001f0 bb 35 6a 8c 93 f2 6d 38 70 df 79 54 d9 45 c8 b8 |.5j...m8p.yT.E..| +00000200 b2 9c 0f 9f 70 34 8f ac b3 08 f5 3e b1 d2 5a d7 |....p4.....>..Z.| +00000210 7b ee f3 dc 9a d1 12 c3 77 24 76 9b bf 09 50 a7 |{.......w$v...P.| +00000220 3c ab 7f 1f 99 b5 02 8c ac 5e 85 cc 53 fd ca e0 |<........^..S...| +00000230 c7 e2 41 08 fd cb b0 79 0c 8b 02 4f 80 92 c2 cd |..A....y...O....| +00000240 6c a1 aa 75 d2 4c d1 25 40 7c 14 41 a7 15 20 a3 |l..u.L.%@|.A.. .| +00000250 a6 81 64 7c c0 c7 2d dd 82 84 ad 2a f4 06 f9 61 |..d|..-....*...a| +00000260 23 1c dd c6 ef 72 da 6b eb be 41 f0 b4 5f 9a 02 |#....r.k..A.._..| +00000270 ee a8 f3 bb 05 48 ec 50 a3 ff f3 94 bb d8 a9 6d |.....H.P.......m| +00000280 92 49 7c bf a1 eb 55 26 08 26 d3 80 d6 cb 05 ea |.I|...U&.&......| +00000290 d1 db bf 97 3d 10 ff 4e f6 05 33 23 68 95 31 42 |....=..N..3#h.1B| +000002a0 5a d5 30 61 79 c4 88 7f e1 be 28 ad 72 bb 78 36 |Z.0ay.....(.r.x6| +000002b0 ba bb 38 75 fb 97 33 b6 28 8c a2 f4 46 fe 37 d8 |..8u..3.(...F.7.| +000002c0 b0 67 63 97 c1 51 0c 61 17 03 03 00 a4 20 15 70 |.gc..Q.a..... .p| +000002d0 7a 69 b1 33 c2 e1 f5 9c 2b b2 06 1e 01 a6 7f 03 |zi.3....+.......| +000002e0 cd 00 13 02 3b 0c 2b 3f 85 d8 ed 6d 81 7e e9 b2 |....;.+?...m.~..| +000002f0 b6 be 7b 77 51 30 dd b5 fc 93 08 91 9e 46 e2 85 |..{wQ0.......F..| +00000300 74 3c 9a 04 26 86 b8 6c 98 99 57 7e 36 54 0d 90 |t<..&..l..W~6T..| +00000310 4c 55 65 77 69 59 b2 e5 5b a3 19 4a b0 72 3d 91 |LUewiY..[..J.r=.| +00000320 2e 5d 9b 8c 52 a1 e6 f5 22 c6 3c 0d 9b d8 9c b9 |.]..R...".<.....| +00000330 cb 90 51 bc 16 69 06 30 22 16 62 08 3b 3f 05 99 |..Q..i.0".b.;?..| +00000340 60 2a cc cf 29 f5 e1 b0 84 81 c8 63 00 d4 d4 13 |`*..)......c....| +00000350 b5 5d 4c 63 8a 60 3e 44 24 03 30 85 91 4c 3d f2 |.]Lc.`>D$.0..L=.| +00000360 2c c2 78 f2 c3 4c bb 90 60 0b 66 18 02 e7 5c 85 |,.x..L..`.f...\.| +00000370 19 17 03 03 00 35 49 76 5f ff 32 3a 09 7a 4b f2 |.....5Iv_.2:.zK.| +00000380 fe f3 38 b6 76 f4 12 f2 aa a3 ed b6 02 ab 0b b9 |..8.v...........| +00000390 3b 9d 00 51 f1 5c 96 23 6b 49 f8 32 9f 74 30 32 |;..Q.\.#kI.2.t02| +000003a0 4d af af ef d5 55 2c ff 2b a0 45 17 03 03 00 93 |M....U,.+.E.....| +000003b0 6e e0 6a f9 44 af c0 af 95 ab 1e ff fd 97 38 f5 |n.j.D.........8.| +000003c0 7b 24 70 da e2 4e 8b dc 9b 49 84 fe 73 0a b0 7e |{$p..N...I..s..~| +000003d0 cf 14 f7 8a 67 e7 74 bd ee 82 93 c6 27 a2 bd 1e |....g.t.....'...| +000003e0 cb 71 06 af 65 dd f0 d9 91 81 b0 f8 21 34 48 d1 |.q..e.......!4H.| +000003f0 c4 e0 e3 19 a8 b4 48 b7 3a be 52 e5 7c a8 a3 c2 |......H.:.R.|...| +00000400 08 6c ac 66 4d 36 cf a1 9d 1f 72 c5 09 20 db 05 |.l.fM6....r.. ..| +00000410 e5 0a 44 af 4a d8 32 38 19 7d 28 e3 05 23 99 66 |..D.J.28.}(..#.f| +00000420 f6 ad 77 02 7e 00 67 c1 71 58 b9 89 3c 93 15 95 |..w.~.g.qX..<...| +00000430 ee 38 e2 ea c0 73 fe da e4 75 6d 38 ca 54 0b bf |.8...s...um8.T..| +00000440 f0 af 86 |...| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 6e 4d 7c 75 a9 |..........5nM|u.| -00000010 04 4b 9b f9 07 25 d0 c2 d9 fd f8 8b fc 22 1e 54 |.K...%.......".T| -00000020 ff d1 62 6b 2a 3c f8 87 a3 2e 27 44 eb cc 34 8f |..bk*<....'D..4.| -00000030 a6 66 f0 a0 46 c2 6b b9 82 01 3d 85 f8 58 46 9b |.f..F.k...=..XF.| +00000000 14 03 03 00 01 01 17 03 03 00 35 23 02 12 13 f1 |..........5#....| +00000010 db fa 70 c0 92 85 8a d3 fa 80 1b 5c a6 22 ff 20 |..p........\.". | +00000020 5d bf 1d 61 58 34 c0 48 6f e1 26 a6 bf bc 76 c7 |]..aX4.Ho.&...v.| +00000030 8b da ee 54 64 30 c4 5c b1 61 67 82 29 bb 3f 4b |...Td0.\.ag.).?K| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e c6 81 97 11 f3 86 a0 0f e6 7c 91 |..............|.| -00000010 3f 97 8c db 4a 55 95 32 be 19 3d 37 36 1e 68 e4 |?...JU.2..=76.h.| -00000020 81 7b 29 17 03 03 00 13 7e 90 5f 1f 4a 65 c0 fd |.{).....~._.Je..| -00000030 60 96 48 bb 22 b1 08 86 41 75 80 |`.H."...Au.| +00000000 17 03 03 00 1e 95 c0 53 e2 37 94 09 83 1e 7e 23 |.......S.7....~#| +00000010 dc 9f 02 5e 91 19 b6 f9 72 0d 38 3f 25 ae b2 5f |...^....r.8?%.._| +00000020 4b f2 78 17 03 03 00 13 d2 ad 73 d6 f3 21 ab 7c |K.x.......s..!.|| +00000030 02 dd 63 ff cf d7 34 ca 71 3d 70 |..c...4.q=p| diff --git a/testdata/Server-TLSv13-ExportKeyingMaterial b/testdata/Server-TLSv13-ExportKeyingMaterial index ce9d5f17..078739c7 100644 --- a/testdata/Server-TLSv13-ExportKeyingMaterial +++ b/testdata/Server-TLSv13-ExportKeyingMaterial @@ -1,9 +1,9 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 e4 01 00 00 e0 03 03 ec cb e2 b2 15 |................| -00000010 21 48 2d fd fb 7d ed 7b 44 07 8f f5 d2 e9 31 64 |!H-..}.{D.....1d| -00000020 88 d8 38 6d 2e be e8 12 1d de 1e 20 05 c9 22 74 |..8m....... .."t| -00000030 db c2 68 b3 88 31 3f 9e 8c 65 23 9b 90 58 03 3b |..h..1?..e#..X.;| -00000040 39 7b 61 a9 9f 7c 1e 61 79 dc 4d 29 00 08 13 02 |9{a..|.ay.M)....| +00000000 16 03 01 00 e4 01 00 00 e0 03 03 40 53 50 a3 f5 |...........@SP..| +00000010 3a 20 4f 16 ef 9c a4 1c a3 10 1d 93 cb ea 1f 69 |: O............i| +00000020 6b aa 50 ae a8 01 7e 65 d9 7b 5c 20 8c 9b cc d4 |k.P...~e.{\ ....| +00000030 6b 07 4d 1e d9 69 d2 d8 a0 a0 d5 b7 75 d8 e3 d8 |k.M..i......u...| +00000040 c4 ac f7 d2 6f e5 f5 8f 46 9a bf 85 00 08 13 02 |....o...F.......| 00000050 13 03 13 01 00 ff 01 00 00 8f 00 00 00 0e 00 0c |................| 00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| 00000070 03 00 01 02 00 0a 00 0c 00 0a 00 1d 00 17 00 1e |................| @@ -11,82 +11,93 @@ 00000090 00 0d 00 1e 00 1c 04 03 05 03 06 03 08 07 08 08 |................| 000000a0 08 09 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 |................| 000000b0 06 01 00 2b 00 03 02 03 04 00 2d 00 02 01 01 00 |...+......-.....| -000000c0 33 00 26 00 24 00 1d 00 20 8b 1b 67 4d 4f 49 83 |3.&.$... ..gMOI.| -000000d0 bd 4c b6 42 07 4e 3b 64 c9 90 64 16 ec 3c f8 9e |.L.B.N;d..d..<..| -000000e0 05 2f 55 11 50 ab b9 1e 54 |./U.P...T| +000000c0 33 00 26 00 24 00 1d 00 20 81 67 45 ec b4 08 4d |3.&.$... .gE...M| +000000d0 a6 50 79 b4 d4 a9 d1 35 51 2b db 8d b7 e7 7c 3c |.Py....5Q+....|<| +000000e0 fd 0f 4b 47 87 e1 bb fb 2d |..KG....-| >>> Flow 2 (server to client) 00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 05 c9 22 74 |........... .."t| -00000030 db c2 68 b3 88 31 3f 9e 8c 65 23 9b 90 58 03 3b |..h..1?..e#..X.;| -00000040 39 7b 61 a9 9f 7c 1e 61 79 dc 4d 29 13 02 00 00 |9{a..|.ay.M)....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 8c 9b cc d4 |........... ....| +00000030 6b 07 4d 1e d9 69 d2 d8 a0 a0 d5 b7 75 d8 e3 d8 |k.M..i......u...| +00000040 c4 ac f7 d2 6f e5 f5 8f 46 9a bf 85 13 02 00 00 |....o...F.......| 00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| 00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| -00000080 03 03 00 01 01 17 03 03 00 17 f1 1b 1c 50 d3 90 |.............P..| -00000090 2b 14 76 bc 0a 21 94 58 1f 9b f1 0a 38 3f f2 54 |+.v..!.X....8?.T| -000000a0 fb 17 03 03 02 6d 45 81 6d 58 83 be 84 b1 29 47 |.....mE.mX....)G| -000000b0 59 99 33 5e 2e d9 7d 86 57 4c 80 74 cf 11 9f b7 |Y.3^..}.WL.t....| -000000c0 0f 06 b2 bb b2 1d fa 18 6b f8 7a b1 e1 12 b5 15 |........k.z.....| -000000d0 ea 3e 3b df e7 c6 5f 82 4e a5 4a 3f 3d 39 61 76 |.>;..._.N.J?=9av| -000000e0 93 0e 7c b0 2d da 75 e3 ee 91 3a f6 0f d1 a7 9a |..|.-.u...:.....| -000000f0 b7 4a 7d 93 e5 05 8b 77 01 d2 21 16 94 b6 4d 60 |.J}....w..!...M`| -00000100 ed de e6 2e 87 23 eb 4b 74 8e 5b 4f 25 67 7b cf |.....#.Kt.[O%g{.| -00000110 1a 43 c1 67 31 8e ca 15 f8 b9 a2 ac cc 58 b7 67 |.C.g1........X.g| -00000120 93 c9 4a 79 9b 45 36 29 1d 80 c0 0c 0a be 38 c3 |..Jy.E6)......8.| -00000130 97 90 2d 20 33 be 71 06 59 6d e1 b8 2f 92 f5 67 |..- 3.q.Ym../..g| -00000140 fe e4 39 ad 86 98 c2 96 ab 89 a5 64 3b 83 33 85 |..9........d;.3.| -00000150 a9 0a 08 89 7b 5a 95 92 b6 ab fe 0c 42 c9 a7 c2 |....{Z......B...| -00000160 5a 49 45 7a ac 44 d9 43 8c 13 b7 cf ac e2 22 ec |ZIEz.D.C......".| -00000170 63 da eb b6 02 4e d7 51 cb 64 e5 9b 14 4d 0c 9e |c....N.Q.d...M..| -00000180 62 b5 48 97 01 8f 44 29 6b 86 0f 0b 96 40 2f 0d |b.H...D)k....@/.| -00000190 61 98 7a e4 bc 3d 11 4b 30 41 8f e1 b4 d1 3f 7f |a.z..=.K0A....?.| -000001a0 3c b0 a7 03 f8 ad b3 61 98 3c 2a 44 5a 5c ef 2f |<......a.<*DZ\./| -000001b0 44 f5 90 92 85 7e e1 72 cf a7 a9 b8 da 88 d5 31 |D....~.r.......1| -000001c0 40 3b 06 d2 fc 35 86 a7 fc 5b 08 0d 97 55 41 3b |@;...5...[...UA;| -000001d0 1c 31 04 90 aa bb e6 76 ff 2e 9a 68 76 d7 2d 41 |.1.....v...hv.-A| -000001e0 09 55 21 d7 7c 40 a1 65 2a 81 d3 f7 4e 0b b3 ae |.U!.|@.e*...N...| -000001f0 31 d3 a4 1e 92 85 65 9b 02 73 46 93 d8 bd 4a 60 |1.....e..sF...J`| -00000200 b8 93 03 70 2f 76 dd 85 d8 d6 eb 34 b8 1a 7e dd |...p/v.....4..~.| -00000210 7b af b1 aa ca 80 18 74 29 c3 c5 4a d9 3e f8 2f |{......t)..J.>./| -00000220 9c 7b ea ca 87 37 44 fe b3 fb 9d 6e 76 fb 19 72 |.{...7D....nv..r| -00000230 17 6f 1d 13 ff 55 3a 8f ce c9 c3 a6 fc 4a 34 da |.o...U:......J4.| -00000240 27 76 6d 1f 56 18 bb b7 16 a5 68 a2 06 74 d6 ad |'vm.V.....h..t..| -00000250 aa bb 79 09 06 22 cd c0 b8 12 b4 03 a0 32 bb 90 |..y..".......2..| -00000260 f6 a3 64 53 f5 f2 6c 2c b0 5d 4e 2d 35 bf 3d 02 |..dS..l,.]N-5.=.| -00000270 49 3a b2 95 99 ac 4e 6b 89 38 c0 d1 e5 ea 39 a1 |I:....Nk.8....9.| -00000280 bf 9f b5 dc be cb b6 e7 cd 88 f6 29 ad a0 a0 2e |...........)....| -00000290 a2 c8 1a 93 97 d3 f4 c0 4a 38 7e 15 87 7e 4d ed |........J8~..~M.| -000002a0 b8 fa 5f 59 2d 1c 6d fe 22 42 11 5b 02 87 d6 31 |.._Y-.m."B.[...1| -000002b0 cb 3c 0f 93 fe 97 d1 48 4c d4 ff b0 32 e5 e9 3a |.<.....HL...2..:| -000002c0 49 5c a8 77 a8 af c9 e9 76 2a 53 b3 1f 1c 29 25 |I\.w....v*S...)%| -000002d0 9f 94 b1 80 e2 f9 6c 53 c7 b2 bb a1 39 f7 42 3d |......lS....9.B=| -000002e0 b5 ea 02 2b ab 71 b6 18 58 2c 51 b2 34 25 64 90 |...+.q..X,Q.4%d.| -000002f0 34 90 09 22 91 a1 41 75 fb a7 b3 80 17 d7 ca 89 |4.."..Au........| -00000300 2a d3 8a 32 39 8b 31 5e 31 3e e2 57 ab 0b 67 3b |*..29.1^1>.W..g;| -00000310 32 cf 7a 17 03 03 00 99 bc 5a 9c 2b 4a 62 b4 20 |2.z......Z.+Jb. | -00000320 bb 2e cd 7e 5d 5c ce 57 1a 6c 2e 1b 95 47 c0 0c |...~]\.W.l...G..| -00000330 a3 7f 0c 0d b8 58 0e 11 4c 08 75 23 8e 78 21 17 |.....X..L.u#.x!.| -00000340 fa 30 60 e4 9b 1d d1 17 3a 3d 2f f7 48 7f bc c2 |.0`.....:=/.H...| -00000350 35 fe 98 22 29 24 16 76 ae 41 f7 fb 97 ac 8b b1 |5..")$.v.A......| -00000360 b5 80 8a bb 44 b9 aa cc fc a4 d7 55 1c 7d a2 97 |....D......U.}..| -00000370 14 29 1e d6 53 aa 2c 63 08 00 80 f8 2f 85 ee 73 |.)..S.,c..../..s| -00000380 ef 87 fa cd d1 50 10 6c 6c ad 44 c0 22 81 a0 9e |.....P.ll.D."...| -00000390 6a 2f 7a 29 77 6d 22 4e 25 95 23 55 f5 9c e6 78 |j/z)wm"N%.#U...x| -000003a0 5e ba c0 7c 18 ab 77 58 b2 9e da 1e 0f fe 50 23 |^..|..wX......P#| -000003b0 8b 17 03 03 00 45 e9 b2 27 9b 47 5e fa 8f f2 ad |.....E..'.G^....| -000003c0 0e 70 e5 19 90 dc 68 4a 74 e7 7e ef 65 94 9e 6c |.p....hJt.~.e..l| -000003d0 f6 5d 9c 28 f1 07 5e ed 14 d0 2c f9 ae 71 a8 77 |.].(..^...,..q.w| -000003e0 13 5d 51 58 2b cd 98 e9 47 f0 99 56 df de d7 ff |.]QX+...G..V....| -000003f0 36 99 4a c3 57 5b d9 28 14 12 c4 |6.J.W[.(...| +00000080 03 03 00 01 01 17 03 03 00 17 d2 bf e0 2f ba e9 |............./..| +00000090 84 f5 8b 96 93 ac de 94 3b 92 03 ca db 43 f4 55 |........;....C.U| +000000a0 12 17 03 03 02 6d 54 36 b6 78 fb bf 9f 36 02 78 |.....mT6.x...6.x| +000000b0 b3 92 50 c9 ab 85 b6 57 69 18 10 c1 fe da d4 05 |..P....Wi.......| +000000c0 89 db 62 bd 83 b0 82 38 29 5f ce 53 88 2d f2 cd |..b....8)_.S.-..| +000000d0 6a d7 1d c0 c5 03 e7 e4 4b ec eb bf 95 8e d5 9b |j.......K.......| +000000e0 65 45 09 52 ef 29 60 7b 22 61 6f ca 1b 3d 30 a4 |eE.R.)`{"ao..=0.| +000000f0 c4 c4 06 55 39 5e 3a ef a2 62 61 35 6c c4 fc 8b |...U9^:..ba5l...| +00000100 19 dc c1 b0 8d dd ba d0 9e 87 65 1c 8d 73 6c 82 |..........e..sl.| +00000110 e4 45 e9 a9 53 94 20 ba 19 7e 4e 7e fb 14 dc 5d |.E..S. ..~N~...]| +00000120 86 19 0b fe f8 9c 7e 61 8e 17 e6 59 12 c2 e0 6a |......~a...Y...j| +00000130 52 c0 25 05 30 c8 f7 d6 54 69 15 ca c9 8e 96 1d |R.%.0...Ti......| +00000140 42 55 1f 9a 9b 03 95 af 74 05 be 5e 51 35 8b 1f |BU......t..^Q5..| +00000150 24 0a 13 03 90 fc c0 c4 22 c3 f0 8a f2 60 a8 ff |$......."....`..| +00000160 7b 04 48 10 3e 42 da e5 c2 7b 72 9c e1 d6 b5 56 |{.H.>B...{r....V| +00000170 f7 69 ce 46 67 33 e4 d3 e5 61 43 b2 57 e8 b2 43 |.i.Fg3...aC.W..C| +00000180 84 ac 75 15 d1 cb 70 53 99 1c 29 9a 21 bb c0 d3 |..u...pS..).!...| +00000190 66 8a be 16 b1 67 1b 60 d3 2f c6 a3 7e f3 3b 4f |f....g.`./..~.;O| +000001a0 78 4d ec 1f 9f 6d 46 1c 43 2f 50 ad 44 75 93 49 |xM...mF.C/P.Du.I| +000001b0 e2 29 c4 be aa 22 51 f1 17 1a 20 97 8a 23 06 2c |.)..."Q... ..#.,| +000001c0 93 b6 9d 11 5a 55 34 d9 f1 a4 c6 5b 84 f6 bb 0c |....ZU4....[....| +000001d0 a0 7c a2 25 47 df a6 22 c8 df e5 ae 74 1c f3 db |.|.%G.."....t...| +000001e0 3c 04 6f fa 86 76 c9 be ae 2a e0 64 65 d2 8f 9a |<.o..v...*.de...| +000001f0 7b a2 38 4d 74 8d 44 ad ef c1 12 0b ca 64 6c b5 |{.8Mt.D......dl.| +00000200 13 03 2c b4 6a e8 78 ba 57 d5 ef 9a d1 1d 7e 92 |..,.j.x.W.....~.| +00000210 58 52 78 c2 c5 e2 f8 e9 2d 06 28 88 19 d4 19 7b |XRx.....-.(....{| +00000220 7f 41 ea ed f9 9e 14 f1 9b 3f dc f7 bc 35 20 ca |.A.......?...5 .| +00000230 fc 8f b8 df ee ef 83 50 c4 41 91 ae 83 4b bd d1 |.......P.A...K..| +00000240 00 e1 3f 70 5d cb 40 a6 77 70 cd 9a 09 5b 05 14 |..?p].@.wp...[..| +00000250 83 b9 7c 8d 1c e1 7f 6e 41 1a b9 8c 70 2a 95 01 |..|....nA...p*..| +00000260 ef 19 0c 59 7d 47 b4 64 7b 91 5e 9b 02 c5 ed ee |...Y}G.d{.^.....| +00000270 d4 9b ad 12 70 d1 d9 6b 02 26 b5 48 4e 23 bb 61 |....p..k.&.HN#.a| +00000280 ae c7 82 74 a9 68 59 b1 66 07 b8 e3 93 0f 2c 9f |...t.hY.f.....,.| +00000290 8d 8d f1 e8 3f b7 2c 64 90 4f 88 7f 41 78 66 ba |....?.,d.O..Axf.| +000002a0 26 eb 1c 8b 70 47 f5 78 cb fe 66 34 6f 74 b1 98 |&...pG.x..f4ot..| +000002b0 ca 12 f5 91 8c cb 15 85 eb 77 ad af 76 f8 3f 3f |.........w..v.??| +000002c0 cb 86 82 fe 1e 78 1e d3 16 c2 b7 e6 a6 2b a0 6c |.....x.......+.l| +000002d0 da 99 3f dd 3b 0b 10 3b 16 bd d9 4f 45 c3 12 b5 |..?.;..;...OE...| +000002e0 14 1b 53 33 56 c1 f4 7c 4a 47 b9 c2 b0 bd 4e 78 |..S3V..|JG....Nx| +000002f0 e1 6f 76 05 d1 e3 af 01 f8 b4 e6 23 12 11 cf 43 |.ov........#...C| +00000300 91 9d eb be d8 6b 9c d2 fd 3b b5 3b 8c 52 4e 12 |.....k...;.;.RN.| +00000310 df 26 42 17 03 03 00 99 fc fb 50 ba e0 83 07 bb |.&B.......P.....| +00000320 13 4f 7c 1e 5f 35 e5 2f b9 c0 40 cb 51 9a 38 a6 |.O|._5./..@.Q.8.| +00000330 bf 1a 22 e3 ea 8b 5e 30 e0 b2 2b 40 aa 76 62 bc |.."...^0..+@.vb.| +00000340 c5 e3 3c f3 2a 10 2e 35 58 2b 5e c1 56 da 78 a9 |..<.*..5X+^.V.x.| +00000350 57 b5 46 1f d8 ad 59 3c 5a b8 37 be 66 86 d0 ad |W.F...Y..]_V| +000003b0 05 17 03 03 00 45 81 1e e7 bb e8 81 f4 41 12 af |.....E.......A..| +000003c0 fb f0 8f bd d0 d6 b3 10 a5 1e d6 0c f7 aa 01 15 |................| +000003d0 9d 30 5b 65 e1 fd 3e 72 3d 43 62 21 02 0e ec da |.0[e..>r=Cb!....| +000003e0 ec 74 2c e2 22 84 c9 90 18 71 f8 ef db 3f 05 d6 |.t,."....q...?..| +000003f0 91 09 46 c2 5c 2b f7 03 39 2b 3e 17 03 03 00 a3 |..F.\+..9+>.....| +00000400 53 cc 75 04 8c c5 25 70 1f 4b 9c 04 92 af 1a 3f |S.u...%p.K.....?| +00000410 26 1e 00 98 fa e3 c2 25 63 ca d4 03 fd 6c 94 a0 |&......%c....l..| +00000420 0a 87 5f 68 63 52 72 25 69 3f 21 66 f6 a6 00 2a |.._hcRr%i?!f...*| +00000430 25 e3 1e 95 f3 bd a8 22 bc 9a 74 f0 41 5d b1 30 |%......"..t.A].0| +00000440 36 ff 13 09 d9 69 7f 16 35 11 34 0e 65 2e e7 52 |6....i..5.4.e..R| +00000450 b4 6e a1 dc 06 fe a3 3e 3b eb 79 fe d0 e1 e8 76 |.n.....>;.y....v| +00000460 e2 0e 49 78 c3 cf c5 31 ce 7f 9b d6 c5 6d 3f 7b |..Ix...1.....m?{| +00000470 79 9a 5d a7 c3 3b 58 eb a2 43 55 c6 42 7a a8 34 |y.]..;X..CU.Bz.4| +00000480 6e c9 47 aa 5e 44 4a bd 4b 89 28 ab ac 5a 95 dc |n.G.^DJ.K.(..Z..| +00000490 96 99 28 dc 29 04 10 f3 8c 49 45 b7 29 69 3d 9e |..(.)....IE.)i=.| +000004a0 dd fe 4a |..J| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 45 b3 84 9c d1 43 |..........E....C| -00000010 0e da 02 25 e8 03 3a 8f 21 86 d1 76 3e be 62 06 |...%..:.!..v>.b.| -00000020 18 f5 09 d7 e2 85 eb be c5 c0 e7 93 dc 52 37 5c |.............R7\| -00000030 ae dd 0c 20 49 68 15 f7 4a 9e 2a ed af 31 96 8a |... Ih..J.*..1..| -00000040 9f f0 63 a3 dc 99 c9 59 62 b7 39 59 0d 9d fc 8d |..c....Yb.9Y....| +00000000 14 03 03 00 01 01 17 03 03 00 45 3f e6 f9 73 13 |..........E?..s.| +00000010 98 fa c1 e1 84 7a 0c 10 eb 9a bf 2b df c1 44 26 |.....z.....+..D&| +00000020 36 1a 95 02 b4 12 67 7c e2 7d f3 1e 54 79 7b 51 |6.....g|.}..Ty{Q| +00000030 e6 13 94 cb 00 cc 25 fb 6e 8a 35 4e f0 f0 95 34 |......%.n.5N...4| +00000040 53 fd 7e 37 d2 a8 0a 71 a7 2d 8d 58 2e ae 27 34 |S.~7...q.-.X..'4| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e 07 ad 4c 9d 83 85 be d5 a3 61 70 |.......L......ap| -00000010 bc 7a a7 40 17 70 d5 97 18 80 1c 9b 52 95 97 de |.z.@.p......R...| -00000020 46 6c ef 17 03 03 00 13 58 d1 0f aa 71 be 1a c9 |Fl......X...q...| -00000030 f3 ef 38 13 a6 5b ff 84 99 09 81 |..8..[.....| +00000000 17 03 03 00 1e 07 34 2c 55 6a c5 14 e7 0a 51 94 |......4,Uj....Q.| +00000010 74 ad e1 c0 4d e8 1c 3e ad 3e 8e 71 e5 60 9c d8 |t...M..>.>.q.`..| +00000020 6a 44 ac 17 03 03 00 13 09 9e 97 ff 3d b8 f1 a6 |jD..........=...| +00000030 5d f9 8f b0 65 93 31 6b 9d 81 76 |]...e.1k..v| diff --git a/testdata/Server-TLSv13-HelloRetryRequest b/testdata/Server-TLSv13-HelloRetryRequest index 1fff4565..96a5488c 100644 --- a/testdata/Server-TLSv13-HelloRetryRequest +++ b/testdata/Server-TLSv13-HelloRetryRequest @@ -1,119 +1,129 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 da 01 00 00 d6 03 03 4f 56 85 14 53 |...........OV..S| -00000010 57 df bb 75 5b c6 86 bd cd a2 68 c6 87 ad 2e b5 |W..u[.....h.....| -00000020 07 ef ce 55 c1 d3 12 35 aa a1 a7 20 d1 1e 60 1e |...U...5... ..`.| -00000030 a7 c7 2a e0 f8 ba 46 c3 f0 bf a7 d5 1c 73 68 98 |..*...F......sh.| -00000040 9f 8c 7f 4e 15 9b 59 23 84 a0 f3 fc 00 08 13 02 |...N..Y#........| +00000000 16 03 01 00 da 01 00 00 d6 03 03 ab e7 6d 22 09 |.............m".| +00000010 bf 08 ef a1 7e 7c 8d ea fd a5 39 43 62 84 67 a8 |....~|....9Cb.g.| +00000020 df b1 a1 3a d7 37 dc 0d ef 27 54 20 20 f3 5b 41 |...:.7...'T .[A| +00000030 67 3e 30 d8 8e 2d 0f a1 c2 df 86 48 8c 05 bb d7 |g>0..-.....H....| +00000040 73 30 80 86 cf 2c 85 d1 2a fe 21 36 00 08 13 02 |s0...,..*.!6....| 00000050 13 03 13 01 00 ff 01 00 00 85 00 00 00 0e 00 0c |................| 00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| 00000070 03 00 01 02 00 0a 00 06 00 04 00 1d 00 17 00 16 |................| 00000080 00 00 00 17 00 00 00 0d 00 1e 00 1c 04 03 05 03 |................| 00000090 06 03 08 07 08 08 08 09 08 0a 08 0b 08 04 08 05 |................| 000000a0 08 06 04 01 05 01 06 01 00 2b 00 03 02 03 04 00 |.........+......| -000000b0 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 20 9d |-.....3.&.$... .| -000000c0 63 d4 5c 11 f7 4b d3 49 41 e2 1d ca 2c 67 68 c1 |c.\..K.IA...,gh.| -000000d0 7d 9c ad 2b 77 34 d8 77 82 1c ea e4 26 51 48 |}..+w4.w....&QH| +000000b0 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 20 1a |-.....3.&.$... .| +000000c0 ae 88 dd 6c 7c 4c fb e5 65 ca 8e 63 a1 97 4c d3 |...l|L..e..c..L.| +000000d0 33 ff 00 95 db 0b ce 67 62 26 78 27 52 f0 5c |3......gb&x'R.\| >>> Flow 2 (server to client) 00000000 16 03 03 00 58 02 00 00 54 03 03 cf 21 ad 74 e5 |....X...T...!.t.| 00000010 9a 61 11 be 1d 8c 02 1e 65 b8 91 c2 a2 11 16 7a |.a......e......z| -00000020 bb 8c 5e 07 9e 09 e2 c8 a8 33 9c 20 d1 1e 60 1e |..^......3. ..`.| -00000030 a7 c7 2a e0 f8 ba 46 c3 f0 bf a7 d5 1c 73 68 98 |..*...F......sh.| -00000040 9f 8c 7f 4e 15 9b 59 23 84 a0 f3 fc 13 02 00 00 |...N..Y#........| +00000020 bb 8c 5e 07 9e 09 e2 c8 a8 33 9c 20 20 f3 5b 41 |..^......3. .[A| +00000030 67 3e 30 d8 8e 2d 0f a1 c2 df 86 48 8c 05 bb d7 |g>0..-.....H....| +00000040 73 30 80 86 cf 2c 85 d1 2a fe 21 36 13 02 00 00 |s0...,..*.!6....| 00000050 0c 00 2b 00 02 03 04 00 33 00 02 00 17 14 03 03 |..+.....3.......| 00000060 00 01 01 |...| >>> Flow 3 (client to server) 00000000 14 03 03 00 01 01 16 03 03 00 fb 01 00 00 f7 03 |................| -00000010 03 4f 56 85 14 53 57 df bb 75 5b c6 86 bd cd a2 |.OV..SW..u[.....| -00000020 68 c6 87 ad 2e b5 07 ef ce 55 c1 d3 12 35 aa a1 |h........U...5..| -00000030 a7 20 d1 1e 60 1e a7 c7 2a e0 f8 ba 46 c3 f0 bf |. ..`...*...F...| -00000040 a7 d5 1c 73 68 98 9f 8c 7f 4e 15 9b 59 23 84 a0 |...sh....N..Y#..| -00000050 f3 fc 00 08 13 02 13 03 13 01 00 ff 01 00 00 a6 |................| +00000010 03 ab e7 6d 22 09 bf 08 ef a1 7e 7c 8d ea fd a5 |...m".....~|....| +00000020 39 43 62 84 67 a8 df b1 a1 3a d7 37 dc 0d ef 27 |9Cb.g....:.7...'| +00000030 54 20 20 f3 5b 41 67 3e 30 d8 8e 2d 0f a1 c2 df |T .[Ag>0..-....| +00000040 86 48 8c 05 bb d7 73 30 80 86 cf 2c 85 d1 2a fe |.H....s0...,..*.| +00000050 21 36 00 08 13 02 13 03 13 01 00 ff 01 00 00 a6 |!6..............| 00000060 00 00 00 0e 00 0c 00 00 09 31 32 37 2e 30 2e 30 |.........127.0.0| 00000070 2e 31 00 0b 00 04 03 00 01 02 00 0a 00 06 00 04 |.1..............| 00000080 00 1d 00 17 00 16 00 00 00 17 00 00 00 0d 00 1e |................| 00000090 00 1c 04 03 05 03 06 03 08 07 08 08 08 09 08 0a |................| 000000a0 08 0b 08 04 08 05 08 06 04 01 05 01 06 01 00 2b |...............+| 000000b0 00 03 02 03 04 00 2d 00 02 01 01 00 33 00 47 00 |......-.....3.G.| -000000c0 45 00 17 00 41 04 ab 06 ea de b6 17 db 32 11 c8 |E...A........2..| -000000d0 ed 1e 8b 03 c2 a8 87 46 65 e8 3e 25 34 84 52 dc |.......Fe.>%4.R.| -000000e0 22 4a 67 ce 89 00 04 ce 46 47 0a b8 b0 2d a0 0a |"Jg.....FG...-..| -000000f0 d1 91 e1 73 34 91 77 52 c6 1a 75 8d 70 ad 57 53 |...s4.wR..u.p.WS| -00000100 75 47 81 67 e7 3f |uG.g.?| +000000c0 45 00 17 00 41 04 22 3e 1f 4b 0f 2e f4 af bf 6c |E...A.">.K.....l| +000000d0 d7 35 69 72 23 00 3f 16 6a 8e 00 3e 2b 8f f8 60 |.5ir#.?.j..>+..`| +000000e0 17 e8 e8 80 f3 28 5d cd 1f f7 99 88 59 01 a5 d7 |.....(].....Y...| +000000f0 34 d0 d9 38 5b 73 3e d6 3c c8 9e 39 8f 45 d0 37 |4..8[s>.<..9.E.7| +00000100 aa 5b 8e 59 2f 0c |.[.Y/.| >>> Flow 4 (server to client) 00000000 16 03 03 00 9b 02 00 00 97 03 03 00 00 00 00 00 |................| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 d1 1e 60 1e |........... ..`.| -00000030 a7 c7 2a e0 f8 ba 46 c3 f0 bf a7 d5 1c 73 68 98 |..*...F......sh.| -00000040 9f 8c 7f 4e 15 9b 59 23 84 a0 f3 fc 13 02 00 00 |...N..Y#........| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 20 f3 5b 41 |........... .[A| +00000030 67 3e 30 d8 8e 2d 0f a1 c2 df 86 48 8c 05 bb d7 |g>0..-.....H....| +00000040 73 30 80 86 cf 2c 85 d1 2a fe 21 36 13 02 00 00 |s0...,..*.!6....| 00000050 4f 00 2b 00 02 03 04 00 33 00 45 00 17 00 41 04 |O.+.....3.E...A.| 00000060 1e 18 37 ef 0d 19 51 88 35 75 71 b5 e5 54 5b 12 |..7...Q.5uq..T[.| 00000070 2e 8f 09 67 fd a7 24 20 3e b2 56 1c ce 97 28 5e |...g..$ >.V...(^| 00000080 f8 2b 2d 4f 9e f1 07 9f 6c 4b 5b 83 56 e2 32 42 |.+-O....lK[.V.2B| 00000090 e9 58 b6 d7 49 a6 b5 68 1a 41 03 56 6b dc 5a 89 |.X..I..h.A.Vk.Z.| -000000a0 17 03 03 00 17 62 79 8a 7b 99 e8 48 ab 97 44 7c |.....by.{..H..D|| -000000b0 e1 79 b8 53 a0 a8 d8 38 87 ab 3b f6 17 03 03 02 |.y.S...8..;.....| -000000c0 6d 19 53 7e 2f b0 c9 42 b1 0d e1 f9 d3 5b ae 1b |m.S~/..B.....[..| -000000d0 31 66 13 32 05 c8 af f9 c7 86 78 64 ff a6 1b 78 |1f.2......xd...x| -000000e0 6c 5e 4f c4 ec 21 9f 61 b2 9b 66 6f d1 97 cc 09 |l^O..!.a..fo....| -000000f0 ab da 91 be 8b a2 00 9b 60 ae 7b 9d f1 a4 6d 7e |........`.{...m~| -00000100 27 3d 18 d7 79 8c 7a bb 5a 7e a7 e6 dd 95 06 ec |'=..y.z.Z~......| -00000110 fc 9e 11 45 a8 f8 46 7e cb 50 5f 24 b8 b9 b9 10 |...E..F~.P_$....| -00000120 ae 78 0e 42 a6 28 ea 3f 0e f3 ca f2 10 94 84 a9 |.x.B.(.?........| -00000130 a7 a2 85 25 ce a7 1c 2b 5a 6e 61 06 b6 19 c3 1a |...%...+Zna.....| -00000140 5e 42 2b e6 cc 7e 7e 82 30 69 e8 5d e5 01 21 16 |^B+..~~.0i.]..!.| -00000150 6f e1 e1 f7 1c 77 06 d2 9d 25 80 a4 6d a5 ae 2e |o....w...%..m...| -00000160 cd 9a e3 56 34 81 13 51 63 85 f4 45 26 ae 6a 88 |...V4..Qc..E&.j.| -00000170 4c 3c 00 ec 1b 1a 43 24 c0 e3 79 b3 45 3d c8 9a |L<....C$..y.E=..| -00000180 9e 91 69 9b cd 62 43 06 18 71 b6 78 d7 b0 1b d7 |..i..bC..q.x....| -00000190 a0 42 30 f9 bb 4e f1 90 e0 f0 11 6a c5 03 6e 47 |.B0..N.....j..nG| -000001a0 3c de 86 e2 0b a6 4f 6b 15 cc 5d 40 51 0f 26 9a |<.....Ok..]@Q.&.| -000001b0 5b 16 20 2f d2 d4 58 56 28 23 77 a6 a0 dd cb e5 |[. /..XV(#w.....| -000001c0 e8 c6 5c 52 2b 26 f6 07 85 c1 39 97 e4 7e c8 b2 |..\R+&....9..~..| -000001d0 c7 79 c0 fa 81 64 7a 53 9b 72 ef 81 69 12 a3 ba |.y...dzS.r..i...| -000001e0 e9 40 6f a5 a0 9f 4d e7 0f 3a a3 1a d5 df 32 ec |.@o...M..:....2.| -000001f0 64 28 40 3a b4 87 ea ca 9a 13 60 38 18 23 7b f0 |d(@:......`8.#{.| -00000200 d8 f0 0f 44 ae c8 ce 2c 8d 48 fd 33 78 f1 28 4a |...D...,.H.3x.(J| -00000210 5f db f5 ce 51 a1 9d 80 a2 fd aa 46 3a ff 8f 26 |_...Q......F:..&| -00000220 c2 4a 8a 31 7c f6 a9 2c 60 49 f2 36 2a 86 ec db |.J.1|..,`I.6*...| -00000230 4d 9f 26 cd d8 67 ac b3 6a 63 c0 b6 77 56 cd ed |M.&..g..jc..wV..| -00000240 e0 ba ae 45 d4 c8 fb 62 6a 52 46 32 28 49 76 b0 |...E...bjRF2(Iv.| -00000250 5c f7 17 49 a2 06 cb ee 49 e8 5c 0c 11 b1 4b 55 |\..I....I.\...KU| -00000260 d4 c4 e2 3e 31 ed 0c eb 84 40 c2 20 3c 40 a6 26 |...>1....@. <@.&| -00000270 db e7 80 f8 4d 2e 4c fc 67 eb d8 ae 89 70 7f c4 |....M.L.g....p..| -00000280 18 40 1e 82 df 17 da 49 e0 9c 72 ab 34 04 39 a5 |.@.....I..r.4.9.| -00000290 1a a3 2b 0b 73 b6 32 89 b5 d1 e4 74 95 f3 58 b0 |..+.s.2....t..X.| -000002a0 7a 7b d4 c6 e9 7e 68 86 09 5f 94 12 bd fd 84 1f |z{...~h.._......| -000002b0 fa 7d 56 cf 40 1a 02 04 90 16 5c da 2f b1 de 15 |.}V.@.....\./...| -000002c0 31 d9 59 62 3b fe 8e 99 ec 79 51 44 49 0f a5 a1 |1.Yb;....yQDI...| -000002d0 1f 6d ac e5 b1 93 39 af 50 b4 5e 04 29 31 d7 b8 |.m....9.P.^.)1..| -000002e0 1a e2 58 37 90 e8 a7 a7 1a f3 bb 14 a6 d2 27 b7 |..X7..........'.| -000002f0 71 58 f0 0a 94 63 23 4d d5 4b 22 fd e6 0e 23 9e |qX...c#M.K"...#.| -00000300 90 b8 cb d4 10 c7 49 32 7c 8e 49 cd 17 c9 7f 38 |......I2|.I....8| -00000310 2b e1 38 84 57 25 02 72 a6 d3 f7 28 b2 e3 85 c4 |+.8.W%.r...(....| -00000320 72 ca e1 b2 84 6a 86 4c 78 d4 8e 1c 60 09 17 03 |r....j.Lx...`...| -00000330 03 00 99 14 16 3c 69 12 63 89 2f c4 58 1c 95 97 |.....d....n.| +00000150 6e dc 43 87 4d bd 26 1e c1 0a 5f 8b a7 2d 8c cc |n.C.M.&..._..-..| +00000160 94 25 60 59 33 ef 38 93 a3 d1 63 5b 9b ae 10 2f |.%`Y3.8...c[.../| +00000170 63 af 27 32 35 b8 db 75 e8 e6 19 09 8e f3 b1 4d |c.'25..u.......M| +00000180 b6 8a 83 6c 88 41 3a d9 1e da ad b3 06 3b ba 41 |...l.A:......;.A| +00000190 f9 fd 23 46 a5 9e 8a 11 31 d9 f6 8c 56 32 eb a8 |..#F....1...V2..| +000001a0 7f c1 0a d1 78 c7 46 cb b5 f7 3f 7e 56 39 75 45 |....x.F...?~V9uE| +000001b0 5b fb 84 b4 16 28 14 4c 45 9d f4 8d 65 38 5d 93 |[....(.LE...e8].| +000001c0 53 ab 5e ae bc 9c 73 4b cb d2 85 cd d8 a7 00 67 |S.^...sK.......g| +000001d0 f8 0c c3 81 0b fc 5b f8 74 4f 6a 2f 3c 57 68 22 |......[.tOj/......,b..x.L| +00000450 99 cb 38 ad ef a4 00 42 51 04 3b b8 4b 06 89 ee |..8....BQ.;.K...| +00000460 33 48 3e c7 72 9c de f2 e4 23 5f 76 33 db cb 92 |3H>.r....#_v3...| +00000470 92 b0 90 ea 25 4f 05 68 b3 8e 59 9c 36 8b 1b b0 |....%O.h..Y.6...| +00000480 02 73 96 bf e6 fe 80 2c 32 26 ac 91 33 af cd 86 |.s.....,2&..3...| +00000490 57 cc de d3 a2 eb 9e 43 ea 5b d4 56 f0 1b 95 3b |W......C.[.V...;| +000004a0 a1 da 33 21 cb 0b 48 92 35 73 0c 33 01 c4 6d 79 |..3!..H.5s.3..my| +000004b0 7a bb 39 a1 32 3a 85 18 9f 91 a7 e1 42 0a |z.9.2:......B.| >>> Flow 5 (client to server) -00000000 17 03 03 00 45 ad 18 70 16 81 4f b3 f5 a2 f3 53 |....E..p..O....S| -00000010 37 84 03 37 89 be ad c2 fe 02 da 67 a6 b6 fd 1a |7..7.......g....| -00000020 9b d4 8b de 8e 80 ab 7d e1 81 c2 de 31 be 07 04 |.......}....1...| -00000030 5d 57 59 7a 05 ea f5 7d aa 7f 8f 23 6c 00 89 4a |]WYz...}...#l..J| -00000040 1f 07 8a a3 e8 c7 9b 0e 8a 8b |..........| +00000000 17 03 03 00 45 b7 e2 1a d9 6a aa c1 54 e3 9a 42 |....E....j..T..B| +00000010 11 cd 13 c2 dc 5a b0 fa e3 62 09 a1 4b 9a a1 b3 |.....Z...b..K...| +00000020 84 7b 63 29 69 47 5c bf ca c6 36 2f ae e0 2f 6e |.{c)iG\...6/../n| +00000030 1b 42 c4 c9 65 17 e8 bd c4 97 5b e4 5f 27 86 d2 |.B..e.....[._'..| +00000040 1f 97 1f 68 9a 1f ee 09 04 82 |...h......| >>> Flow 6 (server to client) -00000000 17 03 03 00 1e 22 ef 90 a4 90 32 71 67 2a f9 ca |....."....2qg*..| -00000010 8c 5d 36 51 05 2d 10 a7 72 e8 95 34 69 0e f2 06 |.]6Q.-..r..4i...| -00000020 16 15 7e 17 03 03 00 13 15 3b 8b e7 c9 e1 cd c1 |..~......;......| -00000030 93 f1 34 62 a1 82 9a 91 0b 7c 3a |..4b.....|:| +00000000 17 03 03 00 1e ed fb 39 62 34 b9 5d a3 db 30 fe |.......9b4.]..0.| +00000010 ed 5e 92 77 44 7e fb 77 84 5e 54 6b 11 7c 27 99 |.^.wD~.w.^Tk.|'.| +00000020 80 66 a5 17 03 03 00 13 9b 78 92 3b 84 3d cb 69 |.f.......x.;.=.i| +00000030 86 2b d1 db cc 91 d3 00 55 43 2f |.+......UC/| diff --git a/testdata/Server-TLSv13-IssueTicket b/testdata/Server-TLSv13-IssueTicket new file mode 100644 index 00000000..1a8b3846 --- /dev/null +++ b/testdata/Server-TLSv13-IssueTicket @@ -0,0 +1,103 @@ +>>> Flow 1 (client to server) +00000000 16 03 01 00 e4 01 00 00 e0 03 03 26 46 4d 2d 7d |...........&FM-}| +00000010 5c dc ef fb 2b 8b f7 15 4b ba 8b 1a 26 da f6 9b |\...+...K...&...| +00000020 e6 3c c6 8c a0 f9 6c 60 f6 11 81 20 53 f8 00 fb |.<....l`... S...| +00000030 8b be ff 98 74 c9 d9 3d aa 40 4d 0e 05 96 f9 30 |....t..=.@M....0| +00000040 d6 f5 7b f1 bc 31 18 30 5f 24 03 a8 00 08 13 02 |..{..1.0_$......| +00000050 13 03 13 01 00 ff 01 00 00 8f 00 00 00 0e 00 0c |................| +00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| +00000070 03 00 01 02 00 0a 00 0c 00 0a 00 1d 00 17 00 1e |................| +00000080 00 19 00 18 00 23 00 00 00 16 00 00 00 17 00 00 |.....#..........| +00000090 00 0d 00 1e 00 1c 04 03 05 03 06 03 08 07 08 08 |................| +000000a0 08 09 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 |................| +000000b0 06 01 00 2b 00 03 02 03 04 00 2d 00 02 01 01 00 |...+......-.....| +000000c0 33 00 26 00 24 00 1d 00 20 b6 ad 52 4d 37 b1 eb |3.&.$... ..RM7..| +000000d0 1e 57 2b a8 5d e7 43 b9 a0 98 47 8b ff 40 a9 14 |.W+.].C...G..@..| +000000e0 9e 23 26 c7 47 a7 cb f6 47 |.#&.G...G| +>>> Flow 2 (server to client) +00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| +00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 53 f8 00 fb |........... S...| +00000030 8b be ff 98 74 c9 d9 3d aa 40 4d 0e 05 96 f9 30 |....t..=.@M....0| +00000040 d6 f5 7b f1 bc 31 18 30 5f 24 03 a8 13 02 00 00 |..{..1.0_$......| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| +00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| +00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| +00000080 03 03 00 01 01 17 03 03 00 17 b9 4a b7 2a b5 48 |...........J.*.H| +00000090 bc ba 18 3e 1a 99 bd fa 0d fc 2a 5d 52 93 b5 97 |...>......*]R...| +000000a0 5c 17 03 03 02 6d 30 8f 19 00 1c fa 90 a7 6c 08 |\....m0.......l.| +000000b0 6f 5a e8 d8 e0 3e 81 30 f1 11 85 7e 35 47 b3 d0 |oZ...>.0...~5G..| +000000c0 48 95 ce af e6 2f fc 22 0a 5f 56 bd 1c 7d 8c 48 |H..../."._V..}.H| +000000d0 f3 ad b7 5b 2e 4b d8 d1 16 46 7a ba c3 71 02 3c |...[.K...Fz..q.<| +000000e0 54 75 b8 92 02 b1 b9 cc 15 c4 fa d1 2d ba 0d 9f |Tu..........-...| +000000f0 65 a1 78 0d 8f d6 1c be fa 42 1f d7 48 1a 8e 11 |e.x......B..H...| +00000100 64 4c 12 ef bd 65 9d b4 31 18 4f 2a 77 c4 1f 1b |dL...e..1.O*w...| +00000110 90 90 37 ea 59 aa 05 bf 45 04 fb e8 a9 3f f9 11 |..7.Y...E....?..| +00000120 f9 25 95 fc d4 8e 5c 84 19 f3 4c e4 05 c3 db 8c |.%....\...L.....| +00000130 07 f9 b3 b0 6d ce d3 14 aa 78 17 f9 2f 14 1b bc |....m....x../...| +00000140 4b 23 29 f1 2e 7c 3b 71 9b cf 0b d5 02 48 5e ce |K#)..|;q.....H^.| +00000150 9c 43 dd 29 17 42 0b 9d 0e a7 a7 93 e1 37 cc 97 |.C.).B.......7..| +00000160 df 0f 2d d3 f7 01 08 34 5f bd ad 12 12 6f 87 56 |..-....4_....o.V| +00000170 4e 99 16 f6 6e 61 5c f0 0e 30 0b d5 38 37 70 97 |N...na\..0..87p.| +00000180 ed e1 79 74 00 cc 55 be a9 32 7d 72 50 27 42 c9 |..yt..U..2}rP'B.| +00000190 99 64 ea bd 3e c8 4f b0 cc 31 ef 10 57 9f c1 02 |.d..>.O..1..W...| +000001a0 ca db f6 d6 53 94 d2 83 57 71 e9 06 7a dd 46 3b |....S...Wq..z.F;| +000001b0 b1 2c f8 87 1c 8b 8a 04 05 2f d0 32 54 9a 80 33 |.,......./.2T..3| +000001c0 b2 95 e5 62 71 e9 1a 3b ea 64 ee 81 29 c4 ea 53 |...bq..;.d..)..S| +000001d0 de 6b 27 b1 04 48 27 ba 7f 28 aa 9e 15 82 49 a9 |.k'..H'..(....I.| +000001e0 43 3d d3 33 82 50 a9 4e 38 ed 8d f8 e8 0e 11 ab |C=.3.P.N8.......| +000001f0 8b 6e 63 e9 c1 cf ee 45 4f a0 62 e7 2e 00 b8 61 |.nc....EO.b....a| +00000200 2a 29 5e 04 e2 81 11 b3 64 f3 b5 b0 ec ae 63 6c |*)^.....d.....cl| +00000210 27 56 ac f2 09 d3 a4 c8 18 4a 55 c8 ff fd 8b 42 |'V.......JU....B| +00000220 63 00 3a c9 25 40 b7 8d 17 f3 95 76 7b 01 cf bc |c.:.%@.....v{...| +00000230 9b a7 4c 03 4a 7d 3c 54 16 8f 84 ca 2f 1a f5 12 |..L.J}.| +00000330 f1 1e 11 c7 72 f5 65 b4 03 38 f2 48 16 a9 20 31 |....r.e..8.H.. 1| +00000340 c2 52 4c 33 92 70 45 91 19 f4 5c 08 77 49 af 25 |.RL3.pE...\.wI.%| +00000350 8e b5 bd 3f e3 93 dc e6 26 b0 8a 30 69 f1 86 17 |...?....&..0i...| +00000360 72 31 66 87 2f d4 42 70 4c e0 58 61 6e b2 38 0b |r1f./.BpL.Xan.8.| +00000370 13 ad 32 83 14 81 d4 af dd 9f 17 09 af 3b 64 78 |..2..........;dx| +00000380 c8 63 da 05 70 47 54 f9 c6 f5 f8 e6 97 e1 d0 87 |.c..pGT.........| +00000390 aa 5a e7 5b d3 a3 b3 ce be 56 30 e7 4d ad 43 bd |.Z.[.....V0.M.C.| +000003a0 5e 88 9a ef 34 78 06 eb 6f 8f 04 39 47 6a c2 3d |^...4x..o..9Gj.=| +000003b0 ba 17 03 03 00 45 89 37 db 55 b2 9e 6e 31 a0 9b |.....E.7.U..n1..| +000003c0 97 51 27 13 b0 7e 2e 85 4a 9b 72 b0 fe c5 e4 12 |.Q'..~..J.r.....| +000003d0 fd ea 29 d5 bb ae a2 24 e2 0d b4 cd 28 92 5c 88 |..)....$....(.\.| +000003e0 98 b4 e4 8e a8 46 c6 a0 0e c0 73 ba f7 62 3a 43 |.....F....s..b:C| +000003f0 1a c7 d3 4b 5b 47 7b 44 8b bb 7b 17 03 03 00 a3 |...K[G{D..{.....| +00000400 f1 5f 26 2b 1c 99 6d 1d 55 bc a7 2f ae c8 3a ed |._&+..m.U../..:.| +00000410 5a 16 3c 83 e8 d4 18 7e 84 fa ba 21 0f 30 b0 05 |Z.<....~...!.0..| +00000420 ec 45 92 53 80 7a 78 d4 9e e0 02 e9 11 74 a6 e2 |.E.S.zx......t..| +00000430 87 7e 43 26 c0 18 46 6b 28 e5 f4 92 89 5c 0d b5 |.~C&..Fk(....\..| +00000440 8d 90 55 4f 3b 0a f4 ba 1b fb 60 54 46 23 03 28 |..UO;.....`TF#.(| +00000450 6e c3 3b 4d 69 62 65 d5 4e 95 46 c9 f2 8d ae f9 |n.;Mibe.N.F.....| +00000460 53 a6 65 da ca 1e b7 f7 80 a8 97 97 ca 38 14 a5 |S.e..........8..| +00000470 34 81 e2 68 12 fb 45 90 c2 f9 c9 70 fe 28 b8 b5 |4..h..E....p.(..| +00000480 6c 1d 2c d4 07 69 1d eb 1f 4b df ba ca 5e e0 65 |l.,..i...K...^.e| +00000490 ad ee be 41 02 78 23 19 b9 ea 1d 65 20 43 0e 3d |...A.x#....e C.=| +000004a0 11 03 b3 |...| +>>> Flow 3 (client to server) +00000000 14 03 03 00 01 01 17 03 03 00 45 88 0d 45 f0 61 |..........E..E.a| +00000010 a3 d0 7b 33 9e 17 c5 c3 6f 8f f6 67 b8 03 65 5f |..{3....o..g..e_| +00000020 bf 94 e9 1d 58 eb 4d 12 68 8a 96 42 6f 08 08 b8 |....X.M.h..Bo...| +00000030 be ce 2c f0 c4 00 d4 22 e6 94 09 05 f2 a7 77 0f |..,...."......w.| +00000040 48 e9 5c 6c e9 b2 9a d6 ff 48 2b 08 9a ea 23 1a |H.\l.....H+...#.| +>>> Flow 4 (server to client) +00000000 17 03 03 00 1e 2a f5 09 7f 7b 5f 8a ff d3 cc 16 |.....*...{_.....| +00000010 d1 d3 38 76 5c f7 e3 ee f3 72 b5 92 8e f9 bf 37 |..8v\....r.....7| +00000020 7e dc 61 17 03 03 00 13 66 ba 9e ff 3a 9f 25 74 |~.a.....f...:.%t| +00000030 44 35 70 f4 cf ae dc b0 3c 28 44 |D5p.....<(D| diff --git a/testdata/Server-TLSv13-IssueTicketPreDisable b/testdata/Server-TLSv13-IssueTicketPreDisable new file mode 100644 index 00000000..ed3f55ad --- /dev/null +++ b/testdata/Server-TLSv13-IssueTicketPreDisable @@ -0,0 +1,103 @@ +>>> Flow 1 (client to server) +00000000 16 03 01 00 e4 01 00 00 e0 03 03 4a ec fd a5 c5 |...........J....| +00000010 ef 77 88 18 25 40 50 c8 24 60 45 85 e6 3e 55 86 |.w..%@P.$`E..>U.| +00000020 d1 ea 0e 5f 0b d1 66 7a 1c 90 ad 20 a3 63 23 52 |..._..fz... .c#R| +00000030 d8 c8 f6 79 20 04 8d 07 eb 2f 78 a3 1a 0d 58 af |...y ..../x...X.| +00000040 70 3c ef 4b 90 43 42 67 57 39 bf fa 00 08 13 02 |p<.K.CBgW9......| +00000050 13 03 13 01 00 ff 01 00 00 8f 00 00 00 0e 00 0c |................| +00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| +00000070 03 00 01 02 00 0a 00 0c 00 0a 00 1d 00 17 00 1e |................| +00000080 00 19 00 18 00 23 00 00 00 16 00 00 00 17 00 00 |.....#..........| +00000090 00 0d 00 1e 00 1c 04 03 05 03 06 03 08 07 08 08 |................| +000000a0 08 09 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 |................| +000000b0 06 01 00 2b 00 03 02 03 04 00 2d 00 02 01 01 00 |...+......-.....| +000000c0 33 00 26 00 24 00 1d 00 20 23 61 a3 8f f6 41 bc |3.&.$... #a...A.| +000000d0 08 52 ef 97 01 0e ba 95 f4 33 b6 8d 15 d0 ff ed |.R.......3......| +000000e0 a4 d1 84 23 3b f3 ef 3a 2d |...#;..:-| +>>> Flow 2 (server to client) +00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| +00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 a3 63 23 52 |........... .c#R| +00000030 d8 c8 f6 79 20 04 8d 07 eb 2f 78 a3 1a 0d 58 af |...y ..../x...X.| +00000040 70 3c ef 4b 90 43 42 67 57 39 bf fa 13 02 00 00 |p<.K.CBgW9......| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| +00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| +00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| +00000080 03 03 00 01 01 17 03 03 00 17 80 72 6f c7 2d 22 |...........ro.-"| +00000090 40 51 35 22 9b 97 51 33 60 fa c1 2c d3 0f 25 6a |@Q5"..Q3`..,..%j| +000000a0 4d 17 03 03 02 6d f3 3a 89 a6 9a 1f 2b f4 1a 48 |M....m.:....+..H| +000000b0 e9 bd ef da 9d 7b f0 6c 61 ca 21 82 1b 30 6f 60 |.....{.la.!..0o`| +000000c0 01 72 24 4f ea 66 ef 3b 35 b7 ae d9 45 c9 2a 00 |.r$O.f.;5...E.*.| +000000d0 99 da 50 ae ac 8f 77 a4 e7 b4 de f6 c8 dd b8 f3 |..P...w.........| +000000e0 bc cb 7c c8 cf 2f 63 61 66 16 7f 7f 61 2c 52 c9 |..|../caf...a,R.| +000000f0 8f af 0d e2 55 d7 a4 ed 7e 12 b0 0d ec e9 a4 47 |....U...~......G| +00000100 03 e6 fa d1 6b 2f e3 22 a8 f5 c5 e6 e6 78 63 a1 |....k/.".....xc.| +00000110 b7 00 98 04 e8 fd ff 67 62 dc 89 f4 0d 97 93 4e |.......gb......N| +00000120 85 ec e0 68 f0 04 94 02 49 95 f9 08 99 30 37 d8 |...h....I....07.| +00000130 ad 31 52 1d 1d 23 09 9e 7a 97 45 d3 95 2f 03 2d |.1R..#..z.E../.-| +00000140 64 f7 5b cb 53 f5 89 ef 45 90 72 38 33 aa 62 1e |d.[.S...E.r83.b.| +00000150 b8 3e 00 b2 7f 89 0b 3a e6 17 93 ac 19 7d 09 bd |.>.....:.....}..| +00000160 ca ca 83 87 33 f9 f0 63 f3 4e 7b 47 56 0d cb b5 |....3..c.N{GV...| +00000170 90 81 88 cd 02 78 bf 96 64 c0 ba 58 b5 06 18 04 |.....x..d..X....| +00000180 d9 14 8b 92 74 81 76 b3 23 d9 ad 4c 8b 73 61 36 |....t.v.#..L.sa6| +00000190 64 d9 b6 2e 98 7e 7f d4 14 6e 4c a4 b4 71 35 5b |d....~...nL..q5[| +000001a0 4d e7 10 a8 b3 bb 40 5d 9f de 67 bb ae 0c 97 8b |M.....@]..g.....| +000001b0 25 cf cb aa 13 44 9f cb ff 2e 1c 54 ca de cb 13 |%....D.....T....| +000001c0 f9 c7 0e 49 9d d0 b3 d5 0e 29 3c 50 b9 2b 56 1f |...I.....).1{........| +00000430 06 d6 19 09 44 c2 8f 7c ef bd ea 06 a6 8f 38 42 |....D..|......8B| +00000440 1b a1 be 12 1f 72 38 49 96 e4 74 2f 42 19 2c 55 |.....r8I..t/B.,U| +00000450 16 45 a9 e0 a8 76 6d 36 68 84 fd 0e 40 44 df 93 |.E...vm6h...@D..| +00000460 ae 12 79 78 4c ec 72 16 fe 54 c0 14 ac 47 ed 88 |..yxL.r..T...G..| +00000470 78 98 c8 cb ca 49 de fd 12 e1 96 d0 c7 89 ee 89 |x....I..........| +00000480 df d5 71 98 8a 42 7e 3e 24 5a 64 44 19 96 cc e4 |..q..B~>$ZdD....| +00000490 9c f2 8e 52 8b 1d 39 15 af c7 cd 54 d9 84 01 ef |...R..9....T....| +000004a0 fc ac 54 |..T| +>>> Flow 3 (client to server) +00000000 14 03 03 00 01 01 17 03 03 00 45 a6 fe 34 ee 91 |..........E..4..| +00000010 b0 c5 35 55 cf 70 3f d4 5d 06 76 28 c3 b5 a9 26 |..5U.p?.].v(...&| +00000020 38 18 ed bb bb bb be e7 4b 6d 61 3e 8f 65 e9 e3 |8.......Kma>.e..| +00000030 b6 4f 5d 50 46 2c 81 a8 fd 47 aa c8 c4 e8 f9 a4 |.O]PF,...G......| +00000040 e7 c7 f0 c5 fa e3 9c b7 be 09 c9 37 c1 7f 1c ff |...........7....| +>>> Flow 4 (server to client) +00000000 17 03 03 00 1e 1b 5e f2 20 7a 1c 27 36 12 e7 9a |......^. z.'6...| +00000010 05 9f fb 12 38 df 1d a0 3e 90 9a 42 4d ca 3a 54 |....8...>..BM.:T| +00000020 db 2c f0 17 03 03 00 13 b1 e4 a6 eb ad 47 ba 4c |.,...........G.L| +00000030 38 2c ee ee f9 a5 8a 41 2f ce 3d |8,.....A/.=| diff --git a/testdata/Server-TLSv13-P256 b/testdata/Server-TLSv13-P256 index 1143e9f1..86085b05 100644 --- a/testdata/Server-TLSv13-P256 +++ b/testdata/Server-TLSv13-P256 @@ -1,95 +1,106 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 f9 01 00 00 f5 03 03 3c c9 61 89 62 |...........<.a.b| -00000010 10 c6 ba 45 a5 af c4 8a 02 27 58 b8 74 de 6f 8b |...E.....'X.t.o.| -00000020 62 27 b1 71 54 09 c4 48 e4 e6 33 20 dd 11 6b b4 |b'.qT..H..3 ..k.| -00000030 59 b7 e2 d9 b3 91 01 ab 11 68 65 2e 1d 60 2f 58 |Y........he..`/X| -00000040 41 a6 7a 94 bc ad fd ff 05 a5 56 cb 00 08 13 02 |A.z.......V.....| +00000000 16 03 01 00 f9 01 00 00 f5 03 03 3f 2f 76 da 5e |...........?/v.^| +00000010 bc ca 96 5b e3 c5 ff 45 18 e9 dc 7e b3 e8 97 f5 |...[...E...~....| +00000020 d1 d5 19 c0 4d a4 5d ce 34 1b e4 20 5f fe 5f 0c |....M.].4.. _._.| +00000030 88 92 65 b9 c6 ac 7f 3e dc a3 f7 ad e2 21 08 41 |..e....>.....!.A| +00000040 f8 36 e4 61 67 71 69 56 7f 6b d1 fc 00 08 13 02 |.6.agqiV.k......| 00000050 13 03 13 01 00 ff 01 00 00 a4 00 00 00 0e 00 0c |................| 00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| 00000070 03 00 01 02 00 0a 00 04 00 02 00 17 00 16 00 00 |................| 00000080 00 17 00 00 00 0d 00 1e 00 1c 04 03 05 03 06 03 |................| 00000090 08 07 08 08 08 09 08 0a 08 0b 08 04 08 05 08 06 |................| 000000a0 04 01 05 01 06 01 00 2b 00 03 02 03 04 00 2d 00 |.......+......-.| -000000b0 02 01 01 00 33 00 47 00 45 00 17 00 41 04 50 4f |....3.G.E...A.PO| -000000c0 1c 9c 0f 11 5a f0 a0 54 82 44 5b 82 95 e1 0a 1d |....Z..T.D[.....| -000000d0 56 23 a1 7a ee e8 ee ef 8d 28 be 21 c2 dd c9 05 |V#.z.....(.!....| -000000e0 13 bc 6b 0a 69 15 95 4e e3 f9 6a 75 ef 4d 96 12 |..k.i..N..ju.M..| -000000f0 d0 c9 46 78 d7 9d a2 80 0a b7 c8 3f bd c2 |..Fx.......?..| +000000b0 02 01 01 00 33 00 47 00 45 00 17 00 41 04 d3 57 |....3.G.E...A..W| +000000c0 de 53 6a 81 d5 e8 c2 68 cd 05 90 9b 0e b2 7e 5d |.Sj....h......~]| +000000d0 43 4c 66 f1 28 53 53 00 1a a5 9b b3 ae e0 3e b7 |CLf.(SS.......>.| +000000e0 72 4b 29 c6 2d 96 39 3a 1c a2 ef 04 96 22 df ea |rK).-.9:....."..| +000000f0 15 f5 ff bb 36 ed 3a 3f 67 55 ba 48 10 45 |....6.:?gU.H.E| >>> Flow 2 (server to client) 00000000 16 03 03 00 9b 02 00 00 97 03 03 00 00 00 00 00 |................| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 dd 11 6b b4 |........... ..k.| -00000030 59 b7 e2 d9 b3 91 01 ab 11 68 65 2e 1d 60 2f 58 |Y........he..`/X| -00000040 41 a6 7a 94 bc ad fd ff 05 a5 56 cb 13 02 00 00 |A.z.......V.....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 5f fe 5f 0c |........... _._.| +00000030 88 92 65 b9 c6 ac 7f 3e dc a3 f7 ad e2 21 08 41 |..e....>.....!.A| +00000040 f8 36 e4 61 67 71 69 56 7f 6b d1 fc 13 02 00 00 |.6.agqiV.k......| 00000050 4f 00 2b 00 02 03 04 00 33 00 45 00 17 00 41 04 |O.+.....3.E...A.| 00000060 1e 18 37 ef 0d 19 51 88 35 75 71 b5 e5 54 5b 12 |..7...Q.5uq..T[.| 00000070 2e 8f 09 67 fd a7 24 20 3e b2 56 1c ce 97 28 5e |...g..$ >.V...(^| 00000080 f8 2b 2d 4f 9e f1 07 9f 6c 4b 5b 83 56 e2 32 42 |.+-O....lK[.V.2B| 00000090 e9 58 b6 d7 49 a6 b5 68 1a 41 03 56 6b dc 5a 89 |.X..I..h.A.Vk.Z.| -000000a0 14 03 03 00 01 01 17 03 03 00 17 de 95 cd 3c b2 |..............<.| -000000b0 4b 8b c7 43 28 60 d9 2b 83 21 fb 51 a7 ec 71 d6 |K..C(`.+.!.Q..q.| -000000c0 de 03 17 03 03 02 6d bf 85 6f 36 00 4d 35 bd 40 |......m..o6.M5.@| -000000d0 23 73 df 49 94 c8 92 6f 6a 71 3b 4f 82 54 74 60 |#s.I...ojq;O.Tt`| -000000e0 d3 02 7e 99 85 f1 80 f4 cd fb a7 e4 9e 05 91 ef |..~.............| -000000f0 25 e9 23 fc db 3e b0 1f 4a d0 0b 1f 46 da 6b bc |%.#..>..J...F.k.| -00000100 6a e0 53 65 60 1e f5 cc 8b 01 be 1c 3b d9 a9 41 |j.Se`.......;..A| -00000110 ef de eb 8b 73 f6 6d e4 ee 5d 97 c6 b7 2f 50 99 |....s.m..].../P.| -00000120 c7 84 05 f1 80 13 d7 00 c6 05 d7 16 d0 bf 26 44 |..............&D| -00000130 ad 94 47 f2 48 12 86 54 07 25 01 5f 97 b2 5e 11 |..G.H..T.%._..^.| -00000140 6d cf 90 cb 91 f1 1e 9f 50 df 8d 2e 67 4c 12 08 |m.......P...gL..| -00000150 2d 36 e6 b1 15 e4 b5 55 32 df ab 3a ec ae 2e ee |-6.....U2..:....| -00000160 98 31 32 38 73 fc 6c 65 a8 05 ef 91 4a 3a 90 22 |.128s.le....J:."| -00000170 1b 92 df 65 b3 ce 94 b8 18 f5 25 a1 a3 bd a8 c6 |...e......%.....| -00000180 33 ec ad 61 b9 0e 31 49 7d 43 cc 52 2e da 63 7b |3..a..1I}C.R..c{| -00000190 40 b2 40 6d 64 c5 f4 9c 96 7e 82 22 56 bc f1 57 |@.@md....~."V..W| -000001a0 2f 10 f9 b2 b0 19 18 de 03 b7 29 1d 6e 6a df 1c |/.........).nj..| -000001b0 c9 78 02 4b 67 d5 c5 98 32 3f 6c a9 d5 50 3c e3 |.x.Kg...2?l..P<.| -000001c0 4f 8e 75 84 e5 91 da 27 a0 0a d5 93 69 c7 2a 81 |O.u....'....i.*.| -000001d0 85 10 d3 60 f8 51 83 02 fe fc da 00 60 47 be 67 |...`.Q......`G.g| -000001e0 b3 61 c8 41 84 d1 45 cf 2f fa a6 01 e6 33 09 0d |.a.A..E./....3..| -000001f0 d9 a7 61 e0 44 cb e1 16 ad ec f0 65 9f bb 97 95 |..a.D......e....| -00000200 76 ce 01 27 ae f0 c1 20 9c 2a 73 45 2c 06 33 59 |v..'... .*sE,.3Y| -00000210 a6 d6 14 da 37 70 33 a7 9a 8e de 31 ff ce 4c 33 |....7p3....1..L3| -00000220 5f 0e 4a 29 a0 ee 3a 06 cd f6 ae 03 74 e1 0a 95 |_.J)..:.....t...| -00000230 22 68 0d c2 af 1b 40 ab 7c e2 8a 3a a1 36 ae 99 |"h....@.|..:.6..| -00000240 79 ba 41 0a d6 91 04 dd 76 47 c7 a7 75 75 ab 24 |y.A.....vG..uu.$| -00000250 c7 c4 c0 cd 5e ca 8f ae 9c cd 0a dd e1 8e 47 46 |....^.........GF| -00000260 9e bd 48 aa 1e 10 d0 d0 e9 ee dd 10 52 c5 66 ad |..H.........R.f.| -00000270 9a 16 e4 af 96 13 3f b0 b3 75 6e b0 08 05 29 52 |......?..un...)R| -00000280 c1 a7 60 f8 c3 08 fb 04 02 25 17 82 61 31 7a 5f |..`......%..a1z_| -00000290 39 bb de e7 59 d1 14 a7 40 65 24 6f 23 5b 10 81 |9...Y...@e$o#[..| -000002a0 2c 02 b0 90 49 ef 12 1e cd 97 0a bc 30 45 37 06 |,...I.......0E7.| -000002b0 08 e0 47 0c b5 d1 39 6f de e2 8a 00 75 ae 0b 66 |..G...9o....u..f| -000002c0 f0 c7 7b a0 e1 9e 76 7b eb 54 e2 04 cb 8f 76 77 |..{...v{.T....vw| -000002d0 30 8e e6 ec 02 8c 86 00 cb c5 47 69 66 77 cd d9 |0.........Gifw..| -000002e0 25 d6 30 f3 2e de f9 70 ee 52 20 0c 2f 85 87 42 |%.0....p.R ./..B| -000002f0 5e 8b ee 63 b9 15 0a 09 b9 2d 11 c3 5f ab 9e b7 |^..c.....-.._...| -00000300 33 a8 96 4a 11 9d e3 d3 c3 18 5e 35 b3 dd 88 21 |3..J......^5...!| -00000310 c2 4d 93 07 75 66 b2 d8 2a 6e 1e 27 7a 37 2f 10 |.M..uf..*n.'z7/.| -00000320 b4 3b 10 d7 4a 35 6d 16 ae 87 2e cc 07 e5 37 76 |.;..J5m.......7v| -00000330 8e 27 00 f3 17 03 03 00 99 9a b6 00 63 9d fb b6 |.'..........c...| -00000340 81 3f ab ed e9 74 6d 58 33 10 f0 fb 2c ef 95 ed |.?...tmX3...,...| -00000350 92 9e e2 7d 86 e0 9d 98 49 29 ee 90 0c 47 2d 0d |...}....I)...G-.| -00000360 d0 b9 5b 39 ce 3b 84 b4 e5 1c 8a 0b 7c a7 a6 ab |..[9.;......|...| -00000370 cf 26 d4 07 a3 94 b8 06 65 e1 63 fe 23 67 a0 60 |.&......e.c.#g.`| -00000380 4f d8 81 33 7e 98 d0 0a ec b4 36 2f e7 00 bf e3 |O..3~.....6/....| -00000390 5e 83 d2 84 11 b5 8a c9 74 9c 7a 02 0a 26 28 cb |^.......t.z..&(.| -000003a0 d1 2d 76 8c 9c 23 55 a6 1a e9 55 6a e2 15 33 50 |.-v..#U...Uj..3P| -000003b0 d0 f1 0f 45 7b bc 8b a8 1e 70 a3 9b d3 d0 a1 69 |...E{....p.....i| -000003c0 3b 02 3d 59 f6 fa c5 5f 2f 75 b8 b5 cc d5 65 2e |;.=Y..._/u....e.| -000003d0 d1 0e 17 03 03 00 45 db a5 de 00 16 ca e3 c9 93 |......E.........| -000003e0 8e 2d 23 9b f4 ba 46 69 bb cb 40 6d 0f ef bf 2f |.-#...Fi..@m.../| -000003f0 ff ec 58 e7 3a 36 13 1c dd ae 1e 1c 3b ca c4 1c |..X.:6......;...| -00000400 fd 2a f7 9d 00 eb 9f 76 1d ec 9a 61 ef 57 2e d0 |.*.....v...a.W..| -00000410 ec 29 c6 35 e0 72 c5 fc 5c ae fa 55 |.).5.r..\..U| +000000a0 14 03 03 00 01 01 17 03 03 00 17 e2 0e 2c fc 9b |.............,..| +000000b0 61 70 e2 5f b9 e5 a5 ad ce fb df fa be ae 9a 5b |ap._...........[| +000000c0 cc 99 17 03 03 02 6d 87 74 85 83 f2 51 98 a5 75 |......m.t...Q..u| +000000d0 09 f0 6d 0f dd 16 a7 12 12 fb ec 98 6e 56 a4 ed |..m.........nV..| +000000e0 94 18 6b 28 6b ef 80 bd 28 3b f4 ee 05 80 d2 ff |..k(k...(;......| +000000f0 2f d4 6b b5 d3 b6 91 61 b7 8e 1b db 60 cf f5 4b |/.k....a....`..K| +00000100 3b 68 78 4a 09 2d a3 49 c0 8a 06 e5 2c 62 08 5d |;hxJ.-.I....,b.]| +00000110 c4 5d 03 04 5e 3e 25 9d 30 24 af b0 a3 2e 8c 65 |.]..^>%.0$.....e| +00000120 fb 6f 34 94 e9 d9 d6 34 0e a9 44 8a 9e b7 1a 13 |.o4....4..D.....| +00000130 26 b7 b2 16 c2 79 05 e8 0e 99 bd 7a cc c8 83 a4 |&....y.....z....| +00000140 60 1d cb 5c 02 8a 1f b7 4f c4 2d cd 96 e4 7b 39 |`..\....O.-...{9| +00000150 5a 45 60 30 82 9f 8f 30 56 11 7b 0d 6e 7e 95 54 |ZE`0...0V.{.n~.T| +00000160 d0 ac 09 8e 3b 49 14 de d3 8b a1 e4 4d f7 65 8d |....;I......M.e.| +00000170 88 46 71 7a 29 ea 05 b4 66 e6 76 db b7 7d 56 ce |.Fqz)...f.v..}V.| +00000180 e0 ba 47 b5 75 c1 14 42 7e af 87 f3 94 bf 75 e3 |..G.u..B~.....u.| +00000190 ee 54 ea 4c 8c 69 fd 63 01 1c 0e 38 84 e6 04 c3 |.T.L.i.c...8....| +000001a0 a8 3d 42 18 87 a2 f0 b4 4d ef 29 8d 48 01 b9 f4 |.=B.....M.).H...| +000001b0 8b 1e b1 72 bf e4 9a 6d 80 d7 c2 e0 a7 a7 0a 3f |...r...m.......?| +000001c0 45 f4 72 94 56 19 6b f3 4c 3e a6 1e 87 cd d3 a2 |E.r.V.k.L>......| +000001d0 49 b6 e7 56 b9 dd 2b f6 66 0a 6a 55 75 63 f9 c3 |I..V..+.f.jUuc..| +000001e0 d2 a6 ea a0 04 09 6b 75 eb 77 6b 9e 4b a4 6d f5 |......ku.wk.K.m.| +000001f0 44 01 37 ee 21 15 f7 3e 6e 6f fc dc be 44 43 26 |D.7.!..>no...DC&| +00000200 dd 7a ab 13 67 58 8d cb 02 78 b9 71 07 22 12 d2 |.z..gX...x.q."..| +00000210 cf 87 50 ff 04 d9 7a f2 73 8c 77 9e 5b 17 b2 aa |..P...z.s.w.[...| +00000220 2a db b2 a2 f4 5b c4 0d e2 84 a3 fe 4d b1 02 26 |*....[......M..&| +00000230 7d ba 76 2a 0e d1 87 52 c7 5f 97 07 fd b7 25 1b |}.v*...R._....%.| +00000240 2a 52 0d 30 59 84 73 a0 d7 db 75 6d 74 05 a2 3b |*R.0Y.s...umt..;| +00000250 91 69 f3 a3 43 bc 44 f9 ce f4 85 a1 38 5a e2 55 |.i..C.D.....8Z.U| +00000260 f6 e8 e2 ca 3b c2 fd 39 0f f4 ae 86 08 24 d4 c7 |....;..9.....$..| +00000270 10 44 c0 bf 9b 47 d9 da 07 52 4d 88 71 d4 14 69 |.D...G...RM.q..i| +00000280 66 8b cc 44 09 1b 90 b0 a5 7c 96 3c 94 99 cd c2 |f..D.....|.<....| +00000290 ca 0b af 53 c0 31 a2 5a df 54 76 e4 af 66 5d ff |...S.1.Z.Tv..f].| +000002a0 7c 21 c9 06 b8 d9 7e 1f 46 97 c8 ea e0 90 f2 db ||!....~.F.......| +000002b0 9b 52 04 a8 91 20 15 c8 fc 24 09 d7 f9 48 20 dc |.R... ...$...H .| +000002c0 18 22 d1 e2 19 3d 53 dd e4 21 db 8c 87 7d d7 bf |."...=S..!...}..| +000002d0 f7 93 a6 a5 81 b5 53 59 15 a8 80 2e 3b 4f b0 d4 |......SY....;O..| +000002e0 f3 66 56 14 6e a1 6b 3e 75 b1 8e fa 0d 52 96 b1 |.fV.n.k>u....R..| +000002f0 08 b1 b0 ce 0c c6 0a 5e 54 0f a3 5a cd 6c db 6a |.......^T..Z.l.j| +00000300 0a 6a 52 11 b5 97 7b 67 e3 3e 84 22 76 3a f1 96 |.jR...{g.>."v:..| +00000310 70 bf 9c a6 62 03 30 a7 69 46 ec 9a 61 1e 37 6f |p...b.0.iF..a.7o| +00000320 7d 24 d6 6c 8a e5 72 3a 0a ef e8 d3 d6 fe 28 c8 |}$.l..r:......(.| +00000330 60 ff d7 2e 17 03 03 00 99 ca f3 5e cb 8c b2 0b |`..........^....| +00000340 87 4e 59 89 38 f5 f1 3c c4 e1 6a 11 2d f3 ef 7d |.NY.8..<..j.-..}| +00000350 b6 85 ff bb 84 8f cb db 7f 02 50 23 93 db b3 0a |..........P#....| +00000360 2c 32 cb ed 08 ae 6a 3e 30 b8 a5 c2 9c 85 0c 87 |,2....j>0.......| +00000370 44 68 8b 47 31 75 a0 c3 2c 32 2e 61 40 da 4b 0a |Dh.G1u..,2.a@.K.| +00000380 07 ef 2b 6b fa 2f 66 87 ff f1 0e 5e b0 db 44 3d |..+k./f....^..D=| +00000390 3c fc a7 94 17 f3 0b a5 50 68 7b 65 48 8e 78 ce |<.......Ph{eH.x.| +000003a0 d7 71 fa ae 58 50 62 33 98 b2 a2 27 b1 e0 66 fb |.q..XPb3...'..f.| +000003b0 65 6a 94 21 38 e8 40 aa 4f d7 02 31 45 e8 d3 e0 |ej.!8.@.O..1E...| +000003c0 5f 66 d4 2f 26 9f b2 72 b7 bc 43 ce f1 2a 0e 61 |_f./&..r..C..*.a| +000003d0 f1 91 17 03 03 00 45 c0 25 ac 1e 0b 4e 2c 61 9c |......E.%...N,a.| +000003e0 c7 80 f1 f7 bf d4 c6 a9 29 3f 0c 08 8d f0 70 7c |........)?....p|| +000003f0 6f 96 2c 3e 32 7f a6 10 17 19 81 49 2d a7 f7 3f |o.,>2......I-..?| +00000400 04 20 7d 52 c2 e8 cc 61 b2 16 5b 8b 3e 1a a9 2f |. }R...a..[.>../| +00000410 9c 5e a7 74 88 3d 8a c8 90 df 9a 17 17 03 03 00 |.^.t.=..........| +00000420 a3 cf b5 d2 52 49 27 95 5f dd 9b 37 ed 74 7b 17 |....RI'._..7.t{.| +00000430 8b 7f f3 67 3c 91 2f 1e b6 17 4f ba a7 b1 92 99 |...g<./...O.....| +00000440 32 32 7e 72 95 90 a0 92 08 c3 da 30 31 85 ee bb |22~r.......01...| +00000450 8f 8d d4 d8 c5 28 19 10 71 f0 b3 15 45 86 e0 09 |.....(..q...E...| +00000460 ee e4 96 a0 90 c5 df 81 8f d1 38 b2 e0 33 95 3b |..........8..3.;| +00000470 33 9d e0 3e 93 3d 6a 12 60 44 43 9e b0 5c 16 82 |3..>.=j.`DC..\..| +00000480 92 b8 84 0e 56 19 b9 b6 eb 3c 37 3e 9b ee 2a 6a |....V....<7>..*j| +00000490 13 4a bb 3d 78 21 79 0e 6f cc 34 89 91 95 03 a6 |.J.=x!y.o.4.....| +000004a0 19 e2 81 37 a6 9d 30 28 42 da f4 69 4e 42 4b e4 |...7..0(B..iNBK.| +000004b0 ca 23 c5 1e 56 24 cc ba b0 85 21 ef 44 04 cb d8 |.#..V$....!.D...| +000004c0 aa cd 5d 55 |..]U| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 45 b5 0b 9f e1 e1 |..........E.....| -00000010 0e a8 3c 22 83 fb 13 2a d9 cc 96 32 15 d8 fb 1a |..<"...*...2....| -00000020 0b b2 ee 87 2b 50 a6 76 0a 07 a1 41 8b 8f f1 bb |....+P.v...A....| -00000030 b8 03 eb 77 c0 96 b9 5e 4c 2e 6b 9a 2f 7e 3e 8d |...w...^L.k./~>.| -00000040 aa 10 a4 ce 0f 83 d1 25 52 8e 91 98 bc 09 a3 a5 |.......%R.......| +00000000 14 03 03 00 01 01 17 03 03 00 45 43 65 76 31 fa |..........ECev1.| +00000010 2c a7 2e 96 92 82 cf eb 91 3d 8b eb 01 d3 af da |,........=......| +00000020 67 ea 4d 75 47 8f 42 34 7a 2d 0a b0 d1 4c 08 c0 |g.MuG.B4z-...L..| +00000030 c7 76 7e 99 93 4a 06 b2 d9 95 df f9 c1 29 25 e6 |.v~..J.......)%.| +00000040 24 6d ea 73 00 24 36 a9 62 30 9d a4 aa 6c 2f c8 |$m.s.$6.b0...l/.| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e 59 88 46 14 c1 2e 42 5d 1c 37 37 |.....Y.F...B].77| -00000010 d7 83 5f 82 39 bf 29 6d 21 0a 4c 4f 19 91 b1 4f |.._.9.)m!.LO...O| -00000020 60 f6 97 17 03 03 00 13 a0 ca 1d 58 c1 29 96 42 |`..........X.).B| -00000030 48 31 2d 9b 77 77 f8 f1 14 7b b2 |H1-.ww...{.| +00000000 17 03 03 00 1e 6e bb 52 84 cf a6 71 d5 b9 ac c2 |.....n.R...q....| +00000010 29 1a 0b db be a4 bb bd 6c f4 2e c8 eb f0 bb eb |).......l.......| +00000020 d3 f8 69 17 03 03 00 13 19 ad 85 21 63 f6 38 df |..i........!c.8.| +00000030 35 41 af 12 75 63 e8 fa 38 5e 50 |5A..uc..8^P| diff --git a/testdata/Server-TLSv13-RSA-RSAPSS b/testdata/Server-TLSv13-RSA-RSAPSS index b3ff6f2a..21f57b7b 100644 --- a/testdata/Server-TLSv13-RSA-RSAPSS +++ b/testdata/Server-TLSv13-RSA-RSAPSS @@ -1,90 +1,101 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 c6 01 00 00 c2 03 03 e9 1f 49 f4 6e |.............I.n| -00000010 6a 47 e9 46 ae 43 1b b4 00 98 20 27 a7 a6 21 76 |jG.F.C.... '..!v| -00000020 fc 6b 35 d7 12 33 28 fb 2d 00 69 20 c9 28 5e 43 |.k5..3(.-.i .(^C| -00000030 c9 36 a0 b9 c4 68 0f fd d3 ce c6 39 3c 17 26 b1 |.6...h.....9<.&.| -00000040 4c d5 36 50 59 fd cd 47 8f 43 eb 33 00 08 13 02 |L.6PY..G.C.3....| +00000000 16 03 01 00 c6 01 00 00 c2 03 03 39 95 ab cc 1c |...........9....| +00000010 64 13 9d 19 2e 3e 73 33 48 b1 a9 f7 88 14 5a 83 |d....>s3H.....Z.| +00000020 19 f7 b5 08 8d e4 80 09 72 21 99 20 23 ad 4c 2c |........r!. #.L,| +00000030 66 84 1e e8 c3 0c 9f 66 19 76 df a3 e0 62 cd 7d |f......f.v...b.}| +00000040 95 85 70 4f 37 fb 39 58 50 b1 d5 7b 00 08 13 02 |..pO7.9XP..{....| 00000050 13 03 13 01 00 ff 01 00 00 71 00 00 00 0e 00 0c |.........q......| 00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| 00000070 03 00 01 02 00 0a 00 0c 00 0a 00 1d 00 17 00 1e |................| 00000080 00 19 00 18 00 16 00 00 00 17 00 00 00 0d 00 04 |................| 00000090 00 02 08 04 00 2b 00 03 02 03 04 00 2d 00 02 01 |.....+......-...| -000000a0 01 00 33 00 26 00 24 00 1d 00 20 a4 ab a1 75 b6 |..3.&.$... ...u.| -000000b0 95 db 0e d6 fd 95 57 3b 3f 08 5e cd cc 19 d0 7b |......W;?.^....{| -000000c0 7b cd 67 34 d3 da 65 e5 e6 8d 0c |{.g4..e....| +000000a0 01 00 33 00 26 00 24 00 1d 00 20 be 29 89 8d 44 |..3.&.$... .)..D| +000000b0 4d e5 51 88 7a 1a 56 52 a8 86 74 13 0e e9 a5 a7 |M.Q.z.VR..t.....| +000000c0 b6 7f 38 b3 ef 62 e6 b0 c5 2a 0a |..8..b...*.| >>> Flow 2 (server to client) 00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 c9 28 5e 43 |........... .(^C| -00000030 c9 36 a0 b9 c4 68 0f fd d3 ce c6 39 3c 17 26 b1 |.6...h.....9<.&.| -00000040 4c d5 36 50 59 fd cd 47 8f 43 eb 33 13 02 00 00 |L.6PY..G.C.3....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 23 ad 4c 2c |........... #.L,| +00000030 66 84 1e e8 c3 0c 9f 66 19 76 df a3 e0 62 cd 7d |f......f.v...b.}| +00000040 95 85 70 4f 37 fb 39 58 50 b1 d5 7b 13 02 00 00 |..pO7.9XP..{....| 00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| 00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| -00000080 03 03 00 01 01 17 03 03 00 17 24 64 74 26 90 fe |..........$dt&..| -00000090 68 e7 db 87 79 32 3b 7c 2c e8 2e 2d d0 d1 d2 97 |h...y2;|,..-....| -000000a0 62 17 03 03 02 6d 41 22 d8 7d 6c 44 d0 6e 2b 79 |b....mA".}lD.n+y| -000000b0 bd d5 56 10 2a a6 41 c4 7f 2c 1f 01 b5 3a b2 e7 |..V.*.A..,...:..| -000000c0 44 6f c2 d2 2b 83 74 80 46 8e 7e 24 81 b0 8e c4 |Do..+.t.F.~$....| -000000d0 f0 90 03 89 03 b1 89 c5 28 b4 cc bc 3d df a9 25 |........(...=..%| -000000e0 db f5 f1 1c f2 f3 04 15 d6 f7 f7 c3 03 24 dd e0 |.............$..| -000000f0 19 22 62 67 3a 80 f8 f7 83 ca 5c 3f eb 9b 6e 98 |."bg:.....\?..n.| -00000100 8a 2f ba c2 ed bc dd 28 75 1f a2 27 42 89 39 3e |./.....(u..'B.9>| -00000110 01 e0 88 73 0f bb f4 cc 7c 75 3a 3f b4 68 04 be |...s....|u:?.h..| -00000120 4e d7 c2 2c 8d 41 df 6c 44 b3 1b 35 dc 46 36 3f |N..,.A.lD..5.F6?| -00000130 f0 dc e4 cc c3 ca 3b bf 3f fa bf 87 7c 2e 65 e1 |......;.?...|.e.| -00000140 d3 4b 2c 2a 6b 1a 57 8c 76 06 53 02 ef 79 d4 6f |.K,*k.W.v.S..y.o| -00000150 93 f0 36 f9 cb 13 05 b3 8c 22 16 fd 0a c2 e8 45 |..6......".....E| -00000160 fa 46 e7 ce f2 35 9f 32 88 97 67 46 e9 0c 13 77 |.F...5.2..gF...w| -00000170 30 b8 f3 59 71 e6 65 4f f5 5b 06 6e 9a 7f 7a 24 |0..Yq.eO.[.n..z$| -00000180 c5 e6 05 eb 8a ec 4d 0f 73 2c 6d aa 54 3d 5c 40 |......M.s,m.T=\@| -00000190 44 68 7f e6 52 b1 02 37 8c a0 be c8 3a f0 74 85 |Dh..R..7....:.t.| -000001a0 4e 0a 20 46 6c 3c 42 e7 94 18 02 30 a7 43 e7 c9 |N. Fl.*.....| -000001c0 3d 77 1e 4e 13 51 7e 38 ba 06 b1 62 99 6c 98 8d |=w.N.Q~8...b.l..| -000001d0 87 b4 59 01 93 d3 84 80 6f e6 07 18 e0 a3 07 5d |..Y.....o......]| -000001e0 b7 97 1a 8b ed 78 20 d1 28 0e 60 dc 51 37 b1 07 |.....x .(.`.Q7..| -000001f0 81 b1 0b d8 81 f4 79 bf 3d ae 60 32 22 2b c5 9c |......y.=.`2"+..| -00000200 d1 37 3a f8 71 22 49 c2 a7 1e 5a 56 c1 c4 b4 5d |.7:.q"I...ZV...]| -00000210 2a 08 60 c6 75 2a 10 3e c0 84 77 dd 1d a6 be 8c |*.`.u*.>..w.....| -00000220 a7 2a 20 6b e1 20 bb bd 03 fb c1 2c 33 fb 97 64 |.* k. .....,3..d| -00000230 88 31 75 df 6e b3 49 dd e8 f2 b8 13 ca d5 24 40 |.1u.n.I.......$@| -00000240 e6 0b e5 7e 12 cb 20 60 b0 0a 72 b6 a5 93 2d ea |...~.. `..r...-.| -00000250 74 22 48 b7 7e 10 bf 81 55 eb 3d 0c 33 f6 37 66 |t"H.~...U.=.3.7f| -00000260 04 2a 1b 9c 3e 0a 06 0d 53 88 f0 cf 4f 52 c4 a1 |.*..>...S...OR..| -00000270 31 ff b0 8e 5c 8e c3 cc 0d a1 68 cb f6 2e 0f 57 |1...\.....h....W| -00000280 06 f9 d6 80 e5 ac b8 24 1f ef 6e b9 5c 32 a4 e1 |.......$..n.\2..| -00000290 44 14 99 75 6e 57 d6 6b 51 5f 16 ee 65 c6 fc 96 |D..unW.kQ_..e...| -000002a0 4e ea 83 85 3f c9 f6 5b b8 14 5e 6a 41 2b 0f 91 |N...?..[..^jA+..| -000002b0 ab 79 f4 3d 0e 63 2a 99 eb 4a e9 07 b8 cd fb d2 |.y.=.c*..J......| -000002c0 ad 33 e6 48 25 b2 b3 29 a6 fc 14 84 a5 ee 53 44 |.3.H%..)......SD| -000002d0 d4 b2 93 db 86 a6 b2 b3 ea 22 3d a7 52 db 53 56 |........."=.R.SV| -000002e0 96 20 24 59 6c b6 10 c2 f4 88 9a ff 69 d3 92 0c |. $Yl.......i...| -000002f0 da e7 67 63 af 3f 94 c2 06 9f da 8a 78 f5 6d 4d |..gc.?......x.mM| -00000300 3d 7b fe 43 6c 71 82 ce 34 07 4b e2 57 05 f8 5c |={.Clq..4.K.W..\| -00000310 dc 17 03 17 03 03 00 99 97 2b be f7 da 39 40 7e |.........+...9@~| -00000320 9f bd 0a 93 db c8 0d 89 e9 b8 52 5c f6 83 6d 6c |..........R\..ml| -00000330 d9 44 1a 3a fe 39 05 f5 c3 25 5e 5e 92 4d 84 d9 |.D.:.9...%^^.M..| -00000340 0e bc f2 27 09 e0 ba 70 f1 0a 9d 6a af b5 e7 90 |...'...p...j....| -00000350 8c 91 c7 82 9b d4 8b 88 dc 16 ec 33 2c 81 e7 4f |...........3,..O| -00000360 ad dd c1 c5 c6 59 36 d4 aa 39 f1 6f de 93 a7 0e |.....Y6..9.o....| -00000370 39 e4 f3 cf 01 b3 ed ad 10 01 70 20 60 ac 6a c5 |9.........p `.j.| -00000380 ec ec f9 fb 7c 40 72 10 c4 99 8f 10 eb b0 08 4e |....|@r........N| -00000390 dd 3f 65 a4 34 c0 69 94 2a 7c 2d cb 33 3b d5 b9 |.?e.4.i.*|-.3;..| -000003a0 03 e0 e9 63 37 54 73 6a 34 ad c9 65 d1 d4 d7 6b |...c7Tsj4..e...k| -000003b0 38 17 03 03 00 45 1c f4 15 86 6e b6 2d cd 84 30 |8....E....n.-..0| -000003c0 55 82 13 52 d9 c9 3f 01 27 ee 01 9c d4 da be ab |U..R..?.'.......| -000003d0 be 10 4d 82 55 32 86 a0 7b 74 bc 15 aa 68 3a e4 |..M.U2..{t...h:.| -000003e0 a1 3a d9 0e b6 c3 60 48 b4 7d e1 77 9d ce f9 41 |.:....`H.}.w...A| -000003f0 5f f7 d5 db ea 1f 6e b1 11 cd ca |_.....n....| +00000080 03 03 00 01 01 17 03 03 00 17 49 c6 88 9c 3b 2f |..........I...;/| +00000090 3a 0a e6 8e 75 d0 39 11 ad 08 87 17 2c 14 96 28 |:...u.9.....,..(| +000000a0 85 17 03 03 02 6d 2a d6 89 4d 5d f3 6c 28 97 dd |.....m*..M].l(..| +000000b0 4e 45 88 e8 90 a4 f3 45 86 cf 59 d6 61 6e 1a a7 |NE.....E..Y.an..| +000000c0 b7 35 7e 9c 6e 11 19 c4 1b 89 b9 5a 7c aa 1f 96 |.5~.n......Z|...| +000000d0 e2 36 6d 54 09 12 2f 28 12 20 a3 41 06 bd 44 3c |.6mT../(. .A..D<| +000000e0 73 be d3 8c 78 18 a1 63 ad f9 9d 41 20 5e 32 55 |s...x..c...A ^2U| +000000f0 8e 18 c1 d8 b0 93 13 7e 88 a0 af 8a 59 e2 af 43 |.......~....Y..C| +00000100 d2 82 66 ba c5 a1 97 94 e8 63 40 1b 8f c4 eb 49 |..f......c@....I| +00000110 19 91 65 e9 54 d3 90 76 d6 f8 ff 15 20 31 3c 86 |..e.T..v.... 1<.| +00000120 88 8a 43 be 77 a0 28 de fa 9f d5 30 14 a8 35 2f |..C.w.(....0..5/| +00000130 5e ee 9d cf b5 69 d1 f5 f6 55 d1 1a 61 3f 4c a1 |^....i...U..a?L.| +00000140 97 38 5b 87 7e ce 88 23 8a d0 bd fc 4b c5 da f7 |.8[.~..#....K...| +00000150 25 6c 6c 0b ec 61 50 72 97 6b f7 fe 9b 5b 5a f9 |%ll..aPr.k...[Z.| +00000160 59 19 71 10 74 2d 14 8c 1b 52 8b 39 1c 56 ea 7e |Y.q.t-...R.9.V.~| +00000170 7a c9 8f 7c bd db 1e c5 02 9f 42 8b 63 ee 13 52 |z..|......B.c..R| +00000180 fe 46 40 de 7b 97 27 b0 16 87 75 96 c7 1c 88 5d |.F@.{.'...u....]| +00000190 2e 64 7f a8 df e0 16 b9 ee 27 7e b3 98 99 f7 4a |.d.......'~....J| +000001a0 83 05 78 bb 59 07 8e 1a 46 1d 0f 45 87 ae d9 ae |..x.Y...F..E....| +000001b0 6f 42 ed b1 72 14 8c 9d 33 72 95 ac 12 bb a0 20 |oB..r...3r..... | +000001c0 56 a8 8a 23 e4 51 6a 89 f5 8e bc 55 5a e2 8d 78 |V..#.Qj....UZ..x| +000001d0 84 24 55 99 cf 37 61 8c 7e 46 17 f3 26 ca 27 ec |.$U..7a.~F..&.'.| +000001e0 f4 04 f6 76 1d cf 82 0c bd 85 82 81 06 f1 96 ce |...v............| +000001f0 78 54 6c eb a0 f8 cf 30 6a 10 17 08 e6 94 83 4f |xTl....0j......O| +00000200 56 34 80 ef ac fa ab e7 59 9e 6b f9 f8 38 76 cc |V4......Y.k..8v.| +00000210 3b 09 b0 16 3f 3f 5c d3 6a ad d9 2c 65 d8 ce b4 |;...??\.j..,e...| +00000220 19 53 c4 c9 d1 82 e8 19 72 ec bc 85 ef 3a 6e e5 |.S......r....:n.| +00000230 ba 3c f8 37 98 98 80 47 5f 47 4f cd ed f5 0e bc |.<.7...G_GO.....| +00000240 4e 14 a2 7d 8d 43 0b 18 ba 3b 10 50 e4 18 fc ac |N..}.C...;.P....| +00000250 0e 01 21 73 68 da 50 51 8a 64 b6 18 28 ca e3 a4 |..!sh.PQ.d..(...| +00000260 aa d2 5c 28 ff 64 fd cb 28 00 db b1 5c bf 75 81 |..\(.d..(...\.u.| +00000270 bb d2 8c df 5c 26 70 1d d6 fe 7a 94 65 27 93 72 |....\&p...z.e'.r| +00000280 bc ba 17 92 8f be 61 ec f5 88 04 ed fb cc f3 5c |......a........\| +00000290 71 d0 a4 5d 13 a6 a3 82 89 e8 9e 1a 8e 31 fd 2f |q..].........1./| +000002a0 57 53 98 d5 1f c4 3f 8e 92 7f 1b 90 a3 ad 6c 96 |WS....?.......l.| +000002b0 42 cc f2 f0 1c 8d 3f 31 fd b2 53 29 79 16 9a 96 |B.....?1..S)y...| +000002c0 fd d6 fe d4 3f 13 aa 39 73 d4 73 6d 9a ff f6 db |....?..9s.sm....| +000002d0 52 0a 1e 76 71 0f d3 ee de a8 b3 05 3b 24 c4 72 |R..vq.......;$.r| +000002e0 67 78 f1 be df c5 c0 87 32 60 28 96 8e b2 2e 3f |gx......2`(....?| +000002f0 7d e9 aa b7 66 57 ee 67 e6 ac 70 da 60 ce c2 00 |}...fW.g..p.`...| +00000300 55 2f 20 25 39 a5 5e b9 65 c3 00 63 c7 5a a9 31 |U/ %9.^.e..c.Z.1| +00000310 de fe 65 17 03 03 00 99 95 83 6d be 56 ef 4f a3 |..e.......m.V.O.| +00000320 96 5f a8 3d d5 a1 f3 8e 9a 8c 40 35 f4 12 2c 0a |._.=......@5..,.| +00000330 b3 02 3b d2 14 d8 a4 f1 12 01 be e1 8a 6b 5f 01 |..;..........k_.| +00000340 71 de ac 70 e9 7a 90 78 2e 2a a8 29 64 20 85 dd |q..p.z.x.*.)d ..| +00000350 57 09 cf 48 29 d0 63 42 bc 9b ec 0c e2 2d 41 d0 |W..H).cB.....-A.| +00000360 cb d8 68 46 b7 17 fc 1d 95 12 5a 4c c3 10 67 32 |..hF......ZL..g2| +00000370 f7 7a 14 55 63 fb 57 6e 59 ee b6 66 b8 65 e1 37 |.z.Uc.WnY..f.e.7| +00000380 e6 7c 6c 07 8b d1 84 80 01 11 ce 7f 20 f0 4d 42 |.|l......... .MB| +00000390 a7 67 01 12 e6 b5 9b d4 6a fe 38 37 71 ca 60 d6 |.g......j.87q.`.| +000003a0 12 d7 00 b5 26 c3 97 1d 9f 37 6a 82 31 ef c3 12 |....&....7j.1...| +000003b0 bc 17 03 03 00 45 65 1e cf 1f 1e 73 93 8d 66 54 |.....Ee....s..fT| +000003c0 47 b0 73 9f d1 a4 9d 3b b0 72 b4 f2 5f 06 e1 d2 |G.s....;.r.._...| +000003d0 1f bb 3d 13 48 7c 7a e0 19 15 9f aa a5 ed 09 18 |..=.H|z.........| +000003e0 2e 4e 8a cd 66 2b 9c b3 fe 99 b0 57 06 2e b3 a0 |.N..f+.....W....| +000003f0 79 92 c1 bb 0e 29 44 02 f1 b0 43 17 03 03 00 a3 |y....)D...C.....| +00000400 52 cd d9 d7 60 1c f5 06 83 aa 2f e0 0c 0f 5e 6d |R...`...../...^m| +00000410 0f 29 93 b9 ae 50 04 c6 f7 d3 ff c7 d1 ac 9d 43 |.)...P.........C| +00000420 d7 b5 76 7a 16 b7 2c b7 79 48 a4 c3 28 2a 86 10 |..vz..,.yH..(*..| +00000430 d1 24 7c 04 ed af 1f 8a 0b 18 29 97 7a 7a 47 3f |.$|.......).zzG?| +00000440 1f fe ba 9c 72 d9 9b ae 9b 83 5f f4 5a 4f 10 b8 |....r....._.ZO..| +00000450 e5 45 35 76 77 a2 ac 99 1c bc 78 cf 6f 62 ef ef |.E5vw.....x.ob..| +00000460 9b 1b 90 eb 95 6b a1 25 82 b7 c1 1b 6f da 10 4c |.....k.%....o..L| +00000470 aa 3e a8 ba dd 77 b1 39 a0 b2 6a 11 18 44 2a 8d |.>...w.9..j..D*.| +00000480 58 9a 53 31 e1 d1 ec 8b 47 95 63 67 44 67 8d 09 |X.S1....G.cgDg..| +00000490 2f 16 f5 19 cd 65 1d 52 d7 bd 19 f0 bb ec 7b 55 |/....e.R......{U| +000004a0 33 4f 84 |3O.| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 45 e9 b8 73 86 f8 |..........E..s..| -00000010 0c ba 6d ee 91 c4 70 d6 06 df 59 f8 28 21 92 3d |..m...p...Y.(!.=| -00000020 a5 ad 7c d3 08 ad ea f6 9f c8 d6 8a b1 f0 fc d2 |..|.............| -00000030 52 91 e8 1b b4 0b b9 a0 6e 48 18 d8 fb fe 3e d1 |R.......nH....>.| -00000040 d9 81 d5 9f 6a bd 83 74 c5 2d fb 42 95 57 5b 23 |....j..t.-.B.W[#| +00000000 14 03 03 00 01 01 17 03 03 00 45 07 3f db d9 c7 |..........E.?...| +00000010 05 fd c4 0c 2d ae ee d8 d7 e7 ac 46 19 a2 17 e5 |....-......F....| +00000020 5e 10 30 65 05 be e0 c7 1e b3 e2 16 a4 d6 69 e1 |^.0e..........i.| +00000030 2c ff 18 ba e4 8f d0 3d 12 45 df c3 d4 08 0d e6 |,......=.E......| +00000040 94 6e 83 6d 99 9d f3 f1 02 48 6b 6f d1 2d f0 c6 |.n.m.....Hko.-..| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e 64 cd 12 df 96 8c 5d a7 8f 92 98 |.....d.....]....| -00000010 c9 f7 16 11 4e 37 48 dd 55 b2 c6 4c 91 82 8d a8 |....N7H.U..L....| -00000020 01 8b a3 17 03 03 00 13 68 92 77 f7 88 86 d9 3c |........h.w....<| -00000030 4a 52 35 b2 2c b7 24 03 3c db 6c |JR5.,.$.<.l| +00000000 17 03 03 00 1e 2a 3d 96 b4 6a 9e 7f 7f ca e0 8e |.....*=..j......| +00000010 41 4e bd 82 86 61 b8 59 19 e4 97 02 c2 00 7e 69 |AN...a.Y......~i| +00000020 81 b0 64 17 03 03 00 13 63 91 94 1a a3 51 bf 95 |..d.....c....Q..| +00000030 9e 09 a2 a1 f0 01 57 93 00 71 49 |......W..qI| diff --git a/testdata/Server-TLSv13-Resume b/testdata/Server-TLSv13-Resume new file mode 100644 index 00000000..fa10f3e0 --- /dev/null +++ b/testdata/Server-TLSv13-Resume @@ -0,0 +1,66 @@ +>>> Flow 1 (client to server) +00000000 16 03 01 01 a4 01 00 01 a0 03 03 92 e8 fa 14 82 |................| +00000010 03 7c cd fe 01 82 55 99 8b fd 04 ff 88 82 98 c9 |.|....U.........| +00000020 72 18 3b 2e 0a de fc a4 44 9f 1d 20 c0 df df c9 |r.;.....D.. ....| +00000030 1d ed 19 9e 2d ce 57 f6 95 54 67 76 77 64 c7 f4 |....-.W..Tgvwd..| +00000040 ad 18 7d d8 58 6f 08 30 a5 a4 50 cd 00 08 13 02 |..}.Xo.0..P.....| +00000050 13 03 13 01 00 ff 01 00 01 4f 00 00 00 0e 00 0c |.........O......| +00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| +00000070 03 00 01 02 00 0a 00 0c 00 0a 00 1d 00 17 00 1e |................| +00000080 00 19 00 18 00 23 00 00 00 16 00 00 00 17 00 00 |.....#..........| +00000090 00 0d 00 1e 00 1c 04 03 05 03 06 03 08 07 08 08 |................| +000000a0 08 09 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 |................| +000000b0 06 01 00 2b 00 03 02 03 04 00 2d 00 02 01 01 00 |...+......-.....| +000000c0 33 00 26 00 24 00 1d 00 20 94 44 cd ce 27 a8 43 |3.&.$... .D..'.C| +000000d0 8a ef cd ef d4 74 d4 e4 62 82 00 e6 46 96 e5 aa |.....t..b...F...| +000000e0 d1 44 8a 55 6b d7 25 06 6f 00 29 00 bc 00 87 00 |.D.Uk.%.o.).....| +000000f0 81 50 46 ad c1 db a8 38 86 7b 2b bb fd d0 c3 42 |.PF....8.{+....B| +00000100 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |>...............| +00000110 00 94 68 2c a3 81 51 ed 14 ef 68 ca 42 c5 4c 1f |..h,..Q...h.B.L.| +00000120 90 bf 3c 07 2b e5 52 22 a0 c0 46 db cb f6 b9 a0 |..<.+.R"..F.....| +00000130 b5 56 b0 d6 7f 03 b7 2d 9f a5 2a 25 8e 65 d2 b9 |.V.....-..*%.e..| +00000140 6a f3 e4 7e 79 d7 3d cc b2 3d b6 24 a9 31 82 49 |j..~y.=..=.$.1.I| +00000150 38 16 92 f0 49 97 e2 07 e2 cd 1c 77 d3 e0 00 de |8...I......w....| +00000160 56 11 17 40 00 63 13 00 48 39 8e fd 09 96 08 f3 |V..@.c..H9......| +00000170 81 7c 00 00 00 00 00 31 30 a4 22 35 6e 4a 09 af |.|.....10."5nJ..| +00000180 08 22 97 92 e0 8a eb c0 e0 28 32 f4 8f ed 1e 02 |.".......(2.....| +00000190 a9 b3 43 de f3 04 cb 7b db 01 51 88 46 02 c1 4b |..C....{..Q.F..K| +000001a0 ec fa a8 05 42 a4 00 ae ed |....B....| +>>> Flow 2 (server to client) +00000000 16 03 03 00 80 02 00 00 7c 03 03 00 00 00 00 00 |........|.......| +00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 c0 df df c9 |........... ....| +00000030 1d ed 19 9e 2d ce 57 f6 95 54 67 76 77 64 c7 f4 |....-.W..Tgvwd..| +00000040 ad 18 7d d8 58 6f 08 30 a5 a4 50 cd 13 02 00 00 |..}.Xo.0..P.....| +00000050 34 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |4.+.....3.$... /| +00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| +00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 00 |.........._X.;t.| +00000080 29 00 02 00 00 14 03 03 00 01 01 17 03 03 00 17 |)...............| +00000090 cc 35 3b 89 bc fe dc df 02 d3 00 f8 ef 56 74 6a |.5;..........Vtj| +000000a0 ee af 35 9e d6 91 e1 17 03 03 00 45 07 24 33 da |..5........E.$3.| +000000b0 63 9a eb 15 28 dc e8 60 dc 36 97 12 5e 54 a5 48 |c...(..`.6..^T.H| +000000c0 aa e3 07 35 e7 f0 7c 60 93 d4 4c 24 d7 0d 01 66 |...5..|`..L$...f| +000000d0 d9 b6 e3 c5 ab 9d cf 47 49 f6 4f 87 7a c4 ab 34 |.......GI.O.z..4| +000000e0 df 37 19 a6 f9 36 c8 ea 04 af 9a d7 21 dd 89 e2 |.7...6......!...| +000000f0 79 17 03 03 00 a3 60 8e 39 7e 5d 21 e2 e4 8a 0e |y.....`.9~]!....| +00000100 73 4a 96 09 49 fb 55 b4 68 60 88 0d 01 73 5b d0 |sJ..I.U.h`...s[.| +00000110 42 4d 9a af 22 ae 33 83 16 60 3e 25 e2 fd 76 10 |BM..".3..`>%..v.| +00000120 6e 92 0d 6b 88 c7 54 46 51 bf 86 a4 f4 11 d3 e8 |n..k..TFQ.......| +00000130 29 54 16 31 b2 44 4b 45 5d 3f 97 d9 33 10 ef 92 |)T.1.DKE]?..3...| +00000140 e5 aa 3b 2d 3d 36 ef 85 04 2d 17 66 2a 00 ea 87 |..;-=6...-.f*...| +00000150 9a 95 5e 54 1b 01 f8 5d 34 96 83 cf 28 d4 24 ed |..^T...]4...(.$.| +00000160 c6 9b da 7a 1c d4 a3 5a 53 bb 2f cf 56 f3 ef 99 |...z...ZS./.V...| +00000170 40 e2 34 31 ca 55 c9 7a 02 47 14 8b 7e 04 5a ff |@.41.U.z.G..~.Z.| +00000180 17 f7 95 f0 46 e0 ce cf 8f b0 9f 6b 51 96 d5 f7 |....F......kQ...| +00000190 0b 33 e2 0a 62 4e 05 28 66 |.3..bN.(f| +>>> Flow 3 (client to server) +00000000 14 03 03 00 01 01 17 03 03 00 45 66 00 e2 3f 07 |..........Ef..?.| +00000010 02 a4 1d 71 27 2a fe c7 00 1e 2d bc 50 b6 bc 35 |...q'*....-.P..5| +00000020 22 c4 a4 d8 a1 5f fa 10 d7 48 c8 20 94 50 b1 ae |"...._...H. .P..| +00000030 47 8c 62 26 15 79 33 6b 06 0d 19 67 7e 22 7c a5 |G.b&.y3k...g~"|.| +00000040 ca 05 c9 ae c8 66 6b ca 8e f7 7c 35 de 5e c3 25 |.....fk...|5.^.%| +>>> Flow 4 (server to client) +00000000 17 03 03 00 1e 6a 89 ce e3 1d 13 60 f3 8b 26 97 |.....j.....`..&.| +00000010 3e 5d 9f a8 47 c9 74 f5 66 ad 75 87 57 ec ef b1 |>]..G.t.f.u.W...| +00000020 66 da f0 17 03 03 00 13 95 bd 2d ef d5 30 c1 1b |f.........-..0..| +00000030 bd 54 3d f6 16 02 28 78 a4 4a 24 |.T=...(x.J$| diff --git a/testdata/Server-TLSv13-Resume-HelloRetryRequest b/testdata/Server-TLSv13-Resume-HelloRetryRequest new file mode 100644 index 00000000..2e1cbaf1 --- /dev/null +++ b/testdata/Server-TLSv13-Resume-HelloRetryRequest @@ -0,0 +1,106 @@ +>>> Flow 1 (client to server) +00000000 16 03 01 01 9e 01 00 01 9a 03 03 75 28 78 ec 6f |...........u(x.o| +00000010 3d d0 60 09 8e 23 dd 91 67 4b e4 2f b0 b7 93 60 |=.`..#..gK./...`| +00000020 3a 4f 92 38 6b 5e 67 ab 49 f4 b8 20 46 e8 0a c4 |:O.8k^g.I.. F...| +00000030 bd 13 ce 09 13 27 a4 5d a4 3b e2 9b 9d ff 17 30 |.....'.].;.....0| +00000040 96 e3 06 1a d6 c6 04 9c f3 9a 15 76 00 08 13 02 |...........v....| +00000050 13 03 13 01 00 ff 01 00 01 49 00 00 00 0e 00 0c |.........I......| +00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| +00000070 03 00 01 02 00 0a 00 06 00 04 00 1d 00 17 00 23 |...............#| +00000080 00 00 00 16 00 00 00 17 00 00 00 0d 00 1e 00 1c |................| +00000090 04 03 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b |................| +000000a0 08 04 08 05 08 06 04 01 05 01 06 01 00 2b 00 03 |.............+..| +000000b0 02 03 04 00 2d 00 02 01 01 00 33 00 26 00 24 00 |....-.....3.&.$.| +000000c0 1d 00 20 a0 26 2f f2 a2 ca d0 ff 0d 5d 9e cc 84 |.. .&/......]...| +000000d0 52 51 07 86 4c 28 44 4e 65 7e 0c a1 9d 50 9c 77 |RQ..L(DNe~...P.w| +000000e0 8a 54 48 00 29 00 bc 00 87 00 81 50 46 ad c1 db |.TH.)......PF...| +000000f0 a8 38 86 7b 2b bb fd d0 c3 42 3e 00 00 00 00 00 |.8.{+....B>.....| +00000100 00 00 00 00 00 00 00 00 00 00 00 94 68 2c a3 81 |............h,..| +00000110 51 ed 14 ef 68 ca 42 c5 4c 1f 90 bf 3c 07 2b e5 |Q...h.B.L...<.+.| +00000120 52 22 a0 c0 46 db cb f6 b9 a0 b5 56 b0 d6 7f 03 |R"..F......V....| +00000130 b7 2d 9f a5 2a 25 8e 65 d2 b9 6a f3 e4 7e 79 d7 |.-..*%.e..j..~y.| +00000140 3d cc b2 3d b6 24 a9 31 82 49 38 16 92 f0 49 97 |=..=.$.1.I8...I.| +00000150 e2 07 e2 cd 1c 77 d3 e0 00 de 56 11 17 40 00 63 |.....w....V..@.c| +00000160 13 00 48 39 8e fd 09 96 08 f3 81 7c 00 00 00 00 |..H9.......|....| +00000170 00 31 30 da 3c 92 3d 0f 55 c9 9e bb 99 c6 e0 ac |.10.<.=.U.......| +00000180 fe 5a 3a 94 7e d6 2a 0a 81 c0 be 8a 4e 1d da 5e |.Z:.~.*.....N..^| +00000190 31 80 97 2d 2a 6a fc 96 03 d2 aa 07 45 f1 78 33 |1..-*j......E.x3| +000001a0 c4 1d 1c |...| +>>> Flow 2 (server to client) +00000000 16 03 03 00 58 02 00 00 54 03 03 cf 21 ad 74 e5 |....X...T...!.t.| +00000010 9a 61 11 be 1d 8c 02 1e 65 b8 91 c2 a2 11 16 7a |.a......e......z| +00000020 bb 8c 5e 07 9e 09 e2 c8 a8 33 9c 20 46 e8 0a c4 |..^......3. F...| +00000030 bd 13 ce 09 13 27 a4 5d a4 3b e2 9b 9d ff 17 30 |.....'.].;.....0| +00000040 96 e3 06 1a d6 c6 04 9c f3 9a 15 76 13 02 00 00 |...........v....| +00000050 0c 00 2b 00 02 03 04 00 33 00 02 00 17 14 03 03 |..+.....3.......| +00000060 00 01 01 |...| +>>> Flow 3 (client to server) +00000000 14 03 03 00 01 01 16 03 03 01 bf 01 00 01 bb 03 |................| +00000010 03 75 28 78 ec 6f 3d d0 60 09 8e 23 dd 91 67 4b |.u(x.o=.`..#..gK| +00000020 e4 2f b0 b7 93 60 3a 4f 92 38 6b 5e 67 ab 49 f4 |./...`:O.8k^g.I.| +00000030 b8 20 46 e8 0a c4 bd 13 ce 09 13 27 a4 5d a4 3b |. F........'.].;| +00000040 e2 9b 9d ff 17 30 96 e3 06 1a d6 c6 04 9c f3 9a |.....0..........| +00000050 15 76 00 08 13 02 13 03 13 01 00 ff 01 00 01 6a |.v.............j| +00000060 00 00 00 0e 00 0c 00 00 09 31 32 37 2e 30 2e 30 |.........127.0.0| +00000070 2e 31 00 0b 00 04 03 00 01 02 00 0a 00 06 00 04 |.1..............| +00000080 00 1d 00 17 00 23 00 00 00 16 00 00 00 17 00 00 |.....#..........| +00000090 00 0d 00 1e 00 1c 04 03 05 03 06 03 08 07 08 08 |................| +000000a0 08 09 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 |................| +000000b0 06 01 00 2b 00 03 02 03 04 00 2d 00 02 01 01 00 |...+......-.....| +000000c0 33 00 47 00 45 00 17 00 41 04 79 db 79 c8 0b 77 |3.G.E...A.y.y..w| +000000d0 8b 37 30 65 85 ce 72 49 ab a1 cb 6a 06 00 a6 65 |.70e..rI...j...e| +000000e0 22 51 63 63 16 45 7b 85 ee c3 2e 09 25 d9 a3 49 |"Qcc.E{.....%..I| +000000f0 91 07 35 c4 b6 61 23 9c 91 c1 03 07 ad a2 77 02 |..5..a#.......w.| +00000100 61 93 05 cf 74 36 7a 66 ad 24 00 29 00 bc 00 87 |a...t6zf.$.)....| +00000110 00 81 50 46 ad c1 db a8 38 86 7b 2b bb fd d0 c3 |..PF....8.{+....| +00000120 42 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |B>..............| +00000130 00 00 94 68 2c a3 81 51 ed 14 ef 68 ca 42 c5 4c |...h,..Q...h.B.L| +00000140 1f 90 bf 3c 07 2b e5 52 22 a0 c0 46 db cb f6 b9 |...<.+.R"..F....| +00000150 a0 b5 56 b0 d6 7f 03 b7 2d 9f a5 2a 25 8e 65 d2 |..V.....-..*%.e.| +00000160 b9 6a f3 e4 7e 79 d7 3d cc b2 3d b6 24 a9 31 82 |.j..~y.=..=.$.1.| +00000170 49 38 16 92 f0 49 97 e2 07 e2 cd 1c 77 d3 e0 00 |I8...I......w...| +00000180 de 56 11 17 40 00 63 13 00 48 39 8e fd 09 96 08 |.V..@.c..H9.....| +00000190 f3 81 7c 00 00 00 00 00 31 30 e0 ac 7a 74 d9 50 |..|.....10..zt.P| +000001a0 c1 3b 1b 67 7b 5a 74 b0 39 db dd 92 6f 75 38 31 |.;.g{Zt.9...ou81| +000001b0 10 f4 98 dc ad af eb ac ef 11 0d 96 48 01 f8 10 |............H...| +000001c0 d6 e1 68 bf 88 a3 33 b9 9a b9 |..h...3...| +>>> Flow 4 (server to client) +00000000 16 03 03 00 a1 02 00 00 9d 03 03 00 00 00 00 00 |................| +00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 46 e8 0a c4 |........... F...| +00000030 bd 13 ce 09 13 27 a4 5d a4 3b e2 9b 9d ff 17 30 |.....'.].;.....0| +00000040 96 e3 06 1a d6 c6 04 9c f3 9a 15 76 13 02 00 00 |...........v....| +00000050 55 00 2b 00 02 03 04 00 33 00 45 00 17 00 41 04 |U.+.....3.E...A.| +00000060 1e 18 37 ef 0d 19 51 88 35 75 71 b5 e5 54 5b 12 |..7...Q.5uq..T[.| +00000070 2e 8f 09 67 fd a7 24 20 3e b2 56 1c ce 97 28 5e |...g..$ >.V...(^| +00000080 f8 2b 2d 4f 9e f1 07 9f 6c 4b 5b 83 56 e2 32 42 |.+-O....lK[.V.2B| +00000090 e9 58 b6 d7 49 a6 b5 68 1a 41 03 56 6b dc 5a 89 |.X..I..h.A.Vk.Z.| +000000a0 00 29 00 02 00 00 17 03 03 00 17 48 f2 b1 a7 11 |.).........H....| +000000b0 68 36 e4 67 b8 e8 d0 6d b8 76 fa 4b 7e bc d0 63 |h6.g...m.v.K~..c| +000000c0 6a 8c 17 03 03 00 45 49 37 80 89 e3 4d b5 60 4a |j.....EI7...M.`J| +000000d0 7c 52 a0 f5 e9 32 85 ad 8a 59 0b 27 66 c7 2f ec ||R...2...Y.'f./.| +000000e0 55 7f 2c 9b 1e ef 0a 11 e1 72 1f 72 b2 10 9f 3f |U.,......r.r...?| +000000f0 bb 51 8f d0 fe e8 62 fd 93 e4 0d e1 57 7f 3a 3c |.Q....b.....W.:<| +00000100 22 b4 ca 20 04 cd 65 94 44 df 1a 1c 17 03 03 00 |".. ..e.D.......| +00000110 a3 38 02 96 5e c2 6d ad 2d 17 79 63 15 bd 06 af |.8..^.m.-.yc....| +00000120 e3 ae 5a 94 66 b5 2d 12 d1 bc 9c 16 56 ac 71 fe |..Z.f.-.....V.q.| +00000130 d7 af 1f 27 9a 22 1a d2 de da 90 ca d5 7f 79 d1 |...'."........y.| +00000140 8a 6e c6 76 e7 76 b4 cc 9b d5 b5 ed b5 b2 9d 4e |.n.v.v.........N| +00000150 f8 88 a0 b1 14 91 8b 6b d9 b8 5d 34 61 8a a3 b3 |.......k..]4a...| +00000160 c8 db e9 c9 8d a7 53 d8 46 f0 bd 4b 30 bf 49 3d |......S.F..K0.I=| +00000170 cc 42 d3 fb b7 f3 ad 78 5b 01 38 5d c3 22 d0 51 |.B.....x[.8].".Q| +00000180 cb a3 d9 fe 61 f9 4a ee 7d 89 8b 88 22 2b 9b fe |....a.J.}..."+..| +00000190 19 cd 17 b7 9e 81 57 f6 cb 14 29 cb 3b 87 0e 83 |......W...).;...| +000001a0 5a 84 7c 13 2d c8 d4 a7 6a db 1d 10 c6 04 ed 0d |Z.|.-...j.......| +000001b0 1d d7 06 bb |....| +>>> Flow 5 (client to server) +00000000 17 03 03 00 45 44 0b 11 40 bf 4b b4 2b 12 76 b3 |....ED..@.K.+.v.| +00000010 e4 59 b3 91 bb 45 21 b3 78 aa dc 76 66 dd d6 3c |.Y...E!.x..vf..<| +00000020 21 cf 32 5c 37 85 ef fb c7 53 cb 55 9c a5 40 0a |!.2\7....S.U..@.| +00000030 9d f8 aa b4 e3 e4 51 bf d8 cb 15 44 f0 02 19 52 |......Q....D...R| +00000040 62 73 82 f2 c2 ae d2 03 0e dc |bs........| +>>> Flow 6 (server to client) +00000000 17 03 03 00 1e fe e8 25 be 32 b9 ce db 3d 36 54 |.......%.2...=6T| +00000010 78 7c 70 50 0e 8e f4 04 ec a9 2e 88 7b e5 23 23 |x|pP........{.##| +00000020 72 f4 04 17 03 03 00 13 cc 7c 8e 1b 85 30 16 57 |r........|...0.W| +00000030 b0 39 6a 3a b3 ee 57 82 17 03 c9 |.9j:..W....| diff --git a/testdata/Server-TLSv13-ResumeDisabled b/testdata/Server-TLSv13-ResumeDisabled new file mode 100644 index 00000000..1ba7ca15 --- /dev/null +++ b/testdata/Server-TLSv13-ResumeDisabled @@ -0,0 +1,104 @@ +>>> Flow 1 (client to server) +00000000 16 03 01 01 a4 01 00 01 a0 03 03 96 06 be 39 9a |..............9.| +00000010 6b 71 35 ab f4 2a d2 66 4d 8f 2c 86 c9 b6 7b e1 |kq5..*.fM.,...{.| +00000020 85 55 81 f5 90 49 20 c9 d7 5d ea 20 a2 da 4f 31 |.U...I ..]. ..O1| +00000030 a6 7a bd 07 5d 24 2e 88 1c 88 0e 19 1e 33 51 51 |.z..]$.......3QQ| +00000040 a1 14 df d7 70 b5 62 6d 28 a8 5f 0e 00 08 13 02 |....p.bm(._.....| +00000050 13 03 13 01 00 ff 01 00 01 4f 00 00 00 0e 00 0c |.........O......| +00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| +00000070 03 00 01 02 00 0a 00 0c 00 0a 00 1d 00 17 00 1e |................| +00000080 00 19 00 18 00 23 00 00 00 16 00 00 00 17 00 00 |.....#..........| +00000090 00 0d 00 1e 00 1c 04 03 05 03 06 03 08 07 08 08 |................| +000000a0 08 09 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 |................| +000000b0 06 01 00 2b 00 03 02 03 04 00 2d 00 02 01 01 00 |...+......-.....| +000000c0 33 00 26 00 24 00 1d 00 20 6d b7 14 7e 1b 7e c5 |3.&.$... m..~.~.| +000000d0 2b 54 1e 88 bd 64 23 49 84 31 73 f0 b8 55 6c 23 |+T...d#I.1s..Ul#| +000000e0 9e 77 b9 c5 53 a5 7f 1d 15 00 29 00 bc 00 87 00 |.w..S.....).....| +000000f0 81 50 46 ad c1 db a8 38 86 7b 2b bb fd d0 c3 42 |.PF....8.{+....B| +00000100 3e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |>...............| +00000110 00 94 68 2c a3 81 51 ed 14 ef 68 ca 42 c5 4c e2 |..h,..Q...h.B.L.| +00000120 e9 ab 5a 10 63 08 88 5d 47 1a 77 c1 7c 72 14 12 |..Z.c..]G.w.|r..| +00000130 24 5f 79 c4 ce 1a 7c 08 bf 81 6d 0e 55 e6 2d 0d |$_y...|...m.U.-.| +00000140 00 68 79 bc 2d ea f4 19 fd 43 ef 51 3f b5 5f 49 |.hy.-....C.Q?._I| +00000150 38 16 e0 74 43 a4 e9 95 f6 6d eb bf 6d e2 57 79 |8..tC....m..m.Wy| +00000160 7a 6e 53 12 bd a2 e0 32 98 1d 4e cb ae 72 1f 4c |znS....2..N..r.L| +00000170 38 4c 00 00 00 00 00 31 30 b6 c5 6e 26 02 64 56 |8L.....10..n&.dV| +00000180 65 ab 95 9c 16 62 d0 c5 57 41 c7 4c 78 72 44 c7 |e....b..WA.LxrD.| +00000190 4f a4 dc e1 d3 ef 49 af 7d a1 e5 ce 6f 22 f9 ec |O.....I.}...o"..| +000001a0 f4 b3 e4 32 e3 99 b0 85 39 |...2....9| +>>> Flow 2 (server to client) +00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| +00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 a2 da 4f 31 |........... ..O1| +00000030 a6 7a bd 07 5d 24 2e 88 1c 88 0e 19 1e 33 51 51 |.z..]$.......3QQ| +00000040 a1 14 df d7 70 b5 62 6d 28 a8 5f 0e 13 02 00 00 |....p.bm(._.....| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| +00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| +00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| +00000080 03 03 00 01 01 17 03 03 00 17 5a 35 3d 19 9b a7 |..........Z5=...| +00000090 a4 45 2c c3 09 ae 85 be 08 fe 1d e2 9a 5d 7a 4b |.E,..........]zK| +000000a0 8e 17 03 03 02 6d 87 db fb 18 21 96 c7 2b fb ff |.....m....!..+..| +000000b0 89 b9 25 f6 0d 89 0f b4 17 bb 17 e1 ba 95 b7 cd |..%.............| +000000c0 c2 75 b5 8b d8 64 ff 7c dc e2 97 32 0c 2f e0 9f |.u...d.|...2./..| +000000d0 db b9 ef 14 9d cc e4 68 44 f7 0a 55 d2 b1 a0 f7 |.......hD..U....| +000000e0 fc de a5 99 f0 5d 0c 60 7b c3 25 85 f6 79 8f e6 |.....].`{.%..y..| +000000f0 cd 43 1c 43 d9 cd 28 ea ce 10 1c 16 68 b8 d7 3d |.C.C..(.....h..=| +00000100 b4 d4 db b4 bf 76 f8 45 23 d8 9f d1 be d1 bd db |.....v.E#.......| +00000110 9c 45 dd 28 3b 68 22 57 6c b7 65 fc 5e 66 f6 cb |.E.(;h"Wl.e.^f..| +00000120 a2 88 bd 96 e4 00 b5 85 ae 00 95 b9 da 42 16 c9 |.............B..| +00000130 c9 63 c2 67 ec 22 65 6e 66 0e cf de 68 ad e7 87 |.c.g."enf...h...| +00000140 ae 63 b4 e9 1c c0 2f 1e 79 7e a3 3f 6d 2b 68 c1 |.c..../.y~.?m+h.| +00000150 e8 60 cd 26 e0 05 de fa 7b 77 45 71 d8 f9 03 d7 |.`.&....{wEq....| +00000160 d3 50 51 15 cf fc 39 fa 07 19 28 5e e8 2d 31 00 |.PQ...9...(^.-1.| +00000170 2a e1 a4 21 31 83 4e 7d 51 e7 53 eb 33 22 51 fe |*..!1.N}Q.S.3"Q.| +00000180 15 04 e9 3d 73 89 3b 56 3f c6 ec 6e 0a 71 68 a6 |...=s.;V?..n.qh.| +00000190 76 f3 f1 aa 4e d0 9f 85 45 3f 7b aa ae ad 42 b9 |v...N...E?{...B.| +000001a0 07 64 ab ad 03 b1 33 78 93 f0 49 95 65 fb 81 8c |.d....3x..I.e...| +000001b0 04 ee e7 f3 2c 0a 99 51 e5 ef 05 14 d3 93 37 2b |....,..Q......7+| +000001c0 73 96 81 6f f5 9b a3 9a 20 95 5c 13 fc 97 3e c0 |s..o.... .\...>.| +000001d0 87 e4 ec 00 84 0b f2 09 29 63 dd 54 03 ce e0 43 |........)c.T...C| +000001e0 e9 16 a0 98 32 3e fa 58 1d 81 1e 56 ef 64 ff f7 |....2>.X...V.d..| +000001f0 b0 aa fc 5f 8c 89 48 76 ef d2 f1 d0 9c 16 f9 57 |..._..Hv.......W| +00000200 ac a6 4a a4 a8 75 ae fc 4b 9f ef 3c 28 a5 0c c1 |..J..u..K..<(...| +00000210 c8 72 82 bf e9 93 f2 42 00 0a 49 5d be c7 09 91 |.r.....B..I]....| +00000220 29 40 5e a6 ad ae 9c 69 6f d8 33 53 0a 50 5b 48 |)@^....io.3S.P[H| +00000230 7d d7 7e 1e 3b d3 ec e6 cf fe 1e 6a 27 a2 83 35 |}.~.;......j'..5| +00000240 28 13 2f 00 e5 29 c3 10 46 53 a1 17 15 59 5d 74 |(./..)..FS...Y]t| +00000250 f5 7c fa a5 71 34 32 75 48 e6 2c 1d 90 e8 c1 87 |.|..q42uH.,.....| +00000260 50 ac 17 27 b8 f7 a9 8e 59 58 d6 b8 d9 ef b6 57 |P..'....YX.....W| +00000270 b8 13 41 d0 eb 80 1c 48 66 1d 41 a5 b5 0d 12 17 |..A....Hf.A.....| +00000280 52 96 62 29 0e 4a 09 b4 50 b8 37 c3 8f 85 67 27 |R.b).J..P.7...g'| +00000290 d9 6f 33 11 95 ca 0a 36 75 ef 15 45 81 d3 ad 7d |.o3....6u..E...}| +000002a0 1a ff a7 0c 47 21 37 24 27 ce 42 68 5f 5d 7c fe |....G!7$'.Bh_]|.| +000002b0 0c f2 0b 81 ea f9 25 c9 99 c2 56 72 54 bd 2f 4c |......%...VrT./L| +000002c0 40 17 f0 54 a0 6e 1d 14 80 9c 3c d3 f9 81 0d 9d |@..T.n....<.....| +000002d0 e1 47 55 24 e4 62 0e 14 0d 46 3f 52 1b ef ab 45 |.GU$.b...F?R...E| +000002e0 d8 86 c7 ef aa e2 ea e6 5e 2e d8 89 33 46 a0 d0 |........^...3F..| +000002f0 39 e2 cc 13 1d 62 11 ae c0 73 71 b8 ef 4b 43 71 |9....b...sq..KCq| +00000300 dd 14 42 09 c9 10 4e bc b9 93 78 d6 83 02 40 c0 |..B...N...x...@.| +00000310 62 56 40 17 03 03 00 99 6e 03 4b 38 20 98 d7 3e |bV@.....n.K8 ..>| +00000320 52 33 e0 be 26 9b 38 4c 7f 2b c1 cc 84 22 7e 86 |R3..&.8L.+..."~.| +00000330 1d 39 f6 0a c0 ff e9 d9 4d 81 24 26 8d e1 c5 c0 |.9......M.$&....| +00000340 78 18 59 e0 6a ac 35 ad a0 6d 32 09 63 75 88 10 |x.Y.j.5..m2.cu..| +00000350 2b 6b d1 36 ea f9 03 41 a9 a7 26 82 38 37 aa 81 |+k.6...A..&.87..| +00000360 a1 7a 81 5c 0b db 63 32 06 e7 cb a8 1c 0a ff be |.z.\..c2........| +00000370 a2 e5 00 42 59 61 78 40 2e e2 85 0a ad 6b ea ae |...BYax@.....k..| +00000380 17 5a 92 f6 d3 8e 97 a2 18 a5 28 8a 41 1d 70 26 |.Z........(.A.p&| +00000390 bc d8 e7 38 ba c5 68 b9 ae f9 c6 27 bc 5b 3b 9f |...8..h....'.[;.| +000003a0 db ae 38 84 6f 18 3c e6 1d 30 cb 57 b1 95 63 1d |..8.o.<..0.W..c.| +000003b0 ef 17 03 03 00 45 40 43 00 0c 81 0a ed cf 35 9d |.....E@C......5.| +000003c0 45 0f 2b 66 ad b6 bd f9 72 9f 77 aa 87 9a 4f 9a |E.+f....r.w...O.| +000003d0 f4 1b 08 bd 33 aa f7 dc f1 78 58 d7 53 aa 82 12 |....3....xX.S...| +000003e0 b1 f7 c2 dd 8b 0d 90 81 e9 a9 7b 7c 17 52 fe ab |..........{|.R..| +000003f0 e4 94 06 d4 44 b4 7d 81 61 97 6b |....D.}.a.k| +>>> Flow 3 (client to server) +00000000 14 03 03 00 01 01 17 03 03 00 45 0e e9 bb 83 d4 |..........E.....| +00000010 41 da c6 75 69 c2 5c 74 0c 86 c7 b9 08 2f 35 da |A..ui.\t...../5.| +00000020 19 6f cf 43 a4 23 2f fe 59 5d 0f 1f 1e 0f ca e4 |.o.C.#/.Y]......| +00000030 7f 4e 7d bc ce 77 76 f2 ce 1c c4 e8 4e a9 80 a8 |.N}..wv.....N...| +00000040 72 16 5b 3c 97 8f 55 cb 76 cf fa 02 29 41 af 6d |r.[<..U.v...)A.m| +>>> Flow 4 (server to client) +00000000 17 03 03 00 1e f2 5e b6 bd bc c3 c2 58 fe 90 e9 |......^.....X...| +00000010 07 07 a2 ab 66 41 f7 c4 1f 48 48 01 c9 38 d2 c7 |....fA...HH..8..| +00000020 c0 ab b5 17 03 03 00 13 db 6e 0e f9 4a 94 12 a3 |.........n..J...| +00000030 2a 86 3f d1 a7 ac c3 58 20 0d 09 |*.?....X ..| diff --git a/testdata/Server-TLSv13-X25519 b/testdata/Server-TLSv13-X25519 index 57a13f35..24465126 100644 --- a/testdata/Server-TLSv13-X25519 +++ b/testdata/Server-TLSv13-X25519 @@ -1,91 +1,102 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 d8 01 00 00 d4 03 03 3a 50 25 cb 97 |...........:P%..| -00000010 ed a7 58 c6 58 64 62 03 f6 ae 8c 70 72 98 55 c0 |..X.Xdb....pr.U.| -00000020 65 8c f5 64 bc 41 29 7f df ce 7b 20 99 ce de a1 |e..d.A)...{ ....| -00000030 6c 2c 3a e0 cd b4 7b 97 ca 00 e0 ee 12 43 a4 0d |l,:...{......C..| -00000040 d0 c7 0d 17 21 d4 03 d2 56 56 f7 32 00 08 13 02 |....!...VV.2....| +00000000 16 03 01 00 d8 01 00 00 d4 03 03 3d 42 5b bc 55 |...........=B[.U| +00000010 6c e3 e9 9a db 07 85 ca 18 fb f3 e0 56 18 b5 39 |l...........V..9| +00000020 9d 43 91 41 38 a0 ea c1 eb db ec 20 ca b8 c3 6e |.C.A8...... ...n| +00000030 c8 78 18 88 ab cf c3 cb 7e ff 7d e5 7e d5 55 94 |.x......~.}.~.U.| +00000040 f8 b2 01 ad 8c 95 82 f0 8e d8 61 8e 00 08 13 02 |..........a.....| 00000050 13 03 13 01 00 ff 01 00 00 83 00 00 00 0e 00 0c |................| 00000060 00 00 09 31 32 37 2e 30 2e 30 2e 31 00 0b 00 04 |...127.0.0.1....| 00000070 03 00 01 02 00 0a 00 04 00 02 00 1d 00 16 00 00 |................| 00000080 00 17 00 00 00 0d 00 1e 00 1c 04 03 05 03 06 03 |................| 00000090 08 07 08 08 08 09 08 0a 08 0b 08 04 08 05 08 06 |................| 000000a0 04 01 05 01 06 01 00 2b 00 03 02 03 04 00 2d 00 |.......+......-.| -000000b0 02 01 01 00 33 00 26 00 24 00 1d 00 20 30 ac 6d |....3.&.$... 0.m| -000000c0 11 29 bd 1b 06 04 94 10 9a e4 25 1a fa f5 47 ff |.)........%...G.| -000000d0 fc 66 4d 8c d7 79 ed f7 52 c9 d1 3c 3e |.fM..y..R..<>| +000000b0 02 01 01 00 33 00 26 00 24 00 1d 00 20 e8 82 c0 |....3.&.$... ...| +000000c0 e9 dc b5 e1 3f 74 c9 42 e9 98 d1 1b fb 68 52 5d |....?t.B.....hR]| +000000d0 3e c1 65 56 6c 12 2b 3b ad 02 7c 80 42 |>.eVl.+;..|.B| >>> Flow 2 (server to client) 00000000 16 03 03 00 7a 02 00 00 76 03 03 00 00 00 00 00 |....z...v.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 00 00 00 00 00 00 00 00 20 99 ce de a1 |........... ....| -00000030 6c 2c 3a e0 cd b4 7b 97 ca 00 e0 ee 12 43 a4 0d |l,:...{......C..| -00000040 d0 c7 0d 17 21 d4 03 d2 56 56 f7 32 13 02 00 00 |....!...VV.2....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 ca b8 c3 6e |........... ...n| +00000030 c8 78 18 88 ab cf c3 cb 7e ff 7d e5 7e d5 55 94 |.x......~.}.~.U.| +00000040 f8 b2 01 ad 8c 95 82 f0 8e d8 61 8e 13 02 00 00 |..........a.....| 00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 2f |..+.....3.$... /| 00000060 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 00000070 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 14 |.........._X.;t.| -00000080 03 03 00 01 01 17 03 03 00 17 17 ae 18 e7 86 a2 |................| -00000090 cb 27 29 d1 e5 e7 3a 73 d8 fd 98 ec 43 74 47 a2 |.')...:s....CtG.| -000000a0 a6 17 03 03 02 6d d2 f0 a6 3e 2e 8d 47 3e b4 03 |.....m...>..G>..| -000000b0 cd c7 96 a2 f0 1f 99 f0 58 b0 4d 81 4c e7 93 ae |........X.M.L...| -000000c0 a5 e9 0a 07 7f e3 6f 82 c5 2f 4f cb 78 1b a3 44 |......o../O.x..D| -000000d0 72 63 75 bc a8 6e cd 21 a9 5b b1 4d 1d cb f4 3c |rcu..n.!.[.M...<| -000000e0 2f 69 f1 92 76 9b 60 b2 27 ff e9 88 3d 06 d1 ac |/i..v.`.'...=...| -000000f0 66 e8 80 a0 92 3d 1c aa bd 81 5d 5b 64 7a b1 9a |f....=....][dz..| -00000100 04 7b 63 38 fa f6 df 56 bf 84 86 8b 05 c9 e5 da |.{c8...V........| -00000110 b0 83 7c 47 e2 39 50 df e2 1b 4f 47 24 31 8d 7d |..|G.9P...OG$1.}| -00000120 80 9f 6d 3b 7e e9 d1 65 96 f5 fc 12 2c e9 d8 08 |..m;~..e....,...| -00000130 f1 0b 4c dd ee c6 77 a1 83 f9 70 b0 48 72 d7 d0 |..L...w...p.Hr..| -00000140 48 0a 58 6c f9 e6 04 37 31 bd ba c5 6a 31 66 6b |H.Xl...71...j1fk| -00000150 cc f5 70 db a3 0e 53 a8 7c ce c2 24 c0 21 c3 6e |..p...S.|..$.!.n| -00000160 bb dd 62 3d fc e6 71 0e 28 b5 76 1b 1c 06 bd c7 |..b=..q.(.v.....| -00000170 4e 72 dd 54 9d 93 a3 8f 0d cb ec e4 f1 0f c1 b9 |Nr.T............| -00000180 ce d4 50 44 61 46 de 1a 6a f4 19 61 bd 56 f2 06 |..PDaF..j..a.V..| -00000190 bb 9f 9e d2 9a b2 7d bd 56 5f cc 6c aa f3 60 15 |......}.V_.l..`.| -000001a0 93 41 05 97 8b 9d 7a 89 5c 1d 66 10 03 cc 7a da |.A....z.\.f...z.| -000001b0 41 5e 32 45 76 21 10 e2 49 a3 df 05 81 a0 4b 9d |A^2Ev!..I.....K.| -000001c0 b7 e5 43 93 c0 a4 33 48 11 81 bd 74 86 45 a4 0b |..C...3H...t.E..| -000001d0 a0 57 33 ea 02 c2 32 22 62 1f a7 85 06 27 bd 2a |.W3...2"b....'.*| -000001e0 4e a6 52 a9 81 76 d3 65 28 58 f9 d3 20 7a 6d a3 |N.R..v.e(X.. zm.| -000001f0 a7 cd b1 5d e6 89 70 88 09 4e 54 bd d9 f1 91 5f |...]..p..NT...._| -00000200 e6 91 32 3e ef 09 40 f9 be 10 bd 46 40 9c 0d 8f |..2>..@....F@...| -00000210 e3 39 0c b6 dc ce dc 29 77 3c 14 dd 53 92 9d 24 |.9.....)w<..S..$| -00000220 62 bb 5b 6e bf 08 ac 66 be bf 06 4d da 79 8a 3f |b.[n...f...M.y.?| -00000230 d6 07 15 2c 0b ed 9b 62 a3 30 2a 7e 73 c7 bc 16 |...,...b.0*~s...| -00000240 35 24 56 67 86 68 72 1a 31 d2 4b 9d 33 51 82 30 |5$Vg.hr.1.K.3Q.0| -00000250 09 8f 3f 71 dc 8f 96 ad e2 9c 0e 9d a1 1b 52 1c |..?q..........R.| -00000260 03 b7 e2 8e 9e fc 7f e0 5c 13 3e 9c 5b e0 28 0c |........\.>.[.(.| -00000270 b1 e9 1f 5b 93 13 07 6d 19 11 43 94 df 27 3e 31 |...[...m..C..'>1| -00000280 e9 ca 57 5a da 3f 69 c5 ef 5a 4b 54 88 b6 78 d3 |..WZ.?i..ZKT..x.| -00000290 c0 17 d4 e8 73 6d d2 ac 4f 82 3c d5 39 dd 33 0d |....sm..O.<.9.3.| -000002a0 d0 65 a4 f4 b4 97 a3 76 cc ae a1 50 72 ae 8a 62 |.e.....v...Pr..b| -000002b0 ba a3 5c ed df a9 d1 16 0e 57 0e c7 7f e2 07 d0 |..\......W......| -000002c0 d1 c4 f3 f6 7b 53 2d 21 c5 92 76 24 22 77 01 ad |....{S-!..v$"w..| -000002d0 de 4b 44 3e 75 80 c3 b5 e0 ab e3 f4 ad d1 23 fd |.KD>u.........#.| -000002e0 e9 ef bf 91 ca b1 fd bd 3d d0 f6 2b 01 10 f2 be |........=..+....| -000002f0 e5 4f 6d cd 42 7d ec 0c 62 0b ec 3e b2 80 02 bb |.Om.B}..b..>....| -00000300 b2 29 49 58 3e d3 72 bb 17 1d d7 c5 3b 69 90 3b |.)IX>.r.....;i.;| -00000310 af 3a 4e 17 03 03 00 99 a4 24 43 f4 e8 d4 49 d9 |.:N......$C...I.| -00000320 4f cf 34 47 cb f4 20 4d d5 ec 13 cf f5 37 5a 5d |O.4G.. M.....7Z]| -00000330 0f 3f b6 47 aa 6c f7 70 85 cb ee 23 d2 a9 c3 26 |.?.G.l.p...#...&| -00000340 bf 19 46 74 13 c6 0e 83 52 a6 41 9b e1 b9 91 3a |..Ft....R.A....:| -00000350 6f d2 ee bd 0b 9a ef 94 45 23 22 b6 19 55 04 a6 |o.......E#"..U..| -00000360 c2 d7 e1 0b e4 ee 05 fc 83 c5 60 55 b6 4a 36 5f |..........`U.J6_| -00000370 04 5e fc cf c2 56 0c 61 39 c8 1d a7 e4 a0 08 4a |.^...V.a9......J| -00000380 75 29 d0 81 a4 8f f7 35 c7 b8 8c 0e d8 76 0a 6e |u).....5.....v.n| -00000390 5c ca 72 58 9a 61 3e 24 a7 2e 1c d5 6a f5 4b 6b |\.rX.a>$....j.Kk| -000003a0 15 86 09 fa 55 78 c3 96 ae 09 63 25 64 3c 7e 1b |....Ux....c%d<~.| -000003b0 aa 17 03 03 00 45 6f cf 21 85 b9 01 82 44 b1 f5 |.....Eo.!....D..| -000003c0 26 f7 1f 20 59 db ca 41 50 6c da cf cd 8b 8e 7e |&.. Y..APl.....~| -000003d0 6d a6 a6 8d 56 d9 cb 00 25 71 69 75 af 26 02 cc |m...V...%qiu.&..| -000003e0 b5 de e3 06 bc d4 f5 10 93 f1 46 17 88 41 52 4f |..........F..ARO| -000003f0 8a 0f c4 08 e0 af 8e f1 5d 24 d1 |........]$.| +00000080 03 03 00 01 01 17 03 03 00 17 09 03 3f 82 c1 8c |............?...| +00000090 42 42 8d be 40 51 f5 ba 5d b8 60 d9 87 0f d5 ca |BB..@Q..].`.....| +000000a0 3d 17 03 03 02 6d 95 e6 a7 87 7a 4a fb 68 16 3b |=....m....zJ.h.;| +000000b0 38 cb b0 7c 97 39 1e 00 46 7b 2c 32 00 02 6c 34 |8..|.9..F{,2..l4| +000000c0 de df 5a 3d 11 1b bc 28 d4 c1 05 fc 0c ca 28 e3 |..Z=...(......(.| +000000d0 90 c7 ad 88 43 45 12 fd 43 f5 be 7d 46 f8 d2 ec |....CE..C..}F...| +000000e0 00 8e 06 6f 09 0d ce 84 15 5a e7 59 1c f7 10 d4 |...o.....Z.Y....| +000000f0 2d 37 f2 71 a7 11 7e cb 3b 75 ec 8f d1 7a 8c d0 |-7.q..~.;u...z..| +00000100 f0 b1 18 aa 2f 3b e8 18 ff ae 0f 63 6b 41 3e 4a |..../;.....ckA>J| +00000110 04 56 72 1b e0 60 74 a2 ef 1d 81 61 eb 94 56 25 |.Vr..`t....a..V%| +00000120 e6 46 03 9a 2f 57 85 ca 3a f4 17 81 e3 cf 6c 2e |.F../W..:.....l.| +00000130 63 66 48 0f 5f f7 7b 5a 55 25 4b cc 24 c9 71 dd |cfH._.{ZU%K.$.q.| +00000140 42 32 d8 77 6f c5 69 bb 6b c5 c9 51 cb 37 97 ae |B2.wo.i.k..Q.7..| +00000150 c3 a3 87 5c 50 e1 f3 19 84 d6 9a 7c 56 0d 63 cc |...\P......|V.c.| +00000160 57 66 17 c8 a6 e2 f0 31 bb 20 3b 7e 9e 4e 30 fe |Wf.....1. ;~.N0.| +00000170 1e 22 07 71 29 76 c0 a2 7e da 3c 1d 04 31 f8 54 |.".q)v..~.<..1.T| +00000180 95 3a 84 71 d8 6b ed 43 e9 ad e9 45 c9 72 ad 0e |.:.q.k.C...E.r..| +00000190 8d 02 21 a6 89 6f 4b 83 5f fd 7f ff 3e cb d0 f7 |..!..oK._...>...| +000001a0 d3 94 54 7a 82 47 d3 8f 21 2f 1b f8 bf 95 e9 34 |..Tz.G..!/.....4| +000001b0 cd 06 d6 77 04 c8 57 49 df 0a c0 84 c7 ec 86 ed |...w..WI........| +000001c0 75 ca 33 56 b4 e8 d3 7c 45 e7 b4 c8 92 9a 73 c8 |u.3V...|E.....s.| +000001d0 eb 30 df 76 d2 61 70 9a 31 c5 a1 d8 4f 3a 1f dc |.0.v.ap.1...O:..| +000001e0 df 3d 85 9f b8 48 ed 78 aa 9e c1 ba 07 84 30 ec |.=...H.x......0.| +000001f0 e5 83 1c 63 47 53 2c 06 85 40 a9 78 ea 4e a0 e3 |...cGS,..@.x.N..| +00000200 2f 7d 67 39 38 c2 80 66 ff 62 8e 68 1f 67 17 b8 |/}g98..f.b.h.g..| +00000210 6b af 3c cc 81 46 5a 83 bf 1e ed 65 0e 81 05 fa |k.<..FZ....e....| +00000220 ac 06 df 63 4e af 9e 02 7f 16 2b 5f b4 0a 5e d9 |...cN.....+_..^.| +00000230 e5 d1 39 4a 42 d5 34 43 9b 32 ba d8 b7 ad c8 b0 |..9JB.4C.2......| +00000240 38 81 6f 93 8e 5e ee b7 86 75 d8 f4 bb 15 33 5e |8.o..^...u....3^| +00000250 a8 39 e4 ee 7f ef 15 7b ec e1 d7 95 31 e1 83 db |.9.....{....1...| +00000260 00 34 2e 22 02 59 33 2a a6 b5 73 f7 04 4d f5 40 |.4.".Y3*..s..M.@| +00000270 b7 97 97 33 a0 e2 c3 cf 4b 0a bd 27 84 a1 bb 0b |...3....K..'....| +00000280 2c 59 bd 3e 2c 82 48 b6 a5 b8 a9 20 00 37 8a 8e |,Y.>,.H.... .7..| +00000290 f8 f2 4e e2 16 5c fb bf 92 94 37 6a 82 b8 b1 35 |..N..\....7j...5| +000002a0 4f 77 9e dd 78 1a 07 85 42 3d de fc dc 7f 8c f4 |Ow..x...B=......| +000002b0 fa 30 de 15 a4 dd c2 08 d5 3d 08 f4 a8 0f f0 df |.0.......=......| +000002c0 6c 18 40 65 49 ce ce 78 99 5c bc 96 f2 02 2a 1b |l.@eI..x.\....*.| +000002d0 5f e7 3d 50 ea 9c b4 39 84 33 05 df 3d 1c 3c f7 |_.=P...9.3..=.<.| +000002e0 3e 55 b6 08 1b 51 b2 87 2b bb 0e 78 1d 7c 19 16 |>U...Q..+..x.|..| +000002f0 1f 8c ab 6c 56 2b 08 8b 57 2e f9 90 d9 50 a1 30 |...lV+..W....P.0| +00000300 14 05 54 26 3b 03 0c 46 ec b3 bd c7 eb ce b7 d7 |..T&;..F........| +00000310 31 64 40 17 03 03 00 99 d5 7d 3d d2 c0 c4 23 6b |1d@......}=...#k| +00000320 2c 1b 87 70 62 8c c5 63 6b 34 5b 69 e6 2d 61 7a |,..pb..ck4[i.-az| +00000330 7f 8d 36 96 68 30 71 4b 5c 60 3a dc 28 58 80 ef |..6.h0qK\`:.(X..| +00000340 09 60 e0 fd 64 d4 fb e5 d3 2f 0a 03 52 78 e4 0b |.`..d..../..Rx..| +00000350 c8 03 d2 0d 13 36 19 46 50 41 ee 07 44 f8 cc 0b |.....6.FPA..D...| +00000360 53 f9 42 0d 75 88 6f d0 52 02 67 22 bf df 4b a3 |S.B.u.o.R.g"..K.| +00000370 0a 43 10 54 27 53 49 5d b3 41 37 df 5b 22 7b b4 |.C.T'SI].A7.["{.| +00000380 52 21 c7 55 bd 99 a9 0a 0e 46 07 99 b0 38 dc 53 |R!.U.....F...8.S| +00000390 0e f2 76 82 d9 15 35 62 bb 6d 87 10 a9 91 74 ad |..v...5b.m....t.| +000003a0 b6 8e 4f 22 b8 72 05 5e de 06 e4 de 70 b3 7b 72 |..O".r.^....p.{r| +000003b0 3e 17 03 03 00 45 ae 7c de bb a6 79 ca fd 6c fa |>....E.|...y..l.| +000003c0 26 8b b2 6a eb 40 c0 b0 a7 98 e8 7a 0c e9 ea b3 |&..j.@.....z....| +000003d0 30 5f b7 fd 52 85 c8 56 93 dc 3a b0 e8 bd 5a d1 |0_..R..V..:...Z.| +000003e0 2d 94 87 27 c9 4c 57 66 35 bb e7 a5 d2 bf fd 27 |-..'.LWf5......'| +000003f0 f7 bd e1 8c a7 50 35 64 cc d5 26 17 03 03 00 a3 |.....P5d..&.....| +00000400 0d a3 74 9e 7e 5c bf d9 cb 27 e0 d2 c6 25 bd 29 |..t.~\...'...%.)| +00000410 49 23 76 24 91 a8 d0 58 28 60 1d 68 75 ec f8 05 |I#v$...X(`.hu...| +00000420 18 dd 0d b3 a8 27 98 82 78 81 e1 ee 03 69 8f 26 |.....'..x....i.&| +00000430 00 94 59 63 ef 9b c9 24 0f c8 99 97 64 4c a3 41 |..Yc...$....dL.A| +00000440 71 71 88 55 cd a2 61 e9 47 ed 9b e0 5b a8 f9 dc |qq.U..a.G...[...| +00000450 e6 25 8a 1d e8 18 12 1a 3c b7 d6 86 cc 4b 9f 70 |.%......<....K.p| +00000460 93 53 cf 8e d2 98 99 74 2a 37 96 07 a9 d5 bd 8e |.S.....t*7......| +00000470 eb 09 01 a4 4d 46 c8 7b ab 2c 2d 25 7c fc 89 e6 |....MF.{.,-%|...| +00000480 ac 23 92 98 de 38 1b e4 70 b3 ee 95 9b 83 03 ce |.#...8..p.......| +00000490 bb 17 df 13 1d 5a 9f be 55 3f dc 28 4b 43 4e fd |.....Z..U?.(KCN.| +000004a0 74 00 19 |t..| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 45 58 42 c4 20 5f |..........EXB. _| -00000010 a3 5f 66 35 f3 c4 a1 fd 91 b4 f8 ef 21 c1 63 5b |._f5........!.c[| -00000020 d9 d9 3d f4 e5 e2 5b 85 66 63 be 1b 16 30 fd 4b |..=...[.fc...0.K| -00000030 92 86 75 d6 54 f0 44 93 ef f7 04 3d 84 35 5c 13 |..u.T.D....=.5\.| -00000040 fd 31 1e 6f 5b 76 74 f6 43 89 2e b2 1c eb ad 88 |.1.o[vt.C.......| +00000000 14 03 03 00 01 01 17 03 03 00 45 b0 11 eb 24 17 |..........E...$.| +00000010 1c a4 d5 68 80 b2 21 4b 6d 12 fd 67 c9 8a a8 87 |...h..!Km..g....| +00000020 27 e9 39 fd 9f 5f e4 ce 82 4f 9f 8d 2f d3 b9 04 |'.9.._...O../...| +00000030 d0 a8 00 33 5c 58 3f 75 be d5 8b ff 9a e4 30 cb |...3\X?u......0.| +00000040 4b e2 4d d3 0a e8 3f bb 89 98 1e 87 25 0f 4e 67 |K.M...?.....%.Ng| >>> Flow 4 (server to client) -00000000 17 03 03 00 1e d5 f8 ad 21 c7 c8 98 99 57 b0 48 |........!....W.H| -00000010 af 22 32 d7 dc 75 de 5c eb cf bd 91 89 b5 23 31 |."2..u.\......#1| -00000020 e4 b5 69 17 03 03 00 13 42 a1 ec 2a 8b 8a 05 e4 |..i.....B..*....| -00000030 33 62 eb 3e 18 e8 25 3c 6c 88 ea |3b.>..%; + certificate Certificate // CertificateEntry certificate_list<0..2^24-1>; +} + +func (m *sessionStateTLS13) marshal() []byte { + var b cryptobyte.Builder + b.AddUint16(VersionTLS13) + b.AddUint8(0) // revision + b.AddUint16(m.cipherSuite) + addUint64(&b, m.createdAt) + b.AddUint8LengthPrefixed(func(b *cryptobyte.Builder) { + b.AddBytes(m.resumptionSecret) + }) + marshalCertificate(&b, m.certificate) + return b.BytesOrPanic() +} + +func (m *sessionStateTLS13) unmarshal(data []byte) bool { + *m = sessionStateTLS13{} + s := cryptobyte.String(data) + var version uint16 + var revision uint8 + return s.ReadUint16(&version) && + version == VersionTLS13 && + s.ReadUint8(&revision) && + revision == 0 && + s.ReadUint16(&m.cipherSuite) && + readUint64(&s, &m.createdAt) && + readUint8LengthPrefixed(&s, &m.resumptionSecret) && + len(m.resumptionSecret) != 0 && + unmarshalCertificate(&s, &m.certificate) && + s.Empty() +} + +func (c *Conn) encryptTicket(state []byte) ([]byte, error) { + encrypted := make([]byte, ticketKeyNameLen+aes.BlockSize+len(state)+sha256.Size) keyName := encrypted[:ticketKeyNameLen] iv := encrypted[ticketKeyNameLen : ticketKeyNameLen+aes.BlockSize] macBytes := encrypted[len(encrypted)-sha256.Size:] @@ -120,7 +162,7 @@ func (c *Conn) encryptTicket(state *sessionState) ([]byte, error) { if err != nil { return nil, errors.New("tls: failed to create cipher while encrypting ticket: " + err.Error()) } - cipher.NewCTR(block, iv).XORKeyStream(encrypted[ticketKeyNameLen+aes.BlockSize:], serialized) + cipher.NewCTR(block, iv).XORKeyStream(encrypted[ticketKeyNameLen+aes.BlockSize:], state) mac := hmac.New(sha256.New, key.hmacKey[:]) mac.Write(encrypted[:len(encrypted)-sha256.Size]) @@ -129,15 +171,15 @@ func (c *Conn) encryptTicket(state *sessionState) ([]byte, error) { return encrypted, nil } -func (c *Conn) decryptTicket(encrypted []byte) (*sessionState, bool) { - if c.config.SessionTicketsDisabled || - len(encrypted) < ticketKeyNameLen+aes.BlockSize+sha256.Size { +func (c *Conn) decryptTicket(encrypted []byte) (plaintext []byte, usedOldKey bool) { + if len(encrypted) < ticketKeyNameLen+aes.BlockSize+sha256.Size { return nil, false } keyName := encrypted[:ticketKeyNameLen] iv := encrypted[ticketKeyNameLen : ticketKeyNameLen+aes.BlockSize] macBytes := encrypted[len(encrypted)-sha256.Size:] + ciphertext := encrypted[ticketKeyNameLen+aes.BlockSize : len(encrypted)-sha256.Size] keys := c.config.ticketKeys() keyIndex := -1 @@ -165,11 +207,8 @@ func (c *Conn) decryptTicket(encrypted []byte) (*sessionState, bool) { if err != nil { return nil, false } - ciphertext := encrypted[ticketKeyNameLen+aes.BlockSize : len(encrypted)-sha256.Size] - plaintext := ciphertext + plaintext = make([]byte, len(ciphertext)) cipher.NewCTR(block, iv).XORKeyStream(plaintext, ciphertext) - state := &sessionState{usedOldKey: keyIndex > 0} - ok := state.unmarshal(plaintext) - return state, ok + return plaintext, keyIndex > 0 }