diff --git a/auth.go b/auth.go index 998deb9b21d..1b26dd50ef8 100644 --- a/auth.go +++ b/auth.go @@ -15,11 +15,16 @@ import ( "fmt" "hash" "io" + "slices" ) -// verifyHandshakeSignature verifies a signature against pre-hashed -// (if required) handshake contents. +// verifyHandshakeSignature verifies a signature against unhashed handshake contents. func verifyHandshakeSignature(sigType uint8, pubkey crypto.PublicKey, hashFunc crypto.Hash, signed, sig []byte) error { + if hashFunc != directSigning { + h := hashFunc.New() + h.Write(signed) + signed = h.Sum(nil) + } switch sigType { case signatureECDSA: pubKey, ok := pubkey.(*ecdsa.PublicKey) @@ -60,6 +65,32 @@ func verifyHandshakeSignature(sigType uint8, pubkey crypto.PublicKey, hashFunc c return nil } +// verifyLegacyHandshakeSignature verifies a TLS 1.0 and 1.1 signature against +// pre-hashed handshake contents. +func verifyLegacyHandshakeSignature(sigType uint8, pubkey crypto.PublicKey, hashFunc crypto.Hash, hashed, sig []byte) error { + switch sigType { + case signatureECDSA: + pubKey, ok := pubkey.(*ecdsa.PublicKey) + if !ok { + return fmt.Errorf("expected an ECDSA public key, got %T", pubkey) + } + if !ecdsa.VerifyASN1(pubKey, hashed, sig) { + return errors.New("ECDSA verification failure") + } + case signaturePKCS1v15: + pubKey, ok := pubkey.(*rsa.PublicKey) + if !ok { + return fmt.Errorf("expected an RSA public key, got %T", pubkey) + } + if err := rsa.VerifyPKCS1v15(pubKey, hashFunc, hashed, sig); err != nil { + return err + } + default: + return errors.New("internal error: unknown signature type") + } + return nil +} + const ( serverSignatureContext = "TLS 1.3, server CertificateVerify\x00" clientSignatureContext = "TLS 1.3, client CertificateVerify\x00" @@ -76,21 +107,15 @@ var signaturePadding = []byte{ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, } -// signedMessage returns the pre-hashed (if necessary) message to be signed by -// certificate keys in TLS 1.3. See RFC 8446, Section 4.4.3. -func signedMessage(sigHash crypto.Hash, context string, transcript hash.Hash) []byte { - if sigHash == directSigning { - b := &bytes.Buffer{} - b.Write(signaturePadding) - io.WriteString(b, context) - b.Write(transcript.Sum(nil)) - return b.Bytes() - } - h := sigHash.New() - h.Write(signaturePadding) - io.WriteString(h, context) - h.Write(transcript.Sum(nil)) - return h.Sum(nil) +// signedMessage returns the (unhashed) message to be signed by certificate keys +// in TLS 1.3. See RFC 8446, Section 4.4.3. +func signedMessage(context string, transcript hash.Hash) []byte { + const maxSize = 64 /* signaturePadding */ + len(serverSignatureContext) + 512/8 /* SHA-512 */ + b := bytes.NewBuffer(make([]byte, 0, maxSize)) + b.Write(signaturePadding) + io.WriteString(b, context) + b.Write(transcript.Sum(nil)) + return b.Bytes() } // typeAndHashFromSignatureScheme returns the corresponding signature type and @@ -148,105 +173,94 @@ func legacyTypeAndHashFromPublicKey(pub crypto.PublicKey) (sigType uint8, hash c var rsaSignatureSchemes = []struct { scheme SignatureScheme minModulusBytes int - maxVersion uint16 }{ // RSA-PSS is used with PSSSaltLengthEqualsHash, and requires // emLen >= hLen + sLen + 2 - {PSSWithSHA256, crypto.SHA256.Size()*2 + 2, VersionTLS13}, - {PSSWithSHA384, crypto.SHA384.Size()*2 + 2, VersionTLS13}, - {PSSWithSHA512, crypto.SHA512.Size()*2 + 2, VersionTLS13}, + {PSSWithSHA256, crypto.SHA256.Size()*2 + 2}, + {PSSWithSHA384, crypto.SHA384.Size()*2 + 2}, + {PSSWithSHA512, crypto.SHA512.Size()*2 + 2}, // PKCS #1 v1.5 uses prefixes from hashPrefixes in crypto/rsa, and requires // emLen >= len(prefix) + hLen + 11 - // TLS 1.3 dropped support for PKCS #1 v1.5 in favor of RSA-PSS. - {PKCS1WithSHA256, 19 + crypto.SHA256.Size() + 11, VersionTLS12}, - {PKCS1WithSHA384, 19 + crypto.SHA384.Size() + 11, VersionTLS12}, - {PKCS1WithSHA512, 19 + crypto.SHA512.Size() + 11, VersionTLS12}, - {PKCS1WithSHA1, 15 + crypto.SHA1.Size() + 11, VersionTLS12}, + {PKCS1WithSHA256, 19 + crypto.SHA256.Size() + 11}, + {PKCS1WithSHA384, 19 + crypto.SHA384.Size() + 11}, + {PKCS1WithSHA512, 19 + crypto.SHA512.Size() + 11}, + {PKCS1WithSHA1, 15 + crypto.SHA1.Size() + 11}, } -// signatureSchemesForCertificate returns the list of supported SignatureSchemes -// for a given certificate, based on the public key and the protocol version, -// and optionally filtered by its explicit SupportedSignatureAlgorithms. -// -// This function must be kept in sync with supportedSignatureAlgorithms. -// FIPS filtering is applied in the caller, selectSignatureScheme. -func signatureSchemesForCertificate(version uint16, cert *Certificate) []SignatureScheme { - priv, ok := cert.PrivateKey.(crypto.Signer) - if !ok { - return nil - } - - var sigAlgs []SignatureScheme - switch pub := priv.Public().(type) { +func signatureSchemesForPublicKey(version uint16, pub crypto.PublicKey) []SignatureScheme { + switch pub := pub.(type) { case *ecdsa.PublicKey: - if version != VersionTLS13 { + if version < VersionTLS13 { // In TLS 1.2 and earlier, ECDSA algorithms are not // constrained to a single curve. - sigAlgs = []SignatureScheme{ + return []SignatureScheme{ ECDSAWithP256AndSHA256, ECDSAWithP384AndSHA384, ECDSAWithP521AndSHA512, ECDSAWithSHA1, } - break } switch pub.Curve { case elliptic.P256(): - sigAlgs = []SignatureScheme{ECDSAWithP256AndSHA256} + return []SignatureScheme{ECDSAWithP256AndSHA256} case elliptic.P384(): - sigAlgs = []SignatureScheme{ECDSAWithP384AndSHA384} + return []SignatureScheme{ECDSAWithP384AndSHA384} case elliptic.P521(): - sigAlgs = []SignatureScheme{ECDSAWithP521AndSHA512} + return []SignatureScheme{ECDSAWithP521AndSHA512} default: return nil } case *rsa.PublicKey: size := pub.Size() - sigAlgs = make([]SignatureScheme, 0, len(rsaSignatureSchemes)) + sigAlgs := make([]SignatureScheme, 0, len(rsaSignatureSchemes)) for _, candidate := range rsaSignatureSchemes { - if size >= candidate.minModulusBytes && version <= candidate.maxVersion { + if size >= candidate.minModulusBytes { sigAlgs = append(sigAlgs, candidate.scheme) } } + return sigAlgs case ed25519.PublicKey: - sigAlgs = []SignatureScheme{Ed25519} + return []SignatureScheme{Ed25519} default: return nil } - - if cert.SupportedSignatureAlgorithms != nil { - var filteredSigAlgs []SignatureScheme - for _, sigAlg := range sigAlgs { - if isSupportedSignatureAlgorithm(sigAlg, cert.SupportedSignatureAlgorithms) { - filteredSigAlgs = append(filteredSigAlgs, sigAlg) - } - } - return filteredSigAlgs - } - return sigAlgs } // selectSignatureScheme picks a SignatureScheme from the peer's preference list // that works with the selected certificate. It's only called for protocol // versions that support signature algorithms, so TLS 1.2 and 1.3. func selectSignatureScheme(vers uint16, c *Certificate, peerAlgs []SignatureScheme) (SignatureScheme, error) { - supportedAlgs := signatureSchemesForCertificate(vers, c) + priv, ok := c.PrivateKey.(crypto.Signer) + if !ok { + return 0, unsupportedCertificateError(c) + } + supportedAlgs := signatureSchemesForPublicKey(vers, priv.Public()) + if c.SupportedSignatureAlgorithms != nil { + supportedAlgs = slices.DeleteFunc(supportedAlgs, func(sigAlg SignatureScheme) bool { + return !isSupportedSignatureAlgorithm(sigAlg, c.SupportedSignatureAlgorithms) + }) + } + // Filter out any unsupported signature algorithms, for example due to + // FIPS 140-3 policy, tlssha1=0, or protocol version. + supportedAlgs = slices.DeleteFunc(supportedAlgs, func(sigAlg SignatureScheme) bool { + return isDisabledSignatureAlgorithm(vers, sigAlg, false) + }) if len(supportedAlgs) == 0 { return 0, unsupportedCertificateError(c) } if len(peerAlgs) == 0 && vers == VersionTLS12 { // For TLS 1.2, if the client didn't send signature_algorithms then we // can assume that it supports SHA1. See RFC 5246, Section 7.4.1.4.1. + // RFC 9155 made signature_algorithms mandatory in TLS 1.2, and we gated + // it behind the tlssha1 GODEBUG setting. + if tlssha1.Value() != "1" { + return 0, errors.New("tls: missing signature_algorithms from TLS 1.2 peer") + } peerAlgs = []SignatureScheme{PKCS1WithSHA1, ECDSAWithSHA1} } // Pick signature scheme in the peer's preference order, as our // preference order is not configurable. for _, preferredAlg := range peerAlgs { - // [uTLS] SECTION BEGIN - // if fips140tls.Required() && !isSupportedSignatureAlgorithm(preferredAlg, defaultSupportedSignatureAlgorithmsFIPS) { - // continue - // } - // [uTLS] SECTION END if isSupportedSignatureAlgorithm(preferredAlg, supportedAlgs) { return preferredAlg, nil } diff --git a/auth_test.go b/auth_test.go index f67a8e0f03f..0886d062447 100644 --- a/auth_test.go +++ b/auth_test.go @@ -6,6 +6,7 @@ package tls import ( "crypto" + "os" "testing" "github.com/refraction-networking/utls/internal/fips140tls" @@ -34,35 +35,35 @@ func TestSignatureSelection(t *testing.T) { cert *Certificate peerSigAlgs []SignatureScheme tlsVersion uint16 + godebug string expectedSigAlg SignatureScheme expectedSigType uint8 expectedHash crypto.Hash }{ - {rsaCert, []SignatureScheme{PKCS1WithSHA1, PKCS1WithSHA256}, VersionTLS12, PKCS1WithSHA1, signaturePKCS1v15, crypto.SHA1}, - {rsaCert, []SignatureScheme{PKCS1WithSHA512, PKCS1WithSHA1}, VersionTLS12, PKCS1WithSHA512, signaturePKCS1v15, crypto.SHA512}, - {rsaCert, []SignatureScheme{PSSWithSHA256, PKCS1WithSHA256}, VersionTLS12, PSSWithSHA256, signatureRSAPSS, crypto.SHA256}, - {pkcs1Cert, []SignatureScheme{PSSWithSHA256, PKCS1WithSHA256}, VersionTLS12, PKCS1WithSHA256, signaturePKCS1v15, crypto.SHA256}, - {rsaCert, []SignatureScheme{PSSWithSHA384, PKCS1WithSHA1}, VersionTLS13, PSSWithSHA384, signatureRSAPSS, crypto.SHA384}, - {ecdsaCert, []SignatureScheme{ECDSAWithSHA1}, VersionTLS12, ECDSAWithSHA1, signatureECDSA, crypto.SHA1}, - {ecdsaCert, []SignatureScheme{ECDSAWithP256AndSHA256}, VersionTLS12, ECDSAWithP256AndSHA256, signatureECDSA, crypto.SHA256}, - {ecdsaCert, []SignatureScheme{ECDSAWithP256AndSHA256}, VersionTLS13, ECDSAWithP256AndSHA256, signatureECDSA, crypto.SHA256}, - {ed25519Cert, []SignatureScheme{Ed25519}, VersionTLS12, Ed25519, signatureEd25519, directSigning}, - {ed25519Cert, []SignatureScheme{Ed25519}, VersionTLS13, Ed25519, signatureEd25519, directSigning}, - - // TLS 1.2 without signature_algorithms extension - {rsaCert, nil, VersionTLS12, PKCS1WithSHA1, signaturePKCS1v15, crypto.SHA1}, - {ecdsaCert, nil, VersionTLS12, ECDSAWithSHA1, signatureECDSA, crypto.SHA1}, + {rsaCert, []SignatureScheme{PKCS1WithSHA1, PKCS1WithSHA256}, VersionTLS12, "", PKCS1WithSHA256, signaturePKCS1v15, crypto.SHA256}, + {rsaCert, []SignatureScheme{PKCS1WithSHA512, PKCS1WithSHA1}, VersionTLS12, "", PKCS1WithSHA512, signaturePKCS1v15, crypto.SHA512}, + {rsaCert, []SignatureScheme{PSSWithSHA256, PKCS1WithSHA256}, VersionTLS12, "", PSSWithSHA256, signatureRSAPSS, crypto.SHA256}, + {pkcs1Cert, []SignatureScheme{PSSWithSHA256, PKCS1WithSHA256}, VersionTLS12, "", PKCS1WithSHA256, signaturePKCS1v15, crypto.SHA256}, + {rsaCert, []SignatureScheme{PSSWithSHA384, PKCS1WithSHA1}, VersionTLS13, "", PSSWithSHA384, signatureRSAPSS, crypto.SHA384}, + {rsaCert, []SignatureScheme{PKCS1WithSHA1, PSSWithSHA384}, VersionTLS13, "", PSSWithSHA384, signatureRSAPSS, crypto.SHA384}, + {ecdsaCert, []SignatureScheme{ECDSAWithSHA1, ECDSAWithP256AndSHA256}, VersionTLS12, "", ECDSAWithP256AndSHA256, signatureECDSA, crypto.SHA256}, + {ecdsaCert, []SignatureScheme{ECDSAWithP256AndSHA256}, VersionTLS12, "", ECDSAWithP256AndSHA256, signatureECDSA, crypto.SHA256}, + {ecdsaCert, []SignatureScheme{ECDSAWithP256AndSHA256}, VersionTLS13, "", ECDSAWithP256AndSHA256, signatureECDSA, crypto.SHA256}, + {ed25519Cert, []SignatureScheme{Ed25519}, VersionTLS12, "", Ed25519, signatureEd25519, directSigning}, + {ed25519Cert, []SignatureScheme{Ed25519}, VersionTLS13, "", Ed25519, signatureEd25519, directSigning}, // TLS 1.2 does not restrict the ECDSA curve (our ecdsaCert is P-256) - {ecdsaCert, []SignatureScheme{ECDSAWithP384AndSHA384}, VersionTLS12, ECDSAWithP384AndSHA384, signatureECDSA, crypto.SHA384}, + {ecdsaCert, []SignatureScheme{ECDSAWithP384AndSHA384}, VersionTLS12, "", ECDSAWithP384AndSHA384, signatureECDSA, crypto.SHA384}, } for testNo, test := range tests { - if fips140tls.Required() && (test.expectedHash == crypto.SHA1 || test.expectedSigAlg == Ed25519) { + if fips140tls.Required() && test.expectedHash == crypto.SHA1 { t.Logf("skipping test[%d] - not compatible with TLS FIPS mode", testNo) continue } + savedGODEBUG := os.Getenv("GODEBUG") + os.Setenv("GODEBUG", savedGODEBUG+","+test.godebug) sigAlg, err := selectSignatureScheme(test.tlsVersion, test.cert, test.peerSigAlgs) if err != nil { @@ -81,6 +82,8 @@ func TestSignatureSelection(t *testing.T) { if test.expectedHash != hashFunc { t.Errorf("test[%d]: expected hash function %#x, got %#x", testNo, test.expectedHash, hashFunc) } + + os.Setenv("GODEBUG", savedGODEBUG) } brokenCert := &Certificate{ @@ -117,6 +120,11 @@ func TestSignatureSelection(t *testing.T) { {ecdsaCert, []SignatureScheme{ECDSAWithSHA1}, VersionTLS13}, // The key can be too small for the hash. {rsaCert, []SignatureScheme{PSSWithSHA512}, VersionTLS12}, + // SHA-1 requires tlssha1=1 + {rsaCert, []SignatureScheme{PKCS1WithSHA1}, VersionTLS12}, + {ecdsaCert, []SignatureScheme{ECDSAWithSHA1}, VersionTLS12}, + {rsaCert, nil, VersionTLS12}, + {ecdsaCert, nil, VersionTLS12}, } for testNo, test := range badTests { @@ -160,7 +168,7 @@ func TestLegacyTypeAndHash(t *testing.T) { // TestSupportedSignatureAlgorithms checks that all supportedSignatureAlgorithms // have valid type and hash information. func TestSupportedSignatureAlgorithms(t *testing.T) { - for _, sigAlg := range supportedSignatureAlgorithms() { + for _, sigAlg := range supportedSignatureAlgorithms(VersionTLS12) { sigType, hash, err := typeAndHashFromSignatureScheme(sigAlg) if err != nil { t.Errorf("%v: unexpected error: %v", sigAlg, err) diff --git a/bogo_shim_notunix_test.go b/bogo_shim_notunix_test.go new file mode 100644 index 00000000000..2dcb5c09dfd --- /dev/null +++ b/bogo_shim_notunix_test.go @@ -0,0 +1,11 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !unix || wasm + +package tls + +func pauseProcess() { + panic("-wait-for-debugger not supported on this OS") +} diff --git a/bogo_shim_unix_test.go b/bogo_shim_unix_test.go new file mode 100644 index 00000000000..3b5f5f92c22 --- /dev/null +++ b/bogo_shim_unix_test.go @@ -0,0 +1,18 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build unix && !wasm + +package tls + +import ( + "os" + "syscall" +) + +func pauseProcess() { + pid := os.Getpid() + process, _ := os.FindProcess(pid) + process.Signal(syscall.SIGSTOP) +} diff --git a/cache.go b/cache.go index a7677611fdc..a2c255af88a 100644 --- a/cache.go +++ b/cache.go @@ -8,78 +8,19 @@ import ( "crypto/x509" "runtime" "sync" - "sync/atomic" + "weak" ) -type cacheEntry struct { - refs atomic.Int64 - cert *x509.Certificate -} - -// certCache implements an intern table for reference counted x509.Certificates, -// implemented in a similar fashion to BoringSSL's CRYPTO_BUFFER_POOL. This -// allows for a single x509.Certificate to be kept in memory and referenced from -// multiple Conns. Returned references should not be mutated by callers. Certificates -// are still safe to use after they are removed from the cache. -// -// Certificates are returned wrapped in an activeCert struct that should be held by -// the caller. When references to the activeCert are freed, the number of references -// to the certificate in the cache is decremented. Once the number of references -// reaches zero, the entry is evicted from the cache. -// -// The main difference between this implementation and CRYPTO_BUFFER_POOL is that -// CRYPTO_BUFFER_POOL is a more generic structure which supports blobs of data, -// rather than specific structures. Since we only care about x509.Certificates, -// certCache is implemented as a specific cache, rather than a generic one. -// -// See https://boringssl.googlesource.com/boringssl/+/master/include/openssl/pool.h -// and https://boringssl.googlesource.com/boringssl/+/master/crypto/pool/pool.c -// for the BoringSSL reference. -type certCache struct { - sync.Map -} - -var globalCertCache = new(certCache) - -// activeCert is a handle to a certificate held in the cache. Once there are -// no alive activeCerts for a given certificate, the certificate is removed -// from the cache by a finalizer. -type activeCert struct { - cert *x509.Certificate -} +// weakCertCache provides a cache of *x509.Certificates, allowing multiple +// connections to reuse parsed certificates, instead of re-parsing the +// certificate for every connection, which is an expensive operation. +type weakCertCache struct{ sync.Map } -// active increments the number of references to the entry, wraps the -// certificate in the entry in an activeCert, and sets the finalizer. -// -// Note that there is a race between active and the finalizer set on the -// returned activeCert, triggered if active is called after the ref count is -// decremented such that refs may be > 0 when evict is called. We consider this -// safe, since the caller holding an activeCert for an entry that is no longer -// in the cache is fine, with the only side effect being the memory overhead of -// there being more than one distinct reference to a certificate alive at once. -func (cc *certCache) active(e *cacheEntry) *activeCert { - e.refs.Add(1) - a := &activeCert{e.cert} - runtime.SetFinalizer(a, func(_ *activeCert) { - if e.refs.Add(-1) == 0 { - cc.evict(e) +func (wcc *weakCertCache) newCert(der []byte) (*x509.Certificate, error) { + if entry, ok := wcc.Load(string(der)); ok { + if v := entry.(weak.Pointer[x509.Certificate]).Value(); v != nil { + return v, nil } - }) - return a -} - -// evict removes a cacheEntry from the cache. -func (cc *certCache) evict(e *cacheEntry) { - cc.Delete(string(e.cert.Raw)) -} - -// newCert returns a x509.Certificate parsed from der. If there is already a copy -// of the certificate in the cache, a reference to the existing certificate will -// be returned. Otherwise, a fresh certificate will be added to the cache, and -// the reference returned. The returned reference should not be mutated. -func (cc *certCache) newCert(der []byte) (*activeCert, error) { - if entry, ok := cc.Load(string(der)); ok { - return cc.active(entry.(*cacheEntry)), nil } cert, err := x509.ParseCertificate(der) @@ -87,9 +28,17 @@ func (cc *certCache) newCert(der []byte) (*activeCert, error) { return nil, err } - entry := &cacheEntry{cert: cert} - if entry, loaded := cc.LoadOrStore(string(der), entry); loaded { - return cc.active(entry.(*cacheEntry)), nil + wp := weak.Make(cert) + if entry, loaded := wcc.LoadOrStore(string(der), wp); !loaded { + runtime.AddCleanup(cert, func(_ any) { wcc.CompareAndDelete(string(der), entry) }, any(string(der))) + } else if v := entry.(weak.Pointer[x509.Certificate]).Value(); v != nil { + return v, nil + } else { + if wcc.CompareAndSwap(string(der), entry, wp) { + runtime.AddCleanup(cert, func(_ any) { wcc.CompareAndDelete(string(der), wp) }, any(string(der))) + } } - return cc.active(entry), nil + return cert, nil } + +var globalCertCache = new(weakCertCache) diff --git a/cache_test.go b/cache_test.go index 2846734195d..75a0508ec0d 100644 --- a/cache_test.go +++ b/cache_test.go @@ -1,63 +1,60 @@ -// Copyright 2022 The Go Authors. All rights reserved. +// Copyright 2025 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. - package tls import ( "encoding/pem" - "fmt" "runtime" "testing" "time" ) -func TestCertCache(t *testing.T) { - cc := certCache{} +func TestWeakCertCache(t *testing.T) { + wcc := weakCertCache{} p, _ := pem.Decode([]byte(rsaCertPEM)) if p == nil { t.Fatal("Failed to decode certificate") } - certA, err := cc.newCert(p.Bytes) + certA, err := wcc.newCert(p.Bytes) if err != nil { t.Fatalf("newCert failed: %s", err) } - certB, err := cc.newCert(p.Bytes) + certB, err := wcc.newCert(p.Bytes) if err != nil { t.Fatalf("newCert failed: %s", err) } - if certA.cert != certB.cert { + if certA != certB { t.Fatal("newCert returned a unique reference for a duplicate certificate") } - if entry, ok := cc.Load(string(p.Bytes)); !ok { + if _, ok := wcc.Load(string(p.Bytes)); !ok { t.Fatal("cache does not contain expected entry") - } else { - if refs := entry.(*cacheEntry).refs.Load(); refs != 2 { - t.Fatalf("unexpected number of references: got %d, want 2", refs) - } } - timeoutRefCheck := func(t *testing.T, key string, count int64) { + timeoutRefCheck := func(t *testing.T, key string, present bool) { t.Helper() - c := time.After(4 * time.Second) + timeout := time.After(4 * time.Second) for { select { - case <-c: + case <-timeout: t.Fatal("timed out waiting for expected ref count") default: - e, ok := cc.Load(key) - if !ok && count != 0 { - t.Fatal("cache does not contain expected key") - } else if count == 0 && !ok { - return - } - - if e.(*cacheEntry).refs.Load() == count { + _, ok := wcc.Load(key) + if ok == present { return } } + // Explicitly yield to the scheduler. + // + // On single-threaded platforms like js/wasm a busy-loop might + // never call into the scheduler for the full timeout, meaning + // that if we arrive here and the cleanup hasn't already run, + // we'll simply loop until the timeout. Busy-loops put us at the + // mercy of the Go scheduler, making this test fragile on some + // platforms. + runtime.Gosched() } } @@ -68,7 +65,7 @@ func TestCertCache(t *testing.T) { certA = nil runtime.GC() - timeoutRefCheck(t, string(p.Bytes), 1) + timeoutRefCheck(t, string(p.Bytes), true) // Keep certB alive until at least now, so that we can // purposefully nil it and force the finalizer to be @@ -77,41 +74,5 @@ func TestCertCache(t *testing.T) { certB = nil runtime.GC() - timeoutRefCheck(t, string(p.Bytes), 0) -} - -func BenchmarkCertCache(b *testing.B) { - p, _ := pem.Decode([]byte(rsaCertPEM)) - if p == nil { - b.Fatal("Failed to decode certificate") - } - - cc := certCache{} - b.ReportAllocs() - b.ResetTimer() - // We expect that calling newCert additional times after - // the initial call should not cause additional allocations. - for extra := 0; extra < 4; extra++ { - b.Run(fmt.Sprint(extra), func(b *testing.B) { - actives := make([]*activeCert, extra+1) - b.ResetTimer() - for i := 0; i < b.N; i++ { - var err error - actives[0], err = cc.newCert(p.Bytes) - if err != nil { - b.Fatal(err) - } - for j := 0; j < extra; j++ { - actives[j+1], err = cc.newCert(p.Bytes) - if err != nil { - b.Fatal(err) - } - } - for j := 0; j < extra+1; j++ { - actives[j] = nil - } - runtime.GC() - } - }) - } + timeoutRefCheck(t, string(p.Bytes), false) } diff --git a/cipher_suites.go b/cipher_suites.go index 5e01f7e8de0..c310a2fbff7 100644 --- a/cipher_suites.go +++ b/cipher_suites.go @@ -77,8 +77,8 @@ func CipherSuites() []*CipherSuite { // Most applications should not use the cipher suites in this list, and should // only use those returned by [CipherSuites]. func InsecureCipherSuites() []*CipherSuite { - // This list includes RC4, CBC_SHA256, and 3DES cipher suites. See - // cipherSuitesPreferenceOrder for details. + // This list includes legacy RSA kex, RC4, CBC_SHA256, and 3DES cipher + // suites. See cipherSuitesPreferenceOrder for details. return []*CipherSuite{ {TLS_RSA_WITH_RC4_128_SHA, "TLS_RSA_WITH_RC4_128_SHA", supportedUpToTLS12, true}, {TLS_RSA_WITH_3DES_EDE_CBC_SHA, "TLS_RSA_WITH_3DES_EDE_CBC_SHA", supportedUpToTLS12, true}, @@ -148,8 +148,8 @@ type cipherSuite struct { } var cipherSuites = []*cipherSuite{ // TODO: replace with a map, since the order doesn't matter. - {TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, 32, 0, 12, ecdheRSAKA, suiteECDHE | suiteTLS12, nil, nil, aeadChaCha20Poly1305}, - {TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, 32, 0, 12, ecdheECDSAKA, suiteECDHE | suiteECSign | suiteTLS12, nil, nil, aeadChaCha20Poly1305}, + {TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, 32, 0, 12, ecdheRSAKA, suiteECDHE | suiteTLS12, nil, nil, aeadChaCha20Poly1305}, + {TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, 32, 0, 12, ecdheECDSAKA, suiteECDHE | suiteECSign | suiteTLS12, nil, nil, aeadChaCha20Poly1305}, {TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 16, 0, 4, ecdheRSAKA, suiteECDHE | suiteTLS12, nil, nil, aeadAESGCM}, {TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 16, 0, 4, ecdheECDSAKA, suiteECDHE | suiteECSign | suiteTLS12, nil, nil, aeadAESGCM}, {TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, 32, 0, 4, ecdheRSAKA, suiteECDHE | suiteTLS12 | suiteSHA384, nil, nil, aeadAESGCM}, @@ -283,7 +283,7 @@ var cipherSuitesPreferenceOrder = []uint16{ // AEADs w/ ECDHE TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, // CBC w/ ECDHE TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, @@ -312,7 +312,7 @@ var cipherSuitesPreferenceOrder = []uint16{ var cipherSuitesPreferenceOrderNoAES = []uint16{ // ChaCha20Poly1305 - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, // AES-GCM w/ ECDHE TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, @@ -386,9 +386,13 @@ var aesgcmCiphers = map[uint16]bool{ TLS_AES_256_GCM_SHA384: true, } -// aesgcmPreferred returns whether the first known cipher in the preference list -// is an AES-GCM cipher, implying the peer has hardware support for it. -func aesgcmPreferred(ciphers []uint16) bool { +// isAESGCMPreferred returns whether we have hardware support for AES-GCM, and the +// first known cipher in the peer's preference list is an AES-GCM cipher, +// implying the peer also has hardware support for it. +func isAESGCMPreferred(ciphers []uint16) bool { + if !hasAESGCMHardwareSupport { + return false + } for _, cID := range ciphers { if c := cipherSuiteByID(cID); c != nil { return aesgcmCiphers[cID] diff --git a/common.go b/common.go index 73b6dad51cb..ed86badcaba 100644 --- a/common.go +++ b/common.go @@ -20,6 +20,7 @@ import ( "fmt" "io" "net" + "runtime" "slices" "strings" "sync" @@ -147,19 +148,31 @@ const ( type CurveID uint16 const ( - CurveP256 CurveID = 23 - CurveP384 CurveID = 24 - CurveP521 CurveID = 25 - X25519 CurveID = 29 - X25519MLKEM768 CurveID = 4588 + CurveP256 CurveID = 23 + CurveP384 CurveID = 24 + CurveP521 CurveID = 25 + X25519 CurveID = 29 + X25519MLKEM768 CurveID = 4588 + SecP256r1MLKEM768 CurveID = 4587 + SecP384r1MLKEM1024 CurveID = 4589 ) func isTLS13OnlyKeyExchange(curve CurveID) bool { - return curve == X25519MLKEM768 + switch curve { + case X25519MLKEM768, SecP256r1MLKEM768, SecP384r1MLKEM1024: + return true + default: + return false + } } func isPQKeyExchange(curve CurveID) bool { - return curve == X25519MLKEM768 + switch curve { + case X25519MLKEM768, SecP256r1MLKEM768, SecP384r1MLKEM1024: + return true + default: + return false + } } // TLS 1.3 Key Share. See RFC 8446, Section 4.2.8. @@ -251,6 +264,11 @@ type ConnectionState struct { // TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_AES_128_GCM_SHA256). CipherSuite uint16 + // CurveID is the key exchange mechanism used for the connection. The name + // refers to elliptic curves for legacy reasons, see [CurveID]. If a legacy + // RSA key exchange is used, this value is zero. + CurveID CurveID + // NegotiatedProtocol is the application protocol negotiated with ALPN. NegotiatedProtocol string @@ -307,15 +325,16 @@ type ConnectionState struct { // client side. ECHAccepted bool + // HelloRetryRequest indicates whether we sent a HelloRetryRequest if we + // are a server, or if we received a HelloRetryRequest if we are a client. + HelloRetryRequest bool + // ekm is a closure exposed via ExportKeyingMaterial. ekm func(label string, context []byte, length int) ([]byte, error) - // testingOnlyDidHRR is true if a HelloRetryRequest was sent/received. - testingOnlyDidHRR bool - - // testingOnlyCurveID is the selected CurveID, or zero if an RSA exchanges - // is performed. - testingOnlyCurveID CurveID + // testingOnlyPeerSignatureAlgorithm is the signature algorithm used by the + // peer to sign the handshake. It is not set for resumed connections. + testingOnlyPeerSignatureAlgorithm SignatureScheme } // ExportKeyingMaterial returns length bytes of exported key material in a new @@ -472,6 +491,10 @@ type ClientHelloInfo struct { // connection to fail. Conn net.Conn + // HelloRetryRequest indicates whether the ClientHello was sent in response + // to a HelloRetryRequest message. + HelloRetryRequest bool + // config is embedded by the GetCertificate or GetConfigForClient caller, // for use with SupportsCertificate. config *Config @@ -618,10 +641,13 @@ type Config struct { // If GetConfigForClient is nil, the Config passed to Server() will be // used for all connections. // - // If SessionTicketKey was explicitly set on the returned Config, or if - // SetSessionTicketKeys was called on the returned Config, those keys will + // If SessionTicketKey is explicitly set on the returned Config, or if + // SetSessionTicketKeys is called on the returned Config, those keys will // be used. Otherwise, the original Config keys will be used (and possibly - // rotated if they are automatically managed). + // rotated if they are automatically managed). WARNING: this allows session + // resumtion of connections originally established with the parent (or a + // sibling) Config, which may bypass the [Config.VerifyPeerCertificate] + // value of the returned Config. GetConfigForClient func(*ClientHelloInfo) (*Config, error) // VerifyPeerCertificate, if not nil, is called after normal @@ -639,8 +665,10 @@ type Config struct { // rawCerts may be empty on the server if ClientAuth is RequestClientCert or // VerifyClientCertIfGiven. // - // This callback is not invoked on resumed connections, as certificates are - // not re-verified on resumption. + // This callback is not invoked on resumed connections. WARNING: this + // includes connections resumed across Configs returned by [Config.Clone] or + // [Config.GetConfigForClient] and their parents. If that is not intended, + // use [Config.VerifyConnection] instead, or set [Config.SessionTicketsDisabled]. // // verifiedChains and its contents should not be modified. VerifyPeerCertificate func(rawCerts [][]byte, verifiedChains [][]*x509.Certificate) error @@ -825,6 +853,11 @@ type Config struct { // From Go 1.24, the default includes the [X25519MLKEM768] hybrid // post-quantum key exchange. To disable it, set CurvePreferences explicitly // or use the GODEBUG=tlsmlkem=0 environment variable. + // + // From Go 1.26, the default includes the [SecP256r1MLKEM768] and + // [SecP256r1MLKEM768] hybrid post-quantum key exchanges, too. To disable + // them, set CurvePreferences explicitly or use either the + // GODEBUG=tlsmlkem=0 or the GODEBUG=tlssecpmlkem=0 environment variable. CurvePreferences []CurveID // PQSignatureSchemesEnabled controls whether additional post-quantum @@ -889,6 +922,20 @@ type Config struct { // when ECH is rejected, even if set, and InsecureSkipVerify is ignored. EncryptedClientHelloRejectionVerify func(ConnectionState) error + // GetEncryptedClientHelloKeys, if not nil, is called when by a server when + // a client attempts ECH. + // + // If GetEncryptedClientHelloKeys is not nil, [EncryptedClientHelloKeys] is + // ignored. + // + // If GetEncryptedClientHelloKeys returns an error, the handshake will be + // aborted and the error will be returned. Otherwise, + // GetEncryptedClientHelloKeys must return a non-nil slice of + // [EncryptedClientHelloKey] that represents the acceptable ECH keys. + // + // For further details, see [EncryptedClientHelloKeys]. + GetEncryptedClientHelloKeys func(*ClientHelloInfo) ([]EncryptedClientHelloKey, error) + // EncryptedClientHelloKeys are the ECH keys to use when a client // attempts ECH. // @@ -899,6 +946,9 @@ type Config struct { // will send a list of configs to retry based on the set of // EncryptedClientHelloKeys which have the SendAsRetry field set. // + // If GetEncryptedClientHelloKeys is non-nil, EncryptedClientHelloKeys is + // ignored. + // // On the client side, this field is ignored. In order to configure ECH for // clients, see the EncryptedClientHelloConfigList field. EncryptedClientHelloKeys []EncryptedClientHelloKey @@ -920,13 +970,29 @@ type Config struct { // with a specific ECH config known to a client. type EncryptedClientHelloKey struct { // Config should be a marshalled ECHConfig associated with PrivateKey. This - // must match the config provided to clients byte-for-byte. The config - // should only specify the DHKEM(X25519, HKDF-SHA256) KEM ID (0x0020), the - // HKDF-SHA256 KDF ID (0x0001), and a subset of the following AEAD IDs: - // AES-128-GCM (0x0000), AES-256-GCM (0x0001), ChaCha20Poly1305 (0x0002). + // must match the config provided to clients byte-for-byte. The config must + // use as KEM one of + // + // - DHKEM(P-256, HKDF-SHA256) (0x0010) + // - DHKEM(P-384, HKDF-SHA384) (0x0011) + // - DHKEM(P-521, HKDF-SHA512) (0x0012) + // - DHKEM(X25519, HKDF-SHA256) (0x0020) + // + // and as KDF one of + // + // - HKDF-SHA256 (0x0001) + // - HKDF-SHA384 (0x0002) + // - HKDF-SHA512 (0x0003) + // + // and as AEAD one of + // + // - AES-128-GCM (0x0001) + // - AES-256-GCM (0x0002) + // - ChaCha20Poly1305 (0x0003) + // Config []byte - // PrivateKey should be a marshalled private key. Currently, we expect - // this to be the output of [ecdh.PrivateKey.Bytes]. + // PrivateKey should be a marshalled private key, in the format expected by + // HPKE's DeserializePrivateKey (see RFC 9180), for the KEM used in Config. PrivateKey []byte // SendAsRetry indicates if Config should be sent as part of the list of // retry configs when ECH is requested by the client but rejected by the @@ -971,8 +1037,15 @@ func (c *Config) ticketKeyFromBytes(b [32]byte) (key ticketKey) { // ticket, and the lifetime we set for all tickets we send. const maxSessionTicketLifetime = 7 * 24 * time.Hour -// Clone returns a shallow clone of c or nil if c is nil. It is safe to clone a [Config] that is -// being used concurrently by a TLS client or server. +// Clone returns a shallow clone of c or nil if c is nil. It is safe to clone a +// [Config] that is being used concurrently by a TLS client or server. +// +// The returned Config can share session ticket keys with the original Config, +// which means connections could be resumed across the two Configs. WARNING: +// [Config.VerifyPeerCertificate] does not get called on resumed connections, +// including connections that were originally established on the parent Config. +// If that is not intended, use [Config.VerifyConnection] instead, or set +// [Config.SessionTicketsDisabled]. func (c *Config) Clone() *Config { if c == nil { return nil @@ -987,6 +1060,7 @@ func (c *Config) Clone() *Config { GetCertificate: c.GetCertificate, GetClientCertificate: c.GetClientCertificate, GetConfigForClient: c.GetConfigForClient, + GetEncryptedClientHelloKeys: c.GetEncryptedClientHelloKeys, VerifyPeerCertificate: c.VerifyPeerCertificate, VerifyConnection: c.VerifyConnection, RootCAs: c.RootCAs, @@ -1072,6 +1146,7 @@ func (c *Config) ticketKeys(configForClient *Config) []ticketKey { if configForClient != nil { configForClient.mutex.RLock() if configForClient.SessionTicketsDisabled { + configForClient.mutex.RUnlock() return nil } configForClient.initLegacySessionTicketKeyRLocked() @@ -1165,24 +1240,28 @@ func (c *Config) time() time.Time { return t() } -func (c *Config) cipherSuites() []uint16 { +func (c *Config) cipherSuites(aesGCMPreferred bool) []uint16 { + var cipherSuites []uint16 if c.CipherSuites == nil { - // [uTLS] SECTION BEGIN - // if fips140tls.Required() { - // return defaultCipherSuitesFIPS - // } - // [uTLS] SECTION END - return defaultCipherSuites() + cipherSuites = defaultCipherSuites(aesGCMPreferred) + } else { + cipherSuites = supportedCipherSuites(aesGCMPreferred) + cipherSuites = slices.DeleteFunc(cipherSuites, func(id uint16) bool { + return !slices.Contains(c.CipherSuites, id) + }) } - // [uTLS] SECTION BEGIN - // if fips140tls.Required() { - // cipherSuites := slices.Clone(c.CipherSuites) - // return slices.DeleteFunc(cipherSuites, func(id uint16) bool { - // return !slices.Contains(defaultCipherSuitesFIPS, id) - // }) - // } - // [uTLS] SECTION END - return c.CipherSuites + if fips140tls.Required() { + cipherSuites = slices.DeleteFunc(cipherSuites, func(id uint16) bool { + return !slices.Contains(allowedCipherSuitesFIPS, id) + }) + } + return cipherSuites +} + +// supportedCipherSuites returns the supported TLS 1.0–1.2 cipher suites in an +// undefined order. For preference ordering, use [Config.cipherSuites]. +func (c *Config) supportedCipherSuites() []uint16 { + return c.cipherSuites(false) } var supportedVersions = []uint16{ @@ -1199,14 +1278,14 @@ const roleServer = false // var tls10server = godebug.New("tls10server") // [UTLS] unsupported +// supportedVersions returns the list of supported TLS versions, sorted from +// highest to lowest (and hence also in preference order). func (c *Config) supportedVersions(isClient bool) []uint16 { versions := make([]uint16, 0, len(supportedVersions)) for _, v := range supportedVersions { - // [uTLS] SECTION BEGIN - // if fips140tls.Required() && !slices.Contains(defaultSupportedVersionsFIPS, v) { - // continue - // } - // [uTLS] SECTION END + if fips140tls.Required() && !slices.Contains(allowedSupportedVersionsFIPS, v) { + continue + } if (c == nil || c.MinVersion == 0) && v < VersionTLS12 { // [uTLS SECTION BEGIN] // Disable unsupported godebug package @@ -1255,14 +1334,12 @@ func supportedVersionsFromMax(maxVersion uint16) []uint16 { } func (c *Config) curvePreferences(version uint16) []CurveID { - var curvePreferences []CurveID - // [uTLS] SECTION BEGIN - // if fips140tls.Required() { - // curvePreferences = slices.Clone(defaultCurvePreferencesFIPS) - // } else { - curvePreferences = defaultCurvePreferences() - // } - // [uTLS] SECTION END + curvePreferences := defaultCurvePreferences() + if fips140tls.Required() { + curvePreferences = slices.DeleteFunc(curvePreferences, func(x CurveID) bool { + return !slices.Contains(allowedCurvePreferencesFIPS, x) + }) + } if c != nil && len(c.CurvePreferences) != 0 { curvePreferences = slices.DeleteFunc(curvePreferences, func(x CurveID) bool { return !slices.Contains(c.CurvePreferences, x) @@ -1275,23 +1352,16 @@ func (c *Config) curvePreferences(version uint16) []CurveID { } func (c *Config) supportsCurve(version uint16, curve CurveID) bool { - for _, cc := range c.curvePreferences(version) { - if cc == curve { - return true - } - } - return false + return slices.Contains(c.curvePreferences(version), curve) } // mutualVersion returns the protocol version to use given the advertised -// versions of the peer. Priority is given to the peer preference order. +// versions of the peer. The highest supported version is preferred. func (c *Config) mutualVersion(isClient bool, peerVersions []uint16) (uint16, bool) { supportedVersions := c.supportedVersions(isClient) - for _, peerVersion := range peerVersions { - for _, v := range supportedVersions { - if v == peerVersion { - return v, true - } + for _, v := range supportedVersions { + if slices.Contains(peerVersions, v) { + return v, true } } return 0, false @@ -1412,7 +1482,7 @@ func (chi *ClientHelloInfo) SupportsCertificate(c *Certificate) error { } // Finally, there needs to be a mutual cipher suite that uses the static // RSA key exchange instead of ECDHE. - rsaCipherSuite := selectCipherSuite(chi.CipherSuites, config.cipherSuites(), func(c *cipherSuite) bool { + rsaCipherSuite := selectCipherSuite(chi.CipherSuites, config.supportedCipherSuites(), func(c *cipherSuite) bool { if c.flags&suiteECDHE != 0 { return false } @@ -1443,7 +1513,11 @@ func (chi *ClientHelloInfo) SupportsCertificate(c *Certificate) error { } // The only signed key exchange we support is ECDHE. - if !supportsECDHE(config, vers, chi.SupportedCurves, chi.SupportedPoints) { + ecdheSupported, err := supportsECDHE(config, vers, chi.SupportedCurves, chi.SupportedPoints) + if err != nil { + return err + } + if !ecdheSupported { return supportsRSAFallback(errors.New("client doesn't support ECDHE, can only use legacy RSA key exchange")) } @@ -1489,7 +1563,7 @@ func (chi *ClientHelloInfo) SupportsCertificate(c *Certificate) error { // Make sure that there is a mutually supported cipher suite that works with // this certificate. Cipher suite selection will then apply the logic in // reverse to pick it. See also serverHandshakeState.cipherSuiteOk. - cipherSuite := selectCipherSuite(chi.CipherSuites, config.cipherSuites(), func(c *cipherSuite) bool { + cipherSuite := selectCipherSuite(chi.CipherSuites, config.supportedCipherSuites(), func(c *cipherSuite) bool { if c.flags&suiteECDHE == 0 { return false } @@ -1602,9 +1676,14 @@ var writerMutex sync.Mutex type Certificate struct { Certificate [][]byte // PrivateKey contains the private key corresponding to the public key in - // Leaf. This must implement crypto.Signer with an RSA, ECDSA or Ed25519 PublicKey. + // Leaf. This must implement [crypto.Signer] with an RSA, ECDSA or Ed25519 + // PublicKey. + // // For a server up to TLS 1.2, it can also implement crypto.Decrypter with // an RSA PublicKey. + // + // If it implements [crypto.MessageSigner], SignMessage will be used instead + // of Sign for TLS 1.2 and later. PrivateKey crypto.PrivateKey // SupportedSignatureAlgorithms is an optional list restricting what // signature algorithms the PrivateKey can be used for. @@ -1731,25 +1810,66 @@ func unexpectedMessageError(wanted, got any) error { return fmt.Errorf("tls: received unexpected handshake message of type %T when waiting for %T", got, wanted) } -// supportedSignatureAlgorithms returns the supported signature algorithms. -func supportedSignatureAlgorithms() []SignatureScheme { - // [uTLS] SECTION BEGIN - // if !fips140tls.Required() { - return defaultSupportedSignatureAlgorithms - // } - // return defaultSupportedSignatureAlgorithmsFIPS - // [uTLS] SECTION END +var testingOnlySupportedSignatureAlgorithms []SignatureScheme + +// supportedSignatureAlgorithms returns the supported signature algorithms for +// the given minimum TLS version, to advertise in ClientHello and +// CertificateRequest messages. +func supportedSignatureAlgorithms(minVers uint16) []SignatureScheme { + sigAlgs := defaultSupportedSignatureAlgorithms() + if testingOnlySupportedSignatureAlgorithms != nil { + sigAlgs = slices.Clone(testingOnlySupportedSignatureAlgorithms) + } + return slices.DeleteFunc(sigAlgs, func(s SignatureScheme) bool { + return isDisabledSignatureAlgorithm(minVers, s, false) + }) } -func isSupportedSignatureAlgorithm(sigAlg SignatureScheme, supportedSignatureAlgorithms []SignatureScheme) bool { - for _, s := range supportedSignatureAlgorithms { - if s == sigAlg { +func isDisabledSignatureAlgorithm(version uint16, s SignatureScheme, isCert bool) bool { + if fips140tls.Required() && !slices.Contains(allowedSignatureAlgorithmsFIPS, s) { + return true + } + + // For the _cert extension we include all algorithms, including SHA-1 and + // PKCS#1 v1.5, because it's more likely that something on our side will be + // willing to accept a *-with-SHA1 certificate (e.g. with a custom + // VerifyConnection or by a direct match with the CertPool), than that the + // peer would have a better certificate but is just choosing not to send it. + // crypto/x509 will refuse to verify important SHA-1 signatures anyway. + if isCert { + return false + } + + // TLS 1.3 removed support for PKCS#1 v1.5 and SHA-1 signatures, + // and Go 1.25 removed support for SHA-1 signatures in TLS 1.2. + if version > VersionTLS12 { + sigType, sigHash, _ := typeAndHashFromSignatureScheme(s) + if sigType == signaturePKCS1v15 || sigHash == crypto.SHA1 { + return true + } + } else if tlssha1.Value() != "1" { + _, sigHash, _ := typeAndHashFromSignatureScheme(s) + if sigHash == crypto.SHA1 { return true } } + return false } +// supportedSignatureAlgorithmsCert returns the supported algorithms for +// signatures in certificates. +func supportedSignatureAlgorithmsCert() []SignatureScheme { + sigAlgs := defaultSupportedSignatureAlgorithms() + return slices.DeleteFunc(sigAlgs, func(s SignatureScheme) bool { + return isDisabledSignatureAlgorithm(0, s, true) + }) +} + +func isSupportedSignatureAlgorithm(sigAlg SignatureScheme, supportedSignatureAlgorithms []SignatureScheme) bool { + return slices.Contains(supportedSignatureAlgorithms, sigAlg) +} + // CertificateVerificationError is returned when certificate verification fails during the handshake. type CertificateVerificationError struct { // UnverifiedCertificates and its contents should not be modified. @@ -1796,7 +1916,7 @@ func fipsAllowChain(chain []*x509.Certificate) bool { } for _, cert := range chain { - if !fipsAllowCert(cert) { + if !isCertificateAllowedFIPS(cert) { return false } } @@ -1804,16 +1924,42 @@ func fipsAllowChain(chain []*x509.Certificate) bool { return true } -func fipsAllowCert(c *x509.Certificate) bool { - // The key must be RSA 2048, RSA 3072, RSA 4096, - // or ECDSA P-256, P-384, P-521. - switch k := c.PublicKey.(type) { - case *rsa.PublicKey: - size := k.N.BitLen() - return size == 2048 || size == 3072 || size == 4096 - case *ecdsa.PublicKey: - return k.Curve == elliptic.P256() || k.Curve == elliptic.P384() || k.Curve == elliptic.P521() +// anyValidVerifiedChain reports if at least one of the chains in verifiedChains +// is valid, as indicated by none of the certificates being expired and the root +// being in opts.Roots (or in the system root pool if opts.Roots is nil). If +// verifiedChains is empty, it returns false. +func anyValidVerifiedChain(verifiedChains [][]*x509.Certificate, opts x509.VerifyOptions) bool { + for _, chain := range verifiedChains { + if len(chain) == 0 { + continue + } + if slices.ContainsFunc(chain, func(cert *x509.Certificate) bool { + return opts.CurrentTime.Before(cert.NotBefore) || opts.CurrentTime.After(cert.NotAfter) + }) { + continue + } + // Since we already validated the chain, we only care that it is rooted + // in a CA in opts.Roots. On platforms where we control chain validation + // (e.g. not Windows or macOS) this is a simple lookup in the CertPool + // internal hash map, which we can simulate by running Verify on the + // root. On other platforms, we have to do full verification again, + // because EKU handling might differ. We will want to replace this with + // CertPool.Contains if/once that is available. See go.dev/issue/77376. + if runtime.GOOS == "windows" || runtime.GOOS == "darwin" || runtime.GOOS == "ios" { + opts.Intermediates = x509.NewCertPool() + for _, cert := range chain[1:max(1, len(chain)-1)] { + opts.Intermediates.AddCert(cert) + } + leaf := chain[0] + if _, err := leaf.Verify(opts); err == nil { + return true + } + } else { + root := chain[len(chain)-1] + if _, err := root.Verify(opts); err == nil { + return true + } + } } - return false } diff --git a/common_string.go b/common_string.go index e15dd48838b..1e868e7162d 100644 --- a/common_string.go +++ b/common_string.go @@ -72,16 +72,19 @@ func _() { _ = x[CurveP521-25] _ = x[X25519-29] _ = x[X25519MLKEM768-4588] + _ = x[SecP256r1MLKEM768-4587] + _ = x[SecP384r1MLKEM1024-4589] } const ( _CurveID_name_0 = "CurveP256CurveP384CurveP521" _CurveID_name_1 = "X25519" - _CurveID_name_2 = "X25519MLKEM768" + _CurveID_name_2 = "SecP256r1MLKEM768X25519MLKEM768SecP384r1MLKEM1024" ) var ( _CurveID_index_0 = [...]uint8{0, 9, 18, 27} + _CurveID_index_2 = [...]uint8{0, 17, 31, 49} ) func (i CurveID) String() string { @@ -91,8 +94,9 @@ func (i CurveID) String() string { return _CurveID_name_0[_CurveID_index_0[i]:_CurveID_index_0[i+1]] case i == 29: return _CurveID_name_1 - case i == 4588: - return _CurveID_name_2 + case 4587 <= i && i <= 4589: + i -= 4587 + return _CurveID_name_2[_CurveID_index_2[i]:_CurveID_index_2[i+1]] default: return "CurveID(" + strconv.FormatInt(int64(i), 10) + ")" } diff --git a/conn.go b/conn.go index f761ccae443..88b2ef0da38 100644 --- a/conn.go +++ b/conn.go @@ -50,12 +50,10 @@ type Conn struct { didHRR bool // whether a HelloRetryRequest was sent/received cipherSuite uint16 curveID CurveID + peerSigAlg SignatureScheme ocspResponse []byte // stapled OCSP response scts [][]byte // signed certificate timestamps from server peerCertificates []*x509.Certificate - // activeCertHandles contains the cache handles to certificates in - // peerCertificates that are used to track active references. - activeCertHandles []*activeCert // verifiedChains contains the certificate chains that we built, as // opposed to the ones presented by the server. verifiedChains [][]*x509.Certificate @@ -223,20 +221,19 @@ func (hc *halfConn) changeCipherSpec() error { hc.mac = hc.nextMac hc.nextCipher = nil hc.nextMac = nil - for i := range hc.seq { - hc.seq[i] = 0 - } + clear(hc.seq[:]) return nil } +// setTrafficSecret sets the traffic secret for the given encryption level. setTrafficSecret +// should not be called directly, but rather through the Conn setWriteTrafficSecret and +// setReadTrafficSecret wrapper methods. func (hc *halfConn) setTrafficSecret(suite *cipherSuiteTLS13, level QUICEncryptionLevel, secret []byte) { hc.trafficSecret = secret hc.level = level key, iv := suite.trafficKey(secret) hc.cipher = suite.aead(key, iv) - for i := range hc.seq { - hc.seq[i] = 0 - } + clear(hc.seq[:]) } // incSeq increments the sequence number. @@ -725,6 +722,15 @@ func (c *Conn) readRecordOrCCS(expectChangeCipherSpec bool) error { return c.in.setErrorLocked(io.EOF) } if c.vers == VersionTLS13 { + // TLS 1.3 removed warning-level alerts except for alertUserCanceled + // (RFC 8446, § 6.1). Since at least one major implementation + // (https://bugs.openjdk.org/browse/JDK-8323517) misuses this alert, + // many TLS stacks now ignore it outright when seen in a TLS 1.3 + // handshake (e.g. BoringSSL, NSS, Rustls). + if alert(data[1]) == alertUserCanceled { + // Like TLS 1.2 alertLevelWarning alerts, we drop the record and retry. + return c.retryReadRecord(expectChangeCipherSpec) + } return c.in.setErrorLocked(&net.OpError{Op: "remote error", Err: alert(data[1])}) } switch data[0] { @@ -1183,7 +1189,7 @@ func (c *Conn) unmarshalHandshakeMessage(data []byte, transcript transcriptHash) data = append([]byte(nil), data...) if !m.unmarshal(data) { - return nil, c.in.setErrorLocked(c.sendAlert(alertUnexpectedMessage)) + return nil, c.in.setErrorLocked(c.sendAlert(alertDecodeError)) } if transcript != nil { @@ -1346,9 +1352,6 @@ func (c *Conn) handleKeyUpdate(keyUpdate *keyUpdateMsg) error { return c.in.setErrorLocked(c.sendAlert(alertInternalError)) } - newSecret := cipherSuite.nextTrafficSecret(c.in.trafficSecret) - c.in.setTrafficSecret(cipherSuite, QUICEncryptionLevelInitial, newSecret) - if keyUpdate.updateRequested { c.out.Lock() defer c.out.Unlock() @@ -1366,7 +1369,12 @@ func (c *Conn) handleKeyUpdate(keyUpdate *keyUpdateMsg) error { } newSecret := cipherSuite.nextTrafficSecret(c.out.trafficSecret) - c.out.setTrafficSecret(cipherSuite, QUICEncryptionLevelInitial, newSecret) + c.setWriteTrafficSecret(cipherSuite, QUICEncryptionLevelInitial, newSecret) + } + + newSecret := cipherSuite.nextTrafficSecret(c.in.trafficSecret) + if err := c.setReadTrafficSecret(cipherSuite, QUICEncryptionLevelInitial, newSecret); err != nil { + return err } return nil @@ -1527,37 +1535,23 @@ func (c *Conn) handshakeContext(ctx context.Context) (ret error) { } handshakeCtx, cancel := context.WithCancel(ctx) - // Note: defer this before starting the "interrupter" goroutine + // Note: defer this before calling context.AfterFunc // so that we can tell the difference between the input being canceled and // this cancellation. In the former case, we need to close the connection. defer cancel() if c.quic != nil { - c.quic.cancelc = handshakeCtx.Done() + c.quic.ctx = handshakeCtx c.quic.cancel = cancel } else if ctx.Done() != nil { - // Start the "interrupter" goroutine, if this context might be canceled. - // (The background context cannot). - // - // The interrupter goroutine waits for the input context to be done and - // closes the connection if this happens before the function returns. - done := make(chan struct{}) - interruptRes := make(chan error, 1) + // Close the connection if ctx is canceled before the function returns. + stop := context.AfterFunc(ctx, func() { + _ = c.conn.Close() + }) defer func() { - close(done) - if ctxErr := <-interruptRes; ctxErr != nil { + if !stop() { // Return context error to user. - ret = ctxErr - } - }() - go func() { - select { - case <-handshakeCtx.Done(): - // Close the connection, discarding the error - _ = c.conn.Close() - interruptRes <- handshakeCtx.Err() - case <-done: - interruptRes <- nil + ret = ctx.Err() } }() } @@ -1597,11 +1591,13 @@ func (c *Conn) handshakeContext(ctx context.Context) (ret error) { // Provide the 1-RTT read secret now that the handshake is complete. // The QUIC layer MUST NOT decrypt 1-RTT packets prior to completing // the handshake (RFC 9001, Section 5.7). - c.quicSetReadSecret(QUICEncryptionLevelApplication, c.cipherSuite, c.in.trafficSecret) + if err := c.quicSetReadSecret(QUICEncryptionLevelApplication, c.cipherSuite, c.in.trafficSecret); err != nil { + return err + } } else { - var a alert c.out.Lock() - if !errors.As(c.out.err, &a) { + a, ok := errors.AsType[alert](c.out.err) + if !ok { a = alertInternalError } c.out.Unlock() @@ -1633,9 +1629,9 @@ func (c *Conn) connectionStateLocked() ConnectionState { state.Version = c.vers state.NegotiatedProtocol = c.clientProtocol state.DidResume = c.didResume - state.testingOnlyDidHRR = c.didHRR - // c.curveID is not set on TLS 1.0–1.2 resumptions. Fix that before exposing it. - state.testingOnlyCurveID = c.curveID + state.HelloRetryRequest = c.didHRR + state.testingOnlyPeerSignatureAlgorithm = c.peerSigAlg + state.CurveID = c.curveID state.NegotiatedProtocolIsMutual = true state.ServerName = c.serverName state.CipherSuite = c.cipherSuite @@ -1699,3 +1695,25 @@ func (c *Conn) VerifyHostname(host string) error { } return c.peerCertificates[0].VerifyHostname(host) } + +// setReadTrafficSecret sets the read traffic secret for the given encryption level. If +// being called at the same time as setWriteTrafficSecret, the caller must ensure the call +// to setWriteTrafficSecret happens first so any alerts are sent at the write level. +func (c *Conn) setReadTrafficSecret(suite *cipherSuiteTLS13, level QUICEncryptionLevel, secret []byte) error { + // Ensure that there are no buffered handshake messages before changing the + // read keys, since that can cause messages to be parsed that were encrypted + // using old keys which are no longer appropriate. + if c.hand.Len() != 0 { + c.sendAlert(alertUnexpectedMessage) + return errors.New("tls: handshake buffer not empty before setting read traffic secret") + } + c.in.setTrafficSecret(suite, level, secret) + return nil +} + +// setWriteTrafficSecret sets the write traffic secret for the given encryption level. If +// being called at the same time as setReadTrafficSecret, the caller must ensure the call +// to setWriteTrafficSecret happens first so any alerts are sent at the write level. +func (c *Conn) setWriteTrafficSecret(suite *cipherSuiteTLS13, level QUICEncryptionLevel, secret []byte) { + c.out.setTrafficSecret(suite, level, secret) +} diff --git a/defaults.go b/defaults.go index f36b6c42613..cf9fd0846c4 100644 --- a/defaults.go +++ b/defaults.go @@ -12,47 +12,58 @@ import ( // Defaults are collected in this file to allow distributions to more easily patch // them to apply local policies. -// var tlsmlkem = godebug.New("tlsmlkem") [uTLS] - // defaultCurvePreferences is the default set of supported key exchanges, as // well as the preference order. func defaultCurvePreferences() []CurveID { - // [uTLS section begins] - // if tlsmlkem.Value() == "0" { + switch { + // tlsmlkem=0 restores the pre-Go 1.24 default. + //[uTLS] SECTION BEGIN + // case tlsmlkem.Value() == "0": // return []CurveID{X25519, CurveP256, CurveP384, CurveP521} - // } - // [uTLS section ends] - - return []CurveID{X25519MLKEM768, X25519, CurveP256, CurveP384, CurveP521} + // // tlssecpmlkem=0 restores the pre-Go 1.26 default. + // case tlssecpmlkem.Value() == "0": + // return []CurveID{X25519MLKEM768, X25519, CurveP256, CurveP384, CurveP521} + //[uTLS] SECTION END + default: + return []CurveID{ + X25519MLKEM768, SecP256r1MLKEM768, SecP384r1MLKEM1024, + X25519, CurveP256, CurveP384, CurveP521, + } + } } -// defaultSupportedSignatureAlgorithms contains the signature and hash algorithms that -// the code advertises as supported in a TLS 1.2+ ClientHello and in a TLS 1.2+ +// defaultSupportedSignatureAlgorithms returns the signature and hash algorithms that +// the code advertises and supports in a TLS 1.2+ ClientHello and in a TLS 1.2+ // CertificateRequest. The two fields are merged to match with TLS 1.3. // Note that in TLS 1.2, the ECDSA algorithms are not constrained to P-256, etc. -var defaultSupportedSignatureAlgorithms = []SignatureScheme{ - PSSWithSHA256, - ECDSAWithP256AndSHA256, - Ed25519, - PSSWithSHA384, - PSSWithSHA512, - PKCS1WithSHA256, - PKCS1WithSHA384, - PKCS1WithSHA512, - ECDSAWithP384AndSHA384, - ECDSAWithP521AndSHA512, - PKCS1WithSHA1, - ECDSAWithSHA1, +func defaultSupportedSignatureAlgorithms() []SignatureScheme { + return []SignatureScheme{ + PSSWithSHA256, + ECDSAWithP256AndSHA256, + Ed25519, + PSSWithSHA384, + PSSWithSHA512, + PKCS1WithSHA256, + PKCS1WithSHA384, + PKCS1WithSHA512, + ECDSAWithP384AndSHA384, + ECDSAWithP521AndSHA512, + PKCS1WithSHA1, + ECDSAWithSHA1, + } } -// [uTLS section begins] -// var tlsrsakex = godebug.New("tlsrsakex") -// var tls3des = godebug.New("tls3des") -// [uTLS section ends] +func supportedCipherSuites(aesGCMPreferred bool) []uint16 { + if aesGCMPreferred { + return slices.Clone(cipherSuitesPreferenceOrder) + } else { + return slices.Clone(cipherSuitesPreferenceOrderNoAES) + } +} -func defaultCipherSuites() []uint16 { - suites := slices.Clone(cipherSuitesPreferenceOrder) - return slices.DeleteFunc(suites, func(c uint16) bool { +func defaultCipherSuites(aesGCMPreferred bool) []uint16 { + cipherSuites := supportedCipherSuites(aesGCMPreferred) + return slices.DeleteFunc(cipherSuites, func(c uint16) bool { return disabledCipherSuites[c] || // [uTLS section begins] // tlsrsakex.Value() != "1" && rsaKexCiphers[c] || @@ -98,43 +109,3 @@ var defaultCipherSuitesTLS13NoAES = []uint16{ TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, } - -// The FIPS-only policies below match BoringSSL's -// ssl_compliance_policy_fips_202205, which is based on NIST SP 800-52r2. -// https://cs.opensource.google/boringssl/boringssl/+/master:ssl/ssl_lib.cc;l=3289;drc=ea7a88fa - -var defaultSupportedVersionsFIPS = []uint16{ - VersionTLS12, - VersionTLS13, -} - -// defaultCurvePreferencesFIPS are the FIPS-allowed curves, -// in preference order (most preferable first). -var defaultCurvePreferencesFIPS = []CurveID{CurveP256, CurveP384} - -// defaultSupportedSignatureAlgorithmsFIPS currently are a subset of -// defaultSupportedSignatureAlgorithms without Ed25519 and SHA-1. -var defaultSupportedSignatureAlgorithmsFIPS = []SignatureScheme{ - PSSWithSHA256, - PSSWithSHA384, - PSSWithSHA512, - PKCS1WithSHA256, - ECDSAWithP256AndSHA256, - PKCS1WithSHA384, - ECDSAWithP384AndSHA384, - PKCS1WithSHA512, -} - -// defaultCipherSuitesFIPS are the FIPS-allowed cipher suites. -var defaultCipherSuitesFIPS = []uint16{ - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, -} - -// defaultCipherSuitesTLS13FIPS are the FIPS-allowed cipher suites for TLS 1.3. -var defaultCipherSuitesTLS13FIPS = []uint16{ - TLS_AES_128_GCM_SHA256, - TLS_AES_256_GCM_SHA384, -} diff --git a/defaults_boring.go b/defaults_boring.go new file mode 100644 index 00000000000..e88f05cc505 --- /dev/null +++ b/defaults_boring.go @@ -0,0 +1,69 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build boringcrypto + +package tls + +import ( + "crypto/ecdsa" + "crypto/elliptic" + "crypto/rsa" + "crypto/x509" +) + +// These Go+BoringCrypto policies mostly match BoringSSL's +// ssl_compliance_policy_fips_202205, which is based on NIST SP 800-52r2. +// https://cs.opensource.google/boringssl/boringssl/+/master:ssl/ssl_lib.cc;l=3289;drc=ea7a88fa +// +// P-521 is allowed per https://go.dev/issue/71757. +// +// They are applied when crypto/tls/fipsonly is imported with GOEXPERIMENT=boringcrypto. + +var ( + allowedSupportedVersionsFIPS = []uint16{ + VersionTLS12, + VersionTLS13, + } + allowedCurvePreferencesFIPS = []CurveID{ + CurveP256, + CurveP384, + CurveP521, + } + allowedSignatureAlgorithmsFIPS = []SignatureScheme{ + PSSWithSHA256, + PSSWithSHA384, + PSSWithSHA512, + PKCS1WithSHA256, + ECDSAWithP256AndSHA256, + PKCS1WithSHA384, + ECDSAWithP384AndSHA384, + PKCS1WithSHA512, + ECDSAWithP521AndSHA512, + } + allowedCipherSuitesFIPS = []uint16{ + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, + TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, + TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, + } + allowedCipherSuitesTLS13FIPS = []uint16{ + TLS_AES_128_GCM_SHA256, + TLS_AES_256_GCM_SHA384, + } +) + +func isCertificateAllowedFIPS(c *x509.Certificate) bool { + // The key must be RSA 2048, RSA 3072, RSA 4096, + // or ECDSA P-256, P-384, P-521. + switch k := c.PublicKey.(type) { + case *rsa.PublicKey: + size := k.N.BitLen() + return size == 2048 || size == 3072 || size == 4096 + case *ecdsa.PublicKey: + return k.Curve == elliptic.P256() || k.Curve == elliptic.P384() || k.Curve == elliptic.P521() + } + + return false +} diff --git a/defaults_fips140.go b/defaults_fips140.go new file mode 100644 index 00000000000..19132607938 --- /dev/null +++ b/defaults_fips140.go @@ -0,0 +1,78 @@ +// Copyright 2025 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !boringcrypto + +package tls + +import ( + "crypto/ecdsa" + "crypto/ed25519" + "crypto/elliptic" + "crypto/rsa" + "crypto/x509" +) + +// These FIPS 140-3 policies allow anything approved by SP 800-140C +// and SP 800-140D, and tested as part of the Go Cryptographic Module. +// +// Notably, not SHA-1, 3DES, RC4, ChaCha20Poly1305, RSA PKCS #1 v1.5 key +// transport, or TLS 1.0—1.1 (because we don't test its KDF). +// +// These are not default lists, but filters to apply to the default or +// configured lists. Missing items are treated as if they were not implemented. +// +// They are applied when the fips140 GODEBUG is "on" or "only". + +var ( + allowedSupportedVersionsFIPS = []uint16{ + VersionTLS12, + VersionTLS13, + } + allowedCurvePreferencesFIPS = []CurveID{ + X25519MLKEM768, + SecP256r1MLKEM768, + SecP384r1MLKEM1024, + CurveP256, + CurveP384, + CurveP521, + } + allowedSignatureAlgorithmsFIPS = []SignatureScheme{ + PSSWithSHA256, + ECDSAWithP256AndSHA256, + Ed25519, + PSSWithSHA384, + PSSWithSHA512, + PKCS1WithSHA256, + PKCS1WithSHA384, + PKCS1WithSHA512, + ECDSAWithP384AndSHA384, + ECDSAWithP521AndSHA512, + } + allowedCipherSuitesFIPS = []uint16{ + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, + TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, + TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, + } + allowedCipherSuitesTLS13FIPS = []uint16{ + TLS_AES_128_GCM_SHA256, + TLS_AES_256_GCM_SHA384, + } +) + +func isCertificateAllowedFIPS(c *x509.Certificate) bool { + switch k := c.PublicKey.(type) { + case *rsa.PublicKey: + return k.N.BitLen() >= 2048 + case *ecdsa.PublicKey: + return k.Curve == elliptic.P256() || k.Curve == elliptic.P384() || k.Curve == elliptic.P521() + case ed25519.PublicKey: + return true + default: + return false + } +} diff --git a/ech.go b/ech.go index 184c468298f..faea7512d91 100644 --- a/ech.go +++ b/ech.go @@ -6,28 +6,14 @@ package tls import ( "bytes" + "crypto/hpke" "errors" "fmt" - "slices" "strings" - "github.com/refraction-networking/utls/internal/hpke" - "golang.org/x/crypto/cryptobyte" ) -// sortedSupportedAEADs is just a sorted version of hpke.SupportedAEADS. -// We need this so that when we insert them into ECHConfigs the ordering -// is stable. -var sortedSupportedAEADs []uint16 - -func init() { - for aeadID := range hpke.SupportedAEADs { - sortedSupportedAEADs = append(sortedSupportedAEADs, aeadID) - } - slices.Sort(sortedSupportedAEADs) -} - type echCipher struct { KDFID uint16 AEADID uint16 @@ -54,19 +40,30 @@ type echConfig struct { Extensions []echExtension } -var errMalformedECHConfig = errors.New("tls: malformed ECHConfigList") +var errMalformedECHConfigList = errors.New("tls: malformed ECHConfigList") + +type echConfigErr struct { + field string +} + +func (e *echConfigErr) Error() string { + if e.field == "" { + return "tls: malformed ECHConfig" + } + return fmt.Sprintf("tls: malformed ECHConfig, invalid %s field", e.field) +} func parseECHConfig(enc []byte) (skip bool, ec echConfig, err error) { s := cryptobyte.String(enc) ec.raw = []byte(enc) if !s.ReadUint16(&ec.Version) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"version"} } if !s.ReadUint16(&ec.Length) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"length"} } if len(ec.raw) < int(ec.Length)+4 { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"length"} } ec.raw = ec.raw[:ec.Length+4] if ec.Version != extensionEncryptedClientHello { @@ -74,47 +71,47 @@ func parseECHConfig(enc []byte) (skip bool, ec echConfig, err error) { return true, echConfig{}, nil } if !s.ReadUint8(&ec.ConfigID) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"config_id"} } if !s.ReadUint16(&ec.KemID) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"kem_id"} } if !readUint16LengthPrefixed(&s, &ec.PublicKey) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"public_key"} } var cipherSuites cryptobyte.String if !s.ReadUint16LengthPrefixed(&cipherSuites) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"cipher_suites"} } for !cipherSuites.Empty() { var c echCipher if !cipherSuites.ReadUint16(&c.KDFID) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"cipher_suites kdf_id"} } if !cipherSuites.ReadUint16(&c.AEADID) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"cipher_suites aead_id"} } ec.SymmetricCipherSuite = append(ec.SymmetricCipherSuite, c) } if !s.ReadUint8(&ec.MaxNameLength) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"maximum_name_length"} } var publicName cryptobyte.String if !s.ReadUint8LengthPrefixed(&publicName) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"public_name"} } ec.PublicName = publicName var extensions cryptobyte.String if !s.ReadUint16LengthPrefixed(&extensions) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"extensions"} } for !extensions.Empty() { var e echExtension if !extensions.ReadUint16(&e.Type) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"extensions type"} } if !extensions.ReadUint16LengthPrefixed((*cryptobyte.String)(&e.Data)) { - return false, echConfig{}, errMalformedECHConfig + return false, echConfig{}, &echConfigErr{"extensions data"} } ec.Extensions = append(ec.Extensions, e) } @@ -129,10 +126,10 @@ func parseECHConfigList(data []byte) ([]echConfig, error) { s := cryptobyte.String(data) var length uint16 if !s.ReadUint16(&length) { - return nil, errMalformedECHConfig + return nil, errMalformedECHConfigList } if length != uint16(len(data)-2) { - return nil, errMalformedECHConfig + return nil, errMalformedECHConfigList } var configs []echConfig for len(s) > 0 { @@ -152,25 +149,8 @@ func parseECHConfigList(data []byte) ([]echConfig, error) { return configs, nil } -func pickECHConfig(list []echConfig) *echConfig { +func pickECHConfig(list []echConfig) (*echConfig, hpke.PublicKey, hpke.KDF, hpke.AEAD) { for _, ec := range list { - if _, ok := hpke.SupportedKEMs[ec.KemID]; !ok { - continue - } - var validSCS bool - for _, cs := range ec.SymmetricCipherSuite { - if _, ok := hpke.SupportedAEADs[cs.AEADID]; !ok { - continue - } - if _, ok := hpke.SupportedKDFs[cs.KDFID]; !ok { - continue - } - validSCS = true - break - } - if !validSCS { - continue - } if !validDNSName(string(ec.PublicName)) { continue } @@ -186,25 +166,32 @@ func pickECHConfig(list []echConfig) *echConfig { if unsupportedExt { continue } - return &ec - } - return nil -} - -func pickECHCipherSuite(suites []echCipher) (echCipher, error) { - for _, s := range suites { - // NOTE: all of the supported AEADs and KDFs are fine, rather than - // imposing some sort of preference here, we just pick the first valid - // suite. - if _, ok := hpke.SupportedAEADs[s.AEADID]; !ok { + kem, err := hpke.NewKEM(ec.KemID) + if err != nil { continue } - if _, ok := hpke.SupportedKDFs[s.KDFID]; !ok { + pub, err := kem.NewPublicKey(ec.PublicKey) + if err != nil { + // This is an error in the config, but killing the connection feels + // excessive. continue } - return s, nil + for _, cs := range ec.SymmetricCipherSuite { + // All of the supported AEADs and KDFs are fine, rather than + // imposing some sort of preference here, we just pick the first + // valid suite. + kdf, err := hpke.NewKDF(cs.KDFID) + if err != nil { + continue + } + aead, err := hpke.NewAEAD(cs.AEADID) + if err != nil { + continue + } + return &ec, pub, kdf, aead + } } - return echCipher{}, errors.New("tls: no supported symmetric ciphersuites for ECH") + return nil, nil, nil, nil } // [uTLS SECTION BEGIN] @@ -390,14 +377,34 @@ func decodeInnerClientHello(outer *clientHelloMsg, encoded []byte) (*clientHello return nil, errInvalidECHExt } - if len(inner.supportedVersions) != 1 || (len(inner.supportedVersions) >= 1 && inner.supportedVersions[0] != VersionTLS13) { - return nil, errors.New("tls: client sent encrypted_client_hello extension and offered incompatible versions") + hasTLS13 := false + for _, v := range inner.supportedVersions { + // Skip GREASE values (values of the form 0x?A0A). + // GREASE (Generate Random Extensions And Sustain Extensibility) is a mechanism used by + // browsers like Chrome to ensure TLS implementations correctly ignore unknown values. + // GREASE values follow a specific pattern: 0x?A0A, where ? can be any hex digit. + // These values should be ignored when processing supported TLS versions. + if v&0x0F0F == 0x0A0A && v&0xff == v>>8 { + continue + } + + // Ensure at least TLS 1.3 is offered. + if v == VersionTLS13 { + hasTLS13 = true + } else if v < VersionTLS13 { + // Reject if any non-GREASE value is below TLS 1.3, as ECH requires TLS 1.3+. + return nil, errors.New("tls: client sent encrypted_client_hello extension with unsupported versions") + } + } + + if !hasTLS13 { + return nil, errors.New("tls: client sent encrypted_client_hello extension but did not offer TLS 1.3") } return inner, nil } -func decryptECHPayload(context *hpke.Receipient, hello, payload []byte) ([]byte, error) { +func decryptECHPayload(context *hpke.Recipient, hello, payload []byte) ([]byte, error) { outerAAD := bytes.Replace(hello[4:], payload, make([]byte, len(payload)), 1) return context.Open(outerAAD, payload) } @@ -422,6 +429,9 @@ func computeAndUpdateOuterECHExtension(outer, inner *clientHelloMsg, ech *echCli if err != nil { return err } + //[uTLS] SECTION START + ech.encodedInner = bytes.Clone(encodedInner) + //[uTLS] SECTION END // NOTE: the tag lengths for all of the supported AEADs are the same (16 // bytes), so we have hardcoded it here. If we add support for another AEAD // with a different tag length, we will need to change this. @@ -546,17 +556,7 @@ func parseECHExt(ext []byte) (echType echExtType, cs echCipher, configID uint8, return echType, cs, configID, bytes.Clone(encap), bytes.Clone(payload), nil } -func marshalEncryptedClientHelloConfigList(configs []EncryptedClientHelloKey) ([]byte, error) { - builder := cryptobyte.NewBuilder(nil) - builder.AddUint16LengthPrefixed(func(builder *cryptobyte.Builder) { - for _, c := range configs { - builder.AddBytes(c.Config) - } - }) - return builder.Bytes() -} - -func (c *Conn) processECHClientHello(outer *clientHelloMsg) (*clientHelloMsg, *echServerContext, error) { +func (c *Conn) processECHClientHello(outer *clientHelloMsg, echKeys []EncryptedClientHelloKey) (*clientHelloMsg, *echServerContext, error) { echType, echCiphersuite, configID, encap, payload, err := parseECHExt(outer.encryptedClientHello) if err != nil { if errors.Is(err, errInvalidECHExt) { @@ -572,26 +572,41 @@ func (c *Conn) processECHClientHello(outer *clientHelloMsg) (*clientHelloMsg, *e return outer, &echServerContext{inner: true}, nil } - if len(c.config.EncryptedClientHelloKeys) == 0 { + if len(echKeys) == 0 { return outer, nil, nil } - for _, echKey := range c.config.EncryptedClientHelloKeys { + for _, echKey := range echKeys { skip, config, err := parseECHConfig(echKey.Config) if err != nil || skip { c.sendAlert(alertInternalError) - return nil, nil, fmt.Errorf("tls: invalid EncryptedClientHelloKeys Config: %s", err) + return nil, nil, fmt.Errorf("tls: invalid EncryptedClientHelloKey Config: %s", err) } if skip { continue } - echPriv, err := hpke.ParseHPKEPrivateKey(config.KemID, echKey.PrivateKey) + kem, err := hpke.NewKEM(config.KemID) + if err != nil { + c.sendAlert(alertInternalError) + return nil, nil, fmt.Errorf("tls: invalid EncryptedClientHelloKey Config KEM: %s", err) + } + echPriv, err := kem.NewPrivateKey(echKey.PrivateKey) + if err != nil { + c.sendAlert(alertInternalError) + return nil, nil, fmt.Errorf("tls: invalid EncryptedClientHelloKey PrivateKey: %s", err) + } + kdf, err := hpke.NewKDF(echCiphersuite.KDFID) + if err != nil { + c.sendAlert(alertInternalError) + return nil, nil, fmt.Errorf("tls: invalid EncryptedClientHelloKey Config KDF: %s", err) + } + aead, err := hpke.NewAEAD(echCiphersuite.AEADID) if err != nil { c.sendAlert(alertInternalError) - return nil, nil, fmt.Errorf("tls: invalid EncryptedClientHelloKeys PrivateKey: %s", err) + return nil, nil, fmt.Errorf("tls: invalid EncryptedClientHelloKey Config AEAD: %s", err) } info := append([]byte("tls ech\x00"), echKey.Config...) - hpkeContext, err := hpke.SetupReceipient(hpke.DHKEM_X25519_HKDF_SHA256, echCiphersuite.KDFID, echCiphersuite.AEADID, echPriv, info, encap) + hpkeContext, err := hpke.NewRecipient(encap, echPriv, kdf, aead, info) if err != nil { // attempt next trial decryption continue diff --git a/ech_test.go b/ech_test.go index 96312a44d7b..5adbb0293dd 100644 --- a/ech_test.go +++ b/ech_test.go @@ -41,7 +41,7 @@ func TestSkipBadConfigs(t *testing.T) { if err != nil { t.Fatal(err) } - config := pickECHConfig(configs) + config, _, _, _ := pickECHConfig(configs) if config != nil { t.Fatal("pickECHConfig picked an invalid config") } diff --git a/examples/ech/main.go b/examples/ech/main.go index f3072027739..a661dfa845d 100644 --- a/examples/ech/main.go +++ b/examples/ech/main.go @@ -3,7 +3,6 @@ package main import ( "bufio" // "crypto/tls" - "encoding/base64" "errors" "fmt" @@ -27,8 +26,8 @@ var ( // var requestAddr = "crypto.cloudflare.com:443" // var requestPath = "/cdn-cgi/trace" -var requestHostname = "tls-ech.dev" // speaks http2 and TLS 1.3 and ECH and PQ -var requestAddr = "tls-ech.dev:443" +var requestHostname = "www.wikipedia.org" // speaks http2 and TLS 1.3 and ECH and PQ +var requestAddr = "www.wikipedia.org:443" var requestPath = "/" // var requestHostname = "defo.ie" // speaks http2 and TLS 1.3 and ECH and PQ @@ -45,36 +44,36 @@ func HttpGetCustom(hostname string, addr string) (*http.Response, error) { return nil, fmt.Errorf("os.OpenFile error: %+v", err) } - echConf, err := base64.RawStdEncoding.DecodeString("AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA") - if err != nil { - return nil, err - } + // echConf, err := base64.RawStdEncoding.DecodeString("AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA") + // if err != nil { + // return nil, err + // } config := tls.Config{ - ServerName: hostname, - KeyLogWriter: klw, - EncryptedClientHelloConfigList: echConf, + ServerName: hostname, + KeyLogWriter: klw, + // EncryptedClientHelloConfigList: echConf, } dialConn, err := net.DialTimeout("tcp", addr, dialTimeout) if err != nil { return nil, fmt.Errorf("net.DialTimeout error: %+v", err) } - uTlsConn := tls.UClient(dialConn, &config, tls.HelloGolang) + uTlsConn := tls.UClient(dialConn, &config, tls.HelloCustom) // uTlsConn := tls.Client(dialConn, &config) defer uTlsConn.Close() // do not use this particular spec in production // make sure to generate a separate copy of ClientHelloSpec for every connection - // spec, err := tls.UTLSIdToSpec(tls.HelloChrome_120) - // // spec, err := tls.UTLSIdToSpec(tls.HelloFirefox_120) - // if err != nil { - // return nil, fmt.Errorf("tls.UTLSIdToSpec error: %+v", err) - // } + spec, err := tls.UTLSIdToSpec(tls.HelloSafari_Auto) + // spec, err := tls.UTLSIdToSpec(tls.HelloFirefox_120) + if err != nil { + return nil, fmt.Errorf("tls.UTLSIdToSpec error: %+v", err) + } - // err = uTlsConn.ApplyPreset(&spec) - // if err != nil { - // return nil, fmt.Errorf("uTlsConn.Handshake() error: %+v", err) - // } + err = uTlsConn.ApplyPreset(&spec) + if err != nil { + return nil, fmt.Errorf("uTlsConn.Handshake() error: %+v", err) + } err = uTlsConn.Handshake() if err != nil { diff --git a/testenv/testenv_cgo.go b/fips140_test.go similarity index 63% rename from testenv/testenv_cgo.go rename to fips140_test.go index 02f08f57c71..902cf101328 100644 --- a/testenv/testenv_cgo.go +++ b/fips140_test.go @@ -2,11 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build cgo -// +build cgo +package tls -package testenv - -func init() { - haveCGO = true +func isFIPSVersion(v uint16) bool { + return v == VersionTLS12 || v == VersionTLS13 } diff --git a/go.mod b/go.mod index 6cc2d35620b..bd0bb53a752 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/refraction-networking/utls -go 1.24 +go 1.26 retract ( v1.4.1 // #218 diff --git a/handshake_client.go b/handshake_client.go index bba58a5a9e3..391e0a6302e 100644 --- a/handshake_client.go +++ b/handshake_client.go @@ -10,7 +10,7 @@ import ( "crypto" "crypto/ecdsa" "crypto/ed25519" - "crypto/mlkem" + "crypto/hpke" "crypto/rsa" "crypto/subtle" "crypto/x509" @@ -23,9 +23,7 @@ import ( "strings" "time" - "github.com/refraction-networking/utls/internal/byteorder" "github.com/refraction-networking/utls/internal/fips140tls" - "github.com/refraction-networking/utls/internal/hpke" "github.com/refraction-networking/utls/internal/tls13" ) @@ -43,8 +41,6 @@ type clientHandshakeState struct { uconn *UConn // [uTLS] } -var testingOnlyForceClientHelloSignatureAlgorithms []SignatureScheme - func (c *Conn) makeClientHello() (*clientHelloMsg, *keySharePrivateKeys, *echClientContext, error) { config := c.config @@ -70,7 +66,10 @@ func (c *Conn) makeClientHello() (*clientHelloMsg, *keySharePrivateKeys, *echCli if len(supportedVersions) == 0 { return nil, nil, nil, errors.New("tls: no supported versions satisfy MinVersion and MaxVersion") } - maxVersion := config.maxSupportedVersion(roleClient) + // Since supportedVersions is sorted in descending order, the first element + // is the maximum version and the last element is the minimum version. + maxVersion := supportedVersions[0] + minVersion := supportedVersions[len(supportedVersions)-1] hello := &clientHelloMsg{ vers: maxVersion, @@ -98,24 +97,12 @@ func (c *Conn) makeClientHello() (*clientHelloMsg, *keySharePrivateKeys, *echCli hello.secureRenegotiation = c.clientFinished[:] } - preferenceOrder := cipherSuitesPreferenceOrder - if !hasAESGCMHardwareSupport { - preferenceOrder = cipherSuitesPreferenceOrderNoAES - } - configCipherSuites := config.cipherSuites() - hello.cipherSuites = make([]uint16, 0, len(configCipherSuites)) - - for _, suiteId := range preferenceOrder { - suite := mutualCipherSuite(configCipherSuites, suiteId) - if suite == nil { - continue - } - // Don't advertise TLS 1.2-only cipher suites unless - // we're attempting TLS 1.2. - if maxVersion < VersionTLS12 && suite.flags&suiteTLS12 != 0 { - continue - } - hello.cipherSuites = append(hello.cipherSuites, suiteId) + hello.cipherSuites = config.cipherSuites(hasAESGCMHardwareSupport) + // Don't advertise TLS 1.2-only cipher suites unless we're attempting TLS 1.2. + if maxVersion < VersionTLS12 { + hello.cipherSuites = slices.DeleteFunc(hello.cipherSuites, func(id uint16) bool { + return cipherSuiteByID(id).flags&suiteTLS12 != 0 + }) } _, err := io.ReadFull(config.rand(), hello.random) @@ -136,20 +123,19 @@ func (c *Conn) makeClientHello() (*clientHelloMsg, *keySharePrivateKeys, *echCli } if maxVersion >= VersionTLS12 { - hello.supportedSignatureAlgorithms = supportedSignatureAlgorithms() - } - if testingOnlyForceClientHelloSignatureAlgorithms != nil { - hello.supportedSignatureAlgorithms = testingOnlyForceClientHelloSignatureAlgorithms + hello.supportedSignatureAlgorithms = supportedSignatureAlgorithms(minVersion) + hello.supportedSignatureAlgorithmsCert = supportedSignatureAlgorithmsCert() } var keyShareKeys *keySharePrivateKeys - if hello.supportedVersions[0] == VersionTLS13 { + if maxVersion >= VersionTLS13 { // Reset the list of ciphers when the client only supports TLS 1.3. - if len(hello.supportedVersions) == 1 { + if minVersion >= VersionTLS13 { hello.cipherSuites = nil } + if fips140tls.Required() { - hello.cipherSuites = append(hello.cipherSuites, defaultCipherSuitesTLS13FIPS...) + hello.cipherSuites = append(hello.cipherSuites, allowedCipherSuitesTLS13FIPS...) } else if hasAESGCMHardwareSupport { hello.cipherSuites = append(hello.cipherSuites, defaultCipherSuitesTLS13...) } else { @@ -159,43 +145,21 @@ func (c *Conn) makeClientHello() (*clientHelloMsg, *keySharePrivateKeys, *echCli if len(hello.supportedCurves) == 0 { return nil, nil, nil, errors.New("tls: no supported elliptic curves for ECDHE") } + // Since the order is fixed, the first one is always the one to send a + // key share for. All the PQ hybrids sort first, and produce a fallback + // ECDH share. curveID := hello.supportedCurves[0] - keyShareKeys = &keySharePrivateKeys{curveID: curveID} - // Note that if X25519MLKEM768 is supported, it will be first because - // the preference order is fixed. - if curveID == X25519MLKEM768 { - keyShareKeys.ecdhe, err = generateECDHEKey(config.rand(), X25519) - if err != nil { - return nil, nil, nil, err - } - seed := make([]byte, mlkem.SeedSize) - if _, err := io.ReadFull(config.rand(), seed); err != nil { - return nil, nil, nil, err - } - keyShareKeys.mlkem, err = mlkem.NewDecapsulationKey768(seed) - if err != nil { - return nil, nil, nil, err - } - mlkemEncapsulationKey := keyShareKeys.mlkem.EncapsulationKey().Bytes() - x25519EphemeralKey := keyShareKeys.ecdhe.PublicKey().Bytes() - hello.keyShares = []keyShare{ - {group: X25519MLKEM768, data: append(mlkemEncapsulationKey, x25519EphemeralKey...)}, - } - // If both X25519MLKEM768 and X25519 are supported, we send both key - // shares (as a fallback) and we reuse the same X25519 ephemeral - // key, as allowed by draft-ietf-tls-hybrid-design-09, Section 3.2. - if slices.Contains(hello.supportedCurves, X25519) { - hello.keyShares = append(hello.keyShares, keyShare{group: X25519, data: x25519EphemeralKey}) - } - } else { - if _, ok := curveForCurveID(curveID); !ok { - return nil, nil, nil, errors.New("tls: CurvePreferences includes unsupported curve") - } - keyShareKeys.ecdhe, err = generateECDHEKey(config.rand(), curveID) - if err != nil { - return nil, nil, nil, err - } - hello.keyShares = []keyShare{{group: curveID, data: keyShareKeys.ecdhe.PublicKey().Bytes()}} + ke, err := keyExchangeForCurveID(curveID) + if err != nil { + return nil, nil, nil, errors.New("tls: CurvePreferences includes unsupported curve") + } + keyShareKeys, hello.keyShares, err = ke.keyShares(config.rand()) + if err != nil { + return nil, nil, nil, err + } + // Only send the fallback ECDH share if the corresponding CurveID is enabled. + if len(hello.keyShares) == 2 && !slices.Contains(hello.supportedCurves, hello.keyShares[1].group) { + hello.keyShares = hello.keyShares[:1] } } @@ -222,11 +186,11 @@ func (c *Conn) makeClientHello() (*clientHelloMsg, *keySharePrivateKeys, *echCli if err != nil { return nil, nil, nil, err } - echConfig := pickECHConfig(echConfigs) + echConfig, echPK, kdf, aead := pickECHConfig(echConfigs) if echConfig == nil { return nil, nil, nil, errors.New("tls: EncryptedClientHelloConfigList contains no valid configs") } - ech = &echClientContext{config: echConfig} + ech = &echClientContext{config: echConfig, kdfID: kdf.ID(), aeadID: aead.ID()} hello.encryptedClientHello = []byte{1} // indicate inner hello // We need to explicitly set these 1.2 fields to nil, as we do not // marshal them when encoding the inner hello, otherwise transcripts @@ -236,17 +200,8 @@ func (c *Conn) makeClientHello() (*clientHelloMsg, *keySharePrivateKeys, *echCli hello.secureRenegotiationSupported = false hello.extendedMasterSecret = false - echPK, err := hpke.ParseHPKEPublicKey(ech.config.KemID, ech.config.PublicKey) - if err != nil { - return nil, nil, nil, err - } - suite, err := pickECHCipherSuite(ech.config.SymmetricCipherSuite) - if err != nil { - return nil, nil, nil, err - } - ech.kdfID, ech.aeadID = suite.KDFID, suite.AEADID info := append([]byte("tls ech\x00"), ech.config.raw...) - ech.encapsulatedKey, ech.hpkeContext, err = hpke.SetupSender(ech.config.KemID, suite.KDFID, suite.AEADID, echPK, info) + ech.encapsulatedKey, ech.hpkeContext, err = hpke.NewSender(echPK, kdf, aead, info) if err != nil { return nil, nil, nil, err } @@ -259,6 +214,9 @@ type echClientContext struct { config *echConfig hpkeContext *hpke.Sender encapsulatedKey []byte + //[uTLS] SECTION START + encodedInner []byte + //[uTLS] SECTION END innerHello *clientHelloMsg innerTranscript hash.Hash kdfID uint16 @@ -275,6 +233,7 @@ func (c *Conn) clientHandshake(ctx context.Context) (err error) { // This may be a renegotiation handshake, in which case some fields // need to be reset. c.didResume = false + c.curveID = 0 hello, keyShareKeys, ech, err := c.makeClientHello() if err != nil { @@ -333,7 +292,11 @@ func (c *Conn) clientHandshake(ctx context.Context) (err error) { if hello.earlyData { suite := cipherSuiteTLS13ByID(session.cipherSuite) transcript := suite.hash.New() - if err := transcriptMsg(hello, transcript); err != nil { + transcriptHello := hello + if ech != nil { + transcriptHello = ech.innerHello + } + if err := transcriptMsg(transcriptHello, transcript); err != nil { return err } earlyTrafficSecret := earlySecret.ClientEarlyTrafficSecret(transcript) @@ -447,9 +410,6 @@ func (c *Conn) loadSession(hello *clientHelloMsg) ( return nil, nil, nil, nil } - // Check that the cached server certificate is not expired, and that it's - // valid for the ServerName. This should be ensured by the cache key, but - // protect the application from a faulty ClientSessionCache implementation. // [UTLS SECTION START] if !c.config.InsecureSkipTimeVerify { if c.config.time().After(session.peerCertificates[0].NotAfter) { @@ -473,6 +433,18 @@ func (c *Conn) loadSession(hello *clientHelloMsg) ( } if len(dnsName) > 0 { if err := session.peerCertificates[0].VerifyHostname(dnsName); err != nil { + // This should be ensured by the cache key, but protect the + // application from a faulty ClientSessionCache implementation. + return nil, nil, nil, nil + } + opts := x509.VerifyOptions{ + CurrentTime: c.config.time(), + Roots: c.config.RootCAs, + KeyUsages: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, + } + if !anyValidVerifiedChain(session.verifiedChains, opts) { + // No valid chains, delete the entry. + c.config.ClientSessionCache.Put(cacheKey, nil) return nil, nil, nil, nil } } @@ -486,6 +458,11 @@ func (c *Conn) loadSession(hello *clientHelloMsg) ( return nil, nil, nil, nil } + // FIPS 140-3 requires the use of Extended Master Secret. + if !session.extMasterSecret && fips140tls.Required() { + return nil, nil, nil, nil + } + hello.sessionTicket = session.ticket return } @@ -581,6 +558,19 @@ func (c *Conn) pickTLSVersion(serverHello *serverHelloMsg) error { func (hs *clientHandshakeState) handshake() error { c := hs.c + // If we did not load a session (hs.session == nil), but we did set a + // session ID in the transmitted client hello (hs.hello.sessionId != nil), + // it means we tried to negotiate TLS 1.3 and sent a random session ID as a + // compatibility measure (see RFC 8446, Section 4.1.2). + // + // Since we're now handshaking for TLS 1.2, if the server echoed the + // transmitted ID back to us, we know mischief is afoot: the session ID + // was random and can't possibly be recognized by the server. + if hs.session == nil && hs.hello.sessionId != nil && bytes.Equal(hs.hello.sessionId, hs.serverHello.sessionId) { + c.sendAlert(alertIllegalParameter) + return errors.New("tls: server echoed TLS 1.3 compatibility session ID in TLS 1.2") + } + isResume, err := hs.processServerHello() if err != nil { return err @@ -751,8 +741,9 @@ func (hs *clientHandshakeState) doFullHandshake() error { c.sendAlert(alertIllegalParameter) return err } - if len(skx.key) >= 3 && skx.key[0] == 3 /* named curve */ { - c.curveID = CurveID(byteorder.BEUint16(skx.key[1:])) + if keyAgreement, ok := keyAgreement.(*ecdheKeyAgreement); ok { + c.curveID = keyAgreement.curveID + c.peerSigAlg = keyAgreement.signatureAlgorithm } msg, err = c.readHandshake(&hs.finishedHash) @@ -812,6 +803,10 @@ func (hs *clientHandshakeState) doFullHandshake() error { hs.masterSecret = extMasterFromPreMasterSecret(c.vers, hs.suite, preMasterSecret, hs.finishedHash.Sum()) } else { + if fips140tls.Required() { + c.sendAlert(alertHandshakeFailure) + return errors.New("tls: FIPS 140-3 requires the use of Extended Master Secret") + } hs.masterSecret = masterFromPreMasterSecret(c.vers, hs.suite, preMasterSecret, hs.hello.random, hs.serverHello.random) } @@ -829,37 +824,47 @@ func (hs *clientHandshakeState) doFullHandshake() error { return fmt.Errorf("tls: client certificate private key of type %T does not implement crypto.Signer", chainToSend.PrivateKey) } - var sigType uint8 - var sigHash crypto.Hash if c.vers >= VersionTLS12 { signatureAlgorithm, err := selectSignatureScheme(c.vers, chainToSend, certReq.supportedSignatureAlgorithms) if err != nil { - c.sendAlert(alertIllegalParameter) + c.sendAlert(alertHandshakeFailure) return err } - sigType, sigHash, err = typeAndHashFromSignatureScheme(signatureAlgorithm) + sigType, sigHash, err := typeAndHashFromSignatureScheme(signatureAlgorithm) if err != nil { return c.sendAlert(alertInternalError) } certVerify.hasSignatureAlgorithm = true certVerify.signatureAlgorithm = signatureAlgorithm + if sigHash == crypto.SHA1 { + tlssha1.Value() // ensure godebug is initialized + tlssha1.IncNonDefault() + } + if hs.finishedHash.buffer == nil { + c.sendAlert(alertInternalError) + return errors.New("tls: internal error: did not keep handshake transcript for TLS 1.2") + } + signOpts := crypto.SignerOpts(sigHash) + if sigType == signatureRSAPSS { + signOpts = &rsa.PSSOptions{SaltLength: rsa.PSSSaltLengthEqualsHash, Hash: sigHash} + } + certVerify.signature, err = crypto.SignMessage(key, c.config.rand(), hs.finishedHash.buffer, signOpts) + if err != nil { + c.sendAlert(alertInternalError) + return err + } } else { - sigType, sigHash, err = legacyTypeAndHashFromPublicKey(key.Public()) + sigType, sigHash, err := legacyTypeAndHashFromPublicKey(key.Public()) if err != nil { c.sendAlert(alertIllegalParameter) return err } - } - - signed := hs.finishedHash.hashForClientCertificate(sigType, sigHash) - signOpts := crypto.SignerOpts(sigHash) - if sigType == signatureRSAPSS { - signOpts = &rsa.PSSOptions{SaltLength: rsa.PSSSaltLengthEqualsHash, Hash: sigHash} - } - certVerify.signature, err = key.Sign(c.config.rand(), signed, signOpts) - if err != nil { - c.sendAlert(alertInternalError) - return err + signed := hs.finishedHash.hashForClientCertificate(sigType) + certVerify.signature, err = key.Sign(c.config.rand(), signed, sigHash) + if err != nil { + c.sendAlert(alertInternalError) + return err + } } if _, err := hs.c.writeHandshakeRecord(certVerify, &hs.finishedHash); err != nil { @@ -909,10 +914,23 @@ func (hs *clientHandshakeState) processServerHello() (bool, error) { } if hs.serverHello.compressionMethod != compressionNone { - c.sendAlert(alertUnexpectedMessage) + c.sendAlert(alertIllegalParameter) return false, errors.New("tls: server selected unsupported compression format") } + supportsPointFormat := false + offeredNonCompressedFormat := false + for _, format := range hs.serverHello.supportedPoints { + if format == pointFormatUncompressed { + supportsPointFormat = true + } else { + offeredNonCompressedFormat = true + } + } + if !supportsPointFormat && offeredNonCompressedFormat { + return false, errors.New("tls: server offered only incompatible point formats") + } + if c.handshakes == 0 && hs.serverHello.secureRenegotiationSupported { c.secureRenegotiation = true if len(hs.serverHello.secureRenegotiation) != 0 { @@ -963,14 +981,14 @@ func (hs *clientHandshakeState) processServerHello() (bool, error) { hs.masterSecret = hs.session.secret c.extMasterSecret = hs.session.extMasterSecret c.peerCertificates = hs.session.peerCertificates - c.activeCertHandles = hs.c.activeCertHandles c.verifiedChains = hs.session.verifiedChains c.ocspResponse = hs.session.ocspResponse // Let the ServerHello SCTs override the session SCTs from the original - // connection, if any are provided + // connection, if any are provided. if len(c.scts) == 0 && len(hs.session.scts) != 0 { c.scts = hs.session.scts } + c.curveID = hs.session.curveID return true, nil } @@ -1120,23 +1138,21 @@ func checkKeySize(n int) (max int, ok bool) { // verifyServerCertificate parses and verifies the provided chain, setting // c.verifiedChains and c.peerCertificates or sending the appropriate alert. func (c *Conn) verifyServerCertificate(certificates [][]byte) error { - activeHandles := make([]*activeCert, len(certificates)) certs := make([]*x509.Certificate, len(certificates)) for i, asn1Data := range certificates { cert, err := globalCertCache.newCert(asn1Data) if err != nil { - c.sendAlert(alertBadCertificate) + c.sendAlert(alertDecodeError) return errors.New("tls: failed to parse certificate from server: " + err.Error()) } - if cert.cert.PublicKeyAlgorithm == x509.RSA { - n := cert.cert.PublicKey.(*rsa.PublicKey).N.BitLen() + if cert.PublicKeyAlgorithm == x509.RSA { + n := cert.PublicKey.(*rsa.PublicKey).N.BitLen() if max, ok := checkKeySize(n); !ok { c.sendAlert(alertBadCertificate) return fmt.Errorf("tls: server sent certificate containing RSA key larger than %d bits", max) } } - activeHandles[i] = cert - certs[i] = cert.cert + certs[i] = cert } echRejected := c.config.EncryptedClientHelloConfigList != nil && !c.echAccepted @@ -1225,7 +1241,6 @@ func (c *Conn) verifyServerCertificate(certificates [][]byte) error { return fmt.Errorf("tls: server's certificate contains an unsupported type of public key: %T", certs[0].PublicKey) } - c.activeCertHandles = activeHandles c.peerCertificates = certs if c.config.VerifyPeerCertificate != nil && !echRejected { diff --git a/handshake_client_test.go b/handshake_client_test.go index 5cb8617ea7d..a0539a5b8ad 100644 --- a/handshake_client_test.go +++ b/handshake_client_test.go @@ -627,7 +627,7 @@ func TestHandshakeClientHelloRetryRequest(t *testing.T) { args: []string{"-cipher", "ECDHE-RSA-AES128-GCM-SHA256", "-curves", "P-256"}, config: config, validate: func(cs ConnectionState) error { - if !cs.testingOnlyDidHRR { + if !cs.HelloRetryRequest { return errors.New("expected HelloRetryRequest") } return nil @@ -639,7 +639,7 @@ func TestHandshakeClientHelloRetryRequest(t *testing.T) { func TestHandshakeClientECDHERSAChaCha20(t *testing.T) { config := testConfig.Clone() - config.CipherSuites = []uint16{TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305} + config.CipherSuites = []uint16{TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256} test := &clientTest{ name: "ECDHE-RSA-CHACHA20-POLY1305", @@ -652,7 +652,7 @@ func TestHandshakeClientECDHERSAChaCha20(t *testing.T) { func TestHandshakeClientECDHEECDSAChaCha20(t *testing.T) { config := testConfig.Clone() - config.CipherSuites = []uint16{TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305} + config.CipherSuites = []uint16{TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256} test := &clientTest{ name: "ECDHE-ECDSA-CHACHA20-POLY1305", @@ -2656,8 +2656,8 @@ func TestClientHandshakeContextCancellation(t *testing.T) { if err != context.Canceled { t.Errorf("Unexpected client handshake error: %v", err) } - if runtime.GOARCH == "wasm" { - t.Skip("conn.Close does not error as expected when called multiple times on WASM") + if runtime.GOOS == "js" || runtime.GOOS == "wasip1" { + t.Skip("conn.Close does not error as expected when called multiple times on GOOS=js or GOOS=wasip1") } err = cli.Close() if err == nil { @@ -2694,7 +2694,6 @@ func TestTLS13OnlyClientHelloCipherSuite(t *testing.T) { }, } for _, tt := range tls13Tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() testTLS13OnlyClientHelloCipherSuite(t, tt.ciphers) @@ -2708,7 +2707,7 @@ func testTLS13OnlyClientHelloCipherSuite(t *testing.T, ciphers []uint16) { GetConfigForClient: func(chi *ClientHelloInfo) (*Config, error) { expectedCiphersuites := defaultCipherSuitesTLS13NoAES if fips140tls.Required() { - expectedCiphersuites = defaultCipherSuitesTLS13FIPS + expectedCiphersuites = allowedCipherSuitesTLS13FIPS } if len(chi.CipherSuites) != len(expectedCiphersuites) { t.Errorf("only TLS 1.3 suites should be advertised, got=%x", chi.CipherSuites) diff --git a/handshake_client_tls13.go b/handshake_client_tls13.go index 01c2756c4c0..8592a82bfda 100644 --- a/handshake_client_tls13.go +++ b/handshake_client_tls13.go @@ -8,9 +8,8 @@ import ( "bytes" "context" "crypto" - "crypto/ecdh" + "crypto/hkdf" "crypto/hmac" - "crypto/mlkem" "crypto/rsa" "crypto/subtle" "errors" @@ -19,7 +18,6 @@ import ( "slices" "time" - "github.com/refraction-networking/utls/internal/hkdf" "github.com/refraction-networking/utls/internal/tls13" ) @@ -103,12 +101,13 @@ func (hs *clientHandshakeStateTLS13) handshake() error { confTranscript.Write(hs.serverHello.original[:30]) confTranscript.Write(make([]byte, 8)) confTranscript.Write(hs.serverHello.original[38:]) - acceptConfirmation := tls13.ExpandLabel(hs.suite.hash.New, - hkdf.Extract(hs.suite.hash.New, hs.echContext.innerHello.random, nil), - "ech accept confirmation", - confTranscript.Sum(nil), - 8, - ) + h := hs.suite.hash.New + prk, err := hkdf.Extract(h, hs.echContext.innerHello.random, nil) + if err != nil { + c.sendAlert(alertInternalError) + return err + } + acceptConfirmation := tls13.ExpandLabel(h, prk, "ech accept confirmation", confTranscript.Sum(nil), 8) if subtle.ConstantTimeCompare(acceptConfirmation, hs.serverHello.random[len(hs.serverHello.random)-8:]) == 1 { hs.hello = hs.echContext.innerHello c.serverName = c.config.ServerName @@ -214,8 +213,8 @@ func (hs *clientHandshakeStateTLS13) checkServerHelloOrHRR() error { } if hs.serverHello.compressionMethod != compressionNone { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: server selected unsupported compression format") + c.sendAlert(alertDecodeError) + return errors.New("tls: server sent non-zero legacy TLS compression method") } selectedSuite := mutualCipherSuiteTLS13(hs.hello.cipherSuites, hs.serverHello.cipherSuite) @@ -282,12 +281,13 @@ func (hs *clientHandshakeStateTLS13) processHelloRetryRequest() error { copy(hrrHello, hs.serverHello.original) hrrHello = bytes.Replace(hrrHello, hs.serverHello.encryptedClientHello, make([]byte, 8), 1) confTranscript.Write(hrrHello) - acceptConfirmation := tls13.ExpandLabel(hs.suite.hash.New, - hkdf.Extract(hs.suite.hash.New, hs.echContext.innerHello.random, nil), - "hrr ech accept confirmation", - confTranscript.Sum(nil), - 8, - ) + h := hs.suite.hash.New + prk, err := hkdf.Extract(h, hs.echContext.innerHello.random, nil) + if err != nil { + c.sendAlert(alertInternalError) + return err + } + acceptConfirmation := tls13.ExpandLabel(h, prk, "hrr ech accept confirmation", confTranscript.Sum(nil), 8) if subtle.ConstantTimeCompare(acceptConfirmation, hs.serverHello.encryptedClientHello) == 1 { hello = hs.echContext.innerHello c.serverName = c.config.ServerName @@ -336,22 +336,18 @@ func (hs *clientHandshakeStateTLS13) processHelloRetryRequest() error { c.sendAlert(alertIllegalParameter) return errors.New("tls: server sent an unnecessary HelloRetryRequest key_share") } - // Note: we don't support selecting X25519MLKEM768 in a HRR, because it - // is currently first in preference order, so if it's enabled we'll - // always send a key share for it. - // - // This will have to change once we support multiple hybrid KEMs. - if _, ok := curveForCurveID(curveID); !ok { + ke, err := keyExchangeForCurveID(curveID) + if err != nil { c.sendAlert(alertInternalError) return errors.New("tls: CurvePreferences includes unsupported curve") } - key, err := generateECDHEKey(c.config.rand(), curveID) + hs.keyShareKeys, hello.keyShares, err = ke.keyShares(c.config.rand()) if err != nil { c.sendAlert(alertInternalError) return err } - hs.keyShareKeys = &keySharePrivateKeys{curveID: curveID, ecdhe: key} - hello.keyShares = []keyShare{{group: curveID, data: key.PublicKey().Bytes()}} + // Do not send the fallback ECDH key share in a HRR response. + hello.keyShares = hello.keyShares[:1] } if len(hello.pskIdentities) > 0 { @@ -556,94 +552,25 @@ func (hs *clientHandshakeStateTLS13) processServerHello() error { hs.usingPSK = true c.didResume = true c.peerCertificates = hs.session.peerCertificates - c.activeCertHandles = hs.session.activeCertHandles c.verifiedChains = hs.session.verifiedChains c.ocspResponse = hs.session.ocspResponse c.scts = hs.session.scts return nil } -// [uTLS] SECTION BEGIN -func getSharedKey(peerData []byte, key *ecdh.PrivateKey) ([]byte, error) { - peerKey, err := key.Curve().NewPublicKey(peerData) - if err != nil { - return nil, errors.New("tls: invalid server key share") - } - sharedKey, err := key.ECDH(peerKey) - if err != nil { - return nil, errors.New("tls: invalid server key share") - } - - return sharedKey, nil -} - -// [uTLS] SECTION END - func (hs *clientHandshakeStateTLS13) establishHandshakeKeys() error { c := hs.c - ecdhePeerData := hs.serverHello.serverShare.data - if hs.serverHello.serverShare.group == X25519MLKEM768 { - if len(ecdhePeerData) != mlkem.CiphertextSize768+x25519PublicKeySize { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: invalid server X25519MLKEM768 key share") - } - ecdhePeerData = hs.serverHello.serverShare.data[mlkem.CiphertextSize768:] - } - // [uTLS] SECTION BEGIN - if hs.serverHello.serverShare.group == X25519Kyber768Draft00 { - if len(ecdhePeerData) != x25519PublicKeySize+mlkem.CiphertextSize768 { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: invalid server X25519Kyber768Draft00 key share") - } - ecdhePeerData = hs.serverHello.serverShare.data[:x25519PublicKeySize] + ke, err := keyExchangeForCurveID(hs.serverHello.serverShare.group) + if err != nil { + c.sendAlert(alertInternalError) + return err } - sharedKey, err := getSharedKey(ecdhePeerData, hs.keyShareKeys.ecdhe) - // [uTLS] SECTION END + sharedKey, err := ke.clientSharedSecret(hs.keyShareKeys, hs.serverHello.serverShare.data) if err != nil { c.sendAlert(alertIllegalParameter) return errors.New("tls: invalid server key share") } - if hs.serverHello.serverShare.group == X25519MLKEM768 { - if hs.keyShareKeys.mlkem == nil { - return c.sendAlert(alertInternalError) - } - // [uTLS] SECTION BEGIN - if hs.uconn != nil && hs.uconn.clientHelloBuildStatus == BuildByUtls { - if sharedKey, err = getSharedKey(ecdhePeerData, hs.keyShareKeys.mlkemEcdhe); err != nil { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: invalid server key share") - } - } - // [uTLS] SECTION END - ciphertext := hs.serverHello.serverShare.data[:mlkem.CiphertextSize768] - mlkemShared, err := hs.keyShareKeys.mlkem.Decapsulate(ciphertext) - if err != nil { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: invalid X25519MLKEM768 server key share") - } - sharedKey = append(mlkemShared, sharedKey...) - } - // [uTLS] SECTION BEGIN - if hs.serverHello.serverShare.group == X25519Kyber768Draft00 { - if hs.keyShareKeys.mlkem == nil { - return c.sendAlert(alertInternalError) - } - if hs.uconn != nil && hs.uconn.clientHelloBuildStatus == BuildByUtls { - if sharedKey, err = getSharedKey(ecdhePeerData, hs.keyShareKeys.mlkemEcdhe); err != nil { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: invalid server key share") - } - } - ciphertext := hs.serverHello.serverShare.data[x25519PublicKeySize:] - kyberShared, err := kyberDecapsulate(hs.keyShareKeys.mlkem, ciphertext) - if err != nil { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: invalid X25519Kyber768Draft00 server key share") - } - sharedKey = append(sharedKey, kyberShared...) - } - // [uTLS] SECTION END c.curveID = hs.serverHello.serverShare.group earlySecret := hs.earlySecret @@ -654,16 +581,17 @@ func (hs *clientHandshakeStateTLS13) establishHandshakeKeys() error { handshakeSecret := earlySecret.HandshakeSecret(sharedKey) clientSecret := handshakeSecret.ClientHandshakeTrafficSecret(hs.transcript) - c.out.setTrafficSecret(hs.suite, QUICEncryptionLevelHandshake, clientSecret) + c.setWriteTrafficSecret(hs.suite, QUICEncryptionLevelHandshake, clientSecret) serverSecret := handshakeSecret.ServerHandshakeTrafficSecret(hs.transcript) - c.in.setTrafficSecret(hs.suite, QUICEncryptionLevelHandshake, serverSecret) + if err := c.setReadTrafficSecret(hs.suite, QUICEncryptionLevelHandshake, serverSecret); err != nil { + return err + } if c.quic != nil { - if c.hand.Len() != 0 { - c.sendAlert(alertUnexpectedMessage) - } c.quicSetWriteSecret(QUICEncryptionLevelHandshake, hs.suite.id, clientSecret) - c.quicSetReadSecret(QUICEncryptionLevelHandshake, hs.suite.id, serverSecret) + if err := c.quicSetReadSecret(QUICEncryptionLevelHandshake, hs.suite.id, serverSecret); err != nil { + return err + } } err = c.config.writeKeyLog(keyLogLabelClientHandshake, hs.hello.random, clientSecret) @@ -850,7 +778,10 @@ func (hs *clientHandshakeStateTLS13) readServerCertificate() error { } // See RFC 8446, Section 4.4.3. - if !isSupportedSignatureAlgorithm(certVerify.signatureAlgorithm, supportedSignatureAlgorithms()) { + // We don't use hs.hello.supportedSignatureAlgorithms because it might + // include PKCS#1 v1.5 and SHA-1 if the ClientHello also supported TLS 1.2. + if !isSupportedSignatureAlgorithm(certVerify.signatureAlgorithm, supportedSignatureAlgorithms(c.vers)) || + !isSupportedSignatureAlgorithm(certVerify.signatureAlgorithm, signatureSchemesForPublicKey(c.vers, c.peerCertificates[0].PublicKey)) { c.sendAlert(alertIllegalParameter) return errors.New("tls: certificate used with invalid signature algorithm") } @@ -859,15 +790,15 @@ func (hs *clientHandshakeStateTLS13) readServerCertificate() error { return c.sendAlert(alertInternalError) } if sigType == signaturePKCS1v15 || sigHash == crypto.SHA1 { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: certificate used with invalid signature algorithm") + return c.sendAlert(alertInternalError) } - signed := signedMessage(sigHash, serverSignatureContext, hs.transcript) + signed := signedMessage(serverSignatureContext, hs.transcript) if err := verifyHandshakeSignature(sigType, c.peerCertificates[0].PublicKey, sigHash, signed, certVerify.signature); err != nil { c.sendAlert(alertDecryptError) return errors.New("tls: invalid signature by the server certificate: " + err.Error()) } + c.peerSigAlg = certVerify.signatureAlgorithm if err := transcriptMsg(certVerify, hs.transcript); err != nil { return err @@ -907,7 +838,9 @@ func (hs *clientHandshakeStateTLS13) readServerFinished() error { hs.trafficSecret = hs.masterSecret.ClientApplicationTrafficSecret(hs.transcript) serverSecret := hs.masterSecret.ServerApplicationTrafficSecret(hs.transcript) - c.in.setTrafficSecret(hs.suite, QUICEncryptionLevelApplication, serverSecret) + if err := c.setReadTrafficSecret(hs.suite, QUICEncryptionLevelApplication, serverSecret); err != nil { + return err + } err = c.config.writeKeyLog(keyLogLabelClientTraffic, hs.hello.random, hs.trafficSecret) if err != nil { @@ -980,12 +913,12 @@ func (hs *clientHandshakeStateTLS13) sendClientCertificate() error { return c.sendAlert(alertInternalError) } - signed := signedMessage(sigHash, clientSignatureContext, hs.transcript) + signed := signedMessage(clientSignatureContext, hs.transcript) signOpts := crypto.SignerOpts(sigHash) if sigType == signatureRSAPSS { signOpts = &rsa.PSSOptions{SaltLength: rsa.PSSSaltLengthEqualsHash, Hash: sigHash} } - sig, err := cert.PrivateKey.(crypto.Signer).Sign(c.config.rand(), signed, signOpts) + sig, err := crypto.SignMessage(cert.PrivateKey.(crypto.Signer), c.config.rand(), signed, signOpts) if err != nil { c.sendAlert(alertInternalError) return errors.New("tls: failed to sign handshake: " + err.Error()) @@ -1010,16 +943,13 @@ func (hs *clientHandshakeStateTLS13) sendClientFinished() error { return err } - c.out.setTrafficSecret(hs.suite, QUICEncryptionLevelApplication, hs.trafficSecret) + c.setWriteTrafficSecret(hs.suite, QUICEncryptionLevelApplication, hs.trafficSecret) if !c.config.SessionTicketsDisabled && c.config.ClientSessionCache != nil { c.resumptionSecret = hs.masterSecret.ResumptionMasterSecret(hs.transcript) } if c.quic != nil { - if c.hand.Len() != 0 { - c.sendAlert(alertUnexpectedMessage) - } c.quicSetWriteSecret(QUICEncryptionLevelApplication, hs.suite.id, hs.trafficSecret) } @@ -1046,6 +976,11 @@ func (c *Conn) handleNewSessionTicket(msg *newSessionTicketMsgTLS13) error { return errors.New("tls: received a session ticket with invalid lifetime") } + if len(msg.label) == 0 { + c.sendAlert(alertDecodeError) + return errors.New("tls: received a session ticket with empty opaque ticket label") + } + // RFC 9001, Section 4.6.1 if c.quic != nil && msg.maxEarlyData != 0 && msg.maxEarlyData != 0xffffffff { c.sendAlert(alertIllegalParameter) diff --git a/handshake_messages.go b/handshake_messages.go index c382b3346a9..37b16a62b7a 100644 --- a/handshake_messages.go +++ b/handshake_messages.go @@ -1048,6 +1048,7 @@ type encryptedExtensionsMsg struct { quicTransportParameters []byte earlyData bool echRetryConfigs []byte + serverNameAck bool utls utlsEncryptedExtensionsMsgExtraFields // [uTLS] } @@ -1085,6 +1086,10 @@ func (m *encryptedExtensionsMsg) marshal() ([]byte, error) { b.AddBytes(m.echRetryConfigs) }) } + if m.serverNameAck { + b.AddUint16(extensionServerName) + b.AddUint16(0) // empty extension_data + } }) }) @@ -1101,6 +1106,7 @@ func (m *encryptedExtensionsMsg) unmarshal(data []byte) bool { return false } + seenExts := make(map[uint16]bool) for !extensions.Empty() { var extension uint16 var extData cryptobyte.String @@ -1109,6 +1115,11 @@ func (m *encryptedExtensionsMsg) unmarshal(data []byte) bool { return false } + if seenExts[extension] { + return false + } + seenExts[extension] = true + switch extension { case extensionALPN: var protoList cryptobyte.String @@ -1134,6 +1145,11 @@ func (m *encryptedExtensionsMsg) unmarshal(data []byte) bool { if !extData.CopyBytes(m.echRetryConfigs) { return false } + case extensionServerName: + if len(extData) != 0 { + return false + } + m.serverNameAck = true default: // [UTLS SECTION START] if !m.utlsUnmarshal(extension, extData) { @@ -1842,7 +1858,7 @@ func (m *certificateRequestMsg) unmarshal(data []byte) bool { } sigAndHashLen := uint16(data[0])<<8 | uint16(data[1]) data = data[2:] - if sigAndHashLen&1 != 0 { + if sigAndHashLen&1 != 0 || sigAndHashLen == 0 { return false } if len(data) < int(sigAndHashLen) { diff --git a/handshake_messages_test.go b/handshake_messages_test.go index b71d97ca262..4fe70cda75b 100644 --- a/handshake_messages_test.go +++ b/handshake_messages_test.go @@ -72,10 +72,6 @@ func TestMarshalUnmarshal(t *testing.T) { break } - if m, ok := m.(*SessionState); ok { - m.activeCertHandles = nil - } - if ch, ok := m.(*clientHelloMsg); ok { // extensions is special cased, as it is only populated by the // server-side of a handshake and is not expected to roundtrip @@ -185,10 +181,10 @@ func (*clientHelloMsg) Generate(rand *rand.Rand, size int) reflect.Value { } } if rand.Intn(10) > 5 { - m.supportedSignatureAlgorithms = supportedSignatureAlgorithms() + m.supportedSignatureAlgorithms = supportedSignatureAlgorithms(VersionTLS12) } if rand.Intn(10) > 5 { - m.supportedSignatureAlgorithmsCert = supportedSignatureAlgorithms() + m.supportedSignatureAlgorithmsCert = supportedSignatureAlgorithms(VersionTLS12) } for i := 0; i < rand.Intn(5); i++ { m.alpnProtocols = append(m.alpnProtocols, randomString(rand.Intn(20)+1, rand)) @@ -426,11 +422,13 @@ func (*SessionState) Generate(rand *rand.Rand, size int) reflect.Value { if rand.Intn(10) > 5 && s.EarlyData { s.alpnProtocol = string(randomBytes(rand.Intn(10), rand)) } - if s.isClient { - if isTLS13 { + if isTLS13 { + if s.isClient { s.useBy = uint64(rand.Int63()) s.ageAdd = uint32(rand.Int63() & math.MaxUint32) } + } else { + s.curveID = CurveID(rand.Intn(30000) + 1) } return reflect.ValueOf(s) } @@ -477,10 +475,10 @@ func (*certificateRequestMsgTLS13) Generate(rand *rand.Rand, size int) reflect.V m.scts = true } if rand.Intn(10) > 5 { - m.supportedSignatureAlgorithms = supportedSignatureAlgorithms() + m.supportedSignatureAlgorithms = supportedSignatureAlgorithms(VersionTLS12) } if rand.Intn(10) > 5 { - m.supportedSignatureAlgorithmsCert = supportedSignatureAlgorithms() + m.supportedSignatureAlgorithmsCert = supportedSignatureAlgorithms(VersionTLS12) } if rand.Intn(10) > 5 { m.certificateAuthorities = make([][]byte, 3) diff --git a/handshake_server.go b/handshake_server.go index e38ebaeb06e..384e1b47889 100644 --- a/handshake_server.go +++ b/handshake_server.go @@ -18,7 +18,7 @@ import ( "io" "time" - "github.com/refraction-networking/utls/internal/byteorder" + "github.com/refraction-networking/utls/internal/fips140tls" ) // serverHandshakeState contains details of a server handshake in progress. @@ -150,7 +150,15 @@ func (c *Conn) readClientHello(ctx context.Context) (*clientHelloMsg, *echServer // the contents of the client hello, since we may swap it out completely. var ech *echServerContext if len(clientHello.encryptedClientHello) != 0 { - clientHello, ech, err = c.processECHClientHello(clientHello) + echKeys := c.config.EncryptedClientHelloKeys + if c.config.GetEncryptedClientHelloKeys != nil { + echKeys, err = c.config.GetEncryptedClientHelloKeys(clientHelloInfo(ctx, c, clientHello)) + if err != nil { + c.sendAlert(alertInternalError) + return nil, nil, err + } + } + clientHello, ech, err = c.processECHClientHello(clientHello, echKeys) if err != nil { return nil, nil, err } @@ -170,7 +178,15 @@ func (c *Conn) readClientHello(ctx context.Context) (*clientHelloMsg, *echServer c.ticketKeys = originalConfig.ticketKeys(configForClient) clientVersions := clientHello.supportedVersions - if len(clientHello.supportedVersions) == 0 { + if clientHello.vers >= VersionTLS13 && len(clientVersions) == 0 { + // RFC 8446 4.2.1 indicates when the supported_versions extension is not sent, + // compatible servers MUST negotiate TLS 1.2 or earlier if supported, even + // if the client legacy version is TLS 1.3 or later. + // + // Since we reject empty extensionSupportedVersions in the client hello unmarshal + // finding the supportedVersions empty indicates the extension was not present. + clientVersions = supportedVersionsFromMax(VersionTLS12) + } else if len(clientVersions) == 0 { clientVersions = supportedVersionsFromMax(clientHello.vers) } c.vers, ok = c.config.mutualVersion(roleServer, clientVersions) @@ -221,7 +237,7 @@ func (hs *serverHandshakeState) processClientHello() error { } if !foundCompression { - c.sendAlert(alertHandshakeFailure) + c.sendAlert(alertIllegalParameter) return errors.New("tls: client does not support uncompressed connections") } @@ -276,7 +292,11 @@ func (hs *serverHandshakeState) processClientHello() error { hs.hello.scts = hs.cert.SignedCertificateTimestamps } - hs.ecdheOk = supportsECDHE(c.config, c.vers, hs.clientHello.supportedCurves, hs.clientHello.supportedPoints) + hs.ecdheOk, err = supportsECDHE(c.config, c.vers, hs.clientHello.supportedCurves, hs.clientHello.supportedPoints) + if err != nil { + c.sendAlert(alertMissingExtension) + return err + } if hs.ecdheOk && len(hs.clientHello.supportedPoints) > 0 { // Although omitting the ec_point_formats extension is permitted, some @@ -342,12 +362,12 @@ func negotiateALPN(serverProtos, clientProtos []string, quic bool) (string, erro if http11fallback { return "", nil } - return "", fmt.Errorf("tls: client requested unsupported application protocols (%s)", clientProtos) + return "", fmt.Errorf("tls: client requested unsupported application protocols (%q)", clientProtos) } // supportsECDHE returns whether ECDHE key exchanges can be used with this // pre-TLS 1.3 client. -func supportsECDHE(c *Config, version uint16, supportedCurves []CurveID, supportedPoints []uint8) bool { +func supportsECDHE(c *Config, version uint16, supportedCurves []CurveID, supportedPoints []uint8) (bool, error) { supportsCurve := false for _, curve := range supportedCurves { if c.supportsCurve(version, curve) { @@ -357,10 +377,12 @@ func supportsECDHE(c *Config, version uint16, supportedCurves []CurveID, support } supportsPointFormat := false + offeredNonCompressedFormat := false for _, pointFormat := range supportedPoints { if pointFormat == pointFormatUncompressed { supportsPointFormat = true - break + } else { + offeredNonCompressedFormat = true } } // Per RFC 8422, Section 5.1.2, if the Supported Point Formats extension is @@ -369,34 +391,23 @@ func supportsECDHE(c *Config, version uint16, supportedCurves []CurveID, support // the parser. See https://go.dev/issue/49126. if len(supportedPoints) == 0 { supportsPointFormat = true + } else if offeredNonCompressedFormat && !supportsPointFormat { + return false, errors.New("tls: client offered only incompatible point formats") } - return supportsCurve && supportsPointFormat + return supportsCurve && supportsPointFormat, nil } func (hs *serverHandshakeState) pickCipherSuite() error { c := hs.c - preferenceOrder := cipherSuitesPreferenceOrder - if !hasAESGCMHardwareSupport || !aesgcmPreferred(hs.clientHello.cipherSuites) { - preferenceOrder = cipherSuitesPreferenceOrderNoAES - } - - configCipherSuites := c.config.cipherSuites() - preferenceList := make([]uint16, 0, len(configCipherSuites)) - for _, suiteID := range preferenceOrder { - for _, id := range configCipherSuites { - if id == suiteID { - preferenceList = append(preferenceList, id) - break - } - } - } + preferenceList := c.config.cipherSuites(isAESGCMPreferred(hs.clientHello.cipherSuites)) hs.suite = selectCipherSuite(preferenceList, hs.clientHello.cipherSuites, hs.cipherSuiteOk) if hs.suite == nil { c.sendAlert(alertHandshakeFailure) - return errors.New("tls: no cipher suite supported by both client and server") + return fmt.Errorf("tls: no cipher suite supported by both client and server; client offered: %x", + hs.clientHello.cipherSuites) } c.cipherSuite = hs.suite.id @@ -504,7 +515,7 @@ func (hs *serverHandshakeState) checkForResumption() error { // Check that we also support the ciphersuite from the session. suite := selectCipherSuite([]uint16{sessionState.cipherSuite}, - c.config.cipherSuites(), hs.cipherSuiteOk) + c.config.supportedCipherSuites(), hs.cipherSuiteOk) if suite == nil { return nil } @@ -520,8 +531,13 @@ func (hs *serverHandshakeState) checkForResumption() error { if sessionHasClientCerts && c.config.time().After(sessionState.peerCertificates[0].NotAfter) { return nil } + opts := x509.VerifyOptions{ + CurrentTime: c.config.time(), + Roots: c.config.ClientCAs, + KeyUsages: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth}, + } if sessionHasClientCerts && c.config.ClientAuth >= VerifyClientCertIfGiven && - len(sessionState.verifiedChains) == 0 { + !anyValidVerifiedChain(sessionState.verifiedChains, opts) { return nil } @@ -534,6 +550,10 @@ func (hs *serverHandshakeState) checkForResumption() error { // weird downgrade in client capabilities. return errors.New("tls: session supported extended_master_secret but client does not") } + if !sessionState.extMasterSecret && fips140tls.Required() { + // FIPS 140-3 requires the use of Extended Master Secret. + return nil + } c.peerCertificates = sessionState.peerCertificates c.ocspResponse = sessionState.ocspResponse @@ -542,6 +562,7 @@ func (hs *serverHandshakeState) checkForResumption() error { c.extMasterSecret = sessionState.extMasterSecret hs.sessionState = sessionState hs.suite = suite + c.curveID = sessionState.curveID c.didResume = true return nil } @@ -586,6 +607,10 @@ func (hs *serverHandshakeState) doFullHandshake() error { hs.hello.ocspStapling = true } + if hs.clientHello.serverName != "" { + hs.hello.serverNameAck = true + } + hs.hello.ticketSupported = hs.clientHello.ticketSupported && !c.config.SessionTicketsDisabled hs.hello.cipherSuite = hs.suite.id @@ -623,8 +648,9 @@ func (hs *serverHandshakeState) doFullHandshake() error { return err } if skx != nil { - if len(skx.key) >= 3 && skx.key[0] == 3 /* named curve */ { - c.curveID = CurveID(byteorder.BEUint16(skx.key[1:])) + if keyAgreement, ok := keyAgreement.(*ecdheKeyAgreement); ok { + c.curveID = keyAgreement.curveID + c.peerSigAlg = keyAgreement.signatureAlgorithm } if _, err := hs.c.writeHandshakeRecord(skx, &hs.finishedHash); err != nil { return err @@ -641,7 +667,7 @@ func (hs *serverHandshakeState) doFullHandshake() error { } if c.vers >= VersionTLS12 { certReq.hasSignatureAlgorithm = true - certReq.supportedSignatureAlgorithms = supportedSignatureAlgorithms() + certReq.supportedSignatureAlgorithms = supportedSignatureAlgorithms(c.vers) } // An empty list of certificateAuthorities signals to @@ -720,6 +746,10 @@ func (hs *serverHandshakeState) doFullHandshake() error { hs.masterSecret = extMasterFromPreMasterSecret(c.vers, hs.suite, preMasterSecret, hs.finishedHash.Sum()) } else { + if fips140tls.Required() { + c.sendAlert(alertHandshakeFailure) + return errors.New("tls: FIPS 140-3 requires the use of Extended Master Secret") + } hs.masterSecret = masterFromPreMasterSecret(c.vers, hs.suite, preMasterSecret, hs.clientHello.random, hs.hello.random) } @@ -759,19 +789,32 @@ func (hs *serverHandshakeState) doFullHandshake() error { if err != nil { return c.sendAlert(alertInternalError) } + if sigHash == crypto.SHA1 { + tlssha1.Value() // ensure godebug is initialized + tlssha1.IncNonDefault() + } + if hs.finishedHash.buffer == nil { + c.sendAlert(alertInternalError) + return errors.New("tls: internal error: did not keep handshake transcript for TLS 1.2") + } + if err := verifyHandshakeSignature(sigType, pub, sigHash, hs.finishedHash.buffer, certVerify.signature); err != nil { + c.sendAlert(alertDecryptError) + return errors.New("tls: invalid signature by the client certificate: " + err.Error()) + } } else { sigType, sigHash, err = legacyTypeAndHashFromPublicKey(pub) if err != nil { c.sendAlert(alertIllegalParameter) return err } + signed := hs.finishedHash.hashForClientCertificate(sigType) + if err := verifyLegacyHandshakeSignature(sigType, pub, sigHash, signed, certVerify.signature); err != nil { + c.sendAlert(alertDecryptError) + return errors.New("tls: invalid signature by the client certificate: " + err.Error()) + } } - signed := hs.finishedHash.hashForClientCertificate(sigType, sigHash) - if err := verifyHandshakeSignature(sigType, pub, sigHash, signed, certVerify.signature); err != nil { - c.sendAlert(alertDecryptError) - return errors.New("tls: invalid signature by the client certificate: " + err.Error()) - } + c.peerSigAlg = certVerify.signatureAlgorithm if err := transcriptMsg(certVerify, &hs.finishedHash); err != nil { return err @@ -904,14 +947,14 @@ func (hs *serverHandshakeState) sendFinished(out []byte) error { } // processCertsFromClient takes a chain of client certificates either from a -// Certificates message and verifies them. +// certificateMsg message or a certificateMsgTLS13 message and verifies them. func (c *Conn) processCertsFromClient(certificate Certificate) error { certificates := certificate.Certificate certs := make([]*x509.Certificate, len(certificates)) var err error for i, asn1Data := range certificates { if certs[i], err = x509.ParseCertificate(asn1Data); err != nil { - c.sendAlert(alertBadCertificate) + c.sendAlert(alertDecodeError) return errors.New("tls: failed to parse client certificate: " + err.Error()) } if certs[i].PublicKeyAlgorithm == x509.RSA { @@ -927,7 +970,7 @@ func (c *Conn) processCertsFromClient(certificate Certificate) error { if c.vers == VersionTLS13 { c.sendAlert(alertCertificateRequired) } else { - c.sendAlert(alertBadCertificate) + c.sendAlert(alertHandshakeFailure) } return errors.New("tls: client didn't provide a certificate") } @@ -946,10 +989,9 @@ func (c *Conn) processCertsFromClient(certificate Certificate) error { chains, err := certs[0].Verify(opts) if err != nil { - var errCertificateInvalid x509.CertificateInvalidError - if errors.As(err, &x509.UnknownAuthorityError{}) { + if _, ok := errors.AsType[x509.UnknownAuthorityError](err); ok { c.sendAlert(alertUnknownCA) - } else if errors.As(err, &errCertificateInvalid) && errCertificateInvalid.Reason == x509.Expired { + } else if errCertificateInvalid, ok := errors.AsType[x509.CertificateInvalidError](err); ok && errCertificateInvalid.Reason == x509.Expired { c.sendAlert(alertCertificateExpired) } else { c.sendAlert(alertBadCertificate) @@ -1003,6 +1045,7 @@ func clientHelloInfo(ctx context.Context, c *Conn, clientHello *clientHelloMsg) SupportedVersions: supportedVersions, Extensions: clientHello.extensions, Conn: c.conn, + HelloRetryRequest: c.didHRR, config: c.config, ctx: ctx, } diff --git a/handshake_server_test.go b/handshake_server_test.go index 525ee13aecf..e74e7bfbb87 100644 --- a/handshake_server_test.go +++ b/handshake_server_test.go @@ -12,6 +12,7 @@ import ( "crypto/elliptic" "crypto/rand" "crypto/x509" + "crypto/x509/pkix" "encoding/pem" "errors" "fmt" @@ -158,7 +159,7 @@ func TestRejectSNIWithTrailingDot(t *testing.T) { vers: VersionTLS12, random: make([]byte, 32), serverName: "foo.com.", - }, "unexpected message") + }, "decoding message") } func TestDontSelectECDSAWithRSAKey(t *testing.T) { @@ -237,7 +238,6 @@ func TestRenegotiationExtension(t *testing.T) { n, err := c.Read(buf) if err != nil { t.Errorf("Server read returned error: %s", err) - return } c.Close() bufChan <- buf[:n] @@ -405,8 +405,7 @@ func TestAlertForwarding(t *testing.T) { err := Server(s, testConfig).Handshake() s.Close() - var opErr *net.OpError - if !errors.As(err, &opErr) || opErr.Err != error(alertUnknownCA) { + if opErr, ok := errors.AsType[*net.OpError](err); !ok || opErr.Err != error(alertUnknownCA) { t.Errorf("Got error: %s; expected: %s", err, error(alertUnknownCA)) } } @@ -737,7 +736,7 @@ func (test *serverTest) run(t *testing.T, write bool) { t.Fatalf("%s: mismatch on peer list length: %d (wanted) != %d (got)", test.name, len(test.expectedPeerCerts), len(peerCerts)) } - if test.validate != nil { + if test.validate != nil && !t.Failed() { if err := test.validate(connState); err != nil { t.Fatalf("validate callback returned error: %s", err) } @@ -908,14 +907,30 @@ func TestHandshakeServerHelloRetryRequest(t *testing.T) { config := testConfig.Clone() config.CurvePreferences = []CurveID{CurveP256} + var clientHelloInfoHRR bool + var getCertificateCalled bool + eeCert := config.Certificates[0] + config.Certificates = nil + config.GetCertificate = func(clientHello *ClientHelloInfo) (*Certificate, error) { + getCertificateCalled = true + clientHelloInfoHRR = clientHello.HelloRetryRequest + return &eeCert, nil + } + test := &serverTest{ name: "HelloRetryRequest", command: []string{"openssl", "s_client", "-no_ticket", "-ciphersuites", "TLS_CHACHA20_POLY1305_SHA256", "-curves", "X25519:P-256"}, config: config, validate: func(cs ConnectionState) error { - if !cs.testingOnlyDidHRR { + if !cs.HelloRetryRequest { return errors.New("expected HelloRetryRequest") } + if !getCertificateCalled { + return errors.New("expected GetCertificate to be called") + } + if !clientHelloInfoHRR { + return errors.New("expected ClientHelloInfo.HelloRetryRequest to be true") + } return nil }, } @@ -923,19 +938,38 @@ func TestHandshakeServerHelloRetryRequest(t *testing.T) { } // TestHandshakeServerKeySharePreference checks that we prefer a key share even -// if it's later in the CurvePreferences order. +// if it's later in the CurvePreferences order, and that the client hello HRR +// field is correctly represented. func TestHandshakeServerKeySharePreference(t *testing.T) { config := testConfig.Clone() config.CurvePreferences = []CurveID{X25519, CurveP256} + // We also use this test as a convenient place to assert the ClientHelloInfo + // HelloRetryRequest field is _not_ set for a non-HRR hello. + var clientHelloInfoHRR bool + var getCertificateCalled bool + eeCert := config.Certificates[0] + config.Certificates = nil + config.GetCertificate = func(clientHello *ClientHelloInfo) (*Certificate, error) { + getCertificateCalled = true + clientHelloInfoHRR = clientHello.HelloRetryRequest + return &eeCert, nil + } + test := &serverTest{ name: "KeySharePreference", command: []string{"openssl", "s_client", "-no_ticket", "-ciphersuites", "TLS_CHACHA20_POLY1305_SHA256", "-curves", "P-256:X25519"}, config: config, validate: func(cs ConnectionState) error { - if cs.testingOnlyDidHRR { + if cs.HelloRetryRequest { return errors.New("unexpected HelloRetryRequest") } + if !getCertificateCalled { + return errors.New("expected GetCertificate to be called") + } + if clientHelloInfoHRR { + return errors.New("expected ClientHelloInfo.HelloRetryRequest to be false") + } return nil }, } @@ -1381,31 +1415,31 @@ func BenchmarkHandshakeServer(b *testing.B) { }) b.Run("ECDHE-P256-RSA", func(b *testing.B) { b.Run("TLSv13", func(b *testing.B) { - benchmarkHandshakeServer(b, VersionTLS13, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + benchmarkHandshakeServer(b, VersionTLS13, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, CurveP256, testRSACertificate, testRSAPrivateKey) }) b.Run("TLSv12", func(b *testing.B) { - benchmarkHandshakeServer(b, VersionTLS12, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + benchmarkHandshakeServer(b, VersionTLS12, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, CurveP256, testRSACertificate, testRSAPrivateKey) }) }) b.Run("ECDHE-P256-ECDSA-P256", func(b *testing.B) { b.Run("TLSv13", func(b *testing.B) { - benchmarkHandshakeServer(b, VersionTLS13, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, + benchmarkHandshakeServer(b, VersionTLS13, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, CurveP256, testP256Certificate, testP256PrivateKey) }) b.Run("TLSv12", func(b *testing.B) { - benchmarkHandshakeServer(b, VersionTLS12, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, + benchmarkHandshakeServer(b, VersionTLS12, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, CurveP256, testP256Certificate, testP256PrivateKey) }) }) b.Run("ECDHE-X25519-ECDSA-P256", func(b *testing.B) { b.Run("TLSv13", func(b *testing.B) { - benchmarkHandshakeServer(b, VersionTLS13, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, + benchmarkHandshakeServer(b, VersionTLS13, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, X25519, testP256Certificate, testP256PrivateKey) }) b.Run("TLSv12", func(b *testing.B) { - benchmarkHandshakeServer(b, VersionTLS12, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, + benchmarkHandshakeServer(b, VersionTLS12, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, X25519, testP256Certificate, testP256PrivateKey) }) }) @@ -1414,11 +1448,11 @@ func BenchmarkHandshakeServer(b *testing.B) { b.Fatal("test ECDSA key doesn't use curve P-521") } b.Run("TLSv13", func(b *testing.B) { - benchmarkHandshakeServer(b, VersionTLS13, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, + benchmarkHandshakeServer(b, VersionTLS13, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, CurveP521, testECDSACertificate, testECDSAPrivateKey) }) b.Run("TLSv12", func(b *testing.B) { - benchmarkHandshakeServer(b, VersionTLS12, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, + benchmarkHandshakeServer(b, VersionTLS12, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, CurveP521, testECDSACertificate, testECDSAPrivateKey) }) }) @@ -1592,9 +1626,7 @@ var getConfigForClientTests = []struct { }, func(clientHello *ClientHelloInfo) (*Config, error) { config := testConfig.Clone() - for i := range config.SessionTicketKey { - config.SessionTicketKey[i] = 0 - } + clear(config.SessionTicketKey[:]) config.sessionTicketKeys = nil return config, nil }, @@ -1794,28 +1826,28 @@ func TestAESCipherReordering(t *testing.T) { { name: "server has hardware AES, client doesn't (pick ChaCha)", clientCiphers: []uint16{ - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, }, serverHasAESGCM: true, - expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, }, { name: "client prefers AES-GCM, server doesn't have hardware AES (pick ChaCha)", clientCiphers: []uint16{ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, }, serverHasAESGCM: false, - expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, }, { name: "client prefers AES-GCM, server has hardware AES (pick AES-GCM)", clientCiphers: []uint16{ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, }, serverHasAESGCM: true, @@ -1826,7 +1858,7 @@ func TestAESCipherReordering(t *testing.T) { clientCiphers: []uint16{ 0x0A0A, // GREASE value TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, }, serverHasAESGCM: true, @@ -1847,27 +1879,27 @@ func TestAESCipherReordering(t *testing.T) { clientCiphers: []uint16{ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, }, serverHasAESGCM: false, - expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, }, { name: "client prefers AES-GCM over ChaCha and sends GREASE, server doesn't have hardware AES (pick ChaCha)", clientCiphers: []uint16{ 0x0A0A, // GREASE value TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, }, serverHasAESGCM: false, - expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, }, { name: "client supports multiple AES-GCM, server doesn't have hardware AES and doesn't support ChaCha (AES-GCM)", clientCiphers: []uint16{ TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, }, serverHasAESGCM: false, @@ -1881,14 +1913,14 @@ func TestAESCipherReordering(t *testing.T) { name: "client prefers AES-GCM, server has hardware but doesn't support AES (pick ChaCha)", clientCiphers: []uint16{ TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, }, serverHasAESGCM: true, serverCiphers: []uint16{ - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, }, - expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, + expectedCipher: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, }, } @@ -2046,8 +2078,8 @@ func TestServerHandshakeContextCancellation(t *testing.T) { if err != context.Canceled { t.Errorf("Unexpected server handshake error: %v", err) } - if runtime.GOARCH == "wasm" { - t.Skip("conn.Close does not error as expected when called multiple times on WASM") + if runtime.GOOS == "js" || runtime.GOOS == "wasip1" { + t.Skip("conn.Close does not error as expected when called multiple times on GOOS=js or GOOS=wasip1") } err = conn.Close() if err == nil { @@ -2123,3 +2155,350 @@ func TestHandshakeContextHierarchy(t *testing.T) { t.Errorf("Unexpected client error: %v", err) } } + +func TestHandshakeChainExpiryResumption(t *testing.T) { + t.Run("TLS1.2", func(t *testing.T) { + testHandshakeChainExpiryResumption(t, VersionTLS12) + }) + t.Run("TLS1.3", func(t *testing.T) { + testHandshakeChainExpiryResumption(t, VersionTLS13) + }) +} + +func testHandshakeChainExpiryResumption(t *testing.T, version uint16) { + now := time.Now() + + createChain := func(leafNotAfter, rootNotAfter time.Time) (leafDER, expiredLeafDER []byte, root *x509.Certificate) { + tmpl := &x509.Certificate{ + Subject: pkix.Name{CommonName: "root"}, + NotBefore: rootNotAfter.Add(-time.Hour * 24), + NotAfter: rootNotAfter, + IsCA: true, + BasicConstraintsValid: true, + } + rootDER, err := x509.CreateCertificate(rand.Reader, tmpl, tmpl, &testECDSAPrivateKey.PublicKey, testECDSAPrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + root, err = x509.ParseCertificate(rootDER) + if err != nil { + t.Fatalf("ParseCertificate: %v", err) + } + + tmpl = &x509.Certificate{ + Subject: pkix.Name{}, + DNSNames: []string{"expired-resume.example.com"}, + NotBefore: leafNotAfter.Add(-time.Hour * 24), + NotAfter: leafNotAfter, + KeyUsage: x509.KeyUsageDigitalSignature, + } + leafCertDER, err := x509.CreateCertificate(rand.Reader, tmpl, root, &testECDSAPrivateKey.PublicKey, testECDSAPrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + tmpl.NotBefore, tmpl.NotAfter = leafNotAfter.Add(-time.Hour*24*365), leafNotAfter.Add(-time.Hour*24*364) + expiredLeafDERCertDER, err := x509.CreateCertificate(rand.Reader, tmpl, root, &testECDSAPrivateKey.PublicKey, testECDSAPrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + + return leafCertDER, expiredLeafDERCertDER, root + } + testExpiration := func(name string, leafNotAfter, rootNotAfter time.Time) { + t.Run(name, func(t *testing.T) { + initialLeafDER, expiredLeafDER, initialRoot := createChain(leafNotAfter, rootNotAfter) + + serverConfig := testConfig.Clone() + serverConfig.MaxVersion = version + serverConfig.Certificates = []Certificate{{ + Certificate: [][]byte{initialLeafDER, expiredLeafDER}, + PrivateKey: testECDSAPrivateKey, + }} + serverConfig.ClientCAs = x509.NewCertPool() + serverConfig.ClientCAs.AddCert(initialRoot) + serverConfig.ClientAuth = RequireAndVerifyClientCert + serverConfig.Time = func() time.Time { + return now + } + serverConfig.InsecureSkipVerify = false + serverConfig.ServerName = "expired-resume.example.com" + + clientConfig := testConfig.Clone() + clientConfig.MaxVersion = version + clientConfig.Certificates = []Certificate{{ + Certificate: [][]byte{initialLeafDER, expiredLeafDER}, + PrivateKey: testECDSAPrivateKey, + }} + clientConfig.RootCAs = x509.NewCertPool() + clientConfig.RootCAs.AddCert(initialRoot) + clientConfig.ServerName = "expired-resume.example.com" + clientConfig.ClientSessionCache = NewLRUClientSessionCache(32) + clientConfig.InsecureSkipVerify = false + clientConfig.ServerName = "expired-resume.example.com" + clientConfig.Time = func() time.Time { + return now + } + + testResume := func(t *testing.T, sc, cc *Config, expectResume bool) { + t.Helper() + ss, cs, err := testHandshake(t, cc, sc) + if err != nil { + t.Fatalf("handshake: %v", err) + } + if cs.DidResume != expectResume { + t.Fatalf("DidResume = %v; want %v", cs.DidResume, expectResume) + } + if ss.DidResume != expectResume { + t.Fatalf("DidResume = %v; want %v", cs.DidResume, expectResume) + } + } + + testResume(t, serverConfig, clientConfig, false) + testResume(t, serverConfig, clientConfig, true) + + expiredNow := time.Unix(0, min(leafNotAfter.UnixNano(), rootNotAfter.UnixNano())).Add(time.Minute) + + freshLeafDER, expiredLeafDER, freshRoot := createChain(expiredNow.Add(time.Hour), expiredNow.Add(time.Hour)) + clientConfig.Certificates = []Certificate{{ + Certificate: [][]byte{freshLeafDER, expiredLeafDER}, + PrivateKey: testECDSAPrivateKey, + }} + serverConfig.Time = func() time.Time { + return expiredNow + } + serverConfig.ClientCAs = x509.NewCertPool() + serverConfig.ClientCAs.AddCert(freshRoot) + + testResume(t, serverConfig, clientConfig, false) + }) + } + + testExpiration("LeafExpiresBeforeRoot", now.Add(2*time.Hour), now.Add(3*time.Hour)) + testExpiration("LeafExpiresAfterRoot", now.Add(2*time.Hour), now.Add(time.Hour)) +} + +func TestHandshakeGetConfigForClientDifferentClientCAs(t *testing.T) { + t.Run("TLS1.2", func(t *testing.T) { + testHandshakeGetConfigForClientDifferentClientCAs(t, VersionTLS12) + }) + t.Run("TLS1.3", func(t *testing.T) { + testHandshakeGetConfigForClientDifferentClientCAs(t, VersionTLS13) + }) +} + +func testHandshakeGetConfigForClientDifferentClientCAs(t *testing.T, version uint16) { + now := time.Now() + tmpl := &x509.Certificate{ + Subject: pkix.Name{CommonName: "root"}, + NotBefore: now.Add(-time.Hour * 24), + NotAfter: now.Add(time.Hour * 24), + IsCA: true, + BasicConstraintsValid: true, + } + rootDER, err := x509.CreateCertificate(rand.Reader, tmpl, tmpl, &testECDSAPrivateKey.PublicKey, testECDSAPrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + rootA, err := x509.ParseCertificate(rootDER) + if err != nil { + t.Fatalf("ParseCertificate: %v", err) + } + rootDER, err = x509.CreateCertificate(rand.Reader, tmpl, tmpl, &testRSA2048PrivateKey.PublicKey, testRSA2048PrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + rootB, err := x509.ParseCertificate(rootDER) + if err != nil { + t.Fatalf("ParseCertificate: %v", err) + } + + tmpl = &x509.Certificate{ + Subject: pkix.Name{}, + DNSNames: []string{"example.com"}, + NotBefore: now.Add(-time.Hour * 24), + NotAfter: now.Add(time.Hour * 24), + KeyUsage: x509.KeyUsageDigitalSignature, + } + certA, err := x509.CreateCertificate(rand.Reader, tmpl, rootA, &testECDSAPrivateKey.PublicKey, testECDSAPrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + certB, err := x509.CreateCertificate(rand.Reader, tmpl, rootB, &testECDSAPrivateKey.PublicKey, testRSA2048PrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + + serverConfig := testConfig.Clone() + serverConfig.MaxVersion = version + serverConfig.Certificates = []Certificate{{ + Certificate: [][]byte{certA}, + PrivateKey: testECDSAPrivateKey, + }} + serverConfig.Time = func() time.Time { + return now + } + serverConfig.ClientCAs = x509.NewCertPool() + serverConfig.ClientCAs.AddCert(rootA) + serverConfig.ClientAuth = RequireAndVerifyClientCert + switchConfig := false + serverConfig.GetConfigForClient = func(clientHello *ClientHelloInfo) (*Config, error) { + if !switchConfig { + return nil, nil + } + cfg := serverConfig.Clone() + cfg.ClientCAs = x509.NewCertPool() + cfg.ClientCAs.AddCert(rootB) + return cfg, nil + } + serverConfig.InsecureSkipVerify = false + serverConfig.ServerName = "example.com" + + clientConfig := testConfig.Clone() + clientConfig.MaxVersion = version + clientConfig.Certificates = []Certificate{{ + Certificate: [][]byte{certA}, + PrivateKey: testECDSAPrivateKey, + }} + clientConfig.ClientSessionCache = NewLRUClientSessionCache(32) + clientConfig.RootCAs = x509.NewCertPool() + clientConfig.RootCAs.AddCert(rootA) + clientConfig.Time = func() time.Time { + return now + } + clientConfig.InsecureSkipVerify = false + clientConfig.ServerName = "example.com" + + testResume := func(t *testing.T, sc, cc *Config, expectResume bool) { + t.Helper() + ss, cs, err := testHandshake(t, cc, sc) + if err != nil { + t.Fatalf("handshake: %v", err) + } + if cs.DidResume != expectResume { + t.Fatalf("DidResume = %v; want %v", cs.DidResume, expectResume) + } + if ss.DidResume != expectResume { + t.Fatalf("DidResume = %v; want %v", cs.DidResume, expectResume) + } + } + + testResume(t, serverConfig, clientConfig, false) + testResume(t, serverConfig, clientConfig, true) + + clientConfig.Certificates[0].Certificate = [][]byte{certB} + + // Cause GetConfigForClient to return a config cloned from the base config, + // but with a different ClientCAs pool. This should cause resumption to fail. + switchConfig = true + + testResume(t, serverConfig, clientConfig, false) + testResume(t, serverConfig, clientConfig, true) +} + +func TestHandshakeChangeRootCAsResumption(t *testing.T) { + t.Run("TLS1.2", func(t *testing.T) { + testHandshakeChangeRootCAsResumption(t, VersionTLS12) + }) + t.Run("TLS1.3", func(t *testing.T) { + testHandshakeChangeRootCAsResumption(t, VersionTLS13) + }) +} + +func testHandshakeChangeRootCAsResumption(t *testing.T, version uint16) { + now := time.Now() + tmpl := &x509.Certificate{ + Subject: pkix.Name{CommonName: "root"}, + NotBefore: now.Add(-time.Hour * 24), + NotAfter: now.Add(time.Hour * 24), + IsCA: true, + BasicConstraintsValid: true, + } + rootDER, err := x509.CreateCertificate(rand.Reader, tmpl, tmpl, &testECDSAPrivateKey.PublicKey, testECDSAPrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + rootA, err := x509.ParseCertificate(rootDER) + if err != nil { + t.Fatalf("ParseCertificate: %v", err) + } + rootDER, err = x509.CreateCertificate(rand.Reader, tmpl, tmpl, &testRSA2048PrivateKey.PublicKey, testRSA2048PrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + rootB, err := x509.ParseCertificate(rootDER) + if err != nil { + t.Fatalf("ParseCertificate: %v", err) + } + + tmpl = &x509.Certificate{ + Subject: pkix.Name{}, + DNSNames: []string{"example.com"}, + NotBefore: now.Add(-time.Hour * 24), + NotAfter: now.Add(time.Hour * 24), + KeyUsage: x509.KeyUsageDigitalSignature, + } + certA, err := x509.CreateCertificate(rand.Reader, tmpl, rootA, &testECDSAPrivateKey.PublicKey, testECDSAPrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + certB, err := x509.CreateCertificate(rand.Reader, tmpl, rootB, &testECDSAPrivateKey.PublicKey, testRSA2048PrivateKey) + if err != nil { + t.Fatalf("CreateCertificate: %v", err) + } + + serverConfig := testConfig.Clone() + serverConfig.MaxVersion = version + serverConfig.Certificates = []Certificate{{ + Certificate: [][]byte{certA}, + PrivateKey: testECDSAPrivateKey, + }} + serverConfig.Time = func() time.Time { + return now + } + serverConfig.ClientCAs = x509.NewCertPool() + serverConfig.ClientCAs.AddCert(rootA) + serverConfig.ClientAuth = RequireAndVerifyClientCert + serverConfig.InsecureSkipVerify = false + serverConfig.ServerName = "example.com" + + clientConfig := testConfig.Clone() + clientConfig.MaxVersion = version + clientConfig.Certificates = []Certificate{{ + Certificate: [][]byte{certA}, + PrivateKey: testECDSAPrivateKey, + }} + clientConfig.ClientSessionCache = NewLRUClientSessionCache(32) + clientConfig.RootCAs = x509.NewCertPool() + clientConfig.RootCAs.AddCert(rootA) + clientConfig.Time = func() time.Time { + return now + } + clientConfig.InsecureSkipVerify = false + clientConfig.ServerName = "example.com" + + testResume := func(t *testing.T, sc, cc *Config, expectResume bool) { + t.Helper() + ss, cs, err := testHandshake(t, cc, sc) + if err != nil { + t.Fatalf("handshake: %v", err) + } + if cs.DidResume != expectResume { + t.Fatalf("DidResume = %v; want %v", cs.DidResume, expectResume) + } + if ss.DidResume != expectResume { + t.Fatalf("DidResume = %v; want %v", cs.DidResume, expectResume) + } + } + + testResume(t, serverConfig, clientConfig, false) + testResume(t, serverConfig, clientConfig, true) + + clientConfig = clientConfig.Clone() + clientConfig.RootCAs = x509.NewCertPool() + clientConfig.RootCAs.AddCert(rootB) + + serverConfig.Certificates[0].Certificate = [][]byte{certB} + + testResume(t, serverConfig, clientConfig, false) + testResume(t, serverConfig, clientConfig, true) +} diff --git a/handshake_server_tls13.go b/handshake_server_tls13.go index 510db6f668b..8cdcefa72cc 100644 --- a/handshake_server_tls13.go +++ b/handshake_server_tls13.go @@ -8,10 +8,13 @@ import ( "bytes" "context" "crypto" + "crypto/hkdf" "crypto/hmac" - "crypto/mlkem" + "crypto/hpke" "crypto/rsa" + "crypto/x509" "errors" + "fmt" "hash" "io" "slices" @@ -20,8 +23,6 @@ import ( "github.com/refraction-networking/utls/internal/byteorder" "github.com/refraction-networking/utls/internal/fips140tls" - "github.com/refraction-networking/utls/internal/hkdf" - "github.com/refraction-networking/utls/internal/hpke" "github.com/refraction-networking/utls/internal/tls13" ) @@ -31,11 +32,11 @@ import ( const maxClientPSKIdentities = 5 type echServerContext struct { - hpkeContext *hpke.Receipient + hpkeContext *hpke.Recipient configID uint8 ciphersuite echCipher transcript hash.Hash - // inner indicates that the initial client_hello we recieved contained an + // inner indicates that the initial client_hello we received contained an // encrypted_client_hello extension that indicated it was an "inner" hello. // We don't do any additional processing of the hello in this case, so all // fields above are unset. @@ -177,11 +178,11 @@ func (hs *serverHandshakeStateTLS13) processClientHello() error { hs.hello.compressionMethod = compressionNone preferenceList := defaultCipherSuitesTLS13 - if !hasAESGCMHardwareSupport || !aesgcmPreferred(hs.clientHello.cipherSuites) { + if !hasAESGCMHardwareSupport || !isAESGCMPreferred(hs.clientHello.cipherSuites) { preferenceList = defaultCipherSuitesTLS13NoAES } if fips140tls.Required() { - preferenceList = defaultCipherSuitesTLS13FIPS + preferenceList = allowedCipherSuitesTLS13FIPS } for _, suiteID := range preferenceList { hs.suite = mutualCipherSuiteTLS13(hs.clientHello.cipherSuites, suiteID) @@ -191,7 +192,8 @@ func (hs *serverHandshakeStateTLS13) processClientHello() error { } if hs.suite == nil { c.sendAlert(alertHandshakeFailure) - return errors.New("tls: no cipher suite supported by both client and server") + return fmt.Errorf("tls: no cipher suite supported by both client and server; client offered: %x", + hs.clientHello.cipherSuites) } c.cipherSuite = hs.suite.id hs.hello.cipherSuite = hs.suite.id @@ -245,55 +247,16 @@ func (hs *serverHandshakeStateTLS13) processClientHello() error { } c.curveID = selectedGroup - ecdhGroup := selectedGroup - ecdhData := clientKeyShare.data - if selectedGroup == X25519MLKEM768 { - ecdhGroup = X25519 - if len(ecdhData) != mlkem.EncapsulationKeySize768+x25519PublicKeySize { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: invalid X25519MLKEM768 client key share") - } - ecdhData = ecdhData[mlkem.EncapsulationKeySize768:] - } - if _, ok := curveForCurveID(ecdhGroup); !ok { - c.sendAlert(alertInternalError) - return errors.New("tls: CurvePreferences includes unsupported curve") - } - key, err := generateECDHEKey(c.config.rand(), ecdhGroup) + ke, err := keyExchangeForCurveID(selectedGroup) if err != nil { c.sendAlert(alertInternalError) - return err - } - hs.hello.serverShare = keyShare{group: selectedGroup, data: key.PublicKey().Bytes()} - peerKey, err := key.Curve().NewPublicKey(ecdhData) - if err != nil { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: invalid client key share") + return errors.New("tls: CurvePreferences includes unsupported curve") } - hs.sharedKey, err = key.ECDH(peerKey) + hs.sharedKey, hs.hello.serverShare, err = ke.serverSharedSecret(c.config.rand(), clientKeyShare.data) if err != nil { c.sendAlert(alertIllegalParameter) return errors.New("tls: invalid client key share") } - if selectedGroup == X25519MLKEM768 { - k, err := mlkem.NewEncapsulationKey768(clientKeyShare.data[:mlkem.EncapsulationKeySize768]) - if err != nil { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: invalid X25519MLKEM768 client key share") - } - mlkemSharedSecret, ciphertext := k.Encapsulate() - // draft-kwiatkowski-tls-ecdhe-mlkem-02, Section 3.1.3: "For - // X25519MLKEM768, the shared secret is the concatenation of the ML-KEM - // shared secret and the X25519 shared secret. The shared secret is 64 - // bytes (32 bytes for each part)." - hs.sharedKey = append(mlkemSharedSecret, hs.sharedKey...) - // draft-kwiatkowski-tls-ecdhe-mlkem-02, Section 3.1.2: "When the - // X25519MLKEM768 group is negotiated, the server's key exchange value - // is the concatenation of an ML-KEM ciphertext returned from - // encapsulation to the client's encapsulation key, and the server's - // ephemeral X25519 share." - hs.hello.serverShare.data = append(ciphertext, hs.hello.serverShare.data...) - } selectedProto, err := negotiateALPN(c.config.NextProtos, hs.clientHello.alpnProtocols, c.quic != nil) if err != nil { @@ -408,8 +371,13 @@ func (hs *serverHandshakeStateTLS13) checkForResumption() error { if sessionHasClientCerts && c.config.time().After(sessionState.peerCertificates[0].NotAfter) { continue } + opts := x509.VerifyOptions{ + CurrentTime: c.config.time(), + Roots: c.config.ClientCAs, + KeyUsages: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth}, + } if sessionHasClientCerts && c.config.ClientAuth >= VerifyClientCertIfGiven && - len(sessionState.verifiedChains) == 0 { + !anyValidVerifiedChain(sessionState.verifiedChains, opts) { continue } @@ -449,7 +417,9 @@ func (hs *serverHandshakeStateTLS13) checkForResumption() error { return err } earlyTrafficSecret := hs.earlySecret.ClientEarlyTrafficSecret(transcript) - c.quicSetReadSecret(QUICEncryptionLevelEarly, hs.suite.id, earlyTrafficSecret) + if err := c.quicSetReadSecret(QUICEncryptionLevelEarly, hs.suite.id, earlyTrafficSecret); err != nil { + return err + } } c.didResume = true @@ -467,10 +437,17 @@ func (hs *serverHandshakeStateTLS13) checkForResumption() error { return nil } -// cloneHash uses the encoding.BinaryMarshaler and encoding.BinaryUnmarshaler +// cloneHash uses [hash.Cloner] to clone in. If [hash.Cloner] +// is not implemented or not supported, then it falls back to 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 { + if cloner, ok := in.(hash.Cloner); ok { + if out, err := cloner.Clone(); err == nil { + return out + } + } // Recreate the interface to avoid importing encoding. type binaryMarshaler interface { MarshalBinary() (data []byte, err error) @@ -546,6 +523,14 @@ func (hs *serverHandshakeStateTLS13) sendDummyChangeCipherSpec() error { func (hs *serverHandshakeStateTLS13) doHelloRetryRequest(selectedGroup CurveID) (*keyShare, error) { c := hs.c + // Make sure the client didn't send extra handshake messages alongside + // their initial client_hello. If they sent two client_hello messages, + // we will consume the second before they respond to the server_hello. + if c.hand.Len() != 0 { + c.sendAlert(alertUnexpectedMessage) + return nil, errors.New("tls: handshake buffer not empty before HelloRetryRequest") + } + // The first ClientHello gets double-hashed into the transcript upon a // HelloRetryRequest. See RFC 8446, Section 4.4.1. if err := transcriptMsg(hs.clientHello, hs.transcript); err != nil { @@ -573,12 +558,13 @@ func (hs *serverHandshakeStateTLS13) doHelloRetryRequest(selectedGroup CurveID) if err := transcriptMsg(helloRetryRequest, confTranscript); err != nil { return nil, err } - acceptConfirmation := tls13.ExpandLabel(hs.suite.hash.New, - hkdf.Extract(hs.suite.hash.New, hs.clientHello.random, nil), - "hrr ech accept confirmation", - confTranscript.Sum(nil), - 8, - ) + h := hs.suite.hash.New + prf, err := hkdf.Extract(h, hs.clientHello.random, nil) + if err != nil { + c.sendAlert(alertInternalError) + return nil, err + } + acceptConfirmation := tls13.ExpandLabel(h, prf, "hrr ech accept confirmation", confTranscript.Sum(nil), 8) helloRetryRequest.encryptedClientHello = acceptConfirmation } @@ -736,12 +722,13 @@ func (hs *serverHandshakeStateTLS13) sendServerParameters() error { return err } // compute the acceptance message - acceptConfirmation := tls13.ExpandLabel(hs.suite.hash.New, - hkdf.Extract(hs.suite.hash.New, hs.clientHello.random, nil), - "ech accept confirmation", - echTranscript.Sum(nil), - 8, - ) + h := hs.suite.hash.New + prk, err := hkdf.Extract(h, hs.clientHello.random, nil) + if err != nil { + c.sendAlert(alertInternalError) + return err + } + acceptConfirmation := tls13.ExpandLabel(h, prk, "ech accept confirmation", echTranscript.Sum(nil), 8) copy(hs.hello.random[32-8:], acceptConfirmation) } @@ -763,17 +750,18 @@ func (hs *serverHandshakeStateTLS13) sendServerParameters() error { } hs.handshakeSecret = earlySecret.HandshakeSecret(hs.sharedKey) - clientSecret := hs.handshakeSecret.ClientHandshakeTrafficSecret(hs.transcript) - c.in.setTrafficSecret(hs.suite, QUICEncryptionLevelHandshake, clientSecret) serverSecret := hs.handshakeSecret.ServerHandshakeTrafficSecret(hs.transcript) - c.out.setTrafficSecret(hs.suite, QUICEncryptionLevelHandshake, serverSecret) + c.setWriteTrafficSecret(hs.suite, QUICEncryptionLevelHandshake, serverSecret) + clientSecret := hs.handshakeSecret.ClientHandshakeTrafficSecret(hs.transcript) + if err := c.setReadTrafficSecret(hs.suite, QUICEncryptionLevelHandshake, clientSecret); err != nil { + return err + } if c.quic != nil { - if c.hand.Len() != 0 { - c.sendAlert(alertUnexpectedMessage) - } c.quicSetWriteSecret(QUICEncryptionLevelHandshake, hs.suite.id, serverSecret) - c.quicSetReadSecret(QUICEncryptionLevelHandshake, hs.suite.id, clientSecret) + if err := c.quicSetReadSecret(QUICEncryptionLevelHandshake, hs.suite.id, clientSecret); err != nil { + return err + } } err := c.config.writeKeyLog(keyLogLabelClientHandshake, hs.clientHello.random, clientSecret) @@ -799,10 +787,22 @@ func (hs *serverHandshakeStateTLS13) sendServerParameters() error { encryptedExtensions.earlyData = hs.earlyData } + if !hs.c.didResume && hs.clientHello.serverName != "" { + encryptedExtensions.serverNameAck = true + } + // If client sent ECH extension, but we didn't accept it, // send retry configs, if available. - if len(hs.c.config.EncryptedClientHelloKeys) > 0 && len(hs.clientHello.encryptedClientHello) > 0 && hs.echContext == nil { - encryptedExtensions.echRetryConfigs, err = buildRetryConfigList(hs.c.config.EncryptedClientHelloKeys) + echKeys := hs.c.config.EncryptedClientHelloKeys + if hs.c.config.GetEncryptedClientHelloKeys != nil { + echKeys, err = hs.c.config.GetEncryptedClientHelloKeys(clientHelloInfo(hs.ctx, c, hs.clientHello)) + if err != nil { + c.sendAlert(alertInternalError) + return err + } + } + if len(echKeys) > 0 && len(hs.clientHello.encryptedClientHello) > 0 && hs.echContext == nil { + encryptedExtensions.echRetryConfigs, err = buildRetryConfigList(echKeys) if err != nil { c.sendAlert(alertInternalError) return err @@ -833,7 +833,8 @@ func (hs *serverHandshakeStateTLS13) sendServerCertificate() error { certReq := new(certificateRequestMsgTLS13) certReq.ocspStapling = true certReq.scts = true - certReq.supportedSignatureAlgorithms = supportedSignatureAlgorithms() + certReq.supportedSignatureAlgorithms = supportedSignatureAlgorithms(c.vers) + certReq.supportedSignatureAlgorithmsCert = supportedSignatureAlgorithmsCert() if c.config.ClientCAs != nil { certReq.certificateAuthorities = c.config.ClientCAs.Subjects() } @@ -862,12 +863,12 @@ func (hs *serverHandshakeStateTLS13) sendServerCertificate() error { return c.sendAlert(alertInternalError) } - signed := signedMessage(sigHash, serverSignatureContext, hs.transcript) + signed := signedMessage(serverSignatureContext, hs.transcript) signOpts := crypto.SignerOpts(sigHash) if sigType == signatureRSAPSS { signOpts = &rsa.PSSOptions{SaltLength: rsa.PSSSaltLengthEqualsHash, Hash: sigHash} } - sig, err := hs.cert.PrivateKey.(crypto.Signer).Sign(c.config.rand(), signed, signOpts) + sig, err := crypto.SignMessage(hs.cert.PrivateKey.(crypto.Signer), c.config.rand(), signed, signOpts) if err != nil { public := hs.cert.PrivateKey.(crypto.Signer).Public() if rsaKey, ok := public.(*rsa.PublicKey); ok && sigType == signatureRSAPSS && @@ -904,13 +905,9 @@ func (hs *serverHandshakeStateTLS13) sendServerFinished() error { hs.trafficSecret = hs.masterSecret.ClientApplicationTrafficSecret(hs.transcript) serverSecret := hs.masterSecret.ServerApplicationTrafficSecret(hs.transcript) - c.out.setTrafficSecret(hs.suite, QUICEncryptionLevelApplication, serverSecret) + c.setWriteTrafficSecret(hs.suite, QUICEncryptionLevelApplication, serverSecret) if c.quic != nil { - if c.hand.Len() != 0 { - // TODO: Handle this in setTrafficSecret? - c.sendAlert(alertUnexpectedMessage) - } c.quicSetWriteSecret(QUICEncryptionLevelApplication, hs.suite.id, serverSecret) } @@ -950,12 +947,7 @@ func (hs *serverHandshakeStateTLS13) shouldSendSessionTickets() bool { } // 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 + return slices.Contains(hs.clientHello.pskModes, pskModeDHE) } func (hs *serverHandshakeStateTLS13) sendSessionTickets() error { @@ -1089,7 +1081,10 @@ func (hs *serverHandshakeStateTLS13) readClientCertificate() error { } // See RFC 8446, Section 4.4.3. - if !isSupportedSignatureAlgorithm(certVerify.signatureAlgorithm, supportedSignatureAlgorithms()) { + // We don't use certReq.supportedSignatureAlgorithms because it would + // require keeping the certificateRequestMsgTLS13 around in the hs. + if !isSupportedSignatureAlgorithm(certVerify.signatureAlgorithm, supportedSignatureAlgorithms(c.vers)) || + !isSupportedSignatureAlgorithm(certVerify.signatureAlgorithm, signatureSchemesForPublicKey(c.vers, c.peerCertificates[0].PublicKey)) { c.sendAlert(alertIllegalParameter) return errors.New("tls: client certificate used with invalid signature algorithm") } @@ -1098,15 +1093,15 @@ func (hs *serverHandshakeStateTLS13) readClientCertificate() error { return c.sendAlert(alertInternalError) } if sigType == signaturePKCS1v15 || sigHash == crypto.SHA1 { - c.sendAlert(alertIllegalParameter) - return errors.New("tls: client certificate used with invalid signature algorithm") + return c.sendAlert(alertInternalError) } - signed := signedMessage(sigHash, clientSignatureContext, hs.transcript) + signed := signedMessage(clientSignatureContext, hs.transcript) if err := verifyHandshakeSignature(sigType, c.peerCertificates[0].PublicKey, sigHash, signed, certVerify.signature); err != nil { c.sendAlert(alertDecryptError) return errors.New("tls: invalid signature by the client certificate: " + err.Error()) } + c.peerSigAlg = certVerify.signatureAlgorithm if err := transcriptMsg(certVerify, hs.transcript); err != nil { return err @@ -1142,7 +1137,9 @@ func (hs *serverHandshakeStateTLS13) readClientFinished() error { return errors.New("tls: invalid client finished hash") } - c.in.setTrafficSecret(hs.suite, QUICEncryptionLevelApplication, hs.trafficSecret) + if err := c.setReadTrafficSecret(hs.suite, QUICEncryptionLevelApplication, hs.trafficSecret); err != nil { + return err + } return nil } diff --git a/handshake_test.go b/handshake_test.go index c00ace044e3..a723c29edad 100644 --- a/handshake_test.go +++ b/handshake_test.go @@ -7,6 +7,7 @@ package tls import ( "bufio" "bytes" + "context" "crypto/ed25519" "crypto/x509" "encoding/hex" @@ -46,7 +47,9 @@ var ( keyFile = flag.String("keylog", "", "destination file for KeyLogWriter") bogoMode = flag.Bool("bogo-mode", false, "Enabled bogo shim mode, ignore everything else") bogoFilter = flag.String("bogo-filter", "", "BoGo test filter") - bogoLocalDir = flag.String("bogo-local-dir", "", "Local BoGo to use, instead of fetching from source") + bogoLocalDir = flag.String("bogo-local-dir", "", + "If not-present, checkout BoGo into this dir, or otherwise use it as a pre-existing checkout") + bogoReport = flag.String("bogo-html-report", "", "File path to render an HTML report with BoGo results") ) func runTestAndUpdateIfNeeded(t *testing.T, name string, run func(t *testing.T, update bool), wait bool) { @@ -448,6 +451,10 @@ func runMain(m *testing.M) int { os.Exit(1) } + // TODO(filippo): deprecate Config.Rand, and regenerate handshake recordings + // to use cryptotest.SetGlobalRandom instead. + os.Setenv("GODEBUG", "cryptocustomrand=1,"+os.Getenv("GODEBUG")) + testConfig = &Config{ Time: func() time.Time { return time.Unix(0, 0) }, Rand: zeroSource{}, @@ -655,3 +662,142 @@ var clientEd25519KeyPEM = testingKey(` -----BEGIN TESTING KEY----- MC4CAQAwBQYDK2VwBCIEINifzf07d9qx3d44e0FSbV4mC/xQxT644RRbpgNpin7I -----END TESTING KEY-----`) + +func TestServerHelloTrailingMessage(t *testing.T) { + // In TLS 1.3 the change cipher spec message is optional. If a CCS message + // is not sent, after reading the ServerHello, the read traffic secret is + // set, and all following messages must be encrypted. If the server sends + // additional unencrypted messages in a record with the ServerHello, the + // client must either fail or ignore the additional messages. + + c, s := localPipe(t) + go func() { + ctx := context.Background() + srv := Server(s, testConfig) + clientHello, _, err := srv.readClientHello(ctx) + if err != nil { + testFatal(t, err) + } + + hs := serverHandshakeStateTLS13{ + c: srv, + ctx: ctx, + clientHello: clientHello, + } + if err := hs.processClientHello(); err != nil { + testFatal(t, err) + } + if err := transcriptMsg(hs.clientHello, hs.transcript); err != nil { + testFatal(t, err) + } + + record, err := concatHandshakeMessages(hs.hello, &encryptedExtensionsMsg{alpnProtocol: "h2"}) + if err != nil { + testFatal(t, err) + } + + if _, err := s.Write(record); err != nil { + testFatal(t, err) + } + srv.Close() + }() + + cli := Client(c, testConfig) + expectedErr := "tls: handshake buffer not empty before setting read traffic secret" + if err := cli.Handshake(); err == nil { + t.Fatal("expected error from incomplete handshake, got nil") + } else if err.Error() != expectedErr { + t.Fatalf("expected error %q, got %q", expectedErr, err.Error()) + } +} + +func TestClientHelloTrailingMessage(t *testing.T) { + // Same as TestServerHelloTrailingMessage but for the client side. + + c, s := localPipe(t) + go func() { + cli := Client(c, testConfig) + + hello, _, _, err := cli.makeClientHello() + if err != nil { + testFatal(t, err) + } + + record, err := concatHandshakeMessages(hello, &certificateMsgTLS13{}) + if err != nil { + testFatal(t, err) + } + + if _, err := c.Write(record); err != nil { + testFatal(t, err) + } + cli.Close() + }() + + srv := Server(s, testConfig) + expectedErr := "tls: handshake buffer not empty before setting read traffic secret" + if err := srv.Handshake(); err == nil { + t.Fatal("expected error from incomplete handshake, got nil") + } else if err.Error() != expectedErr { + t.Fatalf("expected error %q, got %q", expectedErr, err.Error()) + } +} + +func TestDoubleClientHelloHRR(t *testing.T) { + // If a client sends two ClientHello messages in a single record, and the + // server sends a HRR after reading the first ClientHello, the server must + // either fail or ignore the trailing ClientHello. + + c, s := localPipe(t) + + go func() { + cli := Client(c, testConfig) + + hello, _, _, err := cli.makeClientHello() + if err != nil { + testFatal(t, err) + } + hello.keyShares = nil + + record, err := concatHandshakeMessages(hello, hello) + if err != nil { + testFatal(t, err) + } + + if _, err := c.Write(record); err != nil { + testFatal(t, err) + } + cli.Close() + }() + + srv := Server(s, testConfig) + expectedErr := "tls: handshake buffer not empty before HelloRetryRequest" + if err := srv.Handshake(); err == nil { + t.Fatal("expected error from incomplete handshake, got nil") + } else if err.Error() != expectedErr { + t.Fatalf("expected error %q, got %q", expectedErr, err.Error()) + } +} + +// concatHandshakeMessages marshals and concatenates the given handshake +// messages into a single record. +func concatHandshakeMessages(msgs ...handshakeMessage) ([]byte, error) { + var marshalled []byte + for _, msg := range msgs { + data, err := msg.marshal() + if err != nil { + return nil, err + } + marshalled = append(marshalled, data...) + } + m := len(marshalled) + outBuf := make([]byte, recordHeaderLen) + outBuf[0] = byte(recordTypeHandshake) + vers := VersionTLS12 + outBuf[1] = byte(vers >> 8) + outBuf[2] = byte(vers) + outBuf[3] = byte(m >> 8) + outBuf[4] = byte(m) + outBuf = append(outBuf, marshalled...) + return outBuf, nil +} diff --git a/internal/fips140tls/fipstls.go b/internal/fips140tls/fipstls.go index df03808d8f2..0b87185683a 100644 --- a/internal/fips140tls/fipstls.go +++ b/internal/fips140tls/fipstls.go @@ -1,5 +1,37 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package fips140tls controls whether crypto/tls requires FIPS-approved settings. package fips140tls +import ( + "crypto/fips140" + "sync/atomic" +) + +var required atomic.Bool + +func init() { + if fips140.Enabled() { + Force() + } +} + +// Force forces crypto/tls to restrict TLS configurations to FIPS-approved settings. +// By design, this call is impossible to undo (except in tests). +func Force() { + required.Store(true) +} + +// Required reports whether FIPS-approved settings are required. +// +// Required is true if FIPS 140-3 mode is enabled with GODEBUG=fips140=on, or if +// the crypto/tls/fipsonly package is imported by a Go+BoringCrypto build. func Required() bool { - return false + return required.Load() +} + +func TestingOnlyAbandon() { + required.Store(false) } diff --git a/internal/hkdf/hkdf.go b/internal/hkdf/hkdf.go deleted file mode 100644 index 184ef7b86f2..00000000000 --- a/internal/hkdf/hkdf.go +++ /dev/null @@ -1,24 +0,0 @@ -package hkdf - -import ( - "crypto/hkdf" - "hash" -) - -func Extract[H hash.Hash](h func() H, secret, salt []byte) []byte { - res, err := hkdf.Extract(h, secret, salt) - if err != nil { - panic(err) - } - - return res -} - -func Expand[H hash.Hash](h func() H, pseudorandomKey []byte, info string, keyLength int) []byte { - res, err := hkdf.Expand(h, pseudorandomKey, info, keyLength) - if err != nil { - panic(err) - } - - return res -} diff --git a/internal/hpke/hpke.go b/internal/hpke/hpke.go deleted file mode 100644 index 68876610cca..00000000000 --- a/internal/hpke/hpke.go +++ /dev/null @@ -1,333 +0,0 @@ -// Copyright 2024 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package hpke - -import ( - "crypto" - "crypto/aes" - "crypto/cipher" - "crypto/ecdh" - "crypto/rand" - "errors" - "math/bits" - - "github.com/refraction-networking/utls/internal/byteorder" - "github.com/refraction-networking/utls/internal/hkdf" - "golang.org/x/crypto/chacha20poly1305" -) - -// testingOnlyGenerateKey is only used during testing, to provide -// a fixed test key to use when checking the RFC 9180 vectors. -var testingOnlyGenerateKey func() (*ecdh.PrivateKey, error) - -type hkdfKDF struct { - hash crypto.Hash -} - -func (kdf *hkdfKDF) LabeledExtract(sid []byte, salt []byte, label string, inputKey []byte) []byte { - labeledIKM := make([]byte, 0, 7+len(sid)+len(label)+len(inputKey)) - labeledIKM = append(labeledIKM, []byte("HPKE-v1")...) - labeledIKM = append(labeledIKM, sid...) - labeledIKM = append(labeledIKM, label...) - labeledIKM = append(labeledIKM, inputKey...) - return hkdf.Extract(kdf.hash.New, labeledIKM, salt) -} - -func (kdf *hkdfKDF) LabeledExpand(suiteID []byte, randomKey []byte, label string, info []byte, length uint16) []byte { - labeledInfo := make([]byte, 0, 2+7+len(suiteID)+len(label)+len(info)) - labeledInfo = byteorder.BEAppendUint16(labeledInfo, length) - labeledInfo = append(labeledInfo, []byte("HPKE-v1")...) - labeledInfo = append(labeledInfo, suiteID...) - labeledInfo = append(labeledInfo, label...) - labeledInfo = append(labeledInfo, info...) - return hkdf.Expand(kdf.hash.New, randomKey, string(labeledInfo), int(length)) -} - -// dhKEM implements the KEM specified in RFC 9180, Section 4.1. -type dhKEM struct { - dh ecdh.Curve - kdf hkdfKDF - - suiteID []byte - nSecret uint16 -} - -type KemID uint16 - -const DHKEM_X25519_HKDF_SHA256 = 0x0020 - -var SupportedKEMs = map[uint16]struct { - curve ecdh.Curve - hash crypto.Hash - nSecret uint16 -}{ - // RFC 9180 Section 7.1 - DHKEM_X25519_HKDF_SHA256: {ecdh.X25519(), crypto.SHA256, 32}, -} - -func newDHKem(kemID uint16) (*dhKEM, error) { - suite, ok := SupportedKEMs[kemID] - if !ok { - return nil, errors.New("unsupported suite ID") - } - return &dhKEM{ - dh: suite.curve, - kdf: hkdfKDF{suite.hash}, - suiteID: byteorder.BEAppendUint16([]byte("KEM"), kemID), - nSecret: suite.nSecret, - }, nil -} - -func (dh *dhKEM) ExtractAndExpand(dhKey, kemContext []byte) []byte { - eaePRK := dh.kdf.LabeledExtract(dh.suiteID[:], nil, "eae_prk", dhKey) - return dh.kdf.LabeledExpand(dh.suiteID[:], eaePRK, "shared_secret", kemContext, dh.nSecret) -} - -func (dh *dhKEM) Encap(pubRecipient *ecdh.PublicKey) (sharedSecret []byte, encapPub []byte, err error) { - var privEph *ecdh.PrivateKey - if testingOnlyGenerateKey != nil { - privEph, err = testingOnlyGenerateKey() - } else { - privEph, err = dh.dh.GenerateKey(rand.Reader) - } - if err != nil { - return nil, nil, err - } - dhVal, err := privEph.ECDH(pubRecipient) - if err != nil { - return nil, nil, err - } - encPubEph := privEph.PublicKey().Bytes() - - encPubRecip := pubRecipient.Bytes() - kemContext := append(encPubEph, encPubRecip...) - - return dh.ExtractAndExpand(dhVal, kemContext), encPubEph, nil -} - -func (dh *dhKEM) Decap(encPubEph []byte, secRecipient *ecdh.PrivateKey) ([]byte, error) { - pubEph, err := dh.dh.NewPublicKey(encPubEph) - if err != nil { - return nil, err - } - dhVal, err := secRecipient.ECDH(pubEph) - if err != nil { - return nil, err - } - kemContext := append(encPubEph, secRecipient.PublicKey().Bytes()...) - - return dh.ExtractAndExpand(dhVal, kemContext), nil -} - -type context struct { - aead cipher.AEAD - - sharedSecret []byte - - suiteID []byte - - key []byte - baseNonce []byte - exporterSecret []byte - - seqNum uint128 -} - -type Sender struct { - *context -} - -type Receipient struct { - *context -} - -var aesGCMNew = func(key []byte) (cipher.AEAD, error) { - block, err := aes.NewCipher(key) - if err != nil { - return nil, err - } - return cipher.NewGCM(block) -} - -type AEADID uint16 - -const ( - AEAD_AES_128_GCM = 0x0001 - AEAD_AES_256_GCM = 0x0002 - AEAD_ChaCha20Poly1305 = 0x0003 -) - -var SupportedAEADs = map[uint16]struct { - keySize int - nonceSize int - aead func([]byte) (cipher.AEAD, error) -}{ - // RFC 9180, Section 7.3 - AEAD_AES_128_GCM: {keySize: 16, nonceSize: 12, aead: aesGCMNew}, - AEAD_AES_256_GCM: {keySize: 32, nonceSize: 12, aead: aesGCMNew}, - AEAD_ChaCha20Poly1305: {keySize: chacha20poly1305.KeySize, nonceSize: chacha20poly1305.NonceSize, aead: chacha20poly1305.New}, -} - -type KDFID uint16 - -const KDF_HKDF_SHA256 = 0x0001 - -var SupportedKDFs = map[uint16]func() *hkdfKDF{ - // RFC 9180, Section 7.2 - KDF_HKDF_SHA256: func() *hkdfKDF { return &hkdfKDF{crypto.SHA256} }, -} - -func newContext(sharedSecret []byte, kemID, kdfID, aeadID uint16, info []byte) (*context, error) { - sid := suiteID(kemID, kdfID, aeadID) - - kdfInit, ok := SupportedKDFs[kdfID] - if !ok { - return nil, errors.New("unsupported KDF id") - } - kdf := kdfInit() - - aeadInfo, ok := SupportedAEADs[aeadID] - if !ok { - return nil, errors.New("unsupported AEAD id") - } - - pskIDHash := kdf.LabeledExtract(sid, nil, "psk_id_hash", nil) - infoHash := kdf.LabeledExtract(sid, nil, "info_hash", info) - ksContext := append([]byte{0}, pskIDHash...) - ksContext = append(ksContext, infoHash...) - - secret := kdf.LabeledExtract(sid, sharedSecret, "secret", nil) - - key := kdf.LabeledExpand(sid, secret, "key", ksContext, uint16(aeadInfo.keySize) /* Nk - key size for AEAD */) - baseNonce := kdf.LabeledExpand(sid, secret, "base_nonce", ksContext, uint16(aeadInfo.nonceSize) /* Nn - nonce size for AEAD */) - exporterSecret := kdf.LabeledExpand(sid, secret, "exp", ksContext, uint16(kdf.hash.Size()) /* Nh - hash output size of the kdf*/) - - aead, err := aeadInfo.aead(key) - if err != nil { - return nil, err - } - - return &context{ - aead: aead, - sharedSecret: sharedSecret, - suiteID: sid, - key: key, - baseNonce: baseNonce, - exporterSecret: exporterSecret, - }, nil -} - -func SetupSender(kemID, kdfID, aeadID uint16, pub *ecdh.PublicKey, info []byte) ([]byte, *Sender, error) { - kem, err := newDHKem(kemID) - if err != nil { - return nil, nil, err - } - sharedSecret, encapsulatedKey, err := kem.Encap(pub) - if err != nil { - return nil, nil, err - } - - context, err := newContext(sharedSecret, kemID, kdfID, aeadID, info) - if err != nil { - return nil, nil, err - } - - return encapsulatedKey, &Sender{context}, nil -} - -func SetupReceipient(kemID, kdfID, aeadID uint16, priv *ecdh.PrivateKey, info, encPubEph []byte) (*Receipient, error) { - kem, err := newDHKem(kemID) - if err != nil { - return nil, err - } - sharedSecret, err := kem.Decap(encPubEph, priv) - if err != nil { - return nil, err - } - - context, err := newContext(sharedSecret, kemID, kdfID, aeadID, info) - if err != nil { - return nil, err - } - - return &Receipient{context}, nil -} - -func (ctx *context) nextNonce() []byte { - nonce := ctx.seqNum.bytes()[16-ctx.aead.NonceSize():] - for i := range ctx.baseNonce { - nonce[i] ^= ctx.baseNonce[i] - } - return nonce -} - -func (ctx *context) incrementNonce() { - // Message limit is, according to the RFC, 2^95+1, which - // is somewhat confusing, but we do as we're told. - if ctx.seqNum.bitLen() >= (ctx.aead.NonceSize()*8)-1 { - panic("message limit reached") - } - ctx.seqNum = ctx.seqNum.addOne() -} - -func (s *Sender) Seal(aad, plaintext []byte) ([]byte, error) { - ciphertext := s.aead.Seal(nil, s.nextNonce(), plaintext, aad) - s.incrementNonce() - return ciphertext, nil -} - -func (r *Receipient) Open(aad, ciphertext []byte) ([]byte, error) { - plaintext, err := r.aead.Open(nil, r.nextNonce(), ciphertext, aad) - if err != nil { - return nil, err - } - r.incrementNonce() - return plaintext, nil -} - -func suiteID(kemID, kdfID, aeadID uint16) []byte { - suiteID := make([]byte, 0, 4+2+2+2) - suiteID = append(suiteID, []byte("HPKE")...) - suiteID = byteorder.BEAppendUint16(suiteID, kemID) - suiteID = byteorder.BEAppendUint16(suiteID, kdfID) - suiteID = byteorder.BEAppendUint16(suiteID, aeadID) - return suiteID -} - -func ParseHPKEPublicKey(kemID uint16, bytes []byte) (*ecdh.PublicKey, error) { - kemInfo, ok := SupportedKEMs[kemID] - if !ok { - return nil, errors.New("unsupported KEM id") - } - return kemInfo.curve.NewPublicKey(bytes) -} - -func ParseHPKEPrivateKey(kemID uint16, bytes []byte) (*ecdh.PrivateKey, error) { - kemInfo, ok := SupportedKEMs[kemID] - if !ok { - return nil, errors.New("unsupported KEM id") - } - return kemInfo.curve.NewPrivateKey(bytes) -} - -type uint128 struct { - hi, lo uint64 -} - -func (u uint128) addOne() uint128 { - lo, carry := bits.Add64(u.lo, 1, 0) - return uint128{u.hi + carry, lo} -} - -func (u uint128) bitLen() int { - return bits.Len64(u.hi) + bits.Len64(u.lo) -} - -func (u uint128) bytes() []byte { - b := make([]byte, 16) - byteorder.BEPutUint64(b[0:], u.hi) - byteorder.BEPutUint64(b[8:], u.lo) - return b -} diff --git a/internal/testenv/testenv.go b/internal/testenv/testenv.go new file mode 100644 index 00000000000..938c1ed2307 --- /dev/null +++ b/internal/testenv/testenv.go @@ -0,0 +1,30 @@ +// Copyright 2015 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package testenv provides information about what functionality +// is available in different testing environments run by the Go team. +// +// It is an internal package because these details are specific +// to the Go team's test setup (on build.golang.org) and not +// fundamental to tests in general. +package testenv + +import ( + "runtime" + "testing" +) + +// MustHaveExternalNetwork checks that the current system can use +// external (non-localhost) networks. +// If not, MustHaveExternalNetwork calls t.Skip with an explanation. +func MustHaveExternalNetwork(t testing.TB) { + if runtime.GOOS == "js" || runtime.GOOS == "wasip1" { + t.Helper() + t.Skipf("skipping test: no external network on %s", runtime.GOOS) + } + if testing.Short() { + t.Helper() + t.Skipf("skipping test: no external network in -short mode") + } +} diff --git a/internal/tls13/tls13.go b/internal/tls13/tls13.go index 6bd5d4df371..b5418fcd755 100644 --- a/internal/tls13/tls13.go +++ b/internal/tls13/tls13.go @@ -7,10 +7,10 @@ package tls13 import ( + "crypto/hkdf" fips140 "hash" "github.com/refraction-networking/utls/internal/byteorder" - "github.com/refraction-networking/utls/internal/hkdf" ) // We don't set the service indicator in this package but we delegate that to @@ -37,14 +37,22 @@ func ExpandLabel[H fips140.Hash](hash func() H, secret []byte, label string, con hkdfLabel = append(hkdfLabel, label...) hkdfLabel = append(hkdfLabel, byte(len(context))) hkdfLabel = append(hkdfLabel, context...) - return hkdf.Expand(hash, secret, string(hkdfLabel), length) + res, err := hkdf.Expand(hash, secret, string(hkdfLabel), length) + if err != nil { + panic("tls13: hkdf expand err" + err.Error()) + } + return res } func extract[H fips140.Hash](hash func() H, newSecret, currentSecret []byte) []byte { if newSecret == nil { newSecret = make([]byte, hash().Size()) } - return hkdf.Extract(hash, newSecret, currentSecret) + res, err := hkdf.Extract(hash, newSecret, currentSecret) + if err != nil { + panic("tls13: hkdf extract err" + err.Error()) + } + return res } func deriveSecret[H fips140.Hash](hash func() H, secret []byte, label string, transcript fips140.Hash) []byte { diff --git a/key_agreement.go b/key_agreement.go index 3e96242b979..ad2be5ddf9b 100644 --- a/key_agreement.go +++ b/key_agreement.go @@ -14,6 +14,7 @@ import ( "errors" "fmt" "io" + "slices" ) // A keyAgreement implements the client and server side of a TLS 1.0–1.2 key @@ -126,25 +127,8 @@ func md5SHA1Hash(slices [][]byte) []byte { } // hashForServerKeyExchange hashes the given slices and returns their digest -// using the given hash function (for TLS 1.2) or using a default based on -// the sigType (for earlier TLS versions). For Ed25519 signatures, which don't -// do pre-hashing, it returns the concatenation of the slices. -func hashForServerKeyExchange(sigType uint8, hashFunc crypto.Hash, version uint16, slices ...[]byte) []byte { - if sigType == signatureEd25519 { - var signed []byte - for _, slice := range slices { - signed = append(signed, slice...) - } - return signed - } - if version >= VersionTLS12 { - h := hashFunc.New() - for _, slice := range slices { - h.Write(slice) - } - digest := h.Sum(nil) - return digest - } +// using a hash based on the sigType. It can only be used for TLS 1.0 and 1.1. +func hashForServerKeyExchange(sigType uint8, slices ...[]byte) []byte { if sigType == signatureECDSA { return sha1Hash(slices) } @@ -158,31 +142,35 @@ func hashForServerKeyExchange(sigType uint8, hashFunc crypto.Hash, version uint1 type ecdheKeyAgreement struct { version uint16 isRSA bool - key *ecdh.PrivateKey // ckx and preMasterSecret are generated in processServerKeyExchange // and returned in generateClientKeyExchange. ckx *clientKeyExchangeMsg preMasterSecret []byte + + // curveID, signatureAlgorithm, and key are set by processServerKeyExchange + // and generateServerKeyExchange. + curveID CurveID + signatureAlgorithm SignatureScheme + key *ecdh.PrivateKey } func (ka *ecdheKeyAgreement) generateServerKeyExchange(config *Config, cert *Certificate, clientHello *clientHelloMsg, hello *serverHelloMsg) (*serverKeyExchangeMsg, error) { - var curveID CurveID for _, c := range clientHello.supportedCurves { if config.supportsCurve(ka.version, c) { - curveID = c + ka.curveID = c break } } - if curveID == 0 { + if ka.curveID == 0 { return nil, errors.New("tls: no supported elliptic curves offered") } - if _, ok := curveForCurveID(curveID); !ok { + if _, ok := curveForCurveID(ka.curveID); !ok { return nil, errors.New("tls: CurvePreferences includes unsupported curve") } - key, err := generateECDHEKey(config.rand(), curveID) + key, err := generateECDHEKey(config.rand(), ka.curveID) if err != nil { return nil, err } @@ -192,8 +180,8 @@ func (ka *ecdheKeyAgreement) generateServerKeyExchange(config *Config, cert *Cer ecdhePublic := key.PublicKey().Bytes() serverECDHEParams := make([]byte, 1+2+1+len(ecdhePublic)) serverECDHEParams[0] = 3 // named curve - serverECDHEParams[1] = byte(curveID >> 8) - serverECDHEParams[2] = byte(curveID) + serverECDHEParams[1] = byte(ka.curveID >> 8) + serverECDHEParams[2] = byte(ka.curveID) serverECDHEParams[3] = byte(len(ecdhePublic)) copy(serverECDHEParams[4:], ecdhePublic) @@ -202,37 +190,45 @@ func (ka *ecdheKeyAgreement) generateServerKeyExchange(config *Config, cert *Cer return nil, fmt.Errorf("tls: certificate private key of type %T does not implement crypto.Signer", cert.PrivateKey) } - var signatureAlgorithm SignatureScheme - var sigType uint8 - var sigHash crypto.Hash + var sig []byte if ka.version >= VersionTLS12 { - signatureAlgorithm, err = selectSignatureScheme(ka.version, cert, clientHello.supportedSignatureAlgorithms) + ka.signatureAlgorithm, err = selectSignatureScheme(ka.version, cert, clientHello.supportedSignatureAlgorithms) if err != nil { return nil, err } - sigType, sigHash, err = typeAndHashFromSignatureScheme(signatureAlgorithm) + sigType, sigHash, err := typeAndHashFromSignatureScheme(ka.signatureAlgorithm) if err != nil { return nil, err } + if sigHash == crypto.SHA1 { + tlssha1.Value() // ensure godebug is initialized + tlssha1.IncNonDefault() + } + signed := slices.Concat(clientHello.random, hello.random, serverECDHEParams) + if (sigType == signaturePKCS1v15 || sigType == signatureRSAPSS) != ka.isRSA { + return nil, errors.New("tls: certificate cannot be used with the selected cipher suite") + } + signOpts := crypto.SignerOpts(sigHash) + if sigType == signatureRSAPSS { + signOpts = &rsa.PSSOptions{SaltLength: rsa.PSSSaltLengthEqualsHash, Hash: sigHash} + } + sig, err = crypto.SignMessage(priv, config.rand(), signed, signOpts) + if err != nil { + return nil, errors.New("tls: failed to sign ECDHE parameters: " + err.Error()) + } } else { - sigType, sigHash, err = legacyTypeAndHashFromPublicKey(priv.Public()) + sigType, sigHash, err := legacyTypeAndHashFromPublicKey(priv.Public()) if err != nil { return nil, err } - } - if (sigType == signaturePKCS1v15 || sigType == signatureRSAPSS) != ka.isRSA { - return nil, errors.New("tls: certificate cannot be used with the selected cipher suite") - } - - signed := hashForServerKeyExchange(sigType, sigHash, ka.version, clientHello.random, hello.random, serverECDHEParams) - - signOpts := crypto.SignerOpts(sigHash) - if sigType == signatureRSAPSS { - signOpts = &rsa.PSSOptions{SaltLength: rsa.PSSSaltLengthEqualsHash, Hash: sigHash} - } - sig, err := priv.Sign(config.rand(), signed, signOpts) - if err != nil { - return nil, errors.New("tls: failed to sign ECDHE parameters: " + err.Error()) + signed := hashForServerKeyExchange(sigType, clientHello.random, hello.random, serverECDHEParams) + if (sigType == signaturePKCS1v15) != ka.isRSA { + return nil, errors.New("tls: certificate cannot be used with the selected cipher suite") + } + sig, err = priv.Sign(config.rand(), signed, sigHash) + if err != nil { + return nil, errors.New("tls: failed to sign ECDHE parameters: " + err.Error()) + } } skx := new(serverKeyExchangeMsg) @@ -244,8 +240,8 @@ func (ka *ecdheKeyAgreement) generateServerKeyExchange(config *Config, cert *Cer copy(skx.key, serverECDHEParams) k := skx.key[len(serverECDHEParams):] if ka.version >= VersionTLS12 { - k[0] = byte(signatureAlgorithm >> 8) - k[1] = byte(signatureAlgorithm) + k[0] = byte(ka.signatureAlgorithm >> 8) + k[1] = byte(ka.signatureAlgorithm) k = k[2:] } k[0] = byte(len(sig) >> 8) @@ -279,7 +275,7 @@ func (ka *ecdheKeyAgreement) processServerKeyExchange(config *Config, clientHell if skx.key[0] != 3 { // named curve return errors.New("tls: server selected unsupported curve") } - curveID := CurveID(skx.key[1])<<8 | CurveID(skx.key[2]) + ka.curveID = CurveID(skx.key[1])<<8 | CurveID(skx.key[2]) publicLen := int(skx.key[3]) if publicLen+4 > len(skx.key) { @@ -292,12 +288,28 @@ func (ka *ecdheKeyAgreement) processServerKeyExchange(config *Config, clientHell if len(sig) < 2 { return errServerKeyExchange } + if ka.version >= VersionTLS12 { + ka.signatureAlgorithm = SignatureScheme(sig[0])<<8 | SignatureScheme(sig[1]) + sig = sig[2:] + if len(sig) < 2 { + return errServerKeyExchange + } + } + sigLen := int(sig[0])<<8 | int(sig[1]) + if sigLen+2 != len(sig) { + return errServerKeyExchange + } + sig = sig[2:] - if _, ok := curveForCurveID(curveID); !ok { + if !slices.Contains(clientHello.supportedCurves, ka.curveID) { + return errors.New("tls: server selected unoffered curve") + } + + if _, ok := curveForCurveID(ka.curveID); !ok { return errors.New("tls: server selected unsupported curve") } - key, err := generateECDHEKey(config.rand(), curveID) + key, err := generateECDHEKey(config.rand(), ka.curveID) if err != nil { return err } @@ -321,39 +333,38 @@ func (ka *ecdheKeyAgreement) processServerKeyExchange(config *Config, clientHell var sigType uint8 var sigHash crypto.Hash if ka.version >= VersionTLS12 { - signatureAlgorithm := SignatureScheme(sig[0])<<8 | SignatureScheme(sig[1]) - sig = sig[2:] - if len(sig) < 2 { - return errServerKeyExchange - } - - if !isSupportedSignatureAlgorithm(signatureAlgorithm, clientHello.supportedSignatureAlgorithms) { + if !isSupportedSignatureAlgorithm(ka.signatureAlgorithm, clientHello.supportedSignatureAlgorithms) { return errors.New("tls: certificate used with invalid signature algorithm") } - sigType, sigHash, err = typeAndHashFromSignatureScheme(signatureAlgorithm) + sigType, sigHash, err = typeAndHashFromSignatureScheme(ka.signatureAlgorithm) if err != nil { return err } + if sigHash == crypto.SHA1 { + tlssha1.Value() // ensure godebug is initialized + tlssha1.IncNonDefault() + } + if (sigType == signaturePKCS1v15 || sigType == signatureRSAPSS) != ka.isRSA { + return errServerKeyExchange + } + signed := slices.Concat(clientHello.random, serverHello.random, serverECDHEParams) + if err := verifyHandshakeSignature(sigType, cert.PublicKey, sigHash, signed, sig); err != nil { + return errors.New("tls: invalid signature by the server certificate: " + err.Error()) + } } else { sigType, sigHash, err = legacyTypeAndHashFromPublicKey(cert.PublicKey) if err != nil { return err } + if (sigType == signaturePKCS1v15) != ka.isRSA { + return errServerKeyExchange + } + signed := hashForServerKeyExchange(sigType, clientHello.random, serverHello.random, serverECDHEParams) + if err := verifyLegacyHandshakeSignature(sigType, cert.PublicKey, sigHash, signed, sig); err != nil { + return errors.New("tls: invalid signature by the server certificate: " + err.Error()) + } } - if (sigType == signaturePKCS1v15 || sigType == signatureRSAPSS) != ka.isRSA { - return errServerKeyExchange - } - - sigLen := int(sig[0])<<8 | int(sig[1]) - if sigLen+2 != len(sig) { - return errServerKeyExchange - } - sig = sig[2:] - signed := hashForServerKeyExchange(sigType, sigHash, ka.version, clientHello.random, serverHello.random, serverECDHEParams) - if err := verifyHandshakeSignature(sigType, cert.PublicKey, sigHash, signed, sig); err != nil { - return errors.New("tls: invalid signature by the server certificate: " + err.Error()) - } return nil } @@ -364,3 +375,29 @@ func (ka *ecdheKeyAgreement) generateClientKeyExchange(config *Config, clientHel return ka.preMasterSecret, ka.ckx, nil } + +// generateECDHEKey returns a PrivateKey that implements Diffie-Hellman +// according to RFC 8446, Section 4.2.8.2. +func generateECDHEKey(rand io.Reader, curveID CurveID) (*ecdh.PrivateKey, error) { + curve, ok := curveForCurveID(curveID) + if !ok { + return nil, errors.New("tls: internal error: unsupported curve") + } + + return curve.GenerateKey(rand) +} + +func curveForCurveID(id CurveID) (ecdh.Curve, bool) { + switch id { + case X25519: + return ecdh.X25519(), true + case CurveP256: + return ecdh.P256(), true + case CurveP384: + return ecdh.P384(), true + case CurveP521: + return ecdh.P521(), true + default: + return nil, false + } +} diff --git a/key_schedule.go b/key_schedule.go index 0afa04bd2a9..96563695243 100644 --- a/key_schedule.go +++ b/key_schedule.go @@ -5,6 +5,7 @@ package tls import ( + "crypto" "crypto/ecdh" "crypto/hmac" "crypto/mlkem" @@ -51,51 +52,241 @@ func (c *cipherSuiteTLS13) exportKeyingMaterial(s *tls13.MasterSecret, transcrip } type keySharePrivateKeys struct { - curveID CurveID - ecdhe *ecdh.PrivateKey - mlkem *mlkem.DecapsulationKey768 + ecdhe *ecdh.PrivateKey + mlkem crypto.Decapsulator + mlkemEcdhe *ecdh.PrivateKey // [uTLS] seperate ecdhe key for pq keyshare in line with Chrome, instead of reusing ecdhe key like stdlib } -const x25519PublicKeySize = 32 +// A keyExchange implements a TLS 1.3 KEM. +type keyExchange interface { + // keyShares generates one or two key shares. + // + // The first one will match the id, the second (if present) reuses the + // traditional component of the requested hybrid, as allowed by + // draft-ietf-tls-hybrid-design-09, Section 3.2. + keyShares(rand io.Reader) (*keySharePrivateKeys, []keyShare, error) -// generateECDHEKey returns a PrivateKey that implements Diffie-Hellman -// according to RFC 8446, Section 4.2.8.2. -func generateECDHEKey(rand io.Reader, curveID CurveID) (*ecdh.PrivateKey, error) { - curve, ok := curveForCurveID(curveID) - if !ok { - return nil, errors.New("tls: internal error: unsupported curve") - } + // serverSharedSecret computes the shared secret and the server's key share. + serverSharedSecret(rand io.Reader, clientKeyShare []byte) ([]byte, keyShare, error) - return curve.GenerateKey(rand) + // clientSharedSecret computes the shared secret given the server's key + // share and the keys generated by keyShares. + clientSharedSecret(priv *keySharePrivateKeys, serverKeyShare []byte) ([]byte, error) } -func curveForCurveID(id CurveID) (ecdh.Curve, bool) { +func keyExchangeForCurveID(id CurveID) (keyExchange, error) { + newMLKEMPrivateKey768 := func(b []byte) (crypto.Decapsulator, error) { + return mlkem.NewDecapsulationKey768(b) + } + newMLKEMPrivateKey1024 := func(b []byte) (crypto.Decapsulator, error) { + return mlkem.NewDecapsulationKey1024(b) + } + newMLKEMPublicKey768 := func(b []byte) (crypto.Encapsulator, error) { + return mlkem.NewEncapsulationKey768(b) + } + newMLKEMPublicKey1024 := func(b []byte) (crypto.Encapsulator, error) { + return mlkem.NewEncapsulationKey1024(b) + } switch id { case X25519: - return ecdh.X25519(), true + return &ecdhKeyExchange{id, ecdh.X25519()}, nil case CurveP256: - return ecdh.P256(), true + return &ecdhKeyExchange{id, ecdh.P256()}, nil case CurveP384: - return ecdh.P384(), true + return &ecdhKeyExchange{id, ecdh.P384()}, nil case CurveP521: - return ecdh.P521(), true + return &ecdhKeyExchange{id, ecdh.P521()}, nil + case X25519MLKEM768: + return &hybridKeyExchange{id, ecdhKeyExchange{X25519, ecdh.X25519()}, + 32, mlkem.EncapsulationKeySize768, mlkem.CiphertextSize768, + newMLKEMPrivateKey768, newMLKEMPublicKey768}, nil + case SecP256r1MLKEM768: + return &hybridKeyExchange{id, ecdhKeyExchange{CurveP256, ecdh.P256()}, + 65, mlkem.EncapsulationKeySize768, mlkem.CiphertextSize768, + newMLKEMPrivateKey768, newMLKEMPublicKey768}, nil + case SecP384r1MLKEM1024: + return &hybridKeyExchange{id, ecdhKeyExchange{CurveP384, ecdh.P384()}, + 97, mlkem.EncapsulationKeySize1024, mlkem.CiphertextSize1024, + newMLKEMPrivateKey1024, newMLKEMPublicKey1024}, nil + //[uTLS] SECTION START + case X25519Kyber768Draft00: + return &hybridKeyExchange{id, ecdhKeyExchange{X25519, ecdh.X25519()}, + 32, mlkem.EncapsulationKeySize768, mlkem.CiphertextSize768, + newMLKEMPrivateKey768, newMLKEMPublicKey768}, nil + //[uTLS] SECTION END default: - return nil, false + return nil, errors.New("tls: unsupported key exchange") } } -func curveIDForCurve(curve ecdh.Curve) (CurveID, bool) { - switch curve { - case ecdh.X25519(): - return X25519, true - case ecdh.P256(): - return CurveP256, true - case ecdh.P384(): - return CurveP384, true - case ecdh.P521(): - return CurveP521, true - default: - return 0, false +type ecdhKeyExchange struct { + id CurveID + curve ecdh.Curve +} + +func (ke *ecdhKeyExchange) keyShares(rand io.Reader) (*keySharePrivateKeys, []keyShare, error) { + priv, err := ke.curve.GenerateKey(rand) + if err != nil { + return nil, nil, err + } + return &keySharePrivateKeys{ecdhe: priv}, []keyShare{{ke.id, priv.PublicKey().Bytes()}}, nil +} + +func (ke *ecdhKeyExchange) serverSharedSecret(rand io.Reader, clientKeyShare []byte) ([]byte, keyShare, error) { + key, err := ke.curve.GenerateKey(rand) + if err != nil { + return nil, keyShare{}, err + } + peerKey, err := ke.curve.NewPublicKey(clientKeyShare) + if err != nil { + return nil, keyShare{}, err + } + sharedKey, err := key.ECDH(peerKey) + if err != nil { + return nil, keyShare{}, err + } + return sharedKey, keyShare{ke.id, key.PublicKey().Bytes()}, nil +} + +func (ke *ecdhKeyExchange) clientSharedSecret(priv *keySharePrivateKeys, serverKeyShare []byte) ([]byte, error) { + //[uTLS] SECTION START + return ke.clientSharedSecretChooseEcdhe(priv, serverKeyShare, false) +} + +func (ke *ecdhKeyExchange) clientSharedSecretChooseEcdhe(priv *keySharePrivateKeys, serverKeyShare []byte, useSeperateEcdhe bool) ([]byte, error) { + //[uTLS] SECTION END + peerKey, err := ke.curve.NewPublicKey(serverKeyShare) + if err != nil { + return nil, err + } + //[uTLS] SECTION START + ecdhe := priv.ecdhe + if useSeperateEcdhe { + if priv.mlkemEcdhe == nil { + return nil, errors.New("tls: missing separate hybrid ECDHE private key") + } + ecdhe = priv.mlkemEcdhe + } + if ecdhe == nil { + return nil, errors.New("tls: missing ECDHE private key") + } + sharedKey, err := ecdhe.ECDH(peerKey) + //[uTLS] SECTION END + if err != nil { + return nil, err + } + return sharedKey, nil +} + +type hybridKeyExchange struct { + id CurveID + ecdh ecdhKeyExchange + + ecdhElementSize int + mlkemPublicKeySize int + mlkemCiphertextSize int + + newMLKEMPrivateKey func([]byte) (crypto.Decapsulator, error) + newMLKEMPublicKey func([]byte) (crypto.Encapsulator, error) +} + +func (ke *hybridKeyExchange) keyShares(rand io.Reader) (*keySharePrivateKeys, []keyShare, error) { + priv, ecdhShares, err := ke.ecdh.keyShares(rand) + if err != nil { + return nil, nil, err + } + seed := make([]byte, mlkem.SeedSize) + if _, err := io.ReadFull(rand, seed); err != nil { + return nil, nil, err + } + priv.mlkem, err = ke.newMLKEMPrivateKey(seed) + if err != nil { + return nil, nil, err + } + var shareData []byte + // For X25519MLKEM768, the ML-KEM-768 encapsulation key comes first. + // For SecP256r1MLKEM768 and SecP384r1MLKEM1024, the ECDH share comes first. + // See draft-ietf-tls-ecdhe-mlkem-02, Section 4.1. + if ke.id == X25519MLKEM768 { + shareData = append(priv.mlkem.Encapsulator().Bytes(), ecdhShares[0].data...) + } else { + shareData = append(ecdhShares[0].data, priv.mlkem.Encapsulator().Bytes()...) + } + return priv, []keyShare{{ke.id, shareData}, ecdhShares[0]}, nil +} + +func (ke *hybridKeyExchange) serverSharedSecret(rand io.Reader, clientKeyShare []byte) ([]byte, keyShare, error) { + if len(clientKeyShare) != ke.ecdhElementSize+ke.mlkemPublicKeySize { + return nil, keyShare{}, errors.New("tls: invalid client key share length for hybrid key exchange") + } + var ecdhShareData, mlkemShareData []byte + if ke.id == X25519MLKEM768 { + mlkemShareData = clientKeyShare[:ke.mlkemPublicKeySize] + ecdhShareData = clientKeyShare[ke.mlkemPublicKeySize:] + } else { + ecdhShareData = clientKeyShare[:ke.ecdhElementSize] + mlkemShareData = clientKeyShare[ke.ecdhElementSize:] + } + ecdhSharedSecret, ks, err := ke.ecdh.serverSharedSecret(rand, ecdhShareData) + if err != nil { + return nil, keyShare{}, err + } + mlkemPeerKey, err := ke.newMLKEMPublicKey(mlkemShareData) + if err != nil { + return nil, keyShare{}, err + } + mlkemSharedSecret, mlkemKeyShare := mlkemPeerKey.Encapsulate() + //[uTLS] SECTION START + if ke.id == X25519Kyber768Draft00 { + mlkemSharedSecret = kyberSharedSecret(mlkemKeyShare, mlkemSharedSecret) + } + //[uTLS] SECTION END + var sharedKey []byte + if ke.id == X25519MLKEM768 { + sharedKey = append(mlkemSharedSecret, ecdhSharedSecret...) + ks.data = append(mlkemKeyShare, ks.data...) + } else { + sharedKey = append(ecdhSharedSecret, mlkemSharedSecret...) + ks.data = append(ks.data, mlkemKeyShare...) + } + ks.group = ke.id + return sharedKey, ks, nil +} + +func (ke *hybridKeyExchange) clientSharedSecret(priv *keySharePrivateKeys, serverKeyShare []byte) ([]byte, error) { + if len(serverKeyShare) != ke.ecdhElementSize+ke.mlkemCiphertextSize { + return nil, errors.New("tls: invalid server key share length for hybrid key exchange") + } + var ecdhShareData, mlkemShareData []byte + if ke.id == X25519MLKEM768 { + mlkemShareData = serverKeyShare[:ke.mlkemCiphertextSize] + ecdhShareData = serverKeyShare[ke.mlkemCiphertextSize:] + } else { + ecdhShareData = serverKeyShare[:ke.ecdhElementSize] + mlkemShareData = serverKeyShare[ke.ecdhElementSize:] + } + //[uTLS] SECTION START + useSeperateEcdhe := ke.id == X25519Kyber768Draft00 || priv.mlkemEcdhe != nil + ecdhSharedSecret, err := ke.ecdh.clientSharedSecretChooseEcdhe(priv, ecdhShareData, useSeperateEcdhe) + //[uTLS] SECTION END + if err != nil { + return nil, err + } + mlkemSharedSecret, err := priv.mlkem.Decapsulate(mlkemShareData) + //[uTLS] SECTION START + if ke.id == X25519Kyber768Draft00 { + mlkemSharedSecret = kyberSharedSecret(mlkemShareData, mlkemSharedSecret) + } + //[uTLS] SECTION END + if err != nil { + return nil, err + } + var sharedKey []byte + if ke.id == X25519MLKEM768 { + sharedKey = append(mlkemSharedSecret, ecdhSharedSecret...) + } else { + sharedKey = append(ecdhSharedSecret, mlkemSharedSecret...) } + return sharedKey, nil } diff --git a/link_test.go b/link_test.go deleted file mode 100644 index c034e9364b6..00000000000 --- a/link_test.go +++ /dev/null @@ -1,108 +0,0 @@ -// Copyright 2020 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package tls - -import ( - "bytes" - "os" - "os/exec" - "path/filepath" - "testing" - - "github.com/refraction-networking/utls/testenv" -) - -// Tests that the linker is able to remove references to the Client or Server if unused. -func TestLinkerGC(t *testing.T) { - if testing.Short() { - t.Skip("skipping in short mode") - } - t.Parallel() - goBin := testenv.GoToolPath(t) - testenv.MustHaveGoBuild(t) - - tests := []struct { - name string - program string - want []string - bad []string - }{ - { - name: "empty_import", - program: `package main -import _ "crypto/tls" -func main() {} -`, - bad: []string{ - "tls.(*Conn)", - "type:crypto/tls.clientHandshakeState", - "type:crypto/tls.serverHandshakeState", - }, - }, - { - name: "client_and_server", - program: `package main -import "crypto/tls" -func main() { - tls.Dial("", "", nil) - tls.Server(nil, nil) -} -`, - want: []string{ - "crypto/tls.(*Conn).clientHandshake", - "crypto/tls.(*Conn).serverHandshake", - }, - }, - { - name: "only_client", - program: `package main -import "crypto/tls" -func main() { tls.Dial("", "", nil) } -`, - want: []string{ - "crypto/tls.(*Conn).clientHandshake", - }, - bad: []string{ - "crypto/tls.(*Conn).serverHandshake", - }, - }, - // TODO: add only_server like func main() { tls.Server(nil, nil) } - // That currently brings in the client via Conn.handleRenegotiation. - - } - tmpDir := t.TempDir() - goFile := filepath.Join(tmpDir, "x.go") - exeFile := filepath.Join(tmpDir, "x.exe") - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - if err := os.WriteFile(goFile, []byte(tt.program), 0644); err != nil { - t.Fatal(err) - } - os.Remove(exeFile) - cmd := exec.Command(goBin, "build", "-o", "x.exe", "x.go") - cmd.Dir = tmpDir - if out, err := cmd.CombinedOutput(); err != nil { - t.Fatalf("compile: %v, %s", err, out) - } - - cmd = exec.Command(goBin, "tool", "nm", "x.exe") - cmd.Dir = tmpDir - nm, err := cmd.CombinedOutput() - if err != nil { - t.Fatalf("nm: %v, %s", err, nm) - } - for _, sym := range tt.want { - if !bytes.Contains(nm, []byte(sym)) { - t.Errorf("expected symbol %q not found", sym) - } - } - for _, sym := range tt.bad { - if bytes.Contains(nm, []byte(sym)) { - t.Errorf("unexpected symbol %q found", sym) - } - } - }) - } -} diff --git a/prf.go b/prf.go index 2c638ba8921..6c58fddcbeb 100644 --- a/prf.go +++ b/prf.go @@ -222,23 +222,9 @@ func (h finishedHash) serverSum(masterSecret []byte) []byte { return h.prf(masterSecret, serverFinishedLabel, h.Sum(), finishedVerifyLength) } -// hashForClientCertificate returns the handshake messages so far, pre-hashed if -// necessary, suitable for signing by a TLS client certificate. -func (h finishedHash) hashForClientCertificate(sigType uint8, hashAlg crypto.Hash) []byte { - if (h.version >= VersionTLS12 || sigType == signatureEd25519) && h.buffer == nil { - panic("tls: handshake hash for a client certificate requested after discarding the handshake buffer") - } - - if sigType == signatureEd25519 { - return h.buffer - } - - if h.version >= VersionTLS12 { - hash := hashAlg.New() - hash.Write(h.buffer) - return hash.Sum(nil) - } - +// hashForClientCertificate returns the handshake messages so far, pre-hashed, +// suitable for signing by a TLS 1.0 and 1.1 client certificate. +func (h finishedHash) hashForClientCertificate(sigType uint8) []byte { if sigType == signatureECDSA { return h.server.Sum(nil) } diff --git a/quic.go b/quic.go index ba8a235d84a..c7d8508acb7 100644 --- a/quic.go +++ b/quic.go @@ -117,6 +117,11 @@ const ( // The application may modify the [SessionState] before storing it. // This event only occurs on client connections. QUICStoreSession + + // QUICErrorEvent indicates that a fatal error has occurred. + // The handshake cannot proceed and the connection must be closed. + // QUICEvent.Err is set. + QUICErrorEvent ) // A QUICEvent is an event occurring on a QUIC connection. @@ -138,6 +143,10 @@ type QUICEvent struct { // Set for QUICResumeSession and QUICStoreSession. SessionState *SessionState + + // Set for QUICErrorEvent. + // The error will wrap AlertError. + Err error } type quicState struct { @@ -153,10 +162,11 @@ type quicState struct { started bool signalc chan struct{} // handshake data is available to be read blockedc chan struct{} // handshake is waiting for data, closed when done - cancelc <-chan struct{} // handshake has been canceled + ctx context.Context // handshake context cancel context.CancelFunc waitingForDrain bool + errorReturned bool // readbuf is shared between HandleData and the handshake goroutine. // HandshakeCryptoData passes ownership to the handshake goroutine by @@ -221,7 +231,7 @@ func (q *QUICConn) NextEvent() QUICEvent { qs := q.conn.quic if last := qs.nextEvent - 1; last >= 0 && len(qs.events[last].Data) > 0 { // Write over some of the previous event's data, - // to catch callers erroniously retaining it. + // to catch callers erroneously retaining it. qs.events[last].Data[0] = 0 } if qs.nextEvent >= len(qs.events) && qs.waitingForDrain { @@ -229,6 +239,15 @@ func (q *QUICConn) NextEvent() QUICEvent { <-qs.signalc <-qs.blockedc } + if err := q.conn.handshakeErr; err != nil { + if qs.errorReturned { + return QUICEvent{Kind: QUICNoEvent} + } + qs.errorReturned = true + qs.events = nil + qs.nextEvent = 0 + return QUICEvent{Kind: QUICErrorEvent, Err: q.conn.handshakeErr} + } if qs.nextEvent >= len(qs.events) { qs.events = qs.events[:0] qs.nextEvent = 0 @@ -242,10 +261,11 @@ func (q *QUICConn) NextEvent() QUICEvent { // Close closes the connection and stops any in-progress handshake. func (q *QUICConn) Close() error { - if q.conn.quic.cancel == nil { + if q.conn.quic.ctx == nil { return nil // never started } q.conn.quic.cancel() + <-q.conn.quic.signalc for range q.conn.quic.blockedc { // Wait for the handshake goroutine to return. } @@ -302,6 +322,9 @@ type QUICSessionTicketOptions struct { // Currently, it can only be called once. func (q *QUICConn) SendSessionTicket(opts QUICSessionTicketOptions) error { c := q.conn + if c.config.SessionTicketsDisabled { + return nil + } if !c.isHandshakeComplete.Load() { return quicError(errors.New("tls: SendSessionTicket called before handshake completed")) } @@ -359,12 +382,11 @@ func quicError(err error) error { if err == nil { return nil } - var ae AlertError - if errors.As(err, &ae) { + if _, ok := errors.AsType[AlertError](err); ok { return err } - var a alert - if !errors.As(err, &a) { + a, ok := errors.AsType[alert](err) + if !ok { a = alertInternalError } // Return an error wrapping the original error and an AlertError. @@ -381,13 +403,22 @@ func (c *Conn) quicReadHandshakeBytes(n int) error { return nil } -func (c *Conn) quicSetReadSecret(level QUICEncryptionLevel, suite uint16, secret []byte) { +func (c *Conn) quicSetReadSecret(level QUICEncryptionLevel, suite uint16, secret []byte) error { + // Ensure that there are no buffered handshake messages before changing the + // read keys, since that can cause messages to be parsed that were encrypted + // using old keys which are no longer appropriate. + // TODO(roland): we should merge this check with the similar one in setReadTrafficSecret. + if c.hand.Len() != 0 { + c.sendAlert(alertUnexpectedMessage) + return errors.New("tls: handshake buffer not empty before setting read traffic secret") + } c.quic.events = append(c.quic.events, QUICEvent{ Kind: QUICSetReadSecret, Level: level, Suite: suite, Data: secret, }) + return nil } func (c *Conn) quicSetWriteSecret(level QUICEncryptionLevel, suite uint16, secret []byte) { @@ -481,20 +512,16 @@ func (c *Conn) quicWaitForSignal() error { // Send on blockedc to notify the QUICConn that the handshake is blocked. // Exported methods of QUICConn wait for the handshake to become blocked // before returning to the user. - select { - case c.quic.blockedc <- struct{}{}: - case <-c.quic.cancelc: - return c.sendAlertLocked(alertCloseNotify) - } + c.quic.blockedc <- struct{}{} // The QUICConn reads from signalc to notify us that the handshake may // be able to proceed. (The QUICConn reads, because we close signalc to // indicate that the handshake has completed.) - select { - case c.quic.signalc <- struct{}{}: - c.hand.Write(c.quic.readbuf) - c.quic.readbuf = nil - case <-c.quic.cancelc: + c.quic.signalc <- struct{}{} + if c.quic.ctx.Err() != nil { + // The connection has been canceled. return c.sendAlertLocked(alertCloseNotify) } + c.hand.Write(c.quic.readbuf) + c.quic.readbuf = nil return nil } diff --git a/quic_test.go b/quic_test.go index 1bb2e55bddc..0cf8b337e16 100644 --- a/quic_test.go +++ b/quic_test.go @@ -8,7 +8,10 @@ import ( "bytes" "context" "errors" + "fmt" "reflect" + "strings" + "sync" "testing" ) @@ -20,6 +23,7 @@ type testQUICConn struct { ticketOpts QUICSessionTicketOptions onResumeSession func(*SessionState) gotParams []byte + gotError error earlyDataRejected bool complete bool } @@ -108,6 +112,9 @@ func runTestQUICConnection(ctx context.Context, cli, srv *testQUICConn, onEvent if onEvent != nil && onEvent(e, a, b) { continue } + if a.gotError != nil && e.Kind != QUICNoEvent { + return fmt.Errorf("unexpected event %v after QUICErrorEvent", e.Kind) + } switch e.Kind { case QUICNoEvent: idleCount++ @@ -151,6 +158,11 @@ func runTestQUICConnection(ctx context.Context, cli, srv *testQUICConn, onEvent } case QUICRejectedEarlyData: a.earlyDataRejected = true + case QUICErrorEvent: + if e.Err == nil { + return errors.New("unexpected QUICErrorEvent with no Err") + } + a.gotError = e.Err } if e.Kind != QUICNoEvent { idleCount = 0 @@ -230,6 +242,18 @@ func TestQUICSessionResumption(t *testing.T) { if !cli2.conn.ConnectionState().DidResume { t.Errorf("second connection did not use session resumption") } + + clientConfig.TLSConfig.SessionTicketsDisabled = true + cli3 := newTestQUICClient(t, clientConfig) + cli3.conn.SetTransportParameters(nil) + srv3 := newTestQUICServer(t, serverConfig) + srv3.conn.SetTransportParameters(nil) + if err := runTestQUICConnection(context.Background(), cli3, srv3, nil); err != nil { + t.Fatalf("error during third connection handshake: %v", err) + } + if cli3.conn.ConnectionState().DidResume { + t.Errorf("third connection unexpectedly used session resumption") + } } func TestQUICFragmentaryData(t *testing.T) { @@ -278,7 +302,7 @@ func TestQUICPostHandshakeClientAuthentication(t *testing.T) { certReq := new(certificateRequestMsgTLS13) certReq.ocspStapling = true certReq.scts = true - certReq.supportedSignatureAlgorithms = supportedSignatureAlgorithms() + certReq.supportedSignatureAlgorithms = supportedSignatureAlgorithms(VersionTLS13) certReqBytes, err := certReq.marshal() if err != nil { t.Fatal(err) @@ -308,11 +332,11 @@ func TestQUICPostHandshakeKeyUpdate(t *testing.T) { if err != nil { t.Fatal(err) } - if err := cli.conn.HandleData(QUICEncryptionLevelApplication, append([]byte{ - byte(typeKeyUpdate), - byte(0), byte(0), byte(len(keyUpdateBytes)), - }, keyUpdateBytes...)); !errors.Is(err, alertUnexpectedMessage) { - t.Fatalf("key update request: got error %v, want alertUnexpectedMessage", err) + expectedErr := "unexpected key update message" + if err = cli.conn.HandleData(QUICEncryptionLevelApplication, keyUpdateBytes); err == nil { + t.Fatalf("key update request: expected error from post-handshake key update, got nil") + } else if !strings.Contains(err.Error(), expectedErr) { + t.Fatalf("key update request: got error %v, expected substring %q", err, expectedErr) } } @@ -355,10 +379,48 @@ func TestQUICHandshakeError(t *testing.T) { if !errors.Is(err, AlertError(alertBadCertificate)) { t.Errorf("connection handshake terminated with error %q, want alertBadCertificate", err) } - var e *CertificateVerificationError - if !errors.As(err, &e) { + if _, ok := errors.AsType[*CertificateVerificationError](err); !ok { t.Errorf("connection handshake terminated with error %q, want CertificateVerificationError", err) } + + ev := cli.conn.NextEvent() + if ev.Kind != QUICErrorEvent { + t.Errorf("client.NextEvent: no QUICErrorEvent, want one") + } + if ev.Err != err { + t.Errorf("client.NextEvent: want same error returned by Start, got %v", ev.Err) + } +} + +// Test that we can report an error produced by the GetEncryptedClientHelloKeys function. +func TestQUICECHKeyError(t *testing.T) { + getECHKeysError := errors.New("error returned by GetEncryptedClientHelloKeys") + config := &QUICConfig{TLSConfig: testConfig.Clone()} + config.TLSConfig.MinVersion = VersionTLS13 + config.TLSConfig.NextProtos = []string{"h3"} + config.TLSConfig.GetEncryptedClientHelloKeys = func(*ClientHelloInfo) ([]EncryptedClientHelloKey, error) { + return nil, getECHKeysError + } + cli := newTestQUICClient(t, config) + cli.conn.SetTransportParameters(nil) + srv := newTestQUICServer(t, config) + + if err := runTestQUICConnection(context.Background(), cli, srv, nil); err != errTransportParametersRequired { + t.Fatalf("handshake with no client parameters: %v; want errTransportParametersRequired", err) + } + srv.conn.SetTransportParameters(nil) + if err := runTestQUICConnection(context.Background(), cli, srv, nil); err == nil { + t.Fatalf("handshake with GetEncryptedClientHelloKeys errors: nil, want error") + } + if srv.gotError == nil { + t.Fatalf("after GetEncryptedClientHelloKeys error, server did not see QUICErrorEvent") + } + if _, ok := errors.AsType[AlertError](srv.gotError); !ok { + t.Errorf("connection handshake terminated with error %T, want AlertError", srv.gotError) + } + if !errors.Is(srv.gotError, getECHKeysError) { + t.Errorf("connection handshake terminated with error %v, want error returned by GetEncryptedClientHelloKeys", srv.gotError) + } } // Test that QUICConn.ConnectionState can be used during the handshake, @@ -419,6 +481,24 @@ func TestQUICStartContextPropagation(t *testing.T) { } } +func TestQUICContextCancelation(t *testing.T) { + ctx, cancel := context.WithCancel(context.Background()) + config := &QUICConfig{TLSConfig: testConfig.Clone()} + config.TLSConfig.MinVersion = VersionTLS13 + cli := newTestQUICClient(t, config) + cli.conn.SetTransportParameters(nil) + srv := newTestQUICServer(t, config) + srv.conn.SetTransportParameters(nil) + // Verify that canceling the connection context concurrently does not cause any races. + // See https://go.dev/issue/77274. + var wg sync.WaitGroup + wg.Go(func() { + _ = runTestQUICConnection(ctx, cli, srv, nil) + }) + wg.Go(cancel) + wg.Wait() +} + func TestQUICDelayedTransportParameters(t *testing.T) { clientConfig := &QUICConfig{TLSConfig: testConfig.Clone()} clientConfig.TLSConfig.MinVersion = VersionTLS13 diff --git a/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA b/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA index b79aec63004..3bd86fd90ed 100644 --- a/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA +++ b/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 01 00 5d 02 00 00 59 03 01 58 ee cb 2c 2e |....]...Y..X..,.| -00000010 24 e7 e4 50 2b 4b 9c 0f ab f5 79 c1 12 b6 89 e5 |$..P+K....y.....| -00000020 83 41 06 cb 45 f6 66 e9 e1 d2 fe 20 95 fd 7f 15 |.A..E.f.... ....| -00000030 44 4e 44 18 9b fc 16 a7 8a a4 d9 f7 ca 49 85 e8 |DND..........I..| -00000040 00 ce 02 26 38 38 1b 8d 6d 16 f2 b8 c0 09 00 00 |...&88..m.......| +00000000 16 03 01 00 5d 02 00 00 59 03 01 1a 76 c4 d5 b5 |....]...Y...v...| +00000010 7e 30 1c 1e c3 62 8b 92 a8 19 9b 62 4e 36 a1 d3 |~0...b.....bN6..| +00000020 c8 e3 55 f6 64 5f 06 aa 19 9a 48 20 24 a4 2d a9 |..U.d_....H $.-.| +00000030 8a bd cf 4e 9b cf 7d c7 8e 8f e8 ed f5 09 37 ad |...N..}.......7.| +00000040 06 c9 6b a4 d5 de 7f 07 07 a6 9d c7 c0 09 00 00 |..k.............| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 01 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -57,17 +58,17 @@ 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| 00000270 95 12 07 8f 2a 16 03 01 00 b5 0c 00 00 b1 03 00 |....*...........| -00000280 1d 20 b2 d4 b5 f1 3f 61 7d 07 30 8b fd 17 76 41 |. ....?a}.0...vA| -00000290 12 c5 e1 25 f1 e9 ad 68 26 55 4b f5 60 16 b0 44 |...%...h&UK.`..D| -000002a0 90 7a 00 8b 30 81 88 02 42 01 26 8b c1 0d 38 f2 |.z..0...B.&...8.| -000002b0 0f 22 de fd 81 53 5b 5a 87 b6 57 23 33 22 06 8f |."...S[Z..W#3"..| -000002c0 8b 59 f1 70 85 46 41 f2 b7 0c 80 77 df 40 08 77 |.Y.p.FA....w.@.w| -000002d0 e1 b8 21 7f 55 77 c7 b7 ef ef b5 31 ae a0 22 a8 |..!.Uw.....1..".| -000002e0 d3 e0 67 e8 67 bc a9 cb 03 47 76 02 42 00 f4 7a |..g.g....Gv.B..z| -000002f0 eb 2f d0 82 d7 06 75 35 e4 61 fb cf 27 93 95 29 |./....u5.a..'..)| -00000300 6e 2c b5 d4 01 45 5b b6 d9 72 e9 f9 13 a6 5f bd |n,...E[..r...._.| -00000310 24 76 3b 8e 48 7a ce 4f f5 c2 77 75 66 2d 18 6d |$v;.Hz.O..wuf-.m| -00000320 7d 9e c7 95 0c fe 0b 80 15 67 b2 f2 f6 5a dd 16 |}........g...Z..| +00000280 1d 20 3e 61 33 da 82 02 f5 6d 70 2d e5 07 df 43 |. >a3....mp-...C| +00000290 d7 e6 1a b2 81 3e 58 03 dc 27 37 34 3b 2e 5a d5 |.....>X..'74;.Z.| +000002a0 d4 1a 00 8b 30 81 88 02 42 00 8b 0c f4 0f fe 8c |....0...B.......| +000002b0 01 70 3a c5 e5 29 53 1c ad 6c f4 35 53 e3 e6 ce |.p:..)S..l.5S...| +000002c0 19 21 03 de f5 e3 df 8e e5 6b 43 00 08 b7 24 2c |.!.......kC...$,| +000002d0 27 9e 2b bc 2f 96 07 a0 f9 a9 6b d4 b7 75 a8 5d |'.+./.....k..u.]| +000002e0 99 13 ab 5a dd 35 56 08 6d 9c a1 02 42 01 29 62 |...Z.5V.m...B.)b| +000002f0 b9 64 8b 6d 91 b7 f5 59 73 9d 2d bc 9d 9a 5b 43 |.d.m...Ys.-...[C| +00000300 d8 d5 76 be 2a 8f c5 f0 2e 5d a8 be 7b d0 36 fe |..v.*....]..{.6.| +00000310 62 97 7f 17 96 f6 c3 b4 06 2a e2 cb 77 80 ff 28 |b........*..w..(| +00000320 02 64 cb bb c7 a9 77 4b 96 7d 07 11 7e e8 28 16 |.d....wK.}..~.(.| 00000330 03 01 00 0a 0d 00 00 06 03 01 02 40 00 00 16 03 |...........@....| 00000340 01 00 04 0e 00 00 00 |.......| >>> Flow 3 (client to server) @@ -106,30 +107,30 @@ 00000200 e4 fa cc b1 8a ce e2 23 a0 87 f0 e1 67 51 eb 16 |.......#....gQ..| 00000210 03 01 00 25 10 00 00 21 20 2f e5 7d a3 47 cd 62 |...%...! /.}.G.b| 00000220 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf |C.(.._.).0......| -00000230 c2 ed 90 99 5f 58 cb 3b 74 16 03 01 00 91 0f 00 |...._X.;t.......| -00000240 00 8d 00 8b 30 81 88 02 42 01 87 b2 c8 53 94 c3 |....0...B....S..| -00000250 9f ea 8a 04 35 1e 53 fb c0 db c5 43 e8 99 b7 81 |....5.S....C....| -00000260 43 fd 47 fd a6 cd 89 b5 0a b9 d0 5d 79 b0 c2 1a |C.G........]y...| -00000270 94 1f d8 2e 2b 8d 23 2a c8 08 63 98 f6 01 1f 8f |....+.#*..c.....| -00000280 67 60 3a 88 44 63 7e 8b 91 3e 48 02 42 00 e1 1f |g`:.Dc~..>H.B...| -00000290 69 9a 97 bb b6 e9 97 4d f5 f5 d7 23 56 be 1d ff |i......M...#V...| -000002a0 f0 22 67 8d a3 a1 13 33 5b f7 0b c2 a3 c8 5a 8c |."g....3[.....Z.| -000002b0 e8 65 b8 a8 7e 6c 99 11 db ab bd 80 0a ca dd 5a |.e..~l.........Z| -000002c0 d4 e0 28 12 38 7a b4 86 e7 3e 13 05 a1 3f 5f 14 |..(.8z...>...?_.| -000002d0 03 01 00 01 01 16 03 01 00 30 9a fa ce 11 0b 50 |.........0.....P| -000002e0 fa a1 59 9b 89 41 a9 0b 1b 74 dd 8f 7b a9 e0 39 |..Y..A...t..{..9| -000002f0 5d e3 cc ee 11 f4 27 15 bc 4c 8f e1 2c 51 ec 8e |].....'..L..,Q..| -00000300 ed 6c 97 75 4c e9 da fb 68 9d |.l.uL...h.| +00000230 c2 ed 90 99 5f 58 cb 3b 74 16 03 01 00 90 0f 00 |...._X.;t.......| +00000240 00 8c 00 8a 30 81 87 02 41 46 5f cc 88 bc 2b e5 |....0...AF_...+.| +00000250 20 33 a9 ff 52 bb 25 dc cf a1 08 45 b5 82 9a 1b | 3..R.%....E....| +00000260 53 04 18 b4 23 20 c4 d2 d8 92 9b 21 a7 ec 36 d6 |S...# .....!..6.| +00000270 63 35 68 4c 21 c4 0e 20 07 0c 8f 38 2f 9b b7 9e |c5hL!.. ...8/...| +00000280 e7 9d 6d ea da 1c a6 f1 c5 d3 02 42 01 ed 54 c8 |..m........B..T.| +00000290 9e b2 45 f1 1f 77 ee e3 a7 3a 40 9b fe 9b 1d 38 |..E..w...:@....8| +000002a0 ff 9b b4 c6 e7 94 07 b8 5f 93 bd 38 8d 31 dd 80 |........_..8.1..| +000002b0 2f 82 6e b5 85 8f 15 8b cd b2 04 81 e2 0b 2a fa |/.n...........*.| +000002c0 d9 4b 47 0b 86 26 8b 4e 83 a6 15 9e 93 15 14 03 |.KG..&.N........| +000002d0 01 00 01 01 16 03 01 00 30 f3 06 0e 6f 16 1b 0b |........0...o...| +000002e0 46 54 37 fd c6 80 0f ec 4b dd d7 d4 17 b2 d7 8d |FT7.....K.......| +000002f0 4e 6a 7f 2a af d2 ea 19 11 8f 23 57 b7 e7 2f b3 |Nj.*......#W../.| +00000300 97 f6 93 3f ac 0d 5c f8 f5 |...?..\..| >>> Flow 4 (server to client) -00000000 14 03 01 00 01 01 16 03 01 00 30 12 06 0c 4d 1c |..........0...M.| -00000010 81 47 06 5f b9 85 68 60 9c 26 4a 14 f2 40 60 7f |.G._..h`.&J..@`.| -00000020 d1 1e 51 9e f2 70 2f be 54 cb 42 b3 b3 8d 90 9c |..Q..p/.T.B.....| -00000030 9d d2 0d e2 f7 b6 56 31 11 af 5f |......V1.._| +00000000 14 03 01 00 01 01 16 03 01 00 30 03 aa a1 4c bf |..........0...L.| +00000010 ab 53 f3 96 e7 db b1 a4 d7 19 f7 2f c0 b7 32 ea |.S........./..2.| +00000020 bd f3 4a 7c 0d 4c df a4 5f a0 3d f3 1b 57 65 a1 |..J|.L.._.=..We.| +00000030 d1 31 ae 52 6e ed 15 d2 d9 23 68 |.1.Rn....#h| >>> Flow 5 (client to server) -00000000 17 03 01 00 20 0f d0 65 cd d4 59 d0 9e 07 06 6d |.... ..e..Y....m| -00000010 8a 11 34 d9 3a 31 59 70 02 39 08 ef 28 98 36 2f |..4.:1Yp.9..(.6/| -00000020 0d 5b d0 23 3f 17 03 01 00 20 5b 16 82 9c 29 c6 |.[.#?.... [...).| -00000030 78 34 76 09 5e bb 01 5e fc 01 b2 55 9b ef 67 a8 |x4v.^..^...U..g.| -00000040 ca 9f b9 6d b5 ea 87 48 8e 76 15 03 01 00 20 43 |...m...H.v.... C| -00000050 12 3b f6 99 31 67 d8 8a 94 d1 37 ef 01 ca a1 62 |.;..1g....7....b| -00000060 9f d7 2a eb 7e 37 79 d9 a4 07 15 5f fb 84 32 |..*.~7y...._..2| +00000000 17 03 01 00 20 aa 0c f4 30 17 b7 59 47 33 91 07 |.... ...0..YG3..| +00000010 cc 52 7b 52 f8 a0 82 44 25 03 0e b4 45 6e 0c 5a |.R{R...D%...En.Z| +00000020 37 6d d6 6d 80 17 03 01 00 20 bc c7 70 3b 94 cc |7m.m..... ..p;..| +00000030 09 db 15 84 d8 b9 c5 cf d6 01 91 93 5b 20 5a b1 |............[ Z.| +00000040 6a 43 23 30 7e 02 ea 8b e0 28 15 03 01 00 20 c2 |jC#0~....(.... .| +00000050 7f c9 90 b3 ef c6 52 68 44 df 05 30 17 39 d9 42 |......RhD..0.9.B| +00000060 76 7a 1d a1 17 2b fa b4 92 ca 40 a9 58 d4 87 |vz...+....@.X..| diff --git a/testdata/Client-TLSv10-ClientCert-ECDSA-RSA b/testdata/Client-TLSv10-ClientCert-ECDSA-RSA index b02fe3d25b9..de3de89cd16 100644 --- a/testdata/Client-TLSv10-ClientCert-ECDSA-RSA +++ b/testdata/Client-TLSv10-ClientCert-ECDSA-RSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 01 00 5d 02 00 00 59 03 01 0b 4b bc a9 e8 |....]...Y...K...| -00000010 4a 08 69 de 73 f8 fc 53 c6 e9 cd cf 25 7a 5f b6 |J.i.s..S....%z_.| -00000020 60 48 65 3e f5 5f 9f 14 e7 38 a0 20 ec fe 94 b2 |`He>._...8. ....| -00000030 6d a9 d7 91 c4 92 6b 3e a4 2e 88 72 07 c3 47 12 |m.....k>...r..G.| -00000040 78 cc 45 86 f9 56 16 f9 d7 d9 38 c2 c0 13 00 00 |x.E..V....8.....| +00000000 16 03 01 00 5d 02 00 00 59 03 01 fc 68 73 9f 1a |....]...Y...hs..| +00000010 9d 3b 9b f9 10 cf b5 84 b9 31 f4 a8 e9 47 ab 33 |.;.......1...G.3| +00000020 55 42 0b c0 f2 8e fa e7 a0 39 55 20 56 cd 87 f6 |UB.......9U V...| +00000030 05 e0 b1 e9 aa b8 b2 ca 33 9d 46 02 fd d8 f0 11 |........3.F.....| +00000040 0e fc 96 7e b4 fa fc c2 f3 da c4 2b c0 13 00 00 |...~.......+....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 01 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,17 +62,17 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 01 00 aa 0c 00 00 a6 03 00 1d 20 fc 77 2f |............ .w/| -000002d0 88 9a a9 71 3a 14 bf 27 27 40 e0 28 ce e8 e8 3b |...q:..''@.(...;| -000002e0 cd 0a 43 21 75 c9 93 70 9a 22 f1 ec 3a 00 80 d2 |..C!u..p."..:...| -000002f0 cd 71 ae f6 d8 54 5c f3 a4 da c7 64 51 b8 36 b8 |.q...T\....dQ.6.| -00000300 46 d5 8c b1 a0 43 9b f2 b5 2c 12 89 08 39 2b c3 |F....C...,...9+.| -00000310 79 4e 5d 3d 7e 7f d5 51 c3 c5 1e 9e 3b 7c 39 c4 |yN]=~..Q....;|9.| -00000320 c3 64 52 91 94 2f 2c ee aa 7c 0e ed fd 7a 65 bb |.dR../,..|...ze.| -00000330 5a 62 f4 45 24 3d e7 e3 f2 8a 72 74 a7 9d f2 d5 |Zb.E$=....rt....| -00000340 69 be dc 6e 23 fb 68 bb 6e 64 9e 43 a8 f4 08 2b |i..n#.h.nd.C...+| -00000350 86 be ea 88 40 13 5f 3f 0b 18 74 e3 43 76 be 98 |....@._?..t.Cv..| -00000360 b8 15 ea 4d cb 6e 23 3c 8b a9 ce d4 6a e3 13 16 |...M.n#<....j...| +000002c0 16 03 01 00 aa 0c 00 00 a6 03 00 1d 20 74 0e 72 |............ t.r| +000002d0 d9 71 10 de 9b f7 59 f0 c0 a2 b9 35 68 6a 3d f3 |.q....Y....5hj=.| +000002e0 27 fb 13 3d a1 c0 4c f6 17 9b f1 25 50 00 80 c2 |'..=..L....%P...| +000002f0 20 fd 4f 8b c9 6a fc 97 61 9d b3 b0 1d 2d 9a 2f | .O..j..a....-./| +00000300 90 15 44 a7 04 01 0b 6f a9 47 5d a1 46 aa 30 f1 |..D....o.G].F.0.| +00000310 5f 9b db 4d 8d 7a a4 99 3f 5c cb 4a ff 0a 49 b1 |_..M.z..?\.J..I.| +00000320 fc df 0a f7 31 90 a9 98 cd da 8c 49 a5 1f 0f c7 |....1......I....| +00000330 48 63 ee ff a8 fb 07 0a fe e1 d7 1b ed b3 3f ce |Hc............?.| +00000340 39 ef bb 50 e9 a0 f4 c1 6f a6 7e 5b c8 36 1a 76 |9..P....o.~[.6.v| +00000350 c8 00 3b e2 04 98 88 f1 fa 56 34 8f 02 86 0a 8e |..;......V4.....| +00000360 29 4f eb 70 fb 2f 21 ed 8d fa a9 91 66 c9 c0 16 |)O.p./!.....f...| 00000370 03 01 00 0a 0d 00 00 06 03 01 02 40 00 00 16 03 |...........@....| 00000380 01 00 04 0e 00 00 00 |.......| >>> Flow 3 (client to server) @@ -110,30 +111,30 @@ 00000200 e4 fa cc b1 8a ce e2 23 a0 87 f0 e1 67 51 eb 16 |.......#....gQ..| 00000210 03 01 00 25 10 00 00 21 20 2f e5 7d a3 47 cd 62 |...%...! /.}.G.b| 00000220 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf |C.(.._.).0......| -00000230 c2 ed 90 99 5f 58 cb 3b 74 16 03 01 00 90 0f 00 |...._X.;t.......| -00000240 00 8c 00 8a 30 81 87 02 41 2c f8 d2 c2 28 75 28 |....0...A,...(u(| -00000250 67 de 75 fb 7a 09 20 8a ec 06 a6 42 03 ad 3c 95 |g.u.z. ....B..<.| -00000260 bb 00 f6 10 71 c7 90 fe 08 16 fa ed 7d 71 24 a2 |....q.......}q$.| -00000270 b6 76 ce f9 1b ff a9 ff 05 b6 dd d8 63 2b 74 86 |.v..........c+t.| -00000280 65 f5 ef f7 36 41 47 77 b5 88 02 42 00 8a 80 f8 |e...6AGw...B....| -00000290 9b cf de a6 b7 c3 d8 48 a1 a0 47 7e cf 33 fc f7 |.......H..G~.3..| -000002a0 fc 87 40 cf 8d c3 81 85 c7 19 9e 37 9e 54 f7 3e |..@........7.T.>| -000002b0 d1 1c 42 83 21 d7 2e ae 02 7b 3c ce 97 f3 9b a0 |..B.!....{<.....| -000002c0 a3 4e b9 a0 9c 78 f0 7e 9c 96 fc 78 e6 08 14 03 |.N...x.~...x....| -000002d0 01 00 01 01 16 03 01 00 30 84 a0 4f 8d 01 40 ca |........0..O..@.| -000002e0 c0 fd ea 1a 9c df 27 cc 25 00 56 e2 30 05 c0 d9 |......'.%.V.0...| -000002f0 c7 21 48 37 6b 35 c3 a4 4e bf 67 98 87 78 0f 3c |.!H7k5..N.g..x.<| -00000300 74 72 4f 6a c5 0d fd 0c 84 |trOj.....| +00000230 c2 ed 90 99 5f 58 cb 3b 74 16 03 01 00 91 0f 00 |...._X.;t.......| +00000240 00 8d 00 8b 30 81 88 02 42 00 88 3e 14 10 fa b5 |....0...B..>....| +00000250 65 d8 03 71 7e b7 44 a5 db 04 85 d2 f4 5d c5 de |e..q~.D......]..| +00000260 71 e4 f9 ad 5e 47 6c 83 eb 6a 2b fc 8d 60 6b 1b |q...^Gl..j+..`k.| +00000270 55 89 7b 03 60 fb 9c b2 b1 42 ef 02 63 29 59 03 |U.{.`....B..c)Y.| +00000280 02 a8 48 4d 9a 3d f3 e9 6b ac 76 02 42 01 90 36 |..HM.=..k.v.B..6| +00000290 5d d0 ec dd 76 75 0c 97 66 7f 10 ec 1d 39 5e bb |]...vu..f....9^.| +000002a0 2c 81 9e 15 fa 59 3f e8 77 3f 33 03 b6 2d 02 5a |,....Y?.w?3..-.Z| +000002b0 28 82 53 7a 18 69 29 5b d9 7d ce 4f 94 d9 69 29 |(.Sz.i)[.}.O..i)| +000002c0 b2 84 87 4a 15 47 c6 da 6f c3 df ca 8a 58 0b 14 |...J.G..o....X..| +000002d0 03 01 00 01 01 16 03 01 00 30 89 15 96 15 9d 93 |.........0......| +000002e0 e3 ae 94 14 f9 ea 39 d7 3b d6 98 e1 ed c8 0a 3f |......9.;......?| +000002f0 6f 2c a2 9b cd c5 ea 1a 1f 27 89 1a 7d ff 60 07 |o,.......'..}.`.| +00000300 22 1f bc b8 56 3a ee 24 5a ff |"...V:.$Z.| >>> Flow 4 (server to client) -00000000 14 03 01 00 01 01 16 03 01 00 30 01 da 6e 2a 83 |..........0..n*.| -00000010 20 ad 52 16 f2 c6 c1 55 b8 77 0d 5f c6 48 dc e7 | .R....U.w._.H..| -00000020 72 29 88 0a 2b 1a d1 1e fd fb c0 c3 18 c8 43 47 |r)..+.........CG| -00000030 a9 8f d3 fe f3 d8 d2 a8 ce 79 44 |.........yD| +00000000 14 03 01 00 01 01 16 03 01 00 30 bf 0c 82 bd 43 |..........0....C| +00000010 ba 60 ec df 88 4d 48 be d5 c4 0c b5 7d c4 94 c4 |.`...MH.....}...| +00000020 15 6e 50 45 77 56 ce d5 e0 4c 15 fc da 96 0b 41 |.nPEwV...L.....A| +00000030 fd 70 39 e9 33 3f 57 77 f5 a3 67 |.p9.3?Ww..g| >>> Flow 5 (client to server) -00000000 17 03 01 00 20 e5 74 9a b9 0b 6c 43 0f 4e db e4 |.... .t...lC.N..| -00000010 ba 10 5d 9a f0 96 16 17 ad a5 42 d8 0d a3 39 86 |..].......B...9.| -00000020 6c f0 8a 64 70 17 03 01 00 20 d2 11 27 ea f2 80 |l..dp.... ..'...| -00000030 a5 5d ba 7b 99 4b 94 25 13 24 29 05 7b 64 00 51 |.].{.K.%.$).{d.Q| -00000040 14 8e d5 e9 e2 c0 5d 98 96 30 15 03 01 00 20 7e |......]..0.... ~| -00000050 87 d2 6c 5c b5 1c 11 72 e1 c4 e5 e0 f3 16 6b db |..l\...r......k.| -00000060 55 c3 c7 ae a9 38 d3 07 04 41 be c5 42 43 a4 |U....8...A..BC.| +00000000 17 03 01 00 20 50 1e 02 79 6b 4b 67 77 bb c0 a7 |.... P..ykKgw...| +00000010 ef 5a c1 cc bc 28 14 86 2c 83 4f 3f 34 97 c4 73 |.Z...(..,.O?4..s| +00000020 24 44 ad 59 8c 17 03 01 00 20 e3 52 89 d7 d1 9a |$D.Y..... .R....| +00000030 33 21 78 e4 41 36 b1 11 74 c0 73 fb ea c9 42 88 |3!x.A6..t.s...B.| +00000040 7f 71 ea 40 a0 3a 62 54 dc b7 15 03 01 00 20 4a |.q.@.:bT...... J| +00000050 ff f4 c6 c0 5f fd e2 b3 bd 4a a9 aa 19 64 2d 98 |...._....J...d-.| +00000060 f1 ea 56 4e 3a c9 1c be 8d fb c3 6c 2f 98 ff |..VN:......l/..| diff --git a/testdata/Client-TLSv10-ClientCert-RSA-ECDSA b/testdata/Client-TLSv10-ClientCert-RSA-ECDSA index ac8a0ebad31..8ce1bad1908 100644 --- a/testdata/Client-TLSv10-ClientCert-RSA-ECDSA +++ b/testdata/Client-TLSv10-ClientCert-RSA-ECDSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 01 00 5d 02 00 00 59 03 01 6f 48 26 41 da |....]...Y..oH&A.| -00000010 73 82 d1 cf 84 ad 06 e9 76 39 dc e4 c8 34 af 53 |s.......v9...4.S| -00000020 06 ed ed 68 56 5f 76 11 4e f6 ff 20 55 fd 29 c5 |...hV_v.N.. U.).| -00000030 aa 56 af bd 5d 67 74 4f 08 8a 52 a1 7e cd b9 ac |.V..]gtO..R.~...| -00000040 31 a0 2f 45 25 1f b2 24 71 26 80 17 c0 09 00 00 |1./E%..$q&......| +00000000 16 03 01 00 5d 02 00 00 59 03 01 ef c9 5c 4d 29 |....]...Y....\M)| +00000010 07 24 2a 41 08 94 39 cc d3 fb 92 88 1c ff 64 6b |.$*A..9.......dk| +00000020 0a 14 41 89 c6 5d 9b 25 7e a7 04 20 a0 aa ad 46 |..A..].%~.. ...F| +00000030 14 01 d2 dd 37 44 05 4b 1d 9f ea e5 98 29 1e 36 |....7D.K.....).6| +00000040 09 e2 ab 90 93 ee c1 99 7d 17 77 9b c0 09 00 00 |........}.w.....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 01 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -56,20 +57,20 @@ 00000240 8c 25 c1 33 13 83 0d 94 06 bb d4 37 7a f6 ec 7a |.%.3.......7z..z| 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| -00000270 95 12 07 8f 2a 16 03 01 00 b3 0c 00 00 af 03 00 |....*...........| -00000280 1d 20 51 4c 6f eb 08 70 52 20 15 78 d3 f8 65 5e |. QLo..pR .x..e^| -00000290 0f 59 03 b7 d1 0e e9 7e be 42 d2 cd f3 57 c6 24 |.Y.....~.B...W.$| -000002a0 6b 2c 00 89 30 81 86 02 41 7b 1b ec 11 08 f4 8f |k,..0...A{......| -000002b0 db 2c c5 1b 33 b2 b0 b4 da 76 b9 a7 78 ed ee 0e |.,..3....v..x...| -000002c0 23 5c 4b b0 10 6e 41 12 b9 d4 68 c1 15 ea 70 0a |#\K..nA...h...p.| -000002d0 0c 91 c1 8d 4a 4d 41 c1 c3 25 f1 90 ef 95 f3 e1 |....JMA..%......| -000002e0 a8 30 4d ce 4d d1 eb 8c cf 9a 02 41 09 e0 8c 8e |.0M.M......A....| -000002f0 70 01 f1 5d b2 8a d1 61 bc 86 f4 85 2f 6c ac 2c |p..]...a..../l.,| -00000300 e8 bf 20 c7 81 46 21 6e 9b bd c1 83 71 34 8d 65 |.. ..F!n....q4.e| -00000310 fc 35 07 be c8 ad d4 3a c6 7b 40 1c f7 17 e3 d9 |.5.....:.{@.....| -00000320 96 19 d4 cd 0d d0 8c 4f b2 09 6a 4b 05 16 03 01 |.......O..jK....| -00000330 00 0a 0d 00 00 06 03 01 02 40 00 00 16 03 01 00 |.........@......| -00000340 04 0e 00 00 00 |.....| +00000270 95 12 07 8f 2a 16 03 01 00 b4 0c 00 00 b0 03 00 |....*...........| +00000280 1d 20 a4 4e 43 df 00 5c c7 1c e8 d4 8e 9b cf b0 |. .NC..\........| +00000290 36 85 64 7c d7 69 95 c0 b4 6f d8 0b 45 b8 a4 34 |6.d|.i...o..E..4| +000002a0 1a 18 00 8a 30 81 87 02 42 01 d0 4a 3f 65 9d 46 |....0...B..J?e.F| +000002b0 20 80 34 28 12 93 56 6e dc e4 0e 91 0b 45 4b 83 | .4(..Vn.....EK.| +000002c0 c5 e9 83 2c 41 d6 dc 49 15 15 e6 65 9f 18 ba a6 |...,A..I...e....| +000002d0 20 a6 de c7 20 7e 09 71 e6 59 86 9e aa 32 be 43 | ... ~.q.Y...2.C| +000002e0 b7 c3 27 98 ba 5b 49 9b 1d b9 67 02 41 4e 36 0e |..'..[I...g.AN6.| +000002f0 6d 29 c8 7d 0b d9 6f 06 92 ca 0b b9 33 7e 11 58 |m).}..o.....3~.X| +00000300 2f cc 06 ae ad 57 80 f4 38 a1 8a e3 6a ef 37 86 |/....W..8...j.7.| +00000310 58 1a 59 f9 4a 9a 64 89 5b 7c 8a 7a c5 78 dd b5 |X.Y.J.d.[|.z.x..| +00000320 6c 96 b8 23 ff fc 88 20 59 0b e9 74 99 b9 16 03 |l..#... Y..t....| +00000330 01 00 0a 0d 00 00 06 03 01 02 40 00 00 16 03 01 |..........@.....| +00000340 00 04 0e 00 00 00 |......| >>> Flow 3 (client to server) 00000000 16 03 01 01 fd 0b 00 01 f9 00 01 f6 00 01 f3 30 |...............0| 00000010 82 01 ef 30 82 01 58 a0 03 02 01 02 02 10 5c 19 |...0..X.......\.| @@ -106,29 +107,29 @@ 00000200 e5 35 16 03 01 00 25 10 00 00 21 20 2f e5 7d a3 |.5....%...! /.}.| 00000210 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 |G.bC.(.._.).0...| 00000220 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 16 03 01 00 |......._X.;t....| -00000230 86 0f 00 00 82 00 80 59 18 58 aa 18 70 84 a3 26 |.......Y.X..p..&| -00000240 8c 1d 77 52 a7 2d 00 e5 00 dc 24 1c f6 9b 9f 63 |..wR.-....$....c| -00000250 c8 84 8b dc e7 61 78 9c 28 0d 4c 3a 1e 5f a7 ce |.....ax.(.L:._..| -00000260 35 17 1c b1 de e0 01 32 35 6f 85 59 22 73 50 2a |5......25o.Y"sP*| -00000270 36 df 39 0c c8 c1 45 70 a2 e4 53 bb de e6 0e 6a |6.9...Ep..S....j| -00000280 fd 45 8e 4d eb 1f de 86 d3 fb 94 e4 8d 22 cd 30 |.E.M.........".0| -00000290 e7 29 de 65 f0 2a cd b8 3d b5 be 91 a3 7d 3b 30 |.).e.*..=....};0| -000002a0 1a a5 63 bd 84 1f 95 19 d1 fe 25 40 b8 8f ab 96 |..c.......%@....| -000002b0 59 42 e6 31 93 c0 39 14 03 01 00 01 01 16 03 01 |YB.1..9.........| -000002c0 00 30 a9 f7 c0 97 f4 b8 06 65 a6 7c fb 80 a1 79 |.0.......e.|...y| -000002d0 5f 44 72 55 13 d1 ca e3 9a 91 5d 1e 08 93 6d b5 |_DrU......]...m.| -000002e0 1c 5e 52 24 b1 ec db aa 3b bc fe db 18 0b 18 fe |.^R$....;.......| -000002f0 51 6a |Qj| +00000230 86 0f 00 00 82 00 80 a4 68 2d 1f 8a 97 43 76 aa |........h-...Cv.| +00000240 f9 24 95 20 62 13 c0 a3 45 c6 18 1c a3 34 70 02 |.$. b...E....4p.| +00000250 ff f5 01 4e ba e2 20 1c f9 06 a6 67 92 d9 e6 9d |...N.. ....g....| +00000260 a3 49 e0 75 3e 11 00 74 52 b1 36 58 4b 1e 54 83 |.I.u>..tR.6XK.T.| +00000270 e0 9a 48 4d df 2c ab fd cd 5e 7a cf c9 b8 32 08 |..HM.,...^z...2.| +00000280 74 e6 ae 75 20 f4 41 3a 7c a9 a3 19 38 a0 8d 05 |t..u .A:|...8...| +00000290 0a e9 3e 50 6c f6 f8 a3 89 a9 55 ea dc 3f be b1 |..>Pl.....U..?..| +000002a0 0a 92 83 cc f0 9b c9 e1 49 13 db 64 be 55 46 b5 |........I..d.UF.| +000002b0 12 b1 0b 88 32 e3 f1 14 03 01 00 01 01 16 03 01 |....2...........| +000002c0 00 30 81 77 0f 6c 7a bc a8 d2 41 f9 8b a7 da 96 |.0.w.lz...A.....| +000002d0 29 f1 2f b1 31 f3 57 03 09 21 5c fa dc f7 5c f6 |)./.1.W..!\...\.| +000002e0 7f a8 24 08 30 70 bb 34 16 22 f8 c6 b2 4d a7 16 |..$.0p.4."...M..| +000002f0 68 61 |ha| >>> Flow 4 (server to client) -00000000 14 03 01 00 01 01 16 03 01 00 30 e6 36 50 e7 a3 |..........0.6P..| -00000010 72 0a 6a 9f 18 17 91 51 ad 48 19 54 c8 6b c0 45 |r.j....Q.H.T.k.E| -00000020 d5 9b cb 08 34 d3 3a 73 74 04 3a 3d 24 b0 95 48 |....4.:st.:=$..H| -00000030 97 9e c5 83 4f 20 29 c8 dd 93 6c |....O )...l| +00000000 14 03 01 00 01 01 16 03 01 00 30 71 d2 ee cd f8 |..........0q....| +00000010 c5 fe b4 96 d5 02 ee cb f7 f8 93 34 f2 8a ed 71 |...........4...q| +00000020 9a b7 1f 01 9d fb 6c 3f ee 22 bb 5c b0 8c 08 f5 |......l?.".\....| +00000030 bf 1e d3 1c 12 ec 7b 86 05 bd e5 |......{....| >>> Flow 5 (client to server) -00000000 17 03 01 00 20 58 a1 0a 68 2c 04 68 7d e9 13 ce |.... X..h,.h}...| -00000010 69 4b 53 4a f6 fc e0 c8 0e 05 ad 19 d8 b3 37 67 |iKSJ..........7g| -00000020 f2 1f 3b 33 62 17 03 01 00 20 c2 e7 d3 d2 38 ba |..;3b.... ....8.| -00000030 27 13 ed d1 73 fc 9b f5 4f 61 f0 35 27 8e 54 52 |'...s...Oa.5'.TR| -00000040 b7 ce bd 6a 05 c6 61 95 1e 8a 15 03 01 00 20 6e |...j..a....... n| -00000050 07 21 86 31 f8 74 6b 45 4d 10 2f 5d e7 2b 64 77 |.!.1.tkEM./].+dw| -00000060 a9 7f 1e 49 ed d5 d4 1e 2e f2 b1 c5 4d 02 46 |...I........M.F| +00000000 17 03 01 00 20 8a 57 b3 89 76 41 f0 b3 51 da f4 |.... .W..vA..Q..| +00000010 e7 6a f8 46 75 77 4d 8b 67 41 f9 f9 eb a0 cd 12 |.j.FuwM.gA......| +00000020 78 08 12 d1 7b 17 03 01 00 20 9d 44 6a dd 48 ad |x...{.... .Dj.H.| +00000030 0a d9 3f 80 da b1 3d b3 50 be 40 c1 85 b5 bb 59 |..?...=.P.@....Y| +00000040 e8 b9 2a 9f f5 2e 98 d3 2b c1 15 03 01 00 20 bd |..*.....+..... .| +00000050 69 41 45 bb 53 de f8 b7 bf a5 87 12 02 32 1a 05 |iAE.S........2..| +00000060 09 94 40 a5 64 b3 31 7d 0d dc 01 ff 25 ca 31 |..@.d.1}....%.1| diff --git a/testdata/Client-TLSv10-ClientCert-RSA-RSA b/testdata/Client-TLSv10-ClientCert-RSA-RSA index 48eb1ce6419..37d05fc4819 100644 --- a/testdata/Client-TLSv10-ClientCert-RSA-RSA +++ b/testdata/Client-TLSv10-ClientCert-RSA-RSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 01 00 5d 02 00 00 59 03 01 24 71 03 c6 1d |....]...Y..$q...| -00000010 d4 f5 09 b2 3c d8 88 51 57 4c 90 07 4b 74 fe 1d |....<..QWL..Kt..| -00000020 c9 7f 00 78 9b a3 b2 1b ef 43 66 20 07 97 7c a6 |...x.....Cf ..|.| -00000030 9b c6 a9 47 42 ae 99 bf 59 fe 52 f6 da d9 1c 68 |...GB...Y.R....h| -00000040 c2 7a 53 3f 27 0d 11 87 9a 47 81 5c c0 13 00 00 |.zS?'....G.\....| +00000000 16 03 01 00 5d 02 00 00 59 03 01 71 32 68 84 f2 |....]...Y..q2h..| +00000010 93 91 32 5b 71 e6 d1 fd 26 83 00 87 0f 56 f3 8a |..2[q...&....V..| +00000020 70 17 5e c9 c3 b3 ce 61 9a 1d 4d 20 85 cc 39 26 |p.^....a..M ..9&| +00000030 32 1a 78 34 d5 d3 6c e2 df 89 f5 a0 51 2c f5 2d |2.x4..l.....Q,.-| +00000040 e0 17 51 e7 51 f4 61 8d 35 72 75 92 c0 13 00 00 |..Q.Q.a.5ru.....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 01 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,17 +62,17 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 01 00 aa 0c 00 00 a6 03 00 1d 20 ad a7 d5 |............ ...| -000002d0 fc 63 e1 22 f8 1f 8d ad 50 09 1a 92 a4 57 ea 88 |.c."....P....W..| -000002e0 6d 9c 20 70 f1 8b 85 15 ec 8e b2 b3 07 00 80 b1 |m. p............| -000002f0 03 03 a7 cf 8f 73 e2 a3 29 0d 55 4a 06 72 db e5 |.....s..).UJ.r..| -00000300 65 41 44 49 05 1c 37 17 1c 02 6e b1 f4 e8 a9 bb |eADI..7...n.....| -00000310 00 24 3e 3a 3c d6 1c f6 dd 21 a4 e3 61 b0 1d 2e |.$>:<....!..a...| -00000320 77 11 53 51 4d 49 1e 07 bf 07 61 d1 54 f4 c7 24 |w.SQMI....a.T..$| -00000330 4f 7d 5c 5a fb 84 c0 9d 0e 52 12 b6 40 72 37 fd |O}\Z.....R..@r7.| -00000340 8c bd d0 8a b1 9e 2c 18 bc 04 a3 c2 90 a3 33 4c |......,.......3L| -00000350 06 7c 14 a8 73 7d d2 23 30 f9 31 12 56 31 60 19 |.|..s}.#0.1.V1`.| -00000360 d1 0d 31 c1 3c 25 66 62 5c 9b 13 5e 34 c6 69 16 |..1.<%fb\..^4.i.| +000002c0 16 03 01 00 aa 0c 00 00 a6 03 00 1d 20 3a 64 e7 |............ :d.| +000002d0 9a 59 c3 4e fc 40 5e 2f 5c 89 cd e1 94 85 4e 1f |.Y.N.@^/\.....N.| +000002e0 29 37 0b 53 fe 3a 13 76 56 25 2a 97 65 00 80 08 |)7.S.:.vV%*.e...| +000002f0 1c de 63 0d 31 9b 72 7b 85 0c 03 b0 08 ea 80 a1 |..c.1.r{........| +00000300 ee 00 03 f9 29 a3 ba 8e c8 71 3e b4 4d b3 28 54 |....)....q>.M.(T| +00000310 2c e7 11 3a 15 e0 43 06 f0 36 15 50 54 5e 88 48 |,..:..C..6.PT^.H| +00000320 ac c4 68 db 83 dc 0c 22 e4 99 4a 08 2a 00 7d 19 |..h...."..J.*.}.| +00000330 0d 74 ba 7a 27 9c 39 dc 29 41 52 cf a2 ac 29 94 |.t.z'.9.)AR...).| +00000340 e6 b0 87 60 e5 d3 58 af 3e 8e 41 bd be 48 ba 90 |...`..X.>.A..H..| +00000350 49 b2 b1 d3 8e b0 49 98 4a 12 70 60 c7 57 d9 a7 |I.....I.J.p`.W..| +00000360 db dc 41 b0 dc 81 37 1b 6d ac 9c 69 12 f4 fa 16 |..A...7.m..i....| 00000370 03 01 00 0a 0d 00 00 06 03 01 02 40 00 00 16 03 |...........@....| 00000380 01 00 04 0e 00 00 00 |.......| >>> Flow 3 (client to server) @@ -110,29 +111,29 @@ 00000200 e5 35 16 03 01 00 25 10 00 00 21 20 2f e5 7d a3 |.5....%...! /.}.| 00000210 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 |G.bC.(.._.).0...| 00000220 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 16 03 01 00 |......._X.;t....| -00000230 86 0f 00 00 82 00 80 59 e2 7d 00 66 f0 59 a0 19 |.......Y.}.f.Y..| -00000240 b6 4f 26 80 ad 31 b4 b3 c2 56 af 84 bf 88 15 7f |.O&..1...V......| -00000250 dc 29 fc 51 f2 cf 0d ec 52 46 c5 c5 cd 24 c1 93 |.).Q....RF...$..| -00000260 5b f6 06 09 ad bb 9a 4a ae 5d ec 57 f8 96 a8 b1 |[......J.].W....| -00000270 4b 81 45 7d 34 38 59 ea 76 47 76 1c 7f 7b 68 e9 |K.E}48Y.vGv..{h.| -00000280 89 7b 5d 4c b9 bc 5a 26 e1 f7 6c 42 f7 c6 6d bb |.{]L..Z&..lB..m.| -00000290 c0 c7 bd f6 5e 9e 51 d8 30 ec 9f da 56 0a b7 2a |....^.Q.0...V..*| -000002a0 6c 5e 50 d1 74 48 70 4a 88 62 16 a1 ba f2 01 e5 |l^P.tHpJ.b......| -000002b0 00 b6 eb cb e3 18 cf 14 03 01 00 01 01 16 03 01 |................| -000002c0 00 30 61 51 84 02 46 3c 10 62 b5 2a a2 8b 4e 2d |.0aQ..F<.b.*..N-| -000002d0 57 55 26 c5 46 f2 5d a1 f5 20 46 0d 63 fd 48 5a |WU&.F.].. F.c.HZ| -000002e0 f3 65 90 8c 1a bd 59 6e 5f d1 5c b6 ee 33 49 12 |.e....Yn_.\..3I.| -000002f0 46 ec |F.| +00000230 86 0f 00 00 82 00 80 21 34 0c d8 10 ac 90 53 f9 |.......!4.....S.| +00000240 18 52 42 05 ca e8 c7 4f 33 c4 43 4b 8e 7c e4 23 |.RB....O3.CK.|.#| +00000250 21 6d e4 07 ef 3f 06 d1 ea 1c 9d 3b e0 d2 66 36 |!m...?.....;..f6| +00000260 b5 c9 a1 da fe 54 fd e0 fe 0c b6 12 90 93 41 1f |.....T........A.| +00000270 43 00 00 e4 a4 04 14 af 00 3e 1b db 16 d6 07 4b |C........>.....K| +00000280 55 2f ed 55 e1 e1 a8 8b d8 e1 fe cb 41 1d fe bc |U/.U........A...| +00000290 6d d9 ba 8f 2b 1c 26 19 9d 93 a9 78 fb 8a 54 59 |m...+.&....x..TY| +000002a0 76 3b 0a df e6 71 2c c0 63 dd 22 8d c6 70 ef 0e |v;...q,.c."..p..| +000002b0 4f 1b 4c da 65 11 f6 14 03 01 00 01 01 16 03 01 |O.L.e...........| +000002c0 00 30 b5 c2 b0 f3 b6 6c 4a 99 de f2 98 2f 37 2b |.0.....lJ..../7+| +000002d0 8a d8 ab 96 91 c2 9b cc 56 5c fb e1 4f 5b 89 09 |........V\..O[..| +000002e0 5f 94 05 60 0e 83 b5 49 9a 15 9b 0f 5d 1a 2b a2 |_..`...I....].+.| +000002f0 11 23 |.#| >>> Flow 4 (server to client) -00000000 14 03 01 00 01 01 16 03 01 00 30 b1 3c 7f c3 15 |..........0.<...| -00000010 e4 fe bc 1a ee 0d ec 28 ce b0 f7 fd a4 0a e4 79 |.......(.......y| -00000020 37 09 68 de 58 f8 e8 76 7d 9c 09 35 42 7e 00 8e |7.h.X..v}..5B~..| -00000030 4c 8d d1 60 26 d4 09 c5 8b d0 96 |L..`&......| +00000000 14 03 01 00 01 01 16 03 01 00 30 63 a2 f0 9b 1c |..........0c....| +00000010 48 6d 23 54 62 b1 2a 19 e7 89 51 fd 0d 83 97 87 |Hm#Tb.*...Q.....| +00000020 9b 73 31 11 5e 42 56 62 62 37 4d e5 e6 72 8a 6d |.s1.^BVbb7M..r.m| +00000030 a3 02 2b 2c 9e a5 1a 5c 34 f2 0d |..+,...\4..| >>> Flow 5 (client to server) -00000000 17 03 01 00 20 6c bb 09 ee 1d 96 6c 63 5b b6 69 |.... l.....lc[.i| -00000010 bf ea ad 7a 85 36 a2 4b d2 f0 73 18 91 b1 42 e5 |...z.6.K..s...B.| -00000020 77 d0 6c ff ab 17 03 01 00 20 ed 85 78 3b bd 49 |w.l...... ..x;.I| -00000030 2c f3 02 24 f2 18 72 96 a0 49 6b 06 bd bb 54 25 |,..$..r..Ik...T%| -00000040 0a 3e ff 07 45 6b 6c cc a6 d2 15 03 01 00 20 07 |.>..Ekl....... .| -00000050 9a fb b7 cc 01 cd f7 b6 90 d3 b6 a7 31 15 99 e2 |............1...| -00000060 e7 e8 2b a5 c0 e8 a9 9d fe 4e 11 0d 4a d4 b7 |..+......N..J..| +00000000 17 03 01 00 20 63 1a 2c 25 27 68 ed de ba 94 52 |.... c.,%'h....R| +00000010 73 f2 7a 28 ed 8c e9 3f a2 48 9a 07 62 22 27 6d |s.z(...?.H..b"'m| +00000020 4e be ba e4 67 17 03 01 00 20 1d ee ac 7c fc a7 |N...g.... ...|..| +00000030 df 74 93 16 c6 ec 58 5e 04 5d 2e 98 0a ba 52 4f |.t....X^.]....RO| +00000040 a0 02 c5 79 c3 d6 f0 ab 8d 33 15 03 01 00 20 bb |...y.....3.... .| +00000050 54 a6 65 a7 c9 03 e7 83 ae a1 f3 26 9f 73 76 6b |T.e........&.svk| +00000060 e6 1e f7 e0 76 e5 ca 9f c8 87 14 ac 27 f1 e3 |....v.......'..| diff --git a/testdata/Client-TLSv10-ECDHE-ECDSA-AES b/testdata/Client-TLSv10-ECDHE-ECDSA-AES index ac354c50bc6..a8593e249b0 100644 --- a/testdata/Client-TLSv10-ECDHE-ECDSA-AES +++ b/testdata/Client-TLSv10-ECDHE-ECDSA-AES @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 01 00 5d 02 00 00 59 03 01 70 d2 b8 0b 74 |....]...Y..p...t| -00000010 93 b4 60 d7 ab 1d 0f f3 7c d0 b5 f8 a2 78 45 30 |..`.....|....xE0| -00000020 b1 41 9b b6 73 bd 05 d8 85 16 66 20 e8 26 8d 7a |.A..s.....f .&.z| -00000030 e2 da e0 a0 7a c9 19 d1 dd db 2b bc b4 b2 56 39 |....z.....+...V9| -00000040 9f e6 62 75 29 96 40 b3 0d c0 db 65 c0 09 00 00 |..bu).@....e....| +00000000 16 03 01 00 5d 02 00 00 59 03 01 3e 61 ab b7 94 |....]...Y..>a...| +00000010 d9 7c 76 db 26 b6 fc 86 00 8f c4 af bd c6 1a 22 |.|v.&.........."| +00000020 dd 72 ce 5d 2a 4c d8 61 a1 20 6b 20 c9 82 ca c9 |.r.]*L.a. k ....| +00000030 99 59 80 37 6c 01 d2 b3 b5 0d 68 9f 65 b0 15 7d |.Y.7l.....h.e..}| +00000040 a6 b0 15 b0 49 5a ae 38 d2 77 5e 06 c0 09 00 00 |....IZ.8.w^.....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 01 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -56,37 +57,37 @@ 00000240 8c 25 c1 33 13 83 0d 94 06 bb d4 37 7a f6 ec 7a |.%.3.......7z..z| 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| -00000270 95 12 07 8f 2a 16 03 01 00 b4 0c 00 00 b0 03 00 |....*...........| -00000280 1d 20 5f 81 8f 18 31 4e 64 fe 87 f2 da c6 45 45 |. _...1Nd.....EE| -00000290 54 e3 54 c6 a0 bb bf bd d1 01 c5 7b 08 d8 32 6b |T.T........{..2k| -000002a0 a8 31 00 8a 30 81 87 02 42 01 21 7e c2 26 cb 5e |.1..0...B.!~.&.^| -000002b0 f1 2a d2 9b 7f 3f b4 d4 28 5e 63 5a 20 aa 28 87 |.*...?..(^cZ .(.| -000002c0 bb dd 5c 6a 91 a2 2d 03 7a 69 67 8b ca 84 a6 1f |..\j..-.zig.....| -000002d0 d3 58 40 eb 5c 54 95 96 05 d0 37 63 e4 a6 1b 51 |.X@.\T....7c...Q| -000002e0 9a d0 93 31 82 e6 8e a0 af 29 64 02 41 4c ff ac |...1.....)d.AL..| -000002f0 44 74 e0 04 2c ab 1c 23 91 dc 06 36 ff 19 a1 60 |Dt..,..#...6...`| -00000300 19 d4 e5 d3 78 f5 ed d8 09 7b de 61 6f 65 2c 69 |....x....{.aoe,i| -00000310 a1 d2 5d 07 bf 99 26 2b 70 fa 34 26 30 41 59 3b |..]...&+p.4&0AY;| -00000320 bc a3 10 9c 92 fa 60 a7 df ea e4 8a 3a 76 16 03 |......`.....:v..| -00000330 01 00 04 0e 00 00 00 |.......| +00000270 95 12 07 8f 2a 16 03 01 00 b5 0c 00 00 b1 03 00 |....*...........| +00000280 1d 20 73 36 95 70 b0 c6 fd c6 cf 68 f3 77 1e 46 |. s6.p.....h.w.F| +00000290 c2 22 3e f8 e6 f4 37 82 73 8e 8d ec 40 64 0d a9 |.">...7.s...@d..| +000002a0 f7 6f 00 8b 30 81 88 02 42 01 2f 8b 24 b7 24 65 |.o..0...B./.$.$e| +000002b0 6e f8 a3 55 53 3f da 67 a2 b6 35 b3 ef 8b 87 39 |n..US?.g..5....9| +000002c0 2f 44 e8 a6 9d 2c 16 c1 82 a9 a9 f6 20 0f 1b 36 |/D...,...... ..6| +000002d0 32 b8 7a 96 2d 5a b0 4d 43 53 ec c9 06 82 83 0e |2.z.-Z.MCS......| +000002e0 fb 0b 8c f8 0b 47 b6 dd 19 4c 96 02 42 01 c6 7e |.....G...L..B..~| +000002f0 20 9e d9 2f 33 1f 5f 25 bc 79 a3 df 96 9d e0 05 | ../3._%.y......| +00000300 d7 72 75 29 7d b3 f2 0a 5e 81 39 71 b7 f9 68 e8 |.ru)}...^.9q..h.| +00000310 82 07 93 80 88 31 77 2c db 8b 58 49 28 c5 7b c1 |.....1w,..XI(.{.| +00000320 e3 84 3c b9 08 2e a0 ab 66 12 b9 3c b9 a2 e8 16 |..<.....f..<....| +00000330 03 01 00 04 0e 00 00 00 |........| >>> Flow 3 (client to server) 00000000 16 03 01 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 01 00 01 01 |....._X.;t......| -00000030 16 03 01 00 30 6d 2a 91 d7 c3 8f 1c d8 d4 cc 67 |....0m*........g| -00000040 ed 07 41 c2 9c 48 0d bd 7f 11 61 00 58 23 55 88 |..A..H....a.X#U.| -00000050 f9 bd da 92 bc e4 8d 47 c0 ac 72 43 7f 2d 0f b5 |.......G..rC.-..| -00000060 de bb 67 6e 9f |..gn.| +00000030 16 03 01 00 30 9a 24 ee 81 ee 6e b3 fe ab 63 04 |....0.$...n...c.| +00000040 ae b1 1b 11 91 b0 cc 45 b8 67 74 9e 92 15 fd b1 |.......E.gt.....| +00000050 b4 49 49 b4 f4 a5 61 01 1b ec 91 23 ec c0 98 8d |.II...a....#....| +00000060 ee 21 fd 29 95 |.!.).| >>> Flow 4 (server to client) -00000000 14 03 01 00 01 01 16 03 01 00 30 be 25 a7 fa 04 |..........0.%...| -00000010 a5 dd 58 c1 5f a6 31 f8 fc fc db 27 a1 c7 0b 7c |..X._.1....'...|| -00000020 a5 9a 0f bd 07 09 d9 9b 95 bf f4 a5 80 c7 7d bd |..............}.| -00000030 a0 37 25 68 46 63 37 37 5f 3d b2 |.7%hFc77_=.| +00000000 14 03 01 00 01 01 16 03 01 00 30 74 d2 f1 68 1e |..........0t..h.| +00000010 1e 11 8a eb 51 ae a6 19 af 60 09 c4 85 65 3e 71 |....Q....`...e>q| +00000020 af d0 94 14 c3 80 18 91 72 23 97 26 f8 91 2f d6 |........r#.&../.| +00000030 65 3c 02 06 10 d0 bb e7 92 57 b0 |e<.......W.| >>> Flow 5 (client to server) -00000000 17 03 01 00 20 98 6e bd 0c 0e 46 88 05 6d 67 b3 |.... .n...F..mg.| -00000010 a7 92 7a 3c f2 98 8b ab 07 9e 80 bc 7a 5e 70 1a |..z<........z^p.| -00000020 2b 3d 2f 28 c9 17 03 01 00 20 f1 a8 ac 45 f6 60 |+=/(..... ...E.`| -00000030 ac 76 4e 66 1b a1 23 65 9c 55 6b 0b d4 cb 0a 43 |.vNf..#e.Uk....C| -00000040 42 d1 1e 1b 61 45 16 8e a8 c2 15 03 01 00 20 3d |B...aE........ =| -00000050 c0 ac 27 49 be 69 0e 23 cd 1b ea 01 0f 97 66 34 |..'I.i.#......f4| -00000060 f8 bd a6 40 35 af 5b 1f cf 42 25 54 aa 2f 2e |...@5.[..B%T./.| +00000000 17 03 01 00 20 bf f3 92 9c 91 50 02 1e d2 29 17 |.... .....P...).| +00000010 2c 5d 5f 43 c9 de 49 db 7b 0b bf eb 77 c5 9a 37 |,]_C..I.{...w..7| +00000020 c7 e1 c3 83 a3 17 03 01 00 20 df 80 0b 7e 80 39 |......... ...~.9| +00000030 b3 46 d8 7c 09 7a a8 c1 3a 04 77 2f 94 30 eb 8e |.F.|.z..:.w/.0..| +00000040 5d 56 08 95 bb 50 80 76 4b e7 15 03 01 00 20 0e |]V...P.vK..... .| +00000050 91 ba 25 bb d6 f6 ee 42 e0 8e 08 a1 7f d5 8f e3 |..%....B........| +00000060 18 05 85 24 b6 0c 81 80 98 89 ae 2c 04 0e 8a |...$.......,...| diff --git a/testdata/Client-TLSv10-ECDHE-RSA-AES b/testdata/Client-TLSv10-ECDHE-RSA-AES index 694cd4ce892..b73fd761c46 100644 --- a/testdata/Client-TLSv10-ECDHE-RSA-AES +++ b/testdata/Client-TLSv10-ECDHE-RSA-AES @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 01 00 5d 02 00 00 59 03 01 5a a9 a1 6f fa |....]...Y..Z..o.| -00000010 19 95 38 9e 68 42 d7 0f 73 23 09 3f 01 5f e8 ae |..8.hB..s#.?._..| -00000020 d7 06 a2 9b d3 01 0f 0d 23 53 7d 20 55 2b 67 4e |........#S} U+gN| -00000030 8b 44 94 a5 25 ef b7 fb e1 c7 85 e8 15 60 f9 d7 |.D..%........`..| -00000040 6d a4 3f 3d 42 d7 78 a6 41 49 b7 12 c0 13 00 00 |m.?=B.x.AI......| +00000000 16 03 01 00 5d 02 00 00 59 03 01 79 f2 d6 96 d6 |....]...Y..y....| +00000010 6d c9 a1 7a 04 ba 6d 7d 29 8d 91 3f 8e 2e 17 0f |m..z..m})..?....| +00000020 c8 c4 3a e1 3c 64 00 28 f8 21 9d 20 16 7b 80 30 |..:...| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 01 00 aa 0c 00 00 a6 03 00 1d 20 a7 ec f4 |............ ...| -000002d0 c7 51 5e a0 fb 55 5a 01 34 cc d1 a6 22 df d6 00 |.Q^..UZ.4..."...| -000002e0 f5 73 e0 9e b8 9d 2a a9 49 3a 99 ba 17 00 80 14 |.s....*.I:......| -000002f0 95 47 77 a1 48 b4 e7 ba 6a e8 0e 4e ee 55 25 f5 |.Gw.H...j..N.U%.| -00000300 ea 82 65 b4 3f db a2 94 03 cc d3 6c 4a e6 cf 57 |..e.?......lJ..W| -00000310 25 4c 79 b8 fb ab dd 1f 68 e4 55 87 b1 46 12 30 |%Ly.....h.U..F.0| -00000320 5e 9f 3d 4a 52 24 76 50 c8 54 83 a2 b9 f5 a6 e0 |^.=JR$vP.T......| -00000330 ec e1 fb ae dd ca d2 c9 b2 31 d5 d4 73 f4 c0 0a |.........1..s...| -00000340 29 1c d3 8e 87 4c b4 0a 37 e8 77 e4 e2 a7 e9 9c |)....L..7.w.....| -00000350 04 ba af 31 dc 2e 5a b3 2e f3 58 e6 21 0a e2 1c |...1..Z...X.!...| -00000360 d4 c6 be b1 70 83 22 05 f8 78 12 6e bd 53 22 16 |....p."..x.n.S".| +000002c0 16 03 01 00 aa 0c 00 00 a6 03 00 1d 20 69 9e db |............ i..| +000002d0 5f 4b 5e 7d 1e 00 1e 91 a6 49 81 e3 d9 ee ea 5e |_K^}.....I.....^| +000002e0 5c 40 f0 68 fd dd eb 6e e4 85 58 91 70 00 80 8e |\@.h...n..X.p...| +000002f0 d6 64 01 3a 56 c2 58 5c 60 28 bc f6 bd 1e bf 73 |.d.:V.X\`(.....s| +00000300 21 b8 1a ea fb c2 df d5 f1 b9 4d d7 6f 1c 8b 24 |!.........M.o..$| +00000310 99 35 a5 ef 20 75 00 3e 83 34 da 40 4e ec e3 43 |.5.. u.>.4.@N..C| +00000320 04 a4 f2 1e bb 97 23 3e 21 32 88 43 80 99 ec 43 |......#>!2.C...C| +00000330 66 c3 09 87 1e e2 ad bb c3 1c db f7 9a 59 3a a8 |f............Y:.| +00000340 46 43 b6 3d 9a 6e c3 42 5b 1a 7d 85 dc db 96 cc |FC.=.n.B[.}.....| +00000350 8d 06 cc 08 d2 f0 09 c3 c6 ed 5f 3b f6 b0 a3 69 |.........._;...i| +00000360 6c a8 9a a5 ef ad 59 c1 07 96 e8 34 1d f0 d9 16 |l.....Y....4....| 00000370 03 01 00 04 0e 00 00 00 |........| >>> Flow 3 (client to server) 00000000 16 03 01 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 01 00 01 01 |....._X.;t......| -00000030 16 03 01 00 30 0f 56 a4 2c c6 11 a2 0a a8 f7 ff |....0.V.,.......| -00000040 6e 71 19 e9 e5 c0 e2 6b 86 9b b1 5d 46 8d 62 93 |nq.....k...]F.b.| -00000050 69 7c 28 6f 25 3d dc ce fa 6f 91 9e b8 8c 15 cd |i|(o%=...o......| -00000060 6a b1 72 ce a8 |j.r..| +00000030 16 03 01 00 30 d1 17 2f 22 e5 fa 78 a0 b3 d3 22 |....0../"..x..."| +00000040 ab cb d2 54 52 e6 b2 74 11 bd 3c 69 9a 71 e8 69 |...TR..t..>> Flow 4 (server to client) -00000000 14 03 01 00 01 01 16 03 01 00 30 d0 aa 00 27 9e |..........0...'.| -00000010 fb 56 22 9f 65 ab 3c cf 34 d9 a0 92 08 62 f2 fe |.V".e.<.4....b..| -00000020 29 4b 0c 14 b0 72 f5 c0 f8 2b 7e 1f 38 ad 68 7e |)K...r...+~.8.h~| -00000030 37 c3 fb 26 5a 5b 42 39 83 33 c0 |7..&Z[B9.3.| +00000000 14 03 01 00 01 01 16 03 01 00 30 d1 2e 43 5c f7 |..........0..C\.| +00000010 fc 5f 96 b7 e6 84 60 08 aa b3 22 d1 d9 e2 f3 4d |._....`..."....M| +00000020 c8 44 62 9b fa 0e 18 7c 84 fe 1e 75 09 4a f4 94 |.Db....|...u.J..| +00000030 67 03 91 79 90 26 70 2d 0e 97 6a |g..y.&p-..j| >>> Flow 5 (client to server) -00000000 17 03 01 00 20 0e 54 7f 5d b9 f2 73 9d a5 49 25 |.... .T.]..s..I%| -00000010 c6 b9 03 1e fb 84 76 a9 69 ca 25 79 c3 a4 60 18 |......v.i.%y..`.| -00000020 94 ff 92 47 4f 17 03 01 00 20 cd 19 d2 cd 7d 7d |...GO.... ....}}| -00000030 3b a1 65 ee 4e a2 f2 02 55 02 28 54 28 92 c9 ec |;.e.N...U.(T(...| -00000040 db 59 f6 7d 2f 9e 7b 66 0e be 15 03 01 00 20 4f |.Y.}/.{f...... O| -00000050 ab cd 12 5b c4 f4 03 0e 57 03 3d f5 4e 09 8b 83 |...[....W.=.N...| -00000060 8b c6 9c c7 eb 30 8c f2 43 f6 10 30 14 80 c5 |.....0..C..0...| +00000000 17 03 01 00 20 c9 ce 68 cc e9 a7 f7 1f 3c 19 76 |.... ..h.....<.v| +00000010 4e a6 2d 64 86 4d 35 9b 5e 5b 8b c7 a1 15 d9 d4 |N.-d.M5.^[......| +00000020 5e 59 67 df 4d 17 03 01 00 20 26 09 76 e2 16 41 |^Yg.M.... &.v..A| +00000030 a3 7f 3e 8e cc 75 ab a0 cf e1 42 8d 3c 51 d4 bb |..>..u....B.>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 01 00 5d 02 00 00 59 03 01 6f 36 7b f5 f4 |....]...Y..o6{..| -00000010 3b 49 31 64 aa 42 a7 8c a2 4d 00 a7 9c b9 b6 9c |;I1d.B...M......| -00000020 0d 2f 09 81 e8 ab 74 77 11 fe 0b 20 e0 b9 92 4d |./....tw... ...M| -00000030 e2 70 fd 58 ec 58 02 f2 b3 44 d2 3d 7f c9 ad ca |.p.X.X...D.=....| -00000040 5c 78 fe f9 36 67 a8 b7 a8 0f 7a 1a c0 13 00 00 |\x..6g....z.....| +00000000 16 03 01 00 5d 02 00 00 59 03 01 97 c9 b8 e6 c1 |....]...Y.......| +00000010 0e b3 68 29 30 ed ff df a6 f3 cd b7 e0 80 a9 76 |..h)0..........v| +00000020 84 1b 45 bb 42 29 e0 c8 7f 52 4b 20 95 97 03 66 |..E.B)...RK ...f| +00000030 6b 45 44 7c 5d 4b 9e 47 fc 72 53 5d 3c 8a 28 6e |kED|]K.G.rS]<.(n| +00000040 bc 40 6d c3 96 67 f9 f2 72 ec 6d 0d c0 13 00 00 |.@m..g..r.m.....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 01 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,36 +62,36 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 01 00 aa 0c 00 00 a6 03 00 1d 20 10 69 5f |............ .i_| -000002d0 db e5 a8 1f 14 81 0c c7 35 d4 3c 22 ee 17 a3 21 |........5.<"...!| -000002e0 47 9b e2 3c 5a f6 f5 46 b9 73 2a 7f 62 00 80 49 |G..ukv.........Mf| -00000340 57 70 1a 4c 21 27 7f c8 69 f4 f4 83 5c 44 32 b4 |Wp.L!'..i...\D2.| -00000350 73 18 a3 c4 4a c1 71 92 04 7a 49 49 15 25 05 a0 |s...J.q..zII.%..| -00000360 61 69 f8 38 4b 9f 92 96 f4 6b 6b 4b 96 60 45 16 |ai.8K....kkK.`E.| +000002c0 16 03 01 00 aa 0c 00 00 a6 03 00 1d 20 15 0b 17 |............ ...| +000002d0 fd fb 69 3e 44 71 3c 68 b2 6a 99 9e 8c 57 ba e8 |..i>Dq.$.`....9...Z| +00000300 12 2c c9 3e a7 db 25 ab 32 32 e4 79 9e 0a 9f 98 |.,.>..%.22.y....| +00000310 99 cd be b3 28 34 40 e1 78 3e 3d 20 35 74 79 7f |....(4@.x>= 5ty.| +00000320 f6 c5 5d 4c 54 30 1d 64 31 49 78 bd a2 cb 62 5a |..]LT0.d1Ix...bZ| +00000330 89 1a bf 65 bf 7f 1c ff 7d 61 6c 7d d2 76 8c 9e |...e....}al}.v..| +00000340 e4 80 56 7d 96 79 48 36 ca c0 99 db 9b ea 3a e7 |..V}.yH6......:.| +00000350 a7 fe cb ed d8 3b 34 8c be d5 ee be 59 d5 e2 5f |.....;4.....Y.._| +00000360 59 17 f3 57 29 eb c8 0e ed 1a 06 79 c0 3c 16 16 |Y..W)......y.<..| 00000370 03 01 00 04 0e 00 00 00 |........| >>> Flow 3 (client to server) 00000000 16 03 01 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 01 00 01 01 |....._X.;t......| -00000030 16 03 01 00 30 e2 8b e2 aa 5a 35 c5 e5 68 ce f4 |....0....Z5..h..| -00000040 fa 51 3f 7b 3e 99 2f 21 b2 c6 b2 70 74 af ae ca |.Q?{>./!...pt...| -00000050 36 86 78 08 ea 8f 02 29 e6 a6 71 fa ad 7f c6 97 |6.x....)..q.....| -00000060 54 6f 88 a3 4b |To..K| +00000030 16 03 01 00 30 c6 d7 ad 2c 52 90 50 3c 50 ec 66 |....0...,R.P>> Flow 4 (server to client) -00000000 14 03 01 00 01 01 16 03 01 00 30 af 26 01 47 8a |..........0.&.G.| -00000010 a3 08 b2 79 1c fe fa 91 e8 4b a6 e1 ad 8e 59 b7 |...y.....K....Y.| -00000020 ea 41 ee 3e 3a aa 2f f2 07 9e 0d 90 3d 6f 92 d5 |.A.>:./.....=o..| -00000030 72 92 ad ae ee c8 5d 48 a0 25 46 |r.....]H.%F| +00000000 14 03 01 00 01 01 16 03 01 00 30 8c a1 03 f1 fb |..........0.....| +00000010 fe f8 1b 43 7b fb 10 59 c3 ed b3 34 b9 74 e1 89 |...C{..Y...4.t..| +00000020 7f 5c 9b 81 b1 4f 13 bf 67 c5 87 92 31 96 7f e7 |.\...O..g...1...| +00000030 35 7b b0 da 2c 79 2e be 43 f4 cf |5{..,y..C..| >>> Flow 5 (client to server) -00000000 17 03 01 00 20 29 2b 6a 75 2b 1b 94 f4 cb 80 14 |.... )+ju+......| -00000010 16 91 ec 08 77 5a 08 45 e7 51 2e a2 ec 03 f0 ca |....wZ.E.Q......| -00000020 35 88 20 3a 2e 17 03 01 00 20 59 0c 48 6f 66 8e |5. :..... Y.Hof.| -00000030 88 62 90 cc 33 39 62 ce 96 28 d0 2f 40 6e ed 14 |.b..39b..(./@n..| -00000040 94 72 88 d8 4a cb 73 24 a9 01 15 03 01 00 20 5c |.r..J.s$...... \| -00000050 8a 91 45 ed c9 38 e7 1d 71 02 b8 30 bf 24 0e 30 |..E..8..q..0.$.0| -00000060 6d fa 0a 4a 39 9f 56 b2 04 99 3e 67 bd bc d9 |m..J9.V...>g...| +00000000 17 03 01 00 20 61 e8 5a b2 15 88 f2 f9 e2 09 61 |.... a.Z.......a| +00000010 53 a5 7f 79 4b e8 c7 8d a9 5d 29 bf b9 0a 1d f7 |S..yK....]).....| +00000020 90 9f 3b 89 39 17 03 01 00 20 86 93 3b 08 7f 77 |..;.9.... ..;..w| +00000030 55 e5 51 06 ca 0e 80 96 9d 40 73 55 45 18 28 c7 |U.Q......@sUE.(.| +00000040 54 6a d8 15 d7 67 1e 4b 52 1e 15 03 01 00 20 56 |Tj...g.KR..... V| +00000050 d8 23 be 5a 8a a8 a4 8f 13 2f f0 34 24 90 96 87 |.#.Z...../.4$...| +00000060 59 48 3f 76 77 47 d5 eb 4d cb 80 00 bc 11 cf |YH?vwG..M......| diff --git a/testdata/Client-TLSv10-RSA-RC4 b/testdata/Client-TLSv10-RSA-RC4 index 8fce559c72b..c217b1112ac 100644 --- a/testdata/Client-TLSv10-RSA-RC4 +++ b/testdata/Client-TLSv10-RSA-RC4 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 01 00 55 02 00 00 51 03 01 9b 6a cd e3 08 |....U...Q...j...| -00000010 29 e7 32 d1 53 14 f5 4a cf b7 61 1a 90 d6 9a 73 |).2.S..J..a....s| -00000020 ad 48 2a 08 ce d7 d7 cb f8 25 b1 20 c1 24 61 85 |.H*......%. .$a.| -00000030 31 d2 81 5e 8e c8 31 40 56 36 79 af bb f7 90 d3 |1..^..1@V6y.....| -00000040 06 5e 4b 5a 62 50 c0 d5 89 7f 35 70 00 05 00 00 |.^KZbP....5p....| +00000000 16 03 01 00 55 02 00 00 51 03 01 6a dd d7 0d bb |....U...Q..j....| +00000010 bd b4 9c de 87 94 32 27 fa 4b 66 e0 8b 95 f2 11 |......2'.Kf.....| +00000020 a0 a5 30 15 34 6f 76 6b f7 23 ec 20 ef 7d 52 7d |..0.4ovk.#. .}R}| +00000030 2c 3b 30 1b f2 16 e7 8f b6 62 64 79 51 5b 31 36 |,;0......bdyQ[16| +00000040 b7 59 b1 f9 d5 26 d6 21 94 ff 7f bd 00 05 00 00 |.Y...&.!........| 00000050 09 ff 01 00 01 00 00 17 00 00 16 03 01 02 59 0b |..............Y.| 00000060 00 02 55 00 02 52 00 02 4f 30 82 02 4b 30 82 01 |..U..R..O0..K0..| 00000070 b4 a0 03 02 01 02 02 09 00 e8 f0 9d 3f e2 5b ea |............?.[.| @@ -72,15 +73,15 @@ 00000060 c5 70 0f 08 83 48 e9 48 ef 6e 50 8b 05 7e e5 84 |.p...H.H.nP..~..| 00000070 25 fa 55 c7 ae 31 02 27 00 ef 3f 98 86 20 12 89 |%.U..1.'..?.. ..| 00000080 91 59 28 b4 f7 d7 af d2 69 61 35 14 03 01 00 01 |.Y(.....ia5.....| -00000090 01 16 03 01 00 24 b3 7b e6 d1 8f 79 04 e2 42 0f |.....$.{...y..B.| -000000a0 61 de d2 be 1e 4d 8f d4 6f 7e 2d 59 cf 23 ff 1e |a....M..o~-Y.#..| -000000b0 74 ea 2a 9c 7e e2 5b 23 05 2e |t.*.~.[#..| +00000090 01 16 03 01 00 24 0e 49 42 d7 a8 ca 08 09 a6 63 |.....$.IB......c| +000000a0 0f b1 4b 06 30 37 5e cb 3a c8 d6 ce f9 9c bf 2f |..K.07^.:....../| +000000b0 4a c1 c7 fb 2e 02 a6 b0 de ed |J.........| >>> Flow 4 (server to client) -00000000 14 03 01 00 01 01 16 03 01 00 24 3c 4e 68 82 8f |..........$>> Flow 5 (client to server) -00000000 17 03 01 00 1a e0 a4 39 3c 9c 5c 8e 60 db 8e 5c |.......9<.\.`..\| -00000010 13 aa 60 4a 1c f0 71 1b f2 4d a9 f8 52 07 bd 15 |..`J..q..M..R...| -00000020 03 01 00 16 9e f3 0a 66 42 77 5a 75 74 18 85 f1 |.......fBwZut...| -00000030 3c fb ea d4 b8 76 6d eb 48 3d |<....vm.H=| +00000000 17 03 01 00 1a d3 71 0b 8e 0d d4 e0 06 04 e2 30 |......q........0| +00000010 59 2c fe 84 81 45 1c e4 59 90 b1 b1 11 85 cb 15 |Y,...E..Y.......| +00000020 03 01 00 16 ad 5d 98 96 4e 9d 83 af b0 50 64 77 |.....]..N....Pdw| +00000030 62 a1 2b 1a 63 59 16 9e 60 da |b.+.cY..`.| diff --git a/testdata/Client-TLSv11-ECDHE-ECDSA-AES b/testdata/Client-TLSv11-ECDHE-ECDSA-AES index 0ad2db05758..dbaefe8eb36 100644 --- a/testdata/Client-TLSv11-ECDHE-ECDSA-AES +++ b/testdata/Client-TLSv11-ECDHE-ECDSA-AES @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 02 00 5d 02 00 00 59 03 02 51 70 ac 24 75 |....]...Y..Qp.$u| -00000010 53 94 02 c6 20 8e 22 0d b2 79 30 3b ee a1 00 44 |S... ."..y0;...D| -00000020 f3 1c b8 a3 4c 51 c4 d9 30 95 d4 20 ca 82 67 4f |....LQ..0.. ..gO| -00000030 8c 13 5f c2 7e fc e0 0c 04 5c e2 9a c2 a3 02 a1 |.._.~....\......| -00000040 bc fa ca 16 38 83 2e 5a c1 75 19 67 c0 09 00 00 |....8..Z.u.g....| +00000000 16 03 02 00 5d 02 00 00 59 03 02 14 c4 6e 18 e9 |....]...Y....n..| +00000010 5b 74 0d 7f 05 01 75 e3 a3 af 90 f0 ea e3 a8 f0 |[t....u.........| +00000020 6e b5 7d 29 97 4d f3 7e e9 06 20 20 ba 37 13 9f |n.}).M.~.. .7..| +00000030 4e dd 10 6d 52 96 14 d0 93 3b 99 5b c2 cd f3 9c |N..mR....;.[....| +00000040 48 c1 12 78 c2 e5 e7 9d a1 d6 b4 da c0 09 00 00 |H..x............| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 02 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -57,38 +58,38 @@ 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| 00000270 95 12 07 8f 2a 16 03 02 00 b5 0c 00 00 b1 03 00 |....*...........| -00000280 1d 20 4a 31 cd 48 ea 05 09 8a 6d 78 c5 46 5d ea |. J1.H....mx.F].| -00000290 fb aa 62 79 17 70 31 5e 5a 95 c1 ce a9 52 3e 8e |..by.p1^Z....R>.| -000002a0 a1 7b 00 8b 30 81 88 02 42 01 e1 c6 99 40 d7 9f |.{..0...B....@..| -000002b0 15 41 f4 4f 54 5f 5d 14 bd a6 cc 18 6e 67 98 ab |.A.OT_].....ng..| -000002c0 6a 33 9d 54 68 94 2a 89 22 66 2d 20 97 e7 53 c9 |j3.Th.*."f- ..S.| -000002d0 f8 ee ad 64 46 6e 53 1d d6 57 55 6a 4c bc 37 1f |...dFnS..WUjL.7.| -000002e0 e7 9c c4 bb 23 cb af 27 2a 19 94 02 42 01 35 b4 |....#..'*...B.5.| -000002f0 a1 f0 c2 6d 34 f0 05 a7 25 9a 22 6c 3e 41 e7 a0 |...m4...%."l>A..| -00000300 1e 8f 5a 28 b1 5a 88 46 48 7e 40 93 f2 38 9d 33 |..Z(.Z.FH~@..8.3| -00000310 6b b5 92 ed 6d 44 07 03 c8 77 ee 3a 80 37 1e f9 |k...mD...w.:.7..| -00000320 4d 5c 2b 6d c5 15 07 b2 7c eb c5 f5 c5 14 dd 16 |M\+m....|.......| +00000280 1d 20 d1 90 13 d3 6d b1 e1 ec a3 e1 8b a1 d6 a6 |. ....m.........| +00000290 40 ac 8e cf 6e 42 06 7d a8 80 9a 9e a8 06 00 84 |@...nB.}........| +000002a0 69 1f 00 8b 30 81 88 02 42 01 b6 ba 66 1c de c4 |i...0...B...f...| +000002b0 8b a1 4a a7 0e f5 cb aa 5c 76 65 59 ba bb e2 7f |..J.....\veY....| +000002c0 a5 ee 91 26 77 40 e9 5d 25 73 5a d6 f9 b4 aa ac |...&w@.]%sZ.....| +000002d0 c8 bd 2b a4 95 b3 ef e0 c7 bb f1 d0 5e da 76 34 |..+.........^.v4| +000002e0 a4 34 5b 6c d6 c8 3b 13 b1 d0 12 02 42 01 e1 18 |.4[l..;.....B...| +000002f0 d5 90 79 c5 06 00 6b 7a 86 19 e0 2f 67 49 db 9e |..y...kz.../gI..| +00000300 4a 74 07 30 51 15 7b a1 01 89 9c 94 d8 17 18 a6 |Jt.0Q.{.........| +00000310 31 aa fb 4b 57 24 52 00 41 1d cc 36 89 6e b4 ed |1..KW$R.A..6.n..| +00000320 fc 23 33 63 dd 94 3b 40 6f f1 af d7 78 27 0c 16 |.#3c..;@o...x'..| 00000330 03 02 00 04 0e 00 00 00 |........| >>> Flow 3 (client to server) 00000000 16 03 02 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 02 00 01 01 |....._X.;t......| 00000030 16 03 02 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| -00000040 00 00 00 00 00 40 aa 15 c7 e0 2e f6 9e e8 aa 92 |.....@..........| -00000050 81 6d 83 8f 13 7e 7c d5 9f b9 bf ca 5d da fd 3c |.m...~|.....]..<| -00000060 ba c7 8e 8e 9a 93 86 21 49 15 04 9d b8 75 c1 fe |.......!I....u..| -00000070 5b a6 41 d5 46 |[.A.F| +00000040 00 00 00 00 00 bd f5 0b 25 31 b7 e6 3f 74 dc 39 |........%1..?t.9| +00000050 c8 a4 f5 3f 78 f5 6f 66 1b 59 53 51 40 d2 e1 14 |...?x.of.YSQ@...| +00000060 56 96 ea 1f 08 30 3f 66 ca e4 e4 a0 b5 9f 60 9b |V....0?f......`.| +00000070 f8 b0 c7 b8 79 |....y| >>> Flow 4 (server to client) -00000000 14 03 02 00 01 01 16 03 02 00 40 ba a7 6d aa 40 |..........@..m.@| -00000010 b5 94 f8 d6 84 38 7c 19 7f b9 e9 8b 0f a8 db 4c |.....8|........L| -00000020 68 cf 1e d4 e0 b2 7c 78 80 76 18 c7 a5 cf 57 2d |h.....|x.v....W-| -00000030 1e 3d 17 b2 ce 44 93 76 38 91 4b d0 7f 09 00 2f |.=...D.v8.K..../| -00000040 c2 da c7 32 70 de fd cb a4 99 90 |...2p......| +00000000 14 03 02 00 01 01 16 03 02 00 40 68 2d 60 78 1b |..........@h-`x.| +00000010 a7 b8 28 3a 2b f5 cd b8 ef 4e 8e ab 3c d5 67 7b |..(:+....N..<.g{| +00000020 1f 29 9e 59 de ca 43 3a 4c 0c f5 70 43 cb 0b 40 |.).Y..C:L..pC..@| +00000030 69 a3 7c f7 1a 3b 48 2f b8 a2 7c b4 4a 03 36 2a |i.|..;H/..|.J.6*| +00000040 24 c9 78 9a 06 6e 18 2e 4a c0 54 |$.x..n..J.T| >>> Flow 5 (client to server) 00000000 17 03 02 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -00000010 00 00 00 00 00 86 40 c2 e7 d4 56 43 6b e0 e4 96 |......@...VCk...| -00000020 41 74 2e b1 65 cd c6 93 06 71 f0 25 20 21 c5 1b |At..e....q.% !..| -00000030 d2 ea eb e4 06 15 03 02 00 30 00 00 00 00 00 00 |.........0......| -00000040 00 00 00 00 00 00 00 00 00 00 1e a9 c0 dc d8 23 |...............#| -00000050 f2 08 b0 c5 b2 2e 53 9b 23 50 8a 02 c6 41 9a 36 |......S.#P...A.6| -00000060 59 b1 23 d9 5e 91 45 cf 1b a1 |Y.#.^.E...| +00000010 00 00 00 00 00 f6 ff 38 da 12 09 78 fe de fb 0f |.......8...x....| +00000020 ea d3 5a d8 57 65 73 78 41 2d 0b 1b a4 8d f6 e7 |..Z.WesxA-......| +00000030 ed 58 97 c9 ea 15 03 02 00 30 00 00 00 00 00 00 |.X.......0......| +00000040 00 00 00 00 00 00 00 00 00 00 7d 4a 10 43 93 8a |..........}J.C..| +00000050 6d d2 50 34 92 22 24 f6 7a 9a c4 1f 57 e8 6d f8 |m.P4."$.z...W.m.| +00000060 74 c4 cb 8b e0 4d 99 dd ce 0a |t....M....| diff --git a/testdata/Client-TLSv11-ECDHE-RSA-AES b/testdata/Client-TLSv11-ECDHE-RSA-AES index 83c7d77102f..d0093da76c9 100644 --- a/testdata/Client-TLSv11-ECDHE-RSA-AES +++ b/testdata/Client-TLSv11-ECDHE-RSA-AES @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 02 00 5d 02 00 00 59 03 02 79 2f de f0 f3 |....]...Y..y/...| -00000010 97 6a 5e e3 07 66 d9 f2 8b e9 be 1a 97 9f 6d c8 |.j^..f........m.| -00000020 9d b5 88 57 fc 8c 5d 7f d7 3e 34 20 e5 4c 51 33 |...W..]..>4 .LQ3| -00000030 52 23 a0 52 77 ca 41 4a 1b e4 22 fb 1c 82 f8 e4 |R#.Rw.AJ..".....| -00000040 aa 13 c2 1a ce cd d5 42 de b0 e9 10 c0 13 00 00 |.......B........| +00000000 16 03 02 00 5d 02 00 00 59 03 02 3d 12 00 a1 c0 |....]...Y..=....| +00000010 6f b2 13 96 d8 c3 b6 4e 81 60 03 60 fa 9a 4b 54 |o......N.`.`..KT| +00000020 a9 1d e3 e9 10 e6 8d 84 e3 af 76 20 7c 6d 5c 41 |..........v |m\A| +00000030 f6 19 49 92 b0 d2 1d 74 22 5d 6a 3f c6 5e 77 c0 |..I....t"]j?.^w.| +00000040 c4 bb 31 2d 62 8d 7b 5c 66 6d c4 94 c0 13 00 00 |..1-b.{\fm......| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 02 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,38 +62,38 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 02 00 aa 0c 00 00 a6 03 00 1d 20 ef 2a b0 |............ .*.| -000002d0 da 99 1f 17 dc 29 38 43 c2 72 18 b6 ea ad 8f e6 |.....)8C.r......| -000002e0 f2 d2 81 e5 f6 2e 6c 5a 95 89 10 14 34 00 80 11 |......lZ....4...| -000002f0 ff 56 fa 9e 9f 0c b9 a9 57 c4 2c cb a1 ce 70 ca |.V......W.,...p.| -00000300 94 bd 5e 54 0e eb da ce 1b 19 ee bc aa bb 9c 10 |..^T............| -00000310 f8 6e 59 48 82 5e fe 3c 2e 28 6d 8a 2f 08 ce df |.nYH.^.<.(m./...| -00000320 52 e2 07 a6 68 68 69 fc 2b d7 fd 28 ef 48 85 c9 |R...hhi.+..(.H..| -00000330 70 75 b4 f4 04 2f 39 69 ee 1a aa 14 c9 7b e0 f7 |pu.../9i.....{..| -00000340 bc 50 76 df 24 57 8b a4 ca 87 8a b5 ff c9 13 9e |.Pv.$W..........| -00000350 d3 9e 2b e1 d4 6f 0c ce 61 83 e9 38 51 04 2e 23 |..+..o..a..8Q..#| -00000360 b4 f8 90 f4 0f 45 93 34 14 f4 ca 4f 13 02 89 16 |.....E.4...O....| +000002c0 16 03 02 00 aa 0c 00 00 a6 03 00 1d 20 73 f2 57 |............ s.W| +000002d0 12 5a 50 bb 9d 2d 14 f0 ca ee c1 41 bf da 9e 8e |.ZP..-.....A....| +000002e0 d5 a9 25 c3 84 07 e7 5c 35 87 8b 70 3d 00 80 d3 |..%....\5..p=...| +000002f0 86 1b 82 48 5c 14 9b cf e4 a0 2b 24 bc 8c ad e9 |...H\.....+$....| +00000300 7c 1e 4f da c2 22 10 91 76 47 bc 9f 64 ca 1c 69 ||.O.."..vG..d..i| +00000310 77 c0 c7 2c 50 ea 1a 07 d0 8c ec da aa ed 82 9d |w..,P...........| +00000320 a5 6c d6 27 05 f8 24 19 f9 d4 b1 c6 e3 0f 49 6f |.l.'..$.......Io| +00000330 e4 47 25 9a 36 f1 d3 ed b1 b5 a0 cc 66 50 75 64 |.G%.6.......fPud| +00000340 97 ee 3c 65 84 1b 62 f8 1a 8f 02 5a d4 2c 49 b3 |..>> Flow 3 (client to server) 00000000 16 03 02 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 02 00 01 01 |....._X.;t......| 00000030 16 03 02 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| -00000040 00 00 00 00 00 34 fa 43 0a 6f 38 d0 80 5d a1 d6 |.....4.C.o8..]..| -00000050 61 c9 62 a9 b2 14 88 b4 7d b9 dc 20 93 11 27 37 |a.b.....}.. ..'7| -00000060 5a 2a 5b d4 10 54 75 23 8d 39 4a 5b 51 80 48 f2 |Z*[..Tu#.9J[Q.H.| -00000070 16 64 e5 90 38 |.d..8| +00000040 00 00 00 00 00 93 60 ad fa 30 93 3e 31 6d 2c 0c |......`..0.>1m,.| +00000050 21 3d 6a 53 b1 51 f9 a9 1f 74 ee 42 7a 90 8a 08 |!=jS.Q...t.Bz...| +00000060 9e a0 7f 42 19 c4 28 06 77 bb 32 c1 a0 0d ec 71 |...B..(.w.2....q| +00000070 4f 20 89 c1 7d |O ..}| >>> Flow 4 (server to client) -00000000 14 03 02 00 01 01 16 03 02 00 40 f8 77 bf c0 dd |..........@.w...| -00000010 11 e1 3f 90 e0 1a c0 dc a6 6a b2 81 9b 1b 63 bc |..?......j....c.| -00000020 42 b6 23 b2 1f 95 36 38 56 f8 a4 e4 c1 c9 6f d2 |B.#...68V.....o.| -00000030 64 16 13 16 b7 25 53 ec a1 c2 94 de 8d ae 38 b9 |d....%S.......8.| -00000040 07 29 42 1d 16 3d fb 29 8b 76 15 |.)B..=.).v.| +00000000 14 03 02 00 01 01 16 03 02 00 40 fb 97 d9 4a c6 |..........@...J.| +00000010 10 21 6f 7b 77 ba e0 41 b2 50 d3 8c df 54 b1 9f |.!o{w..A.P...T..| +00000020 98 55 e7 0e fb bd 25 67 fb fb 5a 5c 86 b8 f0 17 |.U....%g..Z\....| +00000030 2b 56 b3 81 21 45 58 98 38 63 24 0a ec aa 17 55 |+V..!EX.8c$....U| +00000040 8c 46 67 a6 44 57 00 8d 49 83 28 |.Fg.DW..I.(| >>> Flow 5 (client to server) 00000000 17 03 02 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -00000010 00 00 00 00 00 59 ac 45 2f 3f 3b d3 5d 73 08 85 |.....Y.E/?;.]s..| -00000020 9a 0e 99 a2 ad 8d 4e de 52 e9 5b 8b 76 71 5d 5e |......N.R.[.vq]^| -00000030 6b ec 05 24 a5 15 03 02 00 30 00 00 00 00 00 00 |k..$.....0......| -00000040 00 00 00 00 00 00 00 00 00 00 92 ce 2d b7 15 d2 |............-...| -00000050 3b c5 42 ad aa 73 a8 e0 ac 26 d2 e7 ef c7 a9 72 |;.B..s...&.....r| -00000060 75 96 5c 8c 2d 60 6e 57 bd ef |u.\.-`nW..| +00000010 00 00 00 00 00 e7 87 56 3d 84 0b 17 94 41 94 67 |.......V=....A.g| +00000020 48 ff 0f e4 2d a9 1c 7a 68 fc 42 36 17 27 b0 66 |H...-..zh.B6.'.f| +00000030 af 97 25 90 a2 15 03 02 00 30 00 00 00 00 00 00 |..%......0......| +00000040 00 00 00 00 00 00 00 00 00 00 55 a4 8a bc 52 98 |..........U...R.| +00000050 07 3a dd 7a dc 4f 2c 8d f2 1b f0 76 09 ca 88 36 |.:.z.O,....v...6| +00000060 d4 fa f9 f4 b7 2e ce 6e 26 82 |.......n&.| diff --git a/testdata/Client-TLSv11-RSA-RC4 b/testdata/Client-TLSv11-RSA-RC4 index dd58620c470..64b06a8f17a 100644 --- a/testdata/Client-TLSv11-RSA-RC4 +++ b/testdata/Client-TLSv11-RSA-RC4 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 02 00 55 02 00 00 51 03 02 42 bb c8 01 43 |....U...Q..B...C| -00000010 e4 f7 10 09 bf 35 a3 c2 d7 ca 60 a9 60 be 1d 00 |.....5....`.`...| -00000020 92 33 b6 3e 56 2b c2 f7 29 e3 f9 20 8c d7 b6 90 |.3.>V+..).. ....| -00000030 03 f5 8b 55 e9 81 47 5b 84 ec 19 bc 32 58 c6 30 |...U..G[....2X.0| -00000040 f1 79 ea 51 a2 18 cc c0 4e 8a 8e cb 00 05 00 00 |.y.Q....N.......| +00000000 16 03 02 00 55 02 00 00 51 03 02 3d a4 ea 71 81 |....U...Q..=..q.| +00000010 c9 47 24 2b 53 22 83 07 df 5a 9e 76 ef ca d8 1b |.G$+S"...Z.v....| +00000020 1f 16 15 cd 7e e4 62 93 1e 5d a7 20 9d ac ea 5a |....~.b..]. ...Z| +00000030 9e e3 7c 14 94 9d 1b 9e 2a 7b 2d 80 55 85 2f 9e |..|.....*{-.U./.| +00000040 ed 17 20 79 66 a2 6c 88 81 cb b0 79 00 05 00 00 |.. yf.l....y....| 00000050 09 ff 01 00 01 00 00 17 00 00 16 03 02 02 59 0b |..............Y.| 00000060 00 02 55 00 02 52 00 02 4f 30 82 02 4b 30 82 01 |..U..R..O0..K0..| 00000070 b4 a0 03 02 01 02 02 09 00 e8 f0 9d 3f e2 5b ea |............?.[.| @@ -72,15 +73,15 @@ 00000060 c5 70 0f 08 83 48 e9 48 ef 6e 50 8b 05 7e e5 84 |.p...H.H.nP..~..| 00000070 25 fa 55 c7 ae 31 02 27 00 ef 3f 98 86 20 12 89 |%.U..1.'..?.. ..| 00000080 91 59 28 b4 f7 d7 af d2 69 61 35 14 03 02 00 01 |.Y(.....ia5.....| -00000090 01 16 03 02 00 24 a8 40 50 90 31 50 fc 5e d8 f5 |.....$.@P.1P.^..| -000000a0 64 7a a5 62 8d ad ce 03 34 c9 ab 16 31 45 bc 8b |dz.b....4...1E..| -000000b0 26 8b fa 38 7a 2e 60 42 86 46 |&..8z.`B.F| +00000090 01 16 03 02 00 24 30 52 7f 8a 5c 3a 31 65 87 8c |.....$0R..\:1e..| +000000a0 9e 31 8f b1 22 15 ed af 99 6c 19 47 46 fd e1 3b |.1.."....l.GF..;| +000000b0 b3 f4 3a 5b d8 e5 a6 1a 7c 5e |..:[....|^| >>> Flow 4 (server to client) -00000000 14 03 02 00 01 01 16 03 02 00 24 83 1d 5a 04 90 |..........$..Z..| -00000010 1f 8d 07 46 39 1e 3c cf cb 06 45 f5 88 9e 68 5c |...F9.<...E...h\| -00000020 96 a0 06 47 43 21 20 ce 90 1f 24 49 52 30 59 |...GC! ...$IR0Y| +00000000 14 03 02 00 01 01 16 03 02 00 24 c1 5d da 6d 6e |..........$.].mn| +00000010 55 3e 70 a4 52 15 d9 ba 88 a1 b7 f0 40 71 09 fa |U>p.R.......@q..| +00000020 3f 00 6f 39 72 88 89 a1 3d cf 7a 7a 97 15 b7 |?.o9r...=.zz...| >>> Flow 5 (client to server) -00000000 17 03 02 00 1a f9 9f c2 32 02 96 87 95 4b ba 17 |........2....K..| -00000010 1f b9 af fe 6a 87 38 d4 d8 b4 f8 1d ad 05 00 15 |....j.8.........| -00000020 03 02 00 16 54 07 15 34 f4 c3 a2 3e 01 9e 00 cb |....T..4...>....| -00000030 83 f7 58 79 e2 dc a4 b8 15 e9 |..Xy......| +00000000 17 03 02 00 1a 56 ea a4 ed 0f 9d 98 3b 48 bc 76 |.....V......;H.v| +00000010 35 3f fb 78 92 d9 ce ef 53 b2 ef a6 13 9a 4c 15 |5?.x....S.....L.| +00000020 03 02 00 16 b5 41 d0 98 50 73 73 90 c0 fe ec 11 |.....A..Pss.....| +00000030 ec 98 d5 fb 02 c0 11 11 29 1c |........).| diff --git a/testdata/Client-TLSv12-AES128-GCM-SHA256 b/testdata/Client-TLSv12-AES128-GCM-SHA256 index d88acc95f9b..33e01c140b0 100644 --- a/testdata/Client-TLSv12-AES128-GCM-SHA256 +++ b/testdata/Client-TLSv12-AES128-GCM-SHA256 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 55 02 00 00 51 03 03 d1 5c 30 66 38 |....U...Q...\0f8| -00000010 84 89 85 fe b6 87 de 62 8e b5 86 18 16 f7 8f b0 |.......b........| -00000020 f2 00 09 e5 55 d7 10 a0 76 d8 58 20 23 7d ff 5f |....U...v.X #}._| -00000030 b4 b5 5b de b9 7a f9 d1 bc 90 ff 2c 1d d7 fe ed |..[..z.....,....| -00000040 2f 6e 29 d8 08 61 0b 9d cc 7d 64 6a 00 9c 00 00 |/n)..a...}dj....| +00000000 16 03 03 00 55 02 00 00 51 03 03 c5 da f3 88 41 |....U...Q......A| +00000010 ed 43 a7 4e 49 ad db 74 04 c6 fb c2 13 49 86 14 |.C.NI..t.....I..| +00000020 fd d0 e1 7a ab d3 df 65 62 c6 1f 20 29 1a 03 bf |...z...eb.. )...| +00000030 10 35 3c 58 36 fd 4d 7a 7d dc f1 fd be d0 c6 b5 |.5D..l.C.:...S.| -000000b0 a6 d3 5c f0 5b ca e8 6a c7 13 88 65 50 71 |..\.[..j...ePq| +00000090 01 16 03 03 00 28 00 00 00 00 00 00 00 00 2c 46 |.....(........,F| +000000a0 31 d0 81 b9 6e 55 b0 5b 7b 15 a0 27 da e2 d7 71 |1...nU.[{..'...q| +000000b0 f4 d0 83 6c 98 d9 75 e2 f4 4c 61 0b fe 3c |...l..u..La..<| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 3f 30 36 77 c6 |..........(?06w.| -00000010 6d 4f 37 2c ac f1 c2 24 9d e1 3f 0c 51 64 12 67 |mO7,...$..?.Qd.g| -00000020 83 47 ec f1 b8 02 6d 11 11 b7 ec ab 09 26 41 ff |.G....m......&A.| -00000030 e8 32 05 |.2.| +00000000 14 03 03 00 01 01 16 03 03 00 28 e5 b5 71 5d e0 |..........(..q].| +00000010 c8 9a 75 4c 6e 72 4e a2 5f f9 b4 9f f4 40 a0 de |..uLnrN._....@..| +00000020 73 48 9c 01 f3 0b 78 91 5f 85 29 9c 51 dc 77 bc |sH....x._.).Q.w.| +00000030 c0 32 42 |.2B| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 af 3a 1e |..............:.| -00000010 98 3e 74 5f 66 64 eb 6c 88 36 33 f0 98 e8 46 e9 |.>t_fd.l.63...F.| -00000020 f1 2f 32 15 03 03 00 1a 00 00 00 00 00 00 00 02 |./2.............| -00000030 76 2b 83 08 46 7d 34 58 db e8 e8 e1 e2 cb ad 1e |v+..F}4X........| -00000040 e4 a5 |..| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 9e 81 42 |...............B| +00000010 90 9e ab a2 29 b3 f7 a6 31 45 5f a4 2e d5 52 f7 |....)...1E_...R.| +00000020 72 8b 3b 15 03 03 00 1a 00 00 00 00 00 00 00 02 |r.;.............| +00000030 96 5a f4 de 37 1b 2c f1 8d 90 91 17 6f 81 90 7f |.Z..7.,.....o...| +00000040 e7 9d |..| diff --git a/testdata/Client-TLSv12-AES128-SHA256 b/testdata/Client-TLSv12-AES128-SHA256 index 030cbc6f2be..b373f27aaeb 100644 --- a/testdata/Client-TLSv12-AES128-SHA256 +++ b/testdata/Client-TLSv12-AES128-SHA256 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 55 02 00 00 51 03 03 bd e7 e2 ea 28 |....U...Q......(| -00000010 09 0b 7f 30 b5 91 fd b4 91 d1 c3 b8 8f 25 38 88 |...0.........%8.| -00000020 62 28 5c 1d 14 1a 6a 50 7d 30 e8 20 c3 91 2d ea |b(\...jP}0. ..-.| -00000030 59 8d 1d 56 98 c9 02 c0 f1 98 94 a6 8c 2b f2 63 |Y..V.........+.c| -00000040 ed b9 97 36 c6 c6 32 97 9e 61 6c 3b 00 3c 00 00 |...6..2..al;.<..| +00000000 16 03 03 00 55 02 00 00 51 03 03 eb c3 6e 78 2e |....U...Q....nx.| +00000010 9f 47 ec 9d 0e bc 8d 49 d2 46 11 75 5e 50 a5 07 |.G.....I.F.u^P..| +00000020 0a 99 90 34 34 2d 81 75 1b f4 ca 20 fb 28 c1 8c |...44-.u... .(..| +00000030 55 27 36 be 4e d1 c7 ee e8 b3 2a eb 7a be f1 2a |U'6.N.....*.z..*| +00000040 fc 81 df d8 5b c2 1f 1e 7b 47 0f 06 00 3c 00 00 |....[...{G...<..| 00000050 09 ff 01 00 01 00 00 17 00 00 16 03 03 02 59 0b |..............Y.| 00000060 00 02 55 00 02 52 00 02 4f 30 82 02 4b 30 82 01 |..U..R..O0..K0..| 00000070 b4 a0 03 02 01 02 02 09 00 e8 f0 9d 3f e2 5b ea |............?.[.| @@ -73,25 +74,25 @@ 00000070 25 fa 55 c7 ae 31 02 27 00 ef 3f 98 86 20 12 89 |%.U..1.'..?.. ..| 00000080 91 59 28 b4 f7 d7 af d2 69 61 35 14 03 03 00 01 |.Y(.....ia5.....| 00000090 01 16 03 03 00 50 00 00 00 00 00 00 00 00 00 00 |.....P..........| -000000a0 00 00 00 00 00 00 f3 6e c5 65 29 75 22 fe 23 6f |.......n.e)u".#o| -000000b0 96 fa b3 8d 98 ac df bf 3a 23 ca 4f d9 52 95 3f |........:#.O.R.?| -000000c0 89 8b 61 cf d2 2d f3 14 31 9d 3a 6f a9 b5 7b 69 |..a..-..1.:o..{i| -000000d0 27 a6 2b 2d 43 6e 77 f1 cd 73 fa 80 7b bf 8a 1d |'.+-Cnw..s..{...| -000000e0 83 c5 9b 8c 0a 03 |......| +000000a0 00 00 00 00 00 00 ee 37 21 73 05 93 63 ca 4f 0e |.......7!s..c.O.| +000000b0 e2 29 7f 90 6f 3a aa 52 a0 e0 71 97 5f f9 66 cf |.)..o:.R..q._.f.| +000000c0 06 19 09 51 03 5f 2e 0c 57 26 42 15 ef 8f 4e a9 |...Q._..W&B...N.| +000000d0 c4 97 95 0a d1 ce 30 2c bf 7a 85 4b a9 d0 a9 e0 |......0,.z.K....| +000000e0 64 11 1a dc 48 1d |d...H.| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 50 f6 93 f3 85 25 |..........P....%| -00000010 06 5c 47 ea d5 6e 90 05 21 91 9a 86 06 42 f6 54 |.\G..n..!....B.T| -00000020 25 4a 61 65 7e 19 c8 1a 58 52 06 81 df dd 19 fc |%Jae~...XR......| -00000030 bd 5a 82 ff ae 80 92 b3 3b 7d 89 c0 64 b1 36 e3 |.Z......;}..d.6.| -00000040 5c bb 2a 5b e8 6d 18 02 43 27 b5 57 bc 3f ab b1 |\.*[.m..C'.W.?..| -00000050 27 59 0e 6a d5 07 6a 66 ad 51 82 |'Y.j..jf.Q.| +00000000 14 03 03 00 01 01 16 03 03 00 50 58 d1 09 93 e9 |..........PX....| +00000010 97 c1 cc c3 db 1d 65 d8 97 35 c1 b4 3f 9f a0 00 |......e..5..?...| +00000020 9f 81 2a 81 61 b5 51 9f ec 15 94 d0 86 0f a1 70 |..*.a.Q........p| +00000030 e9 90 59 dd 16 d3 e7 33 21 b7 d8 6e 4b a8 fd fb |..Y....3!..nK...| +00000040 dd 98 78 95 16 44 f8 da bd e3 e2 3f f0 e1 d9 39 |..x..D.....?...9| +00000050 c0 2e 0d c4 fe a5 ac 41 66 2d f3 |.......Af-.| >>> Flow 5 (client to server) 00000000 17 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| -00000010 00 00 00 00 00 2a 8b 84 55 57 20 b8 4f 11 d2 cc |.....*..UW .O...| -00000020 5e a0 ef 1a f1 62 fc 59 38 14 30 0f e0 76 04 ca |^....b.Y8.0..v..| -00000030 eb c2 45 a4 75 12 e6 1a 16 fc d8 bd d4 f7 fd 6f |..E.u..........o| -00000040 f3 99 ca d6 41 15 03 03 00 40 00 00 00 00 00 00 |....A....@......| -00000050 00 00 00 00 00 00 00 00 00 00 8c 80 a8 e9 95 4c |...............L| -00000060 c9 fa 4d 9d 06 e5 d8 70 5f fa a9 44 24 15 f4 47 |..M....p_..D$..G| -00000070 5a 0a 24 55 a7 6a 04 1c 2a 39 80 fd 08 47 d7 08 |Z.$U.j..*9...G..| -00000080 41 8b 9d 46 74 cb 61 c6 84 84 |A..Ft.a...| +00000010 00 00 00 00 00 2f d9 4b fc 22 0f 20 dd 2c 20 83 |...../.K.". ., .| +00000020 bd f0 49 5b bc 57 55 bc fb 41 13 79 a7 19 4d e3 |..I[.WU..A.y..M.| +00000030 71 66 ce b5 77 35 9c 54 86 0e fc 21 d6 9e c4 66 |qf..w5.T...!...f| +00000040 ee 95 3f 0a d5 15 03 03 00 40 00 00 00 00 00 00 |..?......@......| +00000050 00 00 00 00 00 00 00 00 00 00 54 25 cd 1a 0a d4 |..........T%....| +00000060 7b a4 ce f1 62 c8 8f 62 af 93 8e 0e e8 fd ef 55 |{...b..b.......U| +00000070 1d 47 a4 ac 1c 80 25 6f c4 a2 51 11 84 e9 63 cb |.G....%o..Q...c.| +00000080 db d8 e6 bf 2c 89 4e 1a d4 11 |....,.N...| diff --git a/testdata/Client-TLSv12-AES256-GCM-SHA384 b/testdata/Client-TLSv12-AES256-GCM-SHA384 index 42454d52f3f..9920621be3b 100644 --- a/testdata/Client-TLSv12-AES256-GCM-SHA384 +++ b/testdata/Client-TLSv12-AES256-GCM-SHA384 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 55 02 00 00 51 03 03 a3 a8 ef 9d b3 |....U...Q.......| -00000010 36 14 00 fe 5b e4 07 77 e7 78 c8 b4 d8 96 8d 72 |6...[..w.x.....r| -00000020 c5 79 99 10 8f 6e ac e3 fd 99 ee 20 53 99 57 36 |.y...n..... S.W6| -00000030 7e 9b 89 a3 79 c7 57 c6 f6 c7 2c 66 0a 6b 48 a2 |~...y.W...,f.kH.| -00000040 06 87 54 2c 20 3d 65 b9 1c 93 fd a3 00 9d 00 00 |..T, =e.........| +00000000 16 03 03 00 55 02 00 00 51 03 03 9f 42 e3 1b 5f |....U...Q...B.._| +00000010 00 d9 00 0a a5 fa 6d 63 95 11 d2 5a ff 51 b0 f8 |......mc...Z.Q..| +00000020 bc a9 7f 18 3c 8d d7 38 d5 e8 2d 20 be 5b 08 a0 |....<..8..- .[..| +00000030 2f 7b 50 d9 06 0c bf 7c 2d cc f0 39 3a 90 e4 e7 |/{P....|-..9:...| +00000040 9c 27 9b 88 ea ff c0 51 f8 79 cd b9 00 9d 00 00 |.'.....Q.y......| 00000050 09 ff 01 00 01 00 00 17 00 00 16 03 03 02 59 0b |..............Y.| 00000060 00 02 55 00 02 52 00 02 4f 30 82 02 4b 30 82 01 |..U..R..O0..K0..| 00000070 b4 a0 03 02 01 02 02 09 00 e8 f0 9d 3f e2 5b ea |............?.[.| @@ -72,17 +73,17 @@ 00000060 c5 70 0f 08 83 48 e9 48 ef 6e 50 8b 05 7e e5 84 |.p...H.H.nP..~..| 00000070 25 fa 55 c7 ae 31 02 27 00 ef 3f 98 86 20 12 89 |%.U..1.'..?.. ..| 00000080 91 59 28 b4 f7 d7 af d2 69 61 35 14 03 03 00 01 |.Y(.....ia5.....| -00000090 01 16 03 03 00 28 00 00 00 00 00 00 00 00 76 c9 |.....(........v.| -000000a0 1e 50 43 51 5e 4a b6 c8 98 33 8f 18 ac f3 fe 20 |.PCQ^J...3..... | -000000b0 09 76 7c 48 f7 e8 00 2c 3b e1 7e 2f 71 d5 |.v|H...,;.~/q.| +00000090 01 16 03 03 00 28 00 00 00 00 00 00 00 00 0e dd |.....(..........| +000000a0 10 e6 7a dd b2 02 5c 0d 0c 73 b4 f1 a1 89 85 95 |..z...\..s......| +000000b0 91 a9 e4 7a 47 49 9a 52 96 77 93 0b cc 74 |...zGI.R.w...t| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 55 b2 34 a3 b7 |..........(U.4..| -00000010 18 a8 36 55 c4 ef 81 82 e4 41 9f 1a 42 2c 42 7e |..6U.....A..B,B~| -00000020 9b 59 c8 9d 3a 0b 59 a6 78 d0 ab 2f c4 e1 f7 2b |.Y..:.Y.x../...+| -00000030 9b ee 9f |...| +00000000 14 03 03 00 01 01 16 03 03 00 28 72 c3 d3 ad 10 |..........(r....| +00000010 71 48 c4 32 9b 24 ac c0 a4 88 db 35 e9 be fe 34 |qH.2.$.....5...4| +00000020 ee 9a bb 5a a5 90 b6 ec 31 9a bc 4c 56 e2 e6 d5 |...Z....1..LV...| +00000030 f9 2b 93 |.+.| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 ec ad 42 |...............B| -00000010 8a cf 39 ed 82 b7 70 9b 1a 29 4c 3e b7 f6 92 35 |..9...p..)L>...5| -00000020 12 e2 df 15 03 03 00 1a 00 00 00 00 00 00 00 02 |................| -00000030 81 d4 de 3c 03 a9 01 0e e7 64 ae 18 84 dd d3 6c |...<.....d.....l| -00000040 57 6a |Wj| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 ed af c7 |................| +00000010 74 44 64 5d e3 1b 0c d4 bd a1 7e 7e 87 10 8d bc |tDd]......~~....| +00000020 26 db e8 15 03 03 00 1a 00 00 00 00 00 00 00 02 |&...............| +00000030 42 6b 3e 59 c5 e4 e5 5b 53 0f fe d9 3f 0c 5c f0 |Bk>Y...[S...?.\.| +00000040 67 d5 |g.| diff --git a/testdata/Client-TLSv12-ALPN b/testdata/Client-TLSv12-ALPN index 9f3f4dc930e..6686f6e9c0f 100644 --- a/testdata/Client-TLSv12-ALPN +++ b/testdata/Client-TLSv12-ALPN @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 01 12 01 00 01 0e 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 2c 01 00 01 28 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,22 +7,24 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 93 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 ad 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 10 00 10 |................| -000000d0 00 0e 06 70 72 6f 74 6f 32 06 70 72 6f 74 6f 31 |...proto2.proto1| -000000e0 00 2b 00 09 08 03 04 03 03 03 02 03 01 00 33 00 |.+............3.| -000000f0 26 00 24 00 1d 00 20 2f e5 7d a3 47 cd 62 43 15 |&.$... /.}.G.bC.| -00000100 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf c2 ed |(.._.).0........| -00000110 90 99 5f 58 cb 3b 74 |.._X.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 10 00 10 00 0e 06 70 72 6f |.............pro| +000000f0 74 6f 32 06 70 72 6f 74 6f 31 00 2b 00 09 08 03 |to2.proto1.+....| +00000100 04 03 03 03 02 03 01 00 33 00 26 00 24 00 1d 00 |........3.&.$...| +00000110 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 | /.}.G.bC.(.._.)| +00000120 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b |.0.........._X.;| +00000130 74 |t| >>> Flow 2 (server to client) -00000000 16 03 03 00 6a 02 00 00 66 03 03 71 ba 32 f4 08 |....j...f..q.2..| -00000010 31 23 ea 71 46 b6 f0 24 f9 80 c2 94 b8 13 f5 cc |1#.qF..$........| -00000020 6b 77 e5 46 f1 76 df a5 0c 56 6a 20 98 53 12 a3 |kw.F.v...Vj .S..| -00000030 d2 a6 97 45 36 11 e6 b6 b6 6e 0b b9 30 2d 65 c8 |...E6....n..0-e.| -00000040 47 c7 af 4c c5 a6 51 90 2f 77 db 8c cc a8 00 00 |G..L..Q./w......| +00000000 16 03 03 00 6a 02 00 00 66 03 03 37 57 f9 cb 6a |....j...f..7W..j| +00000010 dc 6c e2 4b 1d 74 93 8e e1 1a 05 e7 fd 8d 29 57 |.l.K.t........)W| +00000020 5e b4 fc 9a ba 7d df de 56 cc e7 20 57 f3 1a b0 |^....}..V.. W...| +00000030 20 cd ac a1 e3 93 b9 79 f5 1c ce d2 d1 24 da fc | ......y.....$..| +00000040 88 97 25 fb 36 72 75 bb cc a3 2a 79 cc a8 00 00 |..%.6ru...*y....| 00000050 1e ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 10 |................| 00000060 00 09 00 07 06 70 72 6f 74 6f 31 00 17 00 00 16 |.....proto1.....| 00000070 03 03 02 59 0b 00 02 55 00 02 52 00 02 4f 30 82 |...Y...U..R..O0.| @@ -63,31 +65,31 @@ 000002a0 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 4c 72 2b |Cw.......@.a.Lr+| 000002b0 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 |...F..M...>...B.| 000002c0 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 16 03 03 |..=.`.\!.;......| -000002d0 00 ac 0c 00 00 a8 03 00 1d 20 76 16 ff 2a 83 9a |......... v..*..| -000002e0 07 b0 01 f6 1e 3e 4b c1 69 62 9b 00 38 35 c5 4f |.....>K.ib..85.O| -000002f0 d3 2c db 50 16 9d 26 b1 cc 28 08 04 00 80 56 73 |.,.P..&..(....Vs| -00000300 39 4d ab f4 68 92 14 6d d5 75 db 10 4b 0c a4 19 |9M..h..m.u..K...| -00000310 9e 67 42 d3 f8 3f 91 26 06 4d f9 34 9b ad 7c 85 |.gB..?.&.M.4..|.| -00000320 ec 11 34 43 dd 7d a8 5b 0f 59 54 ff a3 92 dc 7c |..4C.}.[.YT....|| -00000330 26 ee 07 0e cf bc e4 6a 1a da b9 d2 9a 62 bf de |&......j.....b..| -00000340 37 a6 68 e2 cd 21 8e 4e a3 66 ee e1 74 45 7d 64 |7.h..!.N.f..tE}d| -00000350 b2 d8 1d dc 6a cd 2a 86 9e 0d 76 a3 7b f2 49 11 |....j.*...v.{.I.| -00000360 ae ad a1 d4 f2 a9 e5 56 0e 2a 96 a5 f7 8b 74 d4 |.......V.*....t.| -00000370 78 e0 bc cc 95 a1 f1 76 0b 4b 37 ed 77 1b 16 03 |x......v.K7.w...| +000002d0 00 ac 0c 00 00 a8 03 00 1d 20 27 fd a6 7d 32 28 |......... '..}2(| +000002e0 d2 44 43 d5 2a 95 3b e2 7e 77 5a d2 66 87 4a 92 |.DC.*.;.~wZ.f.J.| +000002f0 12 56 ba 40 3e 09 43 b4 90 02 08 04 00 80 8b e9 |.V.@>.C.........| +00000300 93 0c 5e 72 b8 a8 49 1c c3 b7 fc 39 af 58 9c 3a |..^r..I....9.X.:| +00000310 27 b6 20 23 9a 5d 35 0e dd 21 da 1b be 34 32 23 |'. #.]5..!...42#| +00000320 76 2e c8 9e 3d c8 e5 9e cd 04 11 a9 be 97 52 53 |v...=.........RS| +00000330 81 b6 01 fc 60 5d 0d dd 0d ba 05 a6 15 3b 29 4e |....`].......;)N| +00000340 88 a0 69 b9 c2 46 d9 c2 6d 17 b2 d0 c0 ee de f9 |..i..F..m.......| +00000350 94 fe 25 31 66 df 72 7d 02 77 a6 2c a6 ad da eb |..%1f.r}.w.,....| +00000360 dc 4b ea d4 5b 0a d4 e6 c8 89 15 cf 3f 81 58 20 |.K..[.......?.X | +00000370 0f 83 2f e1 db a1 cc a7 e1 61 79 7d 14 4b 16 03 |../......ay}.K..| 00000380 03 00 04 0e 00 00 00 |.......| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 aa 8c 9c ab fb ab ed 5b 2e 3e 4b |.... .......[.>K| -00000040 92 cd 18 dd ac ce af 1a b9 f2 df aa 7f a1 d2 ad |................| -00000050 0e 8a 67 03 3f |..g.?| +00000030 16 03 03 00 20 50 e7 36 59 68 f6 0f cd b0 cc ae |.... P.6Yh......| +00000040 bc 18 23 d3 c0 fb c9 41 49 91 ec 8f cd f0 69 84 |..#....AI.....i.| +00000050 49 3c 68 6e 05 |I>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 db cb 3a 73 0c |.......... ..:s.| -00000010 ab 16 44 41 5a 25 df f7 45 bf f0 70 c6 a8 4f bd |..DAZ%..E..p..O.| -00000020 50 99 fb 18 26 e7 cf 71 16 1a 96 |P...&..q...| +00000000 14 03 03 00 01 01 16 03 03 00 20 84 30 04 4f 3e |.......... .0.O>| +00000010 72 f6 d8 6a dc ae fb 55 82 69 8e a3 77 c2 1f 27 |r..j...U.i..w..'| +00000020 88 14 5b 8d 10 79 4c 6a 41 3e e5 |..[..yLjA>.| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 34 82 27 01 99 27 08 58 c4 aa 76 |.....4.'..'.X..v| -00000010 fe 34 9c 1f 99 ea 4c f8 a0 ef 96 15 03 03 00 12 |.4....L.........| -00000020 68 b8 da ac 77 d5 f7 95 9f 68 e0 d6 26 88 cd ef |h...w....h..&...| -00000030 31 d4 |1.| +00000000 17 03 03 00 16 03 a8 d7 eb 5d 79 60 d4 65 1d c1 |.........]y`.e..| +00000010 2b 32 b5 c3 fb b2 2f 10 83 4e 39 15 03 03 00 12 |+2..../..N9.....| +00000020 90 eb 89 fc e7 4c a2 94 02 33 b3 0e 72 6e bc 4e |.....L...3..rn.N| +00000030 d4 e7 |..| diff --git a/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA b/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA index 55cff1d489e..784e95f87e5 100644 --- a/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA +++ b/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 58 a7 ae 6c fc |....]...Y..X..l.| -00000010 0d 53 51 d5 37 8d 1f 88 75 27 bf 34 8f 3d d3 ee |.SQ.7...u'.4.=..| -00000020 95 db 77 d9 c0 3b f1 57 4f 84 e2 20 7f 0d d1 84 |..w..;.WO.. ....| -00000030 0c 7a 4e 41 7f 74 58 6c f5 38 e6 8d 5b 04 15 e1 |.zNA.tXl.8..[...| -00000040 3d 4a ba 7e 58 f4 e8 bf f4 42 8a f5 c0 09 00 00 |=J.~X....B......| +00000000 16 03 03 00 5d 02 00 00 59 03 03 4a 0b 4d 4a 05 |....]...Y..J.MJ.| +00000010 a0 5b ca 5d 65 4f f7 7e 82 3c 54 1d a3 42 64 7c |.[.]eO.~....v.V.AD| -000002f0 2a e1 6b ae 5d f9 39 5c ec 76 ee 01 d7 04 42 ca |*.k.].9\.v....B.| -00000300 45 07 e0 59 38 75 d4 47 61 a4 5b 0f a9 7a ba 79 |E..Y8u.Ga.[..z.y| -00000310 fa 79 92 41 88 8a d3 be c2 38 3e f7 95 6c 99 3f |.y.A.....8>..l.?| -00000320 4c ff af 10 33 14 25 e0 d7 8a fd 70 17 2b 73 ee |L...3.%....p.+s.| -00000330 16 03 03 00 3a 0d 00 00 36 03 01 02 40 00 2e 04 |....:...6...@...| -00000340 03 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b 08 |................| -00000350 04 08 05 08 06 04 01 05 01 06 01 03 03 02 03 03 |................| -00000360 01 02 01 03 02 02 02 04 02 05 02 06 02 00 00 16 |................| -00000370 03 03 00 04 0e 00 00 00 |........| +00000270 95 12 07 8f 2a 16 03 03 00 b7 0c 00 00 b3 03 00 |....*...........| +00000280 1d 20 b8 ef 9c cd 47 a4 e9 1e e6 02 d5 40 12 95 |. ....G......@..| +00000290 0e da 1d 8f 2a 4f a6 9f 95 f9 1a 2a 1c ce 3c 32 |....*O.....*..<2| +000002a0 2b 4e 04 03 00 8b 30 81 88 02 42 00 c2 7d 24 9c |+N....0...B..}$.| +000002b0 b8 9c b1 69 fc 53 e9 ae 2c 07 39 23 d3 56 c8 96 |...i.S..,.9#.V..| +000002c0 e1 5e a9 a6 6b 18 33 f0 f9 50 29 65 2e dd 2b df |.^..k.3..P)e..+.| +000002d0 4e 58 67 ee 85 b3 da 8d 28 a1 7a 9f 59 df ae 10 |NXg.....(.z.Y...| +000002e0 31 d2 1b 6b 59 6d b9 24 16 79 66 49 7c 02 42 00 |1..kYm.$.yfI|.B.| +000002f0 bd a3 f5 56 db 00 b1 27 63 79 cb 1b 40 b2 e9 90 |...V...'cy..@...| +00000300 26 9f 44 53 ff fb 68 59 10 42 56 f2 36 fc 96 6a |&.DS..hY.BV.6..j| +00000310 a0 37 0e a3 77 5e 4c 0d 7b b6 e3 b5 b5 5b 2e d8 |.7..w^L.{....[..| +00000320 6f 99 6b af 84 57 9c 14 35 aa 09 23 11 08 83 3a |o.k..W..5..#...:| +00000330 63 16 03 03 00 3a 0d 00 00 36 03 01 02 40 00 2e |c....:...6...@..| +00000340 04 03 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b |................| +00000350 08 04 08 05 08 06 04 01 05 01 06 01 03 03 02 03 |................| +00000360 03 01 02 01 03 02 02 02 04 02 05 02 06 02 00 00 |................| +00000370 16 03 03 00 04 0e 00 00 00 |.........| >>> Flow 3 (client to server) 00000000 16 03 03 02 0a 0b 00 02 06 00 02 03 00 02 00 30 |...............0| 00000010 82 01 fc 30 82 01 5e 02 09 00 9a 30 84 6c 26 35 |...0..^....0.l&5| @@ -109,32 +110,32 @@ 00000200 e4 fa cc b1 8a ce e2 23 a0 87 f0 e1 67 51 eb 16 |.......#....gQ..| 00000210 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd 62 |...%...! /.}.G.b| 00000220 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf |C.(.._.).0......| -00000230 c2 ed 90 99 5f 58 cb 3b 74 16 03 03 00 92 0f 00 |...._X.;t.......| -00000240 00 8e 04 03 00 8a 30 81 87 02 41 0c 11 31 08 e0 |......0...A..1..| -00000250 7d 4e 11 1e 80 7c 50 70 ea 1b 68 16 d9 e6 93 b7 |}N...|Pp..h.....| -00000260 fb 6f 0d 6e ce 8b d2 7c 86 70 c3 e9 ed 35 3c 29 |.o.n...|.p...5<)| -00000270 c7 d8 6c 8f 43 c9 a1 7a 4a ae 19 22 6e e3 85 7e |..l.C..zJ.."n..~| -00000280 a0 5d 7f 19 a5 b7 25 ad d7 1a 5f 42 02 42 00 d8 |.]....%..._B.B..| -00000290 6a 25 47 2a 0e 1a 38 51 1c 73 aa 2d 10 9e 4b 65 |j%G*..8Q.s.-..Ke| -000002a0 56 34 72 e5 02 09 f6 30 ce a8 a0 59 75 7b 13 42 |V4r....0...Yu{.B| -000002b0 1e 31 f3 dd 08 a9 65 df 2d e6 aa 29 5d 9a 5c eb |.1....e.-..)].\.| -000002c0 d3 67 af 29 4e d2 76 e5 17 1d 7e e7 0a 50 c4 d0 |.g.)N.v...~..P..| -000002d0 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 00 |..........@.....| -000002e0 00 00 00 00 00 00 00 00 00 00 00 8b ef 24 70 ef |.............$p.| -000002f0 b9 b3 fd 59 49 62 b7 18 9c bc 7f 74 06 21 21 ab |...YIb.....t.!!.| -00000300 9c 4d cf 70 0c 6b 3b d3 d4 12 51 a7 f9 09 65 d1 |.M.p.k;...Q...e.| -00000310 ce b7 28 01 c1 e9 0b e4 41 55 b6 |..(.....AU.| +00000230 c2 ed 90 99 5f 58 cb 3b 74 16 03 03 00 93 0f 00 |...._X.;t.......| +00000240 00 8f 04 03 00 8b 30 81 88 02 42 01 dd bf fd e0 |......0...B.....| +00000250 db 99 16 0b f0 bc a9 4b 93 10 d9 59 06 d2 eb 30 |.......K...Y...0| +00000260 dc b1 44 69 1d 54 2d 9b b4 a4 c9 3a f8 d8 9d 2e |..Di.T-....:....| +00000270 36 71 3e ff aa 05 98 8a 27 00 dd 65 6a 15 b7 c9 |6q>.....'..ej...| +00000280 fe 1d 4d 45 02 58 09 4f 38 ea cd 88 3c 02 42 00 |..ME.X.O8...<.B.| +00000290 a6 27 a5 d7 e7 9e 66 7e f8 38 37 03 7b 6d df c4 |.'....f~.87.{m..| +000002a0 81 6a 59 af 5b c7 06 2e 57 e9 8f 8d 1f 9c 9d 94 |.jY.[...W.......| +000002b0 70 4c 74 ed 03 24 3d df 35 51 a1 76 a7 8f 9b 40 |pLt..$=.5Q.v...@| +000002c0 16 c6 4f 0e 49 95 34 20 22 dc 5c ce 1d c0 ed bf |..O.I.4 ".\.....| +000002d0 f4 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 |...........@....| +000002e0 00 00 00 00 00 00 00 00 00 00 00 00 b7 d5 df bf |................| +000002f0 2b 32 a9 9e e4 78 40 84 ca c9 7d 54 4e 38 89 3b |+2...x@...}TN8.;| +00000300 0f 83 23 42 75 95 6e 4d 70 d4 b6 5a 1a 26 dd bb |..#Bu.nMp..Z.&..| +00000310 37 4a 85 88 ab 60 ba 3c 19 bd 02 79 |7J...`.<...y| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 40 af 82 f6 ba d1 |..........@.....| -00000010 e8 f9 c5 58 0e ba 94 ec 98 68 b3 20 5b db 4e 8c |...X.....h. [.N.| -00000020 f5 00 29 e8 9a c1 34 35 ac 77 af e2 a0 6a 6f 45 |..)...45.w...joE| -00000030 05 56 d4 a0 5b 75 19 c6 1b 8a c8 65 04 ed 3d f3 |.V..[u.....e..=.| -00000040 84 e5 1b c0 26 31 5d 03 d5 b4 31 |....&1]...1| +00000000 14 03 03 00 01 01 16 03 03 00 40 07 8e 16 c5 c2 |..........@.....| +00000010 e1 e5 32 41 2d 8b 3c fb 2e 3e b2 84 89 56 4d b5 |..2A-.<..>...VM.| +00000020 1c bd 1e a5 11 a1 b0 18 29 ce eb 46 f8 11 ff dc |........)..F....| +00000030 c0 cc ed 5a 38 33 5a 8f 48 df bf e9 8e 09 be b0 |...Z83Z.H.......| +00000040 9d 70 85 f7 71 f5 1e 5c aa 6f 88 |.p..q..\.o.| >>> Flow 5 (client to server) 00000000 17 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -00000010 00 00 00 00 00 2e a5 7c 6f cc f7 44 1a 38 99 4a |.......|o..D.8.J| -00000020 2e a4 4b 79 bf ee b6 c9 12 57 f5 2e 98 dd 1d 2a |..Ky.....W.....*| -00000030 5b 79 d5 ef 44 15 03 03 00 30 00 00 00 00 00 00 |[y..D....0......| -00000040 00 00 00 00 00 00 00 00 00 00 3d fe 37 cb 65 03 |..........=.7.e.| -00000050 13 ce 3d 3b c2 18 c2 27 f9 a4 b7 fc e6 37 eb 2a |..=;...'.....7.*| -00000060 27 6c 52 38 2f 3a 61 d4 a9 e6 |'lR8/:a...| +00000010 00 00 00 00 00 37 b7 99 22 eb 67 a0 32 57 76 b5 |.....7..".g.2Wv.| +00000020 53 86 fc 5b 79 c5 4a 4f 3a 6b a9 0f d8 c8 30 de |S..[y.JO:k....0.| +00000030 0a 5b 9b af e2 15 03 03 00 30 00 00 00 00 00 00 |.[.......0......| +00000040 00 00 00 00 00 00 00 00 00 00 57 9c 4b ca 83 a3 |..........W.K...| +00000050 c0 3a 52 71 24 f5 b1 37 1e 4d c1 5a 2d 29 1c 90 |.:Rq$..7.M.Z-)..| +00000060 9b 96 cf 1e 07 39 f1 1b 03 2b |.....9...+| diff --git a/testdata/Client-TLSv12-ClientCert-ECDSA-RSA b/testdata/Client-TLSv12-ClientCert-ECDSA-RSA index de57515d382..c20bd95d7f3 100644 --- a/testdata/Client-TLSv12-ClientCert-ECDSA-RSA +++ b/testdata/Client-TLSv12-ClientCert-ECDSA-RSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 f8 3d 7c a4 a8 |....]...Y...=|..| -00000010 11 e3 56 0f 1c 7e 2e 7c 50 7e 75 5c de 1c 51 8e |..V..~.|P~u\..Q.| -00000020 de d3 8a 84 d2 90 84 f9 e9 07 d5 20 98 6a a8 c1 |........... .j..| -00000030 f4 28 bd 0f 6a 25 a5 26 3d 8d 35 b6 3e bb 77 c6 |.(..j%.&=.5.>.w.| -00000040 8e ab 36 bd 7d c8 a9 b1 5b 30 0f b2 c0 2f 00 00 |..6.}...[0.../..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 48 41 85 3e fc |....]...Y..HA.>.| +00000010 9f e7 b6 84 da fe 2f a7 1d e9 ba 12 4e a1 cf cb |....../.....N...| +00000020 9e f8 df 76 7c e7 29 c1 3b 9e 23 20 07 c9 55 c7 |...v|.).;.# ..U.| +00000030 0e 45 5c 26 17 94 b4 14 6b 58 39 27 43 4e dc 9b |.E\&....kX9'CN..| +00000040 65 30 0e f2 bd 59 d9 a2 a1 f3 0a 01 c0 2f 00 00 |e0...Y......./..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,18 +62,18 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 5f c1 31 |............ _.1| -000002d0 d7 64 f0 0b 72 6a 66 2c 49 d7 d1 9c dd 6f e3 3a |.d..rjf,I....o.:| -000002e0 ab 2c 78 6d ca b0 ed 16 26 65 9f ff 66 08 04 00 |.,xm....&e..f...| -000002f0 80 a6 91 d0 03 b8 d2 67 48 69 16 8e 30 dc 5b 3f |.......gHi..0.[?| -00000300 ac 4d e4 33 5f 46 e7 0c 49 a0 71 9d 8c 60 63 f2 |.M.3_F..I.q..`c.| -00000310 2d ff 9e 89 21 7d af 71 ce 41 6b d2 22 fc 1f bd |-...!}.q.Ak."...| -00000320 a9 9e 15 2c d7 c3 cb 69 6d df 23 07 7c 13 e9 2b |...,...im.#.|..+| -00000330 7d 05 f0 18 1e 86 c8 37 ad cd 9e 39 26 0c 8a 9b |}......7...9&...| -00000340 12 90 60 12 95 06 e9 bb f2 46 41 20 10 f5 64 ea |..`......FA ..d.| -00000350 66 13 cb 8e 51 7e 41 78 2a 40 fa 15 e2 0d 5b 37 |f...Q~Ax*@....[7| -00000360 a7 a8 4a f6 8e 93 82 2a a2 91 06 66 4e 49 72 68 |..J....*...fNIrh| -00000370 f9 16 03 03 00 3a 0d 00 00 36 03 01 02 40 00 2e |.....:...6...@..| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 73 d3 a9 |............ s..| +000002d0 7e 93 32 e3 dd ad 1c b3 c1 ff 03 c2 b9 08 da 09 |~.2.............| +000002e0 d3 1b 67 95 9c 8c d1 05 12 2e 8b dc 7a 08 04 00 |..g.........z...| +000002f0 80 85 af 3b 06 67 b0 ab 07 70 21 02 b1 3a 89 40 |...;.g...p!..:.@| +00000300 d6 90 ef a5 5b 89 49 81 18 20 74 9f 7b dd 58 65 |....[.I.. t.{.Xe| +00000310 28 6f 2a f1 aa 3f 35 91 b9 88 79 27 a0 f3 e7 41 |(o*..?5...y'...A| +00000320 9a a5 77 be 55 5e 70 89 37 b6 4a 7b 3b 8c df ad |..w.U^p.7.J{;...| +00000330 47 cc ac 45 47 43 05 05 ad c9 7b d8 1d d6 a8 fa |G..EGC....{.....| +00000340 38 45 c3 54 35 0c 28 a1 29 be 1f 73 98 a6 02 01 |8E.T5.(.)..s....| +00000350 fb 9d 12 64 1a 9c f3 82 e5 3f f6 0c 20 67 59 72 |...d.....?.. gYr| +00000360 3f a7 59 4e ef b4 58 ba 49 4e c9 b6 ea 95 b2 b3 |?.YN..X.IN......| +00000370 78 16 03 03 00 3a 0d 00 00 36 03 01 02 40 00 2e |x....:...6...@..| 00000380 04 03 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b |................| 00000390 08 04 08 05 08 06 04 01 05 01 06 01 03 03 02 03 |................| 000003a0 03 01 02 01 03 02 02 02 04 02 05 02 06 02 00 00 |................| @@ -113,28 +114,28 @@ 00000200 e4 fa cc b1 8a ce e2 23 a0 87 f0 e1 67 51 eb 16 |.......#....gQ..| 00000210 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd 62 |...%...! /.}.G.b| 00000220 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf |C.(.._.).0......| -00000230 c2 ed 90 99 5f 58 cb 3b 74 16 03 03 00 93 0f 00 |...._X.;t.......| -00000240 00 8f 04 03 00 8b 30 81 88 02 42 01 0f 51 5e 59 |......0...B..Q^Y| -00000250 78 34 8f 99 03 da 07 66 3b 0d 48 b2 79 57 e2 d5 |x4.....f;.H.yW..| -00000260 d2 c2 f3 81 8e 25 98 81 e2 9a f7 1f 02 99 b0 7d |.....%.........}| -00000270 1c d1 1f e4 ef d7 bc a1 ad 67 c7 a9 cc 4f 67 58 |.........g...OgX| -00000280 8b 1e 8c 3f 04 73 31 53 60 aa 67 33 27 02 42 01 |...?.s1S`.g3'.B.| -00000290 f1 66 ba 8f ec 9e 3f 76 76 ac 7a e7 56 cb fb 46 |.f....?vv.z.V..F| -000002a0 f4 9b 64 03 3a 72 5a d7 cf 49 39 69 26 19 68 52 |..d.:rZ..I9i&.hR| -000002b0 8b 98 8e ea d3 8e d9 6d 93 f5 e8 23 cd 20 a8 5a |.......m...#. .Z| -000002c0 4c 24 10 70 bd a2 ae a3 b1 4f 38 17 dd b9 f5 93 |L$.p.....O8.....| -000002d0 4b 14 03 03 00 01 01 16 03 03 00 28 00 00 00 00 |K..........(....| -000002e0 00 00 00 00 e1 2b da c6 4a 5c d2 03 c0 7e f0 eb |.....+..J\...~..| -000002f0 a0 4b ed a1 7d e4 45 93 ec f9 37 a0 5b 7e bb 64 |.K..}.E...7.[~.d| -00000300 af d4 fc ac |....| +00000230 c2 ed 90 99 5f 58 cb 3b 74 16 03 03 00 91 0f 00 |...._X.;t.......| +00000240 00 8d 04 03 00 89 30 81 86 02 41 66 64 90 bc df |......0...Afd...| +00000250 a5 d0 19 89 2b ed fc a5 8f 7e 14 d0 9f a2 07 6b |....+....~.....k| +00000260 d3 09 07 46 f8 29 4d b5 6c 01 e5 2e 0d d8 a4 b9 |...F.)M.l.......| +00000270 1a 86 2f b1 10 4c 29 5b de e7 29 e6 b9 32 53 ca |../..L)[..)..2S.| +00000280 d0 fc 7b a1 82 6e 34 2f 11 7a 2b 98 02 41 74 a4 |..{..n4/.z+..At.| +00000290 51 21 0c 57 ac 99 d1 a3 8c 86 f6 f2 b8 66 b8 1f |Q!.W.........f..| +000002a0 2d db 49 1a c1 34 e6 02 fd ce 50 14 7c 9b a4 52 |-.I..4....P.|..R| +000002b0 17 bc 96 ab 11 5f 97 9a 7f be ab 26 f7 1f 2b cf |....._.....&..+.| +000002c0 30 f1 da 80 b5 82 a0 da 44 be c1 00 51 1d b4 14 |0.......D...Q...| +000002d0 03 03 00 01 01 16 03 03 00 28 00 00 00 00 00 00 |.........(......| +000002e0 00 00 39 c2 3d 4e 74 16 e2 8c 4b f9 11 38 94 12 |..9.=Nt...K..8..| +000002f0 8f d3 16 18 9b ad 41 ef c9 ed 56 7f e3 ed d7 e5 |......A...V.....| +00000300 0e 52 |.R| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 d3 4a 1e 2b ea |..........(.J.+.| -00000010 26 12 c9 fd b0 7b e6 bf e4 bb b6 d2 6b b4 3c 05 |&....{......k.<.| -00000020 1f 6c 46 44 5e 25 e6 f9 80 c8 b9 16 19 59 68 90 |.lFD^%.......Yh.| -00000030 5a 90 16 |Z..| +00000000 14 03 03 00 01 01 16 03 03 00 28 c0 9a 2a 35 ef |..........(..*5.| +00000010 fa 87 1f 74 0a e9 b7 ea 3c 1c ab 1c ce 6e bb 95 |...t....<....n..| +00000020 ef 92 f3 cb 07 c0 e6 af b1 2a 60 fb 09 2a d7 68 |.........*`..*.h| +00000030 27 b0 f1 |'..| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 35 25 df |.............5%.| -00000010 1f 16 81 00 e3 c4 9e 45 e2 a1 ef 54 72 66 99 3d |.......E...Trf.=| -00000020 30 13 25 15 03 03 00 1a 00 00 00 00 00 00 00 02 |0.%.............| -00000030 16 a5 e9 36 c1 fb 02 d7 c8 7a aa bc aa 77 7b 5c |...6.....z...w{\| -00000040 4f a1 |O.| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 b1 98 56 |...............V| +00000010 38 68 a7 d0 da c6 83 4b 00 31 40 d7 1e 81 35 1a |8h.....K.1@...5.| +00000020 2f e3 42 15 03 03 00 1a 00 00 00 00 00 00 00 02 |/.B.............| +00000030 1d 8f a1 cf 12 2f 53 37 4d 60 46 90 e2 db 97 ce |...../S7M`F.....| +00000040 3e 99 |>.| diff --git a/testdata/Client-TLSv12-ClientCert-Ed25519 b/testdata/Client-TLSv12-ClientCert-Ed25519 index edb433fefc5..9eb522b86b9 100644 --- a/testdata/Client-TLSv12-ClientCert-Ed25519 +++ b/testdata/Client-TLSv12-ClientCert-Ed25519 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 68 ad d5 4c 88 |....]...Y..h..L.| -00000010 60 b8 3b b4 ea e4 f2 55 7d 0f 90 d8 bd 55 b5 53 |`.;....U}....U.S| -00000020 49 6e f7 50 e4 05 70 a2 6d 9e a5 20 d1 0a e5 58 |In.P..p.m.. ...X| -00000030 38 f1 82 94 a7 c3 bf 77 60 d8 51 c2 c7 e9 8e d6 |8......w`.Q.....| -00000040 94 ee 4f 23 51 d3 2c 52 06 12 4b 4a cc a8 00 00 |..O#Q.,R..KJ....| +00000000 16 03 03 00 5d 02 00 00 59 03 03 7f e3 92 d1 05 |....]...Y.......| +00000010 fd a2 f7 b4 24 f8 e6 e2 2f 15 51 f2 4b 72 12 59 |....$.../.Q.Kr.Y| +00000020 e6 af fe c9 0b 86 8b 53 a3 ce ff 20 68 97 1d e3 |.......S... h...| +00000030 6d 6c fb 67 78 05 ba fc 10 5b 83 87 8c 04 e9 57 |ml.gx....[.....W| +00000040 19 32 3f ee 88 a0 30 61 de 1c d2 2d cc a8 00 00 |.2?...0a...-....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,18 +62,18 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 4e 55 f3 |............ NU.| -000002d0 5f 83 c8 88 d4 f2 5c 75 6a ab 0e 25 df 12 ef f0 |_.....\uj..%....| -000002e0 ea e9 3e b4 4f 2c cd bb 43 5b 64 21 12 08 04 00 |..>.O,..C[d!....| -000002f0 80 84 5e ca 36 b2 fa d0 29 47 1c c2 de 4e 1d 81 |..^.6...)G...N..| -00000300 14 66 0a 26 6f 21 5f d5 b5 54 2e 37 f1 7e b1 90 |.f.&o!_..T.7.~..| -00000310 a0 57 ab 40 81 cf e5 77 29 23 54 fa 12 76 1a 4a |.W.@...w)#T..v.J| -00000320 66 c0 52 08 07 3c 3c 56 06 08 02 df 9f 75 75 5e |f.R..<| +000002d0 dd fc 30 52 61 80 f3 e8 7e e2 fb f8 03 ab e4 86 |..0Ra...~.......| +000002e0 bc 8b 69 5b f5 8c fd 4b fc 12 2e 99 1a 08 04 00 |..i[...K........| +000002f0 80 43 60 48 4c 88 e9 fc 78 36 5f a9 6a 61 54 7e |.C`HL...x6_.jaT~| +00000300 a8 a3 67 91 df ff 78 66 d6 b6 ce 95 26 af 8e ac |..g...xf....&...| +00000310 42 fa 95 e1 a3 c6 9b 73 bb 7b dc e6 aa ca 6f a0 |B......s.{....o.| +00000320 17 6b ee 50 ff d9 20 ed 11 c4 e5 81 23 1d 6b 02 |.k.P.. .....#.k.| +00000330 a8 e6 f6 ef fc 1f 69 9e c1 28 d9 bd 36 98 ad f6 |......i..(..6...| +00000340 f3 40 5a e8 a4 e9 3c 62 b2 8d 53 a1 88 06 e6 81 |.@Z...>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 10 cb 1b e5 55 |.......... ....U| -00000010 64 49 55 0a bf 25 e4 b0 d0 45 e1 47 b0 05 d0 f2 |dIU..%...E.G....| -00000020 41 b7 f4 6a 84 4e 6a 66 8d 0e 43 |A..j.Njf..C| +00000000 14 03 03 00 01 01 16 03 03 00 20 91 2c 24 55 e8 |.......... .,$U.| +00000010 70 9e 88 07 53 e1 60 9e 86 af 53 d4 21 d9 99 ad |p...S.`...S.!...| +00000020 3a 2b 83 b0 bc f7 93 5e 63 04 50 |:+.....^c.P| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 4a f3 ed 07 22 0d 7d 9b a6 a8 3c |.....J...".}...<| -00000010 88 58 f3 48 c2 f1 aa ea c7 cd 14 15 03 03 00 12 |.X.H............| -00000020 0b 1d 53 98 b3 69 99 e1 cd 4f 37 3c dc 63 17 9f |..S..i...O7<.c..| -00000030 00 7f |..| +00000000 17 03 03 00 16 e0 69 be 8e c5 4d 63 0e 77 88 42 |......i...Mc.w.B| +00000010 4e a8 e9 8f f4 c5 05 56 99 92 70 15 03 03 00 12 |N......V..p.....| +00000020 64 5c 05 8f 23 af e8 aa f6 76 1b b6 90 36 d9 d5 |d\..#....v...6..| +00000030 59 e6 |Y.| diff --git a/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384 b/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384 index c6673f6dc00..e9f6604b2f5 100644 --- a/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384 +++ b/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 60 13 bb 4b ce |....]...Y..`..K.| -00000010 d6 49 3b b2 3a 0c d4 5a e8 25 26 67 41 fd dd 0f |.I;.:..Z.%&gA...| -00000020 62 ec c1 ab bc 58 92 67 9d 71 fd 20 20 4c ab 4d |b....X.g.q. L.M| -00000030 85 ce 87 49 68 8c cf 9c 2f 7b f9 2b 96 62 8a 75 |...Ih.../{.+.b.u| -00000040 c3 21 05 c6 ab b6 98 5e e7 e5 d8 4a c0 30 00 00 |.!.....^...J.0..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 bc b7 27 59 a9 |....]...Y....'Y.| +00000010 a7 ac ce 8b f5 5b 13 56 60 19 70 2a a7 f0 a2 ea |.....[.V`.p*....| +00000020 1a ce 27 2a 67 53 e0 5c 7e 5e 80 20 d5 c6 de 6d |..'*gS.\~^. ...m| +00000030 d1 3c 6d cb c9 49 77 00 cc 31 87 0a 86 45 06 70 |...| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 85 c8 0e |............ ...| -000002d0 fb 1e b3 4a ec c1 b2 3a b8 4e bb a1 ca 80 8e 13 |...J...:.N......| -000002e0 f5 08 b5 9a b8 3e c4 6c 23 cf 17 a0 31 08 04 00 |.....>.l#...1...| -000002f0 80 28 db ec 9d f9 f4 9a 06 12 8a 32 89 11 4a e5 |.(.........2..J.| -00000300 b6 68 98 21 ec f1 75 9c f9 28 bc b1 99 5b ec 77 |.h.!..u..(...[.w| -00000310 37 8b 6b 05 ad b3 10 de 24 05 84 a4 16 fe 1d 84 |7.k.....$.......| -00000320 af 5d 28 7d d7 bc de 2f 81 da a3 79 fb c0 a5 43 |.](}.../...y...C| -00000330 b6 3b 8d 90 30 00 80 98 16 83 ac 50 43 c7 3e 76 |.;..0......PC.>v| -00000340 c5 dc 85 c2 19 75 a6 90 f8 2f 71 40 d9 a0 73 7e |.....u.../q@..s~| -00000350 fe 3b 1c d7 66 73 0f f0 42 c5 00 b1 2b be 41 2b |.;..fs..B...+.A+| -00000360 40 da 8f b0 f1 9e b0 0a 83 23 04 80 fb 4c fe 7e |@........#...L.~| -00000370 b4 16 03 03 00 3a 0d 00 00 36 03 01 02 40 00 2e |.....:...6...@..| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 8b ea d3 |............ ...| +000002d0 e4 1f c2 21 cb 32 99 00 d2 a9 a4 f3 e4 9a d7 6e |...!.2.........n| +000002e0 f0 6e 7c 45 ca 41 51 60 a3 31 61 f0 34 08 04 00 |.n|E.AQ`.1a.4...| +000002f0 80 96 62 58 0c b4 72 a7 49 1c b8 73 72 5a c7 ba |..bX..r.I..srZ..| +00000300 e2 fe dc a6 a4 54 3d 21 83 70 ab ef de d8 d8 db |.....T=!.p......| +00000310 82 56 22 4f 9d f6 04 c2 b6 f7 9d a0 41 88 53 c9 |.V"O........A.S.| +00000320 2b 57 80 71 a2 bd d7 84 b6 4b cd 65 3d c3 10 cb |+W.q.....K.e=...| +00000330 5d 89 03 af 46 d5 b0 39 b8 c8 2d 74 1b 46 8d 0d |]...F..9..-t.F..| +00000340 ca 13 30 34 54 10 ea ec 77 ca 84 a6 2c 88 68 d6 |..04T...w...,.h.| +00000350 69 e6 f3 95 aa 65 af 05 7d e0 c2 84 48 f5 fa ae |i....e..}...H...| +00000360 d5 90 2a 79 0c 45 c6 7d d3 b7 de 85 e8 b5 2b 68 |..*y.E.}......+h| +00000370 bf 16 03 03 00 3a 0d 00 00 36 03 01 02 40 00 2e |.....:...6...@..| 00000380 04 03 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b |................| 00000390 08 04 08 05 08 06 04 01 05 01 06 01 03 03 02 03 |................| 000003a0 03 01 02 01 03 02 02 02 04 02 05 02 06 02 00 00 |................| @@ -113,26 +114,26 @@ 00000200 e5 35 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 |.5....%...! /.}.| 00000210 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 |G.bC.(.._.).0...| 00000220 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 16 03 03 00 |......._X.;t....| -00000230 88 0f 00 00 84 08 04 00 80 41 83 55 9b 3c 8d 29 |.........A.U.<.)| -00000240 ed 6c 58 91 85 cb 9b 19 df 61 09 d0 d3 73 fb 2b |.lX......a...s.+| -00000250 3b 4b 4b bd 64 7e e6 53 87 cb 6d 2f 78 1c 67 cf |;KK.d~.S..m/x.g.| -00000260 13 21 e0 ec 1b d7 d8 aa 06 a0 0e d5 86 6f ba 1e |.!...........o..| -00000270 97 e2 8c 9b 86 e2 8a 4d 62 1a bd 35 0e 2d 63 18 |.......Mb..5.-c.| -00000280 a1 1f 7c ed fc 3b 89 c2 00 6d da 01 42 0a 47 95 |..|..;...m..B.G.| -00000290 12 8e 01 82 62 58 f9 96 eb a9 aa c3 f8 96 ec 20 |....bX......... | -000002a0 e1 65 a9 46 a8 af 4b 7c aa 29 ee 9c 48 18 b3 4a |.e.F..K|.)..H..J| -000002b0 00 7f 79 97 87 27 92 ca 45 14 03 03 00 01 01 16 |..y..'..E.......| -000002c0 03 03 00 28 00 00 00 00 00 00 00 00 da f3 01 f2 |...(............| -000002d0 76 e2 df 95 82 0d cc 0c 7e b0 cc 15 69 ba 8c 64 |v.......~...i..d| -000002e0 ac dc f3 45 58 a3 8f ed f0 2a 43 ce |...EX....*C.| +00000230 88 0f 00 00 84 08 04 00 80 48 ae 01 b6 4e e2 f0 |.........H...N..| +00000240 6b d9 58 e9 95 fb 93 56 10 8f 15 dc e8 3e c7 49 |k.X....V.....>.I| +00000250 b3 26 c2 06 91 4a 02 27 36 6b 21 cd aa 4a 62 6a |.&...J.'6k!..Jbj| +00000260 9d 44 6a b7 6c 16 d4 52 23 12 20 9d e5 5c 83 04 |.Dj.l..R#. ..\..| +00000270 d8 38 45 61 8b 30 5b 7b 6b 77 be 47 5a f8 fe 4d |.8Ea.0[{kw.GZ..M| +00000280 c8 e7 83 97 44 b4 fb 71 89 30 f2 cf d2 49 82 e8 |....D..q.0...I..| +00000290 d4 a8 73 86 44 29 30 17 7b b6 0e 4f 5f 6b 0c 33 |..s.D)0.{..O_k.3| +000002a0 43 7f 9b 84 a4 9b c6 30 18 ff 1b 85 a7 a9 17 23 |C......0.......#| +000002b0 2e 08 d3 57 10 af 49 95 2a 14 03 03 00 01 01 16 |...W..I.*.......| +000002c0 03 03 00 28 00 00 00 00 00 00 00 00 43 b8 4c 8a |...(........C.L.| +000002d0 84 1e 6c 41 02 fb b6 74 1e 4d 69 0d c0 f8 fc 8b |..lA...t.Mi.....| +000002e0 ce 64 53 95 40 c8 e8 52 31 5f a3 65 |.dS.@..R1_.e| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 e4 27 5e 80 00 |..........(.'^..| -00000010 ee db 03 4c 17 d1 9c bf f5 68 5f eb a6 fb 0c 3f |...L.....h_....?| -00000020 4f c4 38 84 3e c2 e9 f4 9b 06 39 5f 89 06 3a bd |O.8.>.....9_..:.| -00000030 77 db 25 |w.%| +00000000 14 03 03 00 01 01 16 03 03 00 28 04 f3 da a1 b9 |..........(.....| +00000010 b9 1a cf f3 a8 19 aa 23 12 65 8d 68 dc 37 09 9a |.......#.e.h.7..| +00000020 e4 0c cd e5 d4 3d cb 42 89 e4 ad 9e 49 34 de 05 |.....=.B....I4..| +00000030 74 f0 33 |t.3| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 2b 98 2b |.............+.+| -00000010 d6 dc d2 69 03 c9 0e 44 46 d1 5e d2 5a 14 89 7b |...i...DF.^.Z..{| -00000020 60 ab 62 15 03 03 00 1a 00 00 00 00 00 00 00 02 |`.b.............| -00000030 b9 7a 17 4b 10 5f 25 90 14 75 bb aa 42 de 7b 63 |.z.K._%..u..B.{c| -00000040 69 e8 |i.| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 00 33 c0 |..............3.| +00000010 3f 9c 56 3e 9b ed bb 5e 81 0c 4a 01 65 91 f5 da |?.V>...^..J.e...| +00000020 f6 4b 62 15 03 03 00 1a 00 00 00 00 00 00 00 02 |.Kb.............| +00000030 55 6f 8d 18 50 1f aa 00 94 9b 79 26 f0 3e 0a c6 |Uo..P.....y&.>..| +00000040 45 b0 |E.| diff --git a/testdata/Client-TLSv12-ClientCert-RSA-ECDSA b/testdata/Client-TLSv12-ClientCert-RSA-ECDSA index 7b2a3631768..25120914e85 100644 --- a/testdata/Client-TLSv12-ClientCert-RSA-ECDSA +++ b/testdata/Client-TLSv12-ClientCert-RSA-ECDSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 6d b7 f7 cf 1d |....]...Y..m....| -00000010 f9 c0 02 cb ee 90 23 93 41 8e 26 24 3e 74 31 ce |......#.A.&$>t1.| -00000020 4f 53 f8 9d 0f 94 02 b2 66 c9 87 20 d6 5c 35 52 |OS......f.. .\5R| -00000030 4b b1 f2 bb 2e 1d 95 ff 7d 83 f0 58 a8 0a ed b1 |K.......}..X....| -00000040 54 25 03 ca ea 7b 8d 1a 8f 9f 43 51 c0 09 00 00 |T%...{....CQ....| +00000000 16 03 03 00 5d 02 00 00 59 03 03 80 e4 9b 9d a9 |....]...Y.......| +00000010 59 27 7f 44 b9 4b 90 31 c7 66 03 90 d6 9b ef 17 |Y'.D.K.1.f......| +00000020 f8 fb e5 63 04 68 f6 ce a1 a6 f4 20 cb 84 55 fa |...c.h..... ..U.| +00000030 41 77 48 0f 0a 5a 24 92 e3 59 b2 d9 91 0c 18 4a |AwH..Z$..Y.....J| +00000040 bf af ad db 64 db cb 57 d8 0b de 46 c0 09 00 00 |....d..W...F....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -57,17 +58,17 @@ 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| 00000270 95 12 07 8f 2a 16 03 03 00 b6 0c 00 00 b2 03 00 |....*...........| -00000280 1d 20 04 b4 79 b4 2c 1d 0f b3 4b ff 67 e7 24 88 |. ..y.,...K.g.$.| -00000290 d6 db 4f 1e 66 da 0e f2 89 5a 53 ed 4e ba ad 4c |..O.f....ZS.N..L| -000002a0 81 0a 04 03 00 8a 30 81 87 02 42 01 fb 16 53 43 |......0...B...SC| -000002b0 2b 86 61 0a 58 a0 68 c1 cd 2c ff ec 79 7f 83 fa |+.a.X.h..,..y...| -000002c0 cc 0b 24 9d 98 54 d0 dc 90 55 e1 b3 e6 48 69 1a |..$..T...U...Hi.| -000002d0 55 62 f4 da 8f 60 db f7 76 80 d5 4d 37 f6 43 49 |Ub...`..v..M7.CI| -000002e0 95 3d 96 f6 e2 fd a4 07 ae 24 8c fa bd 02 41 20 |.=.......$....A | -000002f0 a1 50 78 a3 dd 99 c0 cf 74 f1 c0 79 b1 13 9d bc |.Px.....t..y....| -00000300 0b 37 cf 7c 09 11 b8 a4 71 65 e8 be ff 3a b9 85 |.7.|....qe...:..| -00000310 cd b4 30 f8 1f d6 2e 83 96 6c 01 3e d2 00 a7 5b |..0......l.>...[| -00000320 23 c6 d0 69 eb 90 49 e3 46 ed 45 96 3b 07 d4 a8 |#..i..I.F.E.;...| +00000280 1d 20 2f 6b 4c 95 75 59 25 2f f7 fd b1 1f d2 9e |. /kL.uY%/......| +00000290 2f 38 5e 57 1a 7c 36 99 1e 11 4a 3f f7 13 5b 0b |/8^W.|6...J?..[.| +000002a0 90 33 04 03 00 8a 30 81 87 02 42 01 b4 34 3f d0 |.3....0...B..4?.| +000002b0 41 09 00 12 f4 79 20 f4 b7 80 5c d1 35 9d 8b d2 |A....y ...\.5...| +000002c0 fa c9 4a a9 44 6b 05 95 c5 a7 50 08 0d 73 66 3e |..J.Dk....P..sf>| +000002d0 dd 49 e4 a4 c6 c0 12 ca 0b 4a df bc c1 3e ec 88 |.I.......J...>..| +000002e0 ec 9a 0e 71 15 4d 45 98 04 3a 51 7a 67 02 41 15 |...q.ME..:Qzg.A.| +000002f0 17 de b0 5c 03 a5 74 0e 0f 2b 53 6e 55 17 73 b8 |...\..t..+SnU.s.| +00000300 ac 16 70 1a 95 f9 25 b1 fc 4b 9d c7 b1 f4 71 f6 |..p...%..K....q.| +00000310 86 2d 5b 74 9e d3 4e 1b 40 67 f4 a6 62 2e c8 4d |.-[t..N.@g..b..M| +00000320 66 f7 32 e9 05 df d5 b0 e8 1a b7 b1 48 c4 1c 91 |f.2.........H...| 00000330 16 03 03 00 3a 0d 00 00 36 03 01 02 40 00 2e 04 |....:...6...@...| 00000340 03 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b 08 |................| 00000350 04 08 05 08 06 04 01 05 01 06 01 03 03 02 03 03 |................| @@ -109,31 +110,31 @@ 00000200 e5 35 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 |.5....%...! /.}.| 00000210 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 |G.bC.(.._.).0...| 00000220 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 16 03 03 00 |......._X.;t....| -00000230 88 0f 00 00 84 08 04 00 80 3f 4a c2 4f 36 85 f0 |.........?J.O6..| -00000240 d0 c6 b6 8f f1 cc 45 c1 2f f2 c7 24 1e 0f 04 dc |......E./..$....| -00000250 f5 af 6e 38 eb aa a6 6f 36 f4 80 dd 78 78 a7 d4 |..n8...o6...xx..| -00000260 50 3a df e1 23 c4 3f 58 df 1a c0 1d 57 a5 46 3b |P:..#.?X....W.F;| -00000270 5d 09 ac 62 63 28 8a a2 b5 d4 9b 88 7c b9 4d b4 |]..bc(......|.M.| -00000280 66 b2 9d 53 6e 15 9c f2 9b c7 14 ca 19 7f 00 38 |f..Sn..........8| -00000290 81 a3 7b 44 e8 3d 6d 54 0f b3 81 fd 82 07 4d a1 |..{D.=mT......M.| -000002a0 3e 8c 30 34 cd 6e 55 96 58 bf 86 8b 9c f6 be 94 |>.04.nU.X.......| -000002b0 f4 a8 7e 4d 7f 03 07 7e 98 14 03 03 00 01 01 16 |..~M...~........| +00000230 88 0f 00 00 84 08 04 00 80 70 66 f2 ac fb f7 29 |.........pf....)| +00000240 15 31 a2 12 de 37 3f cc 97 74 5c 5b 7e 6d e4 f8 |.1...7?..t\[~m..| +00000250 b0 b3 3d 9c ee 32 bf d7 64 90 d7 af ad 8f 61 77 |..=..2..d.....aw| +00000260 f2 c0 7e 6f 91 1d 4e 95 92 3e ab 23 f0 ac d8 de |..~o..N..>.#....| +00000270 32 69 cd bc 04 4c d1 a3 77 7a af ac f0 64 41 aa |2i...L..wz...dA.| +00000280 a0 53 f0 89 89 a4 6f 1f 67 21 16 55 4e dc cb a8 |.S....o.g!.UN...| +00000290 12 7d cb a0 5c a9 48 48 d9 af 03 f0 75 ed 32 72 |.}..\.HH....u.2r| +000002a0 d5 da 34 a3 ea 82 08 8f 00 fc 7d 1d b8 11 ff f7 |..4.......}.....| +000002b0 09 52 a8 cc a8 66 b0 06 1e 14 03 03 00 01 01 16 |.R...f..........| 000002c0 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 00 |...@............| -000002d0 00 00 00 00 c7 88 1e 15 dd 36 31 22 0f 30 d1 4d |.........61".0.M| -000002e0 40 2e 3a dd 05 cc fd a8 d2 ea f8 d9 79 1d 07 46 |@.:.........y..F| -000002f0 2c 80 ab ab 54 3c 10 5a a7 79 d2 1c 16 18 94 eb |,...T<.Z.y......| -00000300 46 69 cc 03 |Fi..| +000002d0 00 00 00 00 9c 7d d4 9e 59 53 e7 66 64 63 9c cb |.....}..YS.fdc..| +000002e0 58 03 03 26 fe d9 15 eb 03 1c 8f a7 9c 5a 86 4a |X..&.........Z.J| +000002f0 6c 4e 06 4a 80 91 94 00 6f 7d 38 6a ea a3 68 df |lN.J....o}8j..h.| +00000300 17 08 14 ed |....| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 40 9e 65 27 5b 92 |..........@.e'[.| -00000010 1e 2b 1a bc 81 ab 85 29 51 c1 38 04 b6 97 e5 4b |.+.....)Q.8....K| -00000020 b1 7d a5 e2 6d e7 b1 1a 33 6c f1 3d a4 9c de 2d |.}..m...3l.=...-| -00000030 b3 8a 01 da cc f1 d7 83 b1 1e 84 cb b7 e7 fe e6 |................| -00000040 26 83 b0 2d 6f a9 77 46 55 44 7a |&..-o.wFUDz| +00000000 14 03 03 00 01 01 16 03 03 00 40 7e 6d 15 90 c5 |..........@~m...| +00000010 99 96 ca bb 16 b5 5a 55 3e b0 ef 3f ab e5 b6 8c |......ZU>..?....| +00000020 51 1d 18 c7 c2 25 86 e0 db c1 d0 38 85 51 4e 8d |Q....%.....8.QN.| +00000030 37 51 92 cc d0 64 37 b7 67 7b 2c fc e7 1e 16 f6 |7Q...d7.g{,.....| +00000040 76 3a 94 48 68 eb dc cc cf 2a 4d |v:.Hh....*M| >>> Flow 5 (client to server) 00000000 17 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -00000010 00 00 00 00 00 e2 55 06 b8 6f 63 c4 63 78 76 4b |......U..oc.cxvK| -00000020 c8 63 8b 4b c6 11 2c ff dc fc 20 f7 52 fe fa 5f |.c.K..,... .R.._| -00000030 e3 45 3a f2 a1 15 03 03 00 30 00 00 00 00 00 00 |.E:......0......| -00000040 00 00 00 00 00 00 00 00 00 00 0e cb 88 2f 1f be |............./..| -00000050 9c 76 4d db 75 7f eb 01 ae bd 76 28 07 41 49 6c |.vM.u.....v(.AIl| -00000060 4c 82 84 d5 fc d3 75 f4 4b 81 |L.....u.K.| +00000010 00 00 00 00 00 db 14 ae 78 62 50 37 42 b8 fc c6 |........xbP7B...| +00000020 f1 84 40 75 7c e4 3f 8a 57 b8 1c 12 4a 6f 11 f2 |..@u|.?.W...Jo..| +00000030 ba 1a a6 9b 20 15 03 03 00 30 00 00 00 00 00 00 |.... ....0......| +00000040 00 00 00 00 00 00 00 00 00 00 09 93 aa 80 fd b2 |................| +00000050 66 e2 83 0e f8 83 45 3d e1 39 06 5d a3 12 9e 12 |f.....E=.9.]....| +00000060 fd f5 cb 32 c4 3b ce 20 e4 10 |...2.;. ..| diff --git a/testdata/Client-TLSv12-ClientCert-RSA-RSA b/testdata/Client-TLSv12-ClientCert-RSA-RSA index 25fc245b650..3bfb4aaabd8 100644 --- a/testdata/Client-TLSv12-ClientCert-RSA-RSA +++ b/testdata/Client-TLSv12-ClientCert-RSA-RSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 5f da ab 10 86 |....]...Y.._....| -00000010 4c 91 60 4c ec 28 20 d4 37 84 c4 d0 87 bb 9d a9 |L.`L.( .7.......| -00000020 5a c0 86 81 d9 91 38 5a ef 3f ae 20 ec 14 b6 de |Z.....8Z.?. ....| -00000030 b7 cf 59 09 43 dc 59 3f 74 89 10 f2 82 ea 60 46 |..Y.C.Y?t.....`F| -00000040 8f a3 6a 0f 61 0f 2d 66 24 c3 fb 7f c0 2f 00 00 |..j.a.-f$..../..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 c0 dd 18 ad 41 |....]...Y......A| +00000010 2b ee fd 45 1f c0 c1 10 75 a7 1d 80 74 3e 8e 66 |+..E....u...t>.f| +00000020 18 c8 64 c2 b4 89 4f 19 ff e0 0c 20 be c6 2a 8e |..d...O.... ..*.| +00000030 73 0a 1e 7a 2a d2 81 71 11 ba e9 de 02 0a aa 52 |s..z*..q.......R| +00000040 76 b7 43 a3 49 a0 81 24 9c 57 4c 26 c0 2f 00 00 |v.C.I..$.WL&./..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,18 +62,18 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 2c c4 b9 |............ ,..| -000002d0 13 19 85 99 cb 09 f3 5c 3a a1 b2 16 ee 77 6a cd |.......\:....wj.| -000002e0 23 6c 08 00 7e 6b c0 67 a8 cd 8b 62 64 08 04 00 |#l..~k.g...bd...| -000002f0 80 90 74 bf ce f7 94 f1 94 b1 95 04 4a ab d6 08 |..t.........J...| -00000300 23 11 8d ce 4e 7b 36 ee 67 d2 26 af 11 0e 33 58 |#...N{6.g.&...3X| -00000310 12 cb e5 3b 5b 5c f3 d1 82 19 2e 55 6b 98 05 6e |...;[\.....Uk..n| -00000320 3c 5e 04 f5 3e df 76 c3 e5 46 e7 a6 bb f7 d4 d5 |<^..>.v..F......| -00000330 e8 fd 20 d3 ce 3e 9d a0 90 9a 10 52 a7 04 c9 e9 |.. ..>.....R....| -00000340 28 6f 3f ff e1 0a 10 d0 25 04 ea e4 84 4c b7 80 |(o?.....%....L..| -00000350 e4 fe a7 a6 da db cc b0 e0 62 80 10 fc 03 16 94 |.........b......| -00000360 f2 dd 0d 3f aa 11 45 af e3 e4 7b e6 bc d6 75 91 |...?..E...{...u.| -00000370 99 16 03 03 00 3a 0d 00 00 36 03 01 02 40 00 2e |.....:...6...@..| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 5a f3 c3 |............ Z..| +000002d0 1b 34 9a 1a 01 68 65 fd 25 e5 e4 62 f4 17 d6 00 |.4...he.%..b....| +000002e0 88 ae 5e fa 6b ef 60 96 e9 96 1e 33 0f 08 04 00 |..^.k.`....3....| +000002f0 80 74 91 43 7a 3e 02 93 c6 6c 6d 36 86 2f 74 51 |.t.Cz>...lm6./tQ| +00000300 50 84 a2 0b 1c b4 90 71 72 2b f9 7d 35 2a a6 fc |P......qr+.}5*..| +00000310 56 b1 fa 36 e0 cb ea 5a 4e 89 71 3f 28 d3 fc 90 |V..6...ZN.q?(...| +00000320 de 21 0c 03 84 d9 23 78 b6 58 f2 03 02 27 48 f9 |.!....#x.X...'H.| +00000330 6d 6c 2b eb 62 36 47 66 55 fc d9 77 42 1e 9b 93 |ml+.b6GfU..wB...| +00000340 00 0f 5a 71 76 af 2c d9 b7 c3 6e e8 7a 64 34 0f |..Zqv.,...n.zd4.| +00000350 78 36 d7 cf a1 bb 3d 0a 23 64 c4 70 f0 78 8e 42 |x6....=.#d.p.x.B| +00000360 80 42 1f 0f 1d 7f c9 b6 7b 9c 2a 30 6c 7a ef 0c |.B......{.*0lz..| +00000370 2f 16 03 03 00 3a 0d 00 00 36 03 01 02 40 00 2e |/....:...6...@..| 00000380 04 03 05 03 06 03 08 07 08 08 08 09 08 0a 08 0b |................| 00000390 08 04 08 05 08 06 04 01 05 01 06 01 03 03 02 03 |................| 000003a0 03 01 02 01 03 02 02 02 04 02 05 02 06 02 00 00 |................| @@ -113,26 +114,26 @@ 00000200 e5 35 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 |.5....%...! /.}.| 00000210 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 |G.bC.(.._.).0...| 00000220 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 16 03 03 00 |......._X.;t....| -00000230 88 0f 00 00 84 08 04 00 80 4d c1 8a 3d 2b 1f a0 |.........M..=+..| -00000240 ad 6f 1c b6 44 7c cc 0d 21 6f e8 31 51 58 51 fe |.o..D|..!o.1QXQ.| -00000250 84 f3 41 40 12 48 29 0d 20 16 d1 6a 4b 38 0b c8 |..A@.H). ..jK8..| -00000260 b3 70 3f 4a ca 17 da 05 30 ec 6c 4f 55 e2 ee e5 |.p?J....0.lOU...| -00000270 9a 8c a7 9f c1 96 79 cf 53 b6 67 c8 cb 67 d3 23 |......y.S.g..g.#| -00000280 07 8a 3f ef df e5 e6 84 f6 5f 5e 23 57 89 cc 77 |..?......_^#W..w| -00000290 99 ed 3d 58 8a ec eb bb 64 62 d1 44 7f b6 45 85 |..=X....db.D..E.| -000002a0 89 06 90 56 48 98 8a 43 93 64 53 df 3a 8c b3 93 |...VH..C.dS.:...| -000002b0 91 81 7b 60 95 8f 99 99 eb 14 03 03 00 01 01 16 |..{`............| -000002c0 03 03 00 28 00 00 00 00 00 00 00 00 dd 93 96 02 |...(............| -000002d0 47 0e 1d 2f 6a 76 12 e5 56 53 8f 7f c1 cd f3 5e |G../jv..VS.....^| -000002e0 3c 94 35 1b fe d5 33 97 b2 5b a3 29 |<.5...3..[.)| +00000230 88 0f 00 00 84 08 04 00 80 56 a2 bb f3 05 94 90 |.........V......| +00000240 46 bc ef 79 ea 74 f9 a4 5c 27 59 dd 93 53 c3 9f |F..y.t..\'Y..S..| +00000250 07 b0 bf c1 e2 dc 39 b9 0d 63 62 d1 d0 88 65 e4 |......9..cb...e.| +00000260 2b 28 d3 ad b1 78 60 4c 0d a6 1f 2e a1 bc 36 81 |+(...x`L......6.| +00000270 31 f0 aa 0b 52 e6 04 69 ba 8a 9d c1 fd 25 d3 50 |1...R..i.....%.P| +00000280 43 5b ed fc 78 21 2b cc 13 f8 db f1 8b e7 57 d8 |C[..x!+.......W.| +00000290 59 f3 cf 54 ab d0 ea d6 8c 61 32 79 b8 be a6 c7 |Y..T.....a2y....| +000002a0 87 0a 35 88 70 f7 3f 2d bd 1b 7c 57 35 32 1b 81 |..5.p.?-..|W52..| +000002b0 87 08 e3 b0 1f a1 2b 13 fb 14 03 03 00 01 01 16 |......+.........| +000002c0 03 03 00 28 00 00 00 00 00 00 00 00 49 94 ed a1 |...(........I...| +000002d0 a3 13 e0 f4 20 2a 63 4d ef 24 d3 6c 8d 6c de b3 |.... *cM.$.l.l..| +000002e0 92 16 21 0d b0 6c 64 df 1b 32 ca dc |..!..ld..2..| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 de 60 8a ea b5 |..........(.`...| -00000010 74 66 35 35 39 bb 62 ab 17 7d 91 c3 1a 5a e5 6c |tf559.b..}...Z.l| -00000020 49 14 c8 bc bd d6 b6 7e 2f 8e d4 40 5a ae ee 89 |I......~/..@Z...| -00000030 89 ae af |...| +00000000 14 03 03 00 01 01 16 03 03 00 28 b9 2c 96 43 03 |..........(.,.C.| +00000010 f9 8c 28 34 4e 8b 58 ba d7 1a c4 87 d8 67 5c 0f |..(4N.X......g\.| +00000020 36 36 67 54 4e f4 6c 9c 0c 0e 1f df ca a3 8d ab |66gTN.l.........| +00000030 31 f2 84 |1..| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 3c 92 2d |.............<.-| -00000010 44 23 5b eb 34 dc 9a 4d c2 fe a7 88 cb 6f 8d 62 |D#[.4..M.....o.b| -00000020 4b 2a bf 15 03 03 00 1a 00 00 00 00 00 00 00 02 |K*..............| -00000030 90 82 82 54 5d 63 6e 8b 50 71 6e e8 fd 75 96 9e |...T]cn.Pqn..u..| -00000040 d0 0d |..| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 de 90 16 |................| +00000010 8e ec 2c 60 b8 a7 4f b6 26 8a c9 78 ff e0 73 19 |..,`..O.&..x..s.| +00000020 b3 01 c1 15 03 03 00 1a 00 00 00 00 00 00 00 02 |................| +00000030 8a 4b 2c 4b 99 51 81 27 34 28 63 00 15 24 e1 47 |.K,K.Q.'4(c..$.G| +00000040 4a 2f |J/| diff --git a/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15 b/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15 index 6500aec8b01..b933f592bef 100644 --- a/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15 +++ b/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 7b 21 bd ee 4b |....]...Y..{!..K| -00000010 af e3 88 cb 18 15 e5 f3 ef a5 a7 b3 a1 66 06 b2 |.............f..| -00000020 f1 cc d7 36 7e 18 d1 f6 2e 3e cd 20 34 09 01 9f |...6~....>. 4...| -00000030 c6 80 10 43 c1 ed e6 c1 29 1c ed ac 61 36 37 4f |...C....)...a67O| -00000040 8e 00 44 9d b9 cb 51 0b a2 9c 64 be c0 2f 00 00 |..D...Q...d../..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 0e 33 06 1f 9d |....]...Y...3...| +00000010 3d 0e 59 21 38 7d 4c ea a2 2a 2a c7 99 7b e9 bf |=.Y!8}L..**..{..| +00000020 61 e2 44 a1 10 5e 5d a1 e4 fd 90 20 c1 f0 1c 8e |a.D..^].... ....| +00000030 00 2f d9 a0 45 23 76 35 e0 01 2e 49 b8 4d b4 76 |./..E#v5...I.M.v| +00000040 08 65 3f cd 8b dc 80 ea fd 31 9f 47 c0 2f 00 00 |.e?......1.G./..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,18 +62,18 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 d3 22 bb |............ .".| -000002d0 c4 42 90 54 0a 43 f6 26 06 c1 ad 71 c8 82 ba 03 |.B.T.C.&...q....| -000002e0 9b cd be a4 a8 04 5a 30 69 ec b5 c9 79 04 01 00 |......Z0i...y...| -000002f0 80 ab c7 ca 24 9b db 7d 8c 81 c4 c4 46 49 2a 45 |....$..}....FI*E| -00000300 69 31 1b dc ef 01 ce 9f e4 da cf 6c 04 4c e3 4e |i1.........l.L.N| -00000310 16 84 05 fe 48 f4 21 60 fc d4 e1 6c 48 8c 87 2d |....H.!`...lH..-| -00000320 1f 56 2c ad 88 2b 5c 8d 4f 36 93 d6 a3 b1 32 4a |.V,..+\.O6....2J| -00000330 ef 0f e6 db 82 1c f2 ea 38 08 2a 62 8b a3 bd 4e |........8.*b...N| -00000340 8b 2a ae eb 0e e5 f1 88 ff 3c de f8 ed d7 c3 07 |.*.......<......| -00000350 05 92 bb e5 6d 15 23 c8 54 19 a6 cf d1 4f e2 b1 |....m.#.T....O..| -00000360 a3 4d ff 6f 22 32 5b 58 f7 58 c1 9f 58 59 b5 e2 |.M.o"2[X.X..XY..| -00000370 7b 16 03 03 00 0c 0d 00 00 08 01 01 00 02 04 01 |{...............| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 09 ce 63 |............ ..c| +000002d0 9c 52 37 83 ef 21 78 60 eb 8b dd 22 91 fb 34 4f |.R7..!x`..."..4O| +000002e0 ee 04 ef 48 75 2f 49 7e 3f 0b 00 62 15 04 01 00 |...Hu/I~?..b....| +000002f0 80 a0 11 99 d2 bc a9 fd 59 ad 38 20 bb 44 85 8e |........Y.8 .D..| +00000300 89 35 2e 42 ff a2 87 81 86 f5 e3 6c 9d 84 2a cf |.5.B.......l..*.| +00000310 0d cc 6a c0 ce 31 01 91 48 78 75 23 24 3e 3d 93 |..j..1..Hxu#$>=.| +00000320 bf ad c9 49 9d 63 66 cd 4b cc 92 0f 6d 64 2c 80 |...I.cf.K...md,.| +00000330 71 22 bf 6d 62 8e 8a f7 19 6f 50 2a 86 46 e4 46 |q".mb....oP*.F.F| +00000340 71 73 df 8c 25 84 6f 28 a7 8c bd 78 01 22 a2 91 |qs..%.o(...x."..| +00000350 f4 17 ef 88 55 9d d5 ac 42 5a 8a c8 7a 1b bf d1 |....U...BZ..z...| +00000360 d9 6d 15 42 b9 37 16 7b 2b 3c c7 58 99 da ab 98 |.m.B.7.{+<.X....| +00000370 f3 16 03 03 00 0c 0d 00 00 08 01 01 00 02 04 01 |................| 00000380 00 00 16 03 03 00 04 0e 00 00 00 |...........| >>> Flow 3 (client to server) 00000000 16 03 03 01 fd 0b 00 01 f9 00 01 f6 00 01 f3 30 |...............0| @@ -110,26 +111,26 @@ 00000200 e5 35 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 |.5....%...! /.}.| 00000210 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 |G.bC.(.._.).0...| 00000220 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 16 03 03 00 |......._X.;t....| -00000230 88 0f 00 00 84 04 01 00 80 8f 22 b5 46 ab 82 02 |..........".F...| -00000240 f8 a8 f8 63 d9 0f eb d4 2b 8d 02 de ce 79 d5 a1 |...c....+....y..| -00000250 20 bb 70 7a b2 36 6a b5 52 81 f5 ea f7 23 b5 41 | .pz.6j.R....#.A| -00000260 86 35 90 cc 64 4a 68 7e e3 ae c1 97 32 3b c2 a9 |.5..dJh~....2;..| -00000270 e0 f0 07 14 63 d5 08 15 59 46 f5 ea a6 39 5c 98 |....c...YF...9\.| -00000280 39 7e 17 d8 74 ae 05 a3 f5 3a 71 74 e8 b4 c9 a4 |9~..t....:qt....| -00000290 1c 82 04 ca fe 5f 97 23 8a c1 f9 ce d1 5d 0e 81 |....._.#.....]..| -000002a0 da 5f e1 b6 76 80 3c cf 9f 19 79 cf 33 d0 0a fe |._..v.<...y.3...| -000002b0 19 fc 2d 9a bb 24 cd d4 79 14 03 03 00 01 01 16 |..-..$..y.......| -000002c0 03 03 00 28 00 00 00 00 00 00 00 00 28 78 b8 0b |...(........(x..| -000002d0 59 d8 a8 11 21 ed 45 74 02 00 50 33 42 b9 0a d2 |Y...!.Et..P3B...| -000002e0 8c 9c a3 45 6e b5 9d 3e 5b 30 a9 2e |...En..>[0..| +00000230 88 0f 00 00 84 04 01 00 80 01 83 0b 8b bf a3 50 |...............P| +00000240 03 89 e8 24 9b 9e 2e f5 7b 72 58 b1 b1 ba b2 64 |...$....{rX....d| +00000250 9f a9 e2 b4 00 78 79 50 ec 55 18 43 e5 c4 a4 76 |.....xyP.U.C...v| +00000260 c8 21 bc 7e e0 c4 2d 78 85 d7 33 ca d7 4d e0 f1 |.!.~..-x..3..M..| +00000270 cd 6d bd 17 2f a0 b9 39 93 29 ba d7 09 4f bb 08 |.m../..9.)...O..| +00000280 b0 b0 05 f1 83 de d0 db 39 f9 b4 34 a3 ca d3 76 |........9..4...v| +00000290 97 35 f6 ea cd 53 fe bb 94 99 30 e3 a2 0a 29 1a |.5...S....0...).| +000002a0 5f f4 28 0e 8c 80 fc 75 84 a4 e2 3a 29 a9 50 be |_.(....u...:).P.| +000002b0 11 99 bb a5 12 64 5c af 5f 14 03 03 00 01 01 16 |.....d\._.......| +000002c0 03 03 00 28 00 00 00 00 00 00 00 00 8e 51 58 0e |...(.........QX.| +000002d0 1a fd 8e 01 f1 6b 59 94 54 ab 00 be 45 8b 4c ae |.....kY.T...E.L.| +000002e0 70 c3 db 53 de 82 12 6c cb df 32 72 |p..S...l..2r| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 f8 f5 85 19 36 |..........(....6| -00000010 be 6e 58 45 66 04 c4 f9 e7 fd 50 55 3b 07 6c 50 |.nXEf.....PU;.lP| -00000020 16 8c 2e 72 cf be 78 0a 8a 82 91 ed c1 72 10 d3 |...r..x......r..| -00000030 cf 42 b5 |.B.| +00000000 14 03 03 00 01 01 16 03 03 00 28 7b 7f 81 c9 d7 |..........({....| +00000010 1d 3a 32 48 da 92 d6 9f 78 6e 2f d3 e9 7e 9f 12 |.:2H....xn/..~..| +00000020 9b 0b e1 00 e8 2f 4b 63 2c 3d 94 e4 f8 1e 06 7d |...../Kc,=.....}| +00000030 a7 7e 6a |.~j| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 53 4b a2 |.............SK.| -00000010 e4 5f 51 70 46 3d e3 41 28 8b 82 02 e2 27 8d eb |._QpF=.A(....'..| -00000020 42 65 7f 15 03 03 00 1a 00 00 00 00 00 00 00 02 |Be..............| -00000030 f3 31 ed 2c ca e5 13 e8 93 cd d7 51 4b c5 16 88 |.1.,.......QK...| -00000040 c0 a4 |..| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 ee 21 1b |..............!.| +00000010 45 15 6a 0c 79 12 4d 79 d2 26 db fc e4 da 0f e4 |E.j.y.My.&......| +00000020 20 7e c7 15 03 03 00 1a 00 00 00 00 00 00 00 02 | ~..............| +00000030 2a 46 62 6b 5e c3 14 56 e1 fb d0 61 f5 e8 7b 2f |*Fbk^..V...a..{/| +00000040 cc fd |..| diff --git a/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS b/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS index b4c5102535d..646026793f0 100644 --- a/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS +++ b/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 0d 73 c5 43 a1 |....]...Y...s.C.| -00000010 71 b6 21 da 7a f6 76 44 60 8a 84 ec 6b 1d 70 01 |q.!.z.vD`...k.p.| -00000020 d8 b2 29 48 db 5d ea da ea 79 bb 20 3f b9 66 fe |..)H.]...y. ?.f.| -00000030 73 db fc 90 18 3f ac e5 1f 5d 86 24 80 75 ec a3 |s....?...].$.u..| -00000040 c6 aa e9 05 c1 47 21 bd 30 f6 41 43 c0 2f 00 00 |.....G!.0.AC./..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 cd 47 5d a7 66 |....]...Y...G].f| +00000010 aa b1 e1 bd ed 83 bd 3d 4a b7 b2 08 b8 79 08 c5 |.......=J....y..| +00000020 22 7b 8d be fe 55 4c 2d b5 4c b9 20 13 26 2a e6 |"{...UL-.L. .&*.| +00000030 ab 60 4c 53 8c b7 27 c4 d5 12 ff 38 64 b1 a2 1d |.`LS..'....8d...| +00000040 4f a4 c7 28 53 95 01 8f 7e 4a 7b 02 c0 2f 00 00 |O..(S...~J{../..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 66 0b 00 02 62 00 02 5f 00 02 |......f...b.._..| 00000070 5c 30 82 02 58 30 82 01 8d a0 03 02 01 02 02 11 |\0..X0..........| @@ -62,17 +63,17 @@ 000002a0 fa b1 3f 14 11 89 66 79 d1 8e 88 0e 0b a0 9e 30 |..?...fy.......0| 000002b0 2a c0 67 ef ca 46 02 88 e9 53 81 22 69 22 97 ad |*.g..F...S."i"..| 000002c0 80 93 d4 f7 dd 70 14 24 d7 70 0a 46 a1 16 03 03 |.....p.$.p.F....| -000002d0 00 ac 0c 00 00 a8 03 00 1d 20 03 05 56 dd 40 c0 |......... ..V.@.| -000002e0 b6 4d 5a df 26 e7 4a f1 a8 47 ef af 12 6e 5f 01 |.MZ.&.J..G...n_.| -000002f0 2a 7a 19 1a 45 52 8c 47 d2 53 08 04 00 80 8a 6a |*z..ER.G.S.....j| -00000300 9d 8b 38 73 da 92 bc f6 05 79 90 af 7a 43 59 62 |..8s.....y..zCYb| -00000310 bc 97 b6 af ef ce 5f 59 07 81 93 bc c5 3c 5f f9 |......_Y.....<_.| -00000320 4e 04 45 74 5e cc 7a 6f 82 7a cf 86 0d 68 c9 35 |N.Et^.zo.z...h.5| -00000330 1d 62 f0 3c ee 77 b5 4c 3a 40 ec 89 fc 97 ff a6 |.b.<.w.L:@......| -00000340 34 13 8b bc 6b 83 92 e8 52 c5 c6 42 c9 25 ad 37 |4...k...R..B.%.7| -00000350 41 e7 5a 52 d8 0f 7d fd a8 9e 86 c6 1b b2 8b 50 |A.ZR..}........P| -00000360 2a 1c 15 56 00 d8 a8 85 86 05 28 7f a1 3e ba f2 |*..V......(..>..| -00000370 fe 92 07 c8 a4 4a 2a 5f d1 53 82 09 9c 65 16 03 |.....J*_.S...e..| +000002d0 00 ac 0c 00 00 a8 03 00 1d 20 a8 94 95 94 cc 16 |......... ......| +000002e0 f1 dc 11 b6 c5 52 b3 fe 95 4d 28 34 1f 2d 87 ec |.....R...M(4.-..| +000002f0 8d 56 51 0e 5b 92 03 f9 60 0d 08 04 00 80 09 3a |.VQ.[...`......:| +00000300 99 39 d8 3f 63 b4 86 12 ba ce e6 6d d6 22 aa d8 |.9.?c......m."..| +00000310 31 60 86 eb 48 cc c0 87 97 a5 0d c7 42 86 cc f8 |1`..H.......B...| +00000320 f7 f9 d5 1a 34 86 ec 41 02 08 99 c2 93 9b d1 b5 |....4..A........| +00000330 57 a4 84 3c a8 93 0a c9 f7 1e a1 33 07 ca 60 c4 |W..<.......3..`.| +00000340 4b 40 32 20 a6 22 3f 6d 4e 28 22 3b 52 70 9a 4d |K@2 ."?mN(";Rp.M| +00000350 fa 84 67 88 ba b5 0d 92 eb 23 94 90 00 e2 68 74 |..g......#....ht| +00000360 5f 13 a3 d4 2d fb 24 f2 32 09 b1 e3 63 15 39 b1 |_...-.$.2...c.9.| +00000370 9e 1e a6 61 fd 8d c6 cf 1f f7 f7 43 0c 64 16 03 |...a.......C.d..| 00000380 03 00 0c 0d 00 00 08 01 01 00 02 08 04 00 00 16 |................| 00000390 03 03 00 04 0e 00 00 00 |........| >>> Flow 3 (client to server) @@ -118,26 +119,26 @@ 00000270 10 00 00 21 20 2f e5 7d a3 47 cd 62 43 15 28 da |...! /.}.G.bC.(.| 00000280 ac 5f bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 |._.).0..........| 00000290 5f 58 cb 3b 74 16 03 03 00 88 0f 00 00 84 08 04 |_X.;t...........| -000002a0 00 80 2e 4c af b1 f2 9c de 14 92 81 c4 7d d1 2f |...L.........}./| -000002b0 a3 ba ba df 6f 26 da 2d 86 b4 1f 60 cd fe e7 c1 |....o&.-...`....| -000002c0 77 02 a5 58 3f 6a fc 1d ef 93 23 0a 9c c9 70 93 |w..X?j....#...p.| -000002d0 f8 0c 67 fd 58 83 96 85 62 da 31 e7 a6 78 9f 1c |..g.X...b.1..x..| -000002e0 dc 02 b3 b8 bc 05 26 92 e8 6a e7 3c db 5f 80 ee |......&..j.<._..| -000002f0 12 75 ff e6 36 36 e6 75 c2 77 d9 63 ef 60 89 db |.u..66.u.w.c.`..| -00000300 21 aa 27 85 11 9b 8c eb be a3 e3 34 0e 01 93 ca |!.'........4....| -00000310 a6 65 e3 cd 0f b8 b5 c6 f0 d7 15 69 db 4b 57 d2 |.e.........i.KW.| -00000320 05 0d 14 03 03 00 01 01 16 03 03 00 28 00 00 00 |............(...| -00000330 00 00 00 00 00 b5 09 a0 c4 55 89 df 8a 60 83 f3 |.........U...`..| -00000340 82 12 55 1d d5 50 11 81 74 0f cd b5 ed 9a 00 e7 |..U..P..t.......| -00000350 58 f7 65 0e 8d |X.e..| +000002a0 00 80 86 14 3f 28 40 db 2b 02 d6 56 d3 58 d0 77 |....?(@.+..V.X.w| +000002b0 58 f8 a3 25 1f 18 d1 9c 0a d2 56 09 32 59 34 db |X..%......V.2Y4.| +000002c0 d9 2e 0a bf b4 c2 0a 86 ee 6e 29 56 53 aa 82 11 |.........n)VS...| +000002d0 96 6d 86 29 7c 85 a4 71 56 04 71 5f e6 68 3f 3f |.m.)|..qV.q_.h??| +000002e0 71 54 13 a2 22 b4 3e 38 fa c2 96 a4 c4 ab 83 c6 |qT..".>8........| +000002f0 f5 ca 7a ea 2c 8d 62 4d 76 d6 db 9c f0 0e 8c 2a |..z.,.bMv......*| +00000300 38 2f 9d 24 34 f4 33 73 54 a2 44 9a e3 4c 1f a7 |8/.$4.3sT.D..L..| +00000310 ca 49 16 e8 35 29 29 d1 48 95 0a 38 19 64 4c e7 |.I..5)).H..8.dL.| +00000320 0d a5 14 03 03 00 01 01 16 03 03 00 28 00 00 00 |............(...| +00000330 00 00 00 00 00 09 7f fa f5 c5 e5 b1 46 7e 3d e2 |............F~=.| +00000340 d4 51 a7 b8 ae 0a 56 a3 8c 45 40 97 d4 c5 81 4e |.Q....V..E@....N| +00000350 6f 12 50 b3 f6 |o.P..| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 3f eb 87 50 b0 |..........(?..P.| -00000010 ae c2 fd 68 30 95 94 61 1c 78 1e 60 3e 38 17 ef |...h0..a.x.`>8..| -00000020 ed 9b f1 10 26 5e 53 a3 8c 46 2e 6c 24 b2 ab a7 |....&^S..F.l$...| -00000030 6c f0 ea |l..| +00000000 14 03 03 00 01 01 16 03 03 00 28 0b 0d 27 bb 5f |..........(..'._| +00000010 c5 fa 62 08 8f 7a 24 65 90 bc de be 28 ae a4 e2 |..b..z$e....(...| +00000020 1f ac 18 7a 83 3e 90 bb 76 2f 73 ec 35 ca d3 e7 |...z.>..v/s.5...| +00000030 d8 25 7f |.%.| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 fe de 40 |...............@| -00000010 52 50 79 da 5f 31 52 52 d8 96 04 35 86 92 03 0b |RPy._1RR...5....| -00000020 6f 5f 04 15 03 03 00 1a 00 00 00 00 00 00 00 02 |o_..............| -00000030 9c 85 24 b0 a9 17 24 cf 18 f6 ef f5 0d c6 77 6d |..$...$.......wm| -00000040 e0 b2 |..| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 a7 07 a5 |................| +00000010 b5 4c 26 d0 d1 6b 52 10 8f 7c 3a 4c 31 ce 74 fa |.L&..kR..|:L1.t.| +00000020 4a c7 9b 15 03 03 00 1a 00 00 00 00 00 00 00 02 |J...............| +00000030 22 22 5a b9 ef 4f 05 9f 2e 1e 9c 11 e1 6c 0b 1e |""Z..O.......l..| +00000040 bd 10 |..| diff --git a/testdata/Client-TLSv12-ECDHE-ECDSA-AES b/testdata/Client-TLSv12-ECDHE-ECDSA-AES index 774cb40e3dc..6268dbcc7a4 100644 --- a/testdata/Client-TLSv12-ECDHE-ECDSA-AES +++ b/testdata/Client-TLSv12-ECDHE-ECDSA-AES @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 15 ed ca 52 59 |....]...Y.....RY| -00000010 e2 56 80 e2 f3 20 5b 7d 52 f3 67 1f 01 0d ad 30 |.V... [}R.g....0| -00000020 36 a6 43 c2 ed 5e 34 c5 24 89 e1 20 c7 4c 5d 06 |6.C..^4.$.. .L].| -00000030 01 7a 80 aa 84 0c 46 48 63 36 49 4a 9b 3f 8d ba |.z....FHc6IJ.?..| -00000040 78 1b cd f9 ef 03 df cd ee 2c b1 79 c0 09 00 00 |x........,.y....| +00000000 16 03 03 00 5d 02 00 00 59 03 03 61 e9 cc eb 72 |....]...Y..a...r| +00000010 7c 11 18 0e 9d 6b 72 e9 be 84 f3 92 8d 5f e6 4c ||....kr......_.L| +00000020 ec 9e f0 00 ca 00 6f af 90 5b de 20 29 97 82 6d |......o..[. )..m| +00000030 57 ac 60 59 41 1d bb 29 b1 12 a4 ac 60 18 3b 51 |W.`YA..)....`.;Q| +00000040 af 5c e7 80 1a dc 9d 72 ed 3a 74 96 c0 09 00 00 |.\.....r.:t.....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -56,39 +57,39 @@ 00000240 8c 25 c1 33 13 83 0d 94 06 bb d4 37 7a f6 ec 7a |.%.3.......7z..z| 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| -00000270 95 12 07 8f 2a 16 03 03 00 b6 0c 00 00 b2 03 00 |....*...........| -00000280 1d 20 b7 f5 92 bc 9b 4a f9 62 3f 46 b8 b0 33 56 |. .....J.b?F..3V| -00000290 1e 8d fc e9 68 af bf 67 9b a5 d0 9e a9 cc d9 65 |....h..g.......e| -000002a0 7e 41 04 03 00 8a 30 81 87 02 41 08 b2 fe 6e 40 |~A....0...A...n@| -000002b0 b7 5f 04 db eb 39 18 d5 e0 46 81 07 33 3a 29 fb |._...9...F..3:).| -000002c0 0b 19 76 ac 95 0d cd 4d a4 f0 99 df 6d d6 73 79 |..v....M....m.sy| -000002d0 ed 48 52 78 ea 7a 1d 4b b1 67 d6 fd 21 3b c9 9d |.HRx.z.K.g..!;..| -000002e0 89 67 b7 b9 8e cf 35 28 62 28 3f 0b 02 42 01 7e |.g....5(b(?..B.~| -000002f0 4c a5 af 5b ba 3b d6 38 3b 34 b7 0c 69 27 92 ce |L..[.;.8;4..i'..| -00000300 34 ba bb 0d f6 32 65 fe 3c c0 9c 9d 92 88 b4 11 |4....2e.<.......| -00000310 04 88 f5 b3 21 79 6c ed 6e f6 51 f5 e7 b1 3d 0d |....!yl.n.Q...=.| -00000320 bd d6 92 67 c8 90 71 7a db cc cc 21 64 44 22 d4 |...g..qz...!dD".| -00000330 16 03 03 00 04 0e 00 00 00 |.........| +00000270 95 12 07 8f 2a 16 03 03 00 b7 0c 00 00 b3 03 00 |....*...........| +00000280 1d 20 88 7d 69 d3 1b 2d b5 dd 4e 0a f4 98 f3 8c |. .}i..-..N.....| +00000290 42 d7 ee e2 7c 28 dc f2 75 ec b0 9e ca ad cb 21 |B...|(..u......!| +000002a0 59 34 04 03 00 8b 30 81 88 02 42 01 32 2c 84 f3 |Y4....0...B.2,..| +000002b0 d8 7c 05 58 ac d0 25 46 42 11 b4 7c 0a cb ee 83 |.|.X..%FB..|....| +000002c0 7f 68 36 b6 be f8 d2 0a 8d d7 bc 8a 95 d8 2d b3 |.h6...........-.| +000002d0 fa 87 56 ae 4c 01 3f bf 29 d1 81 c1 5d e9 f0 93 |..V.L.?.)...]...| +000002e0 f6 32 91 e7 da 18 84 dd 8d a4 94 3f 81 02 42 01 |.2.........?..B.| +000002f0 70 96 e1 3c c9 aa b8 72 8d 8e 13 68 00 50 65 9c |p..<...r...h.Pe.| +00000300 cf c6 1e 5f 5a d0 80 e8 8b ff 24 df a9 55 42 d9 |..._Z.....$..UB.| +00000310 75 83 67 d7 20 69 f1 29 2d 15 f4 83 f9 ff 3d c8 |u.g. i.)-.....=.| +00000320 0e 79 a9 3e 86 38 4a c5 a2 93 f1 47 a2 43 41 a5 |.y.>.8J....G.CA.| +00000330 bb 16 03 03 00 04 0e 00 00 00 |..........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| 00000030 16 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| -00000040 00 00 00 00 00 07 03 9e fa a4 84 27 17 b8 dd 53 |...........'...S| -00000050 12 4b 89 a1 47 98 22 e3 7b c8 d4 5c 18 bb 89 09 |.K..G.".{..\....| -00000060 29 3a b9 af d3 38 4a 40 76 d6 15 37 80 19 9c ce |):...8J@v..7....| -00000070 32 5b 94 89 2e |2[...| +00000040 00 00 00 00 00 84 08 13 72 05 4e a7 cb ac c1 40 |........r.N....@| +00000050 9e 31 9c a4 8f 7f f1 41 c6 63 19 39 3d d4 27 74 |.1.....A.c.9=.'t| +00000060 f9 5c 59 88 15 c3 e2 a7 6a 6f 6d fb 52 6f 94 36 |.\Y.....jom.Ro.6| +00000070 1e 8d 47 50 db |..GP.| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 40 2d 53 b0 b0 c1 |..........@-S...| -00000010 05 78 e3 3c 5d 57 a5 04 9a 4b b9 f7 56 ce 5a 76 |.x.<]W...K..V.Zv| -00000020 84 4d f2 46 2e fc c2 9c ec 37 2b 4d 99 88 ab 30 |.M.F.....7+M...0| -00000030 1b 83 7d d8 72 bf e7 c7 f7 cf b8 13 54 d5 a2 a2 |..}.r.......T...| -00000040 dc 76 b3 01 a4 d0 a5 cc eb 66 29 |.v.......f)| +00000000 14 03 03 00 01 01 16 03 03 00 40 9f 65 82 54 e1 |..........@.e.T.| +00000010 50 68 92 33 d1 f2 a1 1d 95 81 e1 df c3 b2 4c 9b |Ph.3..........L.| +00000020 f4 8d ee b2 4b 43 2f e9 e3 af 60 ae d4 4c 7a 4b |....KC/...`..LzK| +00000030 f5 03 22 f0 11 58 de 4d ac 46 5a bf 98 da 01 1d |.."..X.M.FZ.....| +00000040 fa 19 ad a6 48 66 fa c1 25 4b a0 |....Hf..%K.| >>> Flow 5 (client to server) 00000000 17 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -00000010 00 00 00 00 00 11 31 80 89 b8 32 e7 66 a6 eb c5 |......1...2.f...| -00000020 ca 4b f7 2b 47 73 e9 cd 9f 4e 9a 5e 3f 99 5a 29 |.K.+Gs...N.^?.Z)| -00000030 00 0d 4f 4e 93 15 03 03 00 30 00 00 00 00 00 00 |..ON.....0......| -00000040 00 00 00 00 00 00 00 00 00 00 d9 18 f4 dd 64 64 |..............dd| -00000050 38 27 a7 96 d5 14 d1 b2 26 9c 14 96 54 2a cf d7 |8'......&...T*..| -00000060 4c d0 b6 c3 20 fe 33 73 78 e5 |L... .3sx.| +00000010 00 00 00 00 00 b3 26 24 39 5d 7c fc 25 23 ee fc |......&$9]|.%#..| +00000020 3a 6a 38 08 f5 bf 5e cc dc 34 83 1f 5e af b0 b4 |:j8...^..4..^...| +00000030 ee 34 fc f5 e1 15 03 03 00 30 00 00 00 00 00 00 |.4.......0......| +00000040 00 00 00 00 00 00 00 00 00 00 84 b2 cc 06 95 78 |...............x| +00000050 de 1d a0 cc d3 15 32 b7 89 74 8d 99 70 13 37 c3 |......2..t..p.7.| +00000060 e2 99 6e fe 8c 2d 69 77 cc 93 |..n..-iw..| diff --git a/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM b/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM index 86095340d40..e235f27b75f 100644 --- a/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM +++ b/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 e1 ed 2c 5d 15 |....]...Y....,].| -00000010 15 24 d2 e3 a0 58 fb 2f 89 a3 26 b1 c8 06 0f dc |.$...X./..&.....| -00000020 ef e1 a7 a4 81 4a 71 2c 1d a2 35 20 be ff 22 db |.....Jq,..5 ..".| -00000030 2d 33 1b 11 24 55 96 96 54 5f 62 c7 7f b5 ba 32 |-3..$U..T_b....2| -00000040 e7 e6 7c 11 68 f8 97 d1 17 f7 8f 4f c0 2b 00 00 |..|.h......O.+..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 ac 28 cc 34 03 |....]...Y...(.4.| +00000010 c8 91 48 22 79 a2 98 74 e4 55 df 72 6b 41 cb 40 |..H"y..t.U.rkA.@| +00000020 58 ba 04 93 e7 f3 1c 8e 0a 19 d1 20 98 93 cb 7c |X.......... ...|| +00000030 a3 57 a1 c7 ca 19 13 5c e1 ac c4 44 17 30 cb a3 |.W.....\...D.0..| +00000040 b2 83 81 90 82 1d 37 c3 71 ae b8 45 c0 2b 00 00 |......7.q..E.+..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -57,33 +58,33 @@ 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| 00000270 95 12 07 8f 2a 16 03 03 00 b6 0c 00 00 b2 03 00 |....*...........| -00000280 1d 20 74 55 23 1a ff ed d3 e7 95 30 ee ed 6d 77 |. tU#......0..mw| -00000290 57 83 fb 09 fc 81 70 69 d8 ae 38 1b e7 da 7f c6 |W.....pi..8.....| -000002a0 e4 01 04 03 00 8a 30 81 87 02 41 36 52 ca 91 b7 |......0...A6R...| -000002b0 a2 b2 31 91 98 96 65 92 67 a6 9c f2 75 8a 00 91 |..1...e.g...u...| -000002c0 8e 17 bd 22 d2 6c cb 16 0a fb 6b 27 08 3b f9 e4 |...".l....k'.;..| -000002d0 7c b5 21 45 60 4c c0 71 0b 28 46 d2 a8 a2 ad ad ||.!E`L.q.(F.....| -000002e0 51 fd bc 2e 40 7d 06 89 e7 b8 07 df 02 42 00 86 |Q...@}.......B..| -000002f0 83 4f 1d c1 c0 6d 3c f3 ed 24 47 70 65 e9 7c 5e |.O...m<..$Gpe.|^| -00000300 27 43 f0 05 b8 cd a4 34 ba 69 bc 81 7c fb b1 c3 |'C.....4.i..|...| -00000310 f8 bc 99 d6 90 15 8f db 21 fe 9f 18 10 23 75 6d |........!....#um| -00000320 22 b2 c6 f4 a5 60 80 31 06 a3 ad 33 88 c4 52 5d |"....`.1...3..R]| +00000280 1d 20 40 9c d1 ec 0a 11 08 c3 fa a0 33 80 00 62 |. @.........3..b| +00000290 5b 65 59 c6 4f 4e 32 8a 79 fc df 63 2f ee f6 59 |[eY.ON2.y..c/..Y| +000002a0 40 4a 04 03 00 8a 30 81 87 02 41 39 af 63 7a fa |@J....0...A9.cz.| +000002b0 dc e3 40 85 19 9d 1b 8f ca 55 26 e4 00 a1 f5 01 |..@......U&.....| +000002c0 73 e6 b5 6f ab bb c3 f3 b4 e0 c2 a1 33 37 ae ec |s..o........37..| +000002d0 e7 90 f6 dd b4 a4 c8 f1 3c 51 67 94 c1 ee d7 f3 |........>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 28 00 00 00 00 00 00 00 00 6b 3d 83 |....(........k=.| -00000040 88 db aa b0 62 30 8d 4a 6c b2 f1 14 d3 99 43 65 |....b0.Jl.....Ce| -00000050 4c ef 26 a4 ba 46 2f 75 9a 05 0c f2 91 |L.&..F/u.....| +00000030 16 03 03 00 28 00 00 00 00 00 00 00 00 50 16 81 |....(........P..| +00000040 fe 51 5b ac de d7 31 1b 9a 09 4f 1e d4 de a4 af |.Q[...1...O.....| +00000050 c9 62 5d 38 85 23 84 8c ae 4f 55 5d 0d |.b]8.#...OU].| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 d5 c2 de 26 c1 |..........(...&.| -00000010 ed 28 f1 d8 81 b3 9a 4f 3d 82 ad 22 d0 2c 41 61 |.(.....O=..".,Aa| -00000020 8b 15 a3 72 01 94 44 ff 8f 01 c1 05 e6 84 56 0a |...r..D.......V.| -00000030 8b 1d c4 |...| +00000000 14 03 03 00 01 01 16 03 03 00 28 d3 0d f6 53 0f |..........(...S.| +00000010 c8 3e f0 e6 c0 2c ed ec bc 8f cc 19 5e 33 30 69 |.>...,......^30i| +00000020 3c d9 55 8b e4 14 e2 0e 3a f9 89 39 fc a7 89 70 |<.U.....:..9...p| +00000030 58 16 44 |X.D| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 c7 7d a7 |..............}.| -00000010 c4 a5 a1 21 94 7a 23 bc 05 44 7d 4a 2f 16 dc 95 |...!.z#..D}J/...| -00000020 25 6e 17 15 03 03 00 1a 00 00 00 00 00 00 00 02 |%n..............| -00000030 77 fa b6 34 7e 60 77 f9 a5 09 d1 39 b0 1e 66 86 |w..4~`w....9..f.| -00000040 50 41 |PA| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 0b 26 61 |..............&a| +00000010 e6 d8 6a 6d db c6 2d 8a c3 8e f4 17 1a f7 8e f3 |..jm..-.........| +00000020 ce 04 ce 15 03 03 00 1a 00 00 00 00 00 00 00 02 |................| +00000030 fa f7 0a 81 bb 8d 83 f3 82 05 ee 26 69 22 90 b2 |...........&i"..| +00000040 bb b1 |..| diff --git a/testdata/Client-TLSv12-ECDHE-ECDSA-AES128-SHA256 b/testdata/Client-TLSv12-ECDHE-ECDSA-AES128-SHA256 index ac5d07e69d6..f81845ab3d9 100644 --- a/testdata/Client-TLSv12-ECDHE-ECDSA-AES128-SHA256 +++ b/testdata/Client-TLSv12-ECDHE-ECDSA-AES128-SHA256 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 36 c3 50 72 b9 |....]...Y..6.Pr.| -00000010 0d e9 d9 76 1d 31 72 e6 61 ec 3e 13 93 d7 f1 52 |...v.1r.a.>....R| -00000020 a7 36 5c 16 9a cc c5 c0 da 7e f3 20 31 79 7a ec |.6\......~. 1yz.| -00000030 1d db f7 cd 0a fe b3 86 6f 43 12 f4 9d 19 16 51 |........oC.....Q| -00000040 e2 42 1b 94 43 13 71 67 2d 52 7a 86 c0 23 00 00 |.B..C.qg-Rz..#..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 be 62 2f ca 91 |....]...Y...b/..| +00000010 8b 79 1d ce e3 3f 2e 37 bc 74 da c8 7d de a5 85 |.y...?.7.t..}...| +00000020 58 c8 04 55 4e c6 51 f2 18 60 33 20 2f 33 8b c1 |X..UN.Q..`3 /3..| +00000030 b6 be 54 3e 3f 78 12 1b d9 d0 db 71 fa 0c ee f9 |..T>?x.....q....| +00000040 60 fb 49 08 a1 83 a4 f6 22 e8 dc 2c c0 23 00 00 |`.I....."..,.#..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -56,43 +57,43 @@ 00000240 8c 25 c1 33 13 83 0d 94 06 bb d4 37 7a f6 ec 7a |.%.3.......7z..z| 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| -00000270 95 12 07 8f 2a 16 03 03 00 b7 0c 00 00 b3 03 00 |....*...........| -00000280 1d 20 d2 2d 0f 11 29 eb b4 23 67 1c 40 84 7f 7e |. .-..)..#g.@..~| -00000290 cd 8c 3d c2 62 ed 9b 0f 08 01 5b a5 fd 86 31 c5 |..=.b.....[...1.| -000002a0 d2 76 04 03 00 8b 30 81 88 02 42 01 a4 ea c8 67 |.v....0...B....g| -000002b0 c0 0a 93 23 7c d9 41 17 ba 91 02 78 c7 16 28 85 |...#|.A....x..(.| -000002c0 b8 d6 5c ed ed 20 1e 8b 90 e0 19 db 67 72 7e d3 |..\.. ......gr~.| -000002d0 2c 2e 84 6a d7 bc b7 53 74 8b 1b ef a8 bc 39 d8 |,..j...St.....9.| -000002e0 e0 75 29 6b 1d 89 c3 12 c2 3c 51 25 84 02 42 01 |.u)k.....+| +000002b0 e8 b6 0b c9 76 80 60 6f 9a c5 4c 6e 7c d8 53 00 |....v.`o..Ln|.S.| +000002c0 56 c7 f9 37 36 32 2d dc 82 d8 0c 67 7a 96 5c 34 |V..762-....gz.\4| +000002d0 db 10 71 4e f4 29 e0 20 84 01 09 9a dc 74 76 39 |..qN.). .....tv9| +000002e0 63 e3 b2 c5 b4 7b cc 20 92 77 f1 3b a0 02 41 5d |c....{. .w.;..A]| +000002f0 36 ae 86 8c 27 7f 9e 0d 17 8e 16 48 20 2a 43 ac |6...'......H *C.| +00000300 d4 ce c6 9b 6a 95 47 5a 47 5c 13 b6 eb db 0b a6 |....j.GZG\......| +00000310 fa 23 fe 0c 76 e0 a9 b2 97 76 02 ff 68 3d 68 c5 |.#..v....v..h=h.| +00000320 17 08 54 25 1a 22 c0 a3 06 bd a3 f6 7c 68 07 9e |..T%."......|h..| +00000330 16 03 03 00 04 0e 00 00 00 |.........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| 00000030 16 03 03 00 50 00 00 00 00 00 00 00 00 00 00 00 |....P...........| -00000040 00 00 00 00 00 98 8d 15 68 8c 12 3e 4a 88 64 7c |........h..>J.d|| -00000050 69 46 25 16 66 20 d7 f5 7e 08 d8 9d c4 89 c1 cf |iF%.f ..~.......| -00000060 ac 86 b7 ce 3a 9c 95 0c 5d d1 a2 c2 bf fd 7c e1 |....:...].....|.| -00000070 b5 f4 04 7e 71 ae 3c fc d2 c1 2a ec 81 e4 62 a6 |...~q.<...*...b.| -00000080 e6 05 72 d8 9e |..r..| +00000040 00 00 00 00 00 27 1a a1 cf 9d f5 8f 91 e4 7f dc |.....'..........| +00000050 2f 81 3f 1e 3a c3 40 21 c2 6d dd dd 8f f6 9c 4b |/.?.:.@!.m.....K| +00000060 0b da 8d 10 f6 83 da 35 bb b9 a4 bf 2f 29 27 a5 |.......5..../)'.| +00000070 12 52 6a 74 6e 15 8d 82 cf 86 df f0 52 26 32 ca |.Rjtn.......R&2.| +00000080 02 91 8c 03 f7 |.....| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 50 27 94 9b d3 f1 |..........P'....| -00000010 6c 59 bb fa b7 73 8b d6 fa b2 ca c1 0c d3 60 cf |lY...s........`.| -00000020 50 18 a6 6f 3d b3 46 a1 06 a2 b1 62 4c ea 88 2f |P..o=.F....bL../| -00000030 95 bc 35 6f 55 a6 8a 52 69 6c 5b a5 fc 94 2a b6 |..5oU..Ril[...*.| -00000040 27 7c d7 95 27 72 d4 c1 f2 f9 9c a5 b3 2a 85 52 |'|..'r.......*.R| -00000050 ae bf 14 52 54 51 6a fe a1 99 05 |...RTQj....| +00000000 14 03 03 00 01 01 16 03 03 00 50 1f 1c 35 9b 6c |..........P..5.l| +00000010 a8 9f 58 0d bf 0f db b5 91 c6 74 de b1 b7 68 b6 |..X.......t...h.| +00000020 05 0d 39 68 87 7d b3 b0 8b 86 15 67 ba 7e 54 0c |..9h.}.....g.~T.| +00000030 0d 4f 6e f3 ad d8 27 e8 1d fa 43 31 be 30 67 d2 |.On...'...C1.0g.| +00000040 bc 0a 30 37 78 3e 30 62 bf 81 2e 53 da b3 88 73 |..07x>0b...S...s| +00000050 17 42 79 ee ef 0e d3 3c 87 c8 85 |.By....<...| >>> Flow 5 (client to server) 00000000 17 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| -00000010 00 00 00 00 00 9b b4 f6 7e 49 48 09 cd 4f ed 22 |........~IH..O."| -00000020 68 db 19 94 ad af de d1 9b b6 bc f5 d6 7f c6 b2 |h...............| -00000030 ff b1 0e b4 0e dd 77 19 e8 9e ff 68 1a 04 fc e5 |......w....h....| -00000040 f2 3b 5b 34 aa 15 03 03 00 40 00 00 00 00 00 00 |.;[4.....@......| -00000050 00 00 00 00 00 00 00 00 00 00 f7 95 04 54 94 ff |.............T..| -00000060 f7 86 df 0a 2e 5b e9 54 fe 13 30 2a 97 f9 21 8e |.....[.T..0*..!.| -00000070 83 8b ba 86 77 67 92 33 5e a8 ea b7 64 65 63 59 |....wg.3^...decY| -00000080 44 2e 65 60 9a 0a 7c 78 97 a4 |D.e`..|x..| +00000010 00 00 00 00 00 2c 39 43 06 0a c3 81 10 24 e8 bb |.....,9C.....$..| +00000020 de b8 74 00 a9 a3 ab 9a 2a a7 8a 0e 62 b8 2a 23 |..t.....*...b.*#| +00000030 10 46 1b 76 dc a7 81 2d 37 2e e8 5f b5 75 5e 65 |.F.v...-7.._.u^e| +00000040 73 11 ef 71 16 15 03 03 00 40 00 00 00 00 00 00 |s..q.....@......| +00000050 00 00 00 00 00 00 00 00 00 00 a5 24 00 67 c6 ae |...........$.g..| +00000060 7f 05 91 ab 17 c9 ea eb 5a f8 8f 07 f3 e5 9b 9c |........Z.......| +00000070 20 41 63 21 69 3e f1 bb 66 7e 0b 3d c0 0a 14 b1 | Ac!i>..f~.=....| +00000080 a3 de 2e d9 10 23 37 84 4d 88 |.....#7.M.| diff --git a/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384 b/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384 index ad5fa501469..bf3f0192605 100644 --- a/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384 +++ b/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 54 28 b4 3e d3 |....]...Y..T(.>.| -00000010 f8 21 2a 34 c9 6b 54 76 aa d2 cf 5e 07 7a aa e2 |.!*4.kTv...^.z..| -00000020 10 cb 3e ed 87 f4 3e 70 44 d0 35 20 6e b4 f0 71 |..>...>pD.5 n..q| -00000030 76 96 1e 2a 57 74 4b db 9a 11 0a af 06 ea 3b 20 |v..*WtK.......; | -00000040 a8 81 51 9d 41 ef f1 f9 23 87 18 cb c0 2c 00 00 |..Q.A...#....,..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 45 43 2c 7b 07 |....]...Y..EC,{.| +00000010 6e 76 10 6b f3 9c 7c 2e b8 c9 6b 8d a0 b6 7b be |nv.k..|...k...{.| +00000020 79 7a 52 ab 8d f8 c6 cb 00 f6 48 20 a3 a7 3c ca |yzR.......H ..<.| +00000030 d7 57 be c7 6e 45 d6 75 c1 70 e0 86 1e 58 14 a3 |.W..nE.u.p...X..| +00000040 b4 7d 78 2c ca 82 2f 38 b8 96 ef c4 c0 2c 00 00 |.}x,../8.....,..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -56,34 +57,34 @@ 00000240 8c 25 c1 33 13 83 0d 94 06 bb d4 37 7a f6 ec 7a |.%.3.......7z..z| 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| -00000270 95 12 07 8f 2a 16 03 03 00 b7 0c 00 00 b3 03 00 |....*...........| -00000280 1d 20 de df 32 23 35 b3 79 a9 49 c2 b3 ad 0c d6 |. ..2#5.y.I.....| -00000290 23 a6 6a 9b 0f e3 52 51 7b bc f2 79 00 c9 a4 a0 |#.j...RQ{..y....| -000002a0 94 02 04 03 00 8b 30 81 88 02 42 01 8c 12 91 28 |......0...B....(| -000002b0 d4 6d cd 39 62 75 9a e0 e5 dd ea 31 45 f5 cd 8b |.m.9bu.....1E...| -000002c0 28 82 14 f5 e9 61 0e 9d af 42 06 17 42 e9 24 1c |(....a...B..B.$.| -000002d0 2b 1a c8 77 e4 7a 82 2b b0 dd 28 3f 76 5d dd fd |+..w.z.+..(?v]..| -000002e0 20 53 87 e6 77 26 be 45 e4 6d 31 e3 bf 02 42 01 | S..w&.E.m1...B.| -000002f0 70 c5 97 3a e4 7b 80 2b 1b eb c9 b2 0a 79 92 2e |p..:.{.+.....y..| -00000300 3d b1 4d 13 69 d2 60 a9 fd e9 66 56 83 e4 f5 6a |=.M.i.`...fV...j| -00000310 ae cd 8b 94 9f 0b 70 81 b1 ed c6 0d 5f 33 42 04 |......p....._3B.| -00000320 3d f7 b6 d3 e9 09 b8 bf 43 8c 19 d5 7d 60 d6 a9 |=.......C...}`..| -00000330 f7 16 03 03 00 04 0e 00 00 00 |..........| +00000270 95 12 07 8f 2a 16 03 03 00 b5 0c 00 00 b1 03 00 |....*...........| +00000280 1d 20 2c 21 c0 1d 0f 62 0d 25 60 02 a2 5f 10 5b |. ,!...b.%`.._.[| +00000290 68 fb b8 74 a5 2f 33 d6 1e 3f 05 43 19 6d 1c 74 |h..t./3..?.C.m.t| +000002a0 ce 5b 04 03 00 89 30 81 86 02 41 4c 6b 04 c2 3f |.[....0...ALk..?| +000002b0 98 87 0d 54 5a d5 1f 4c 77 1b b6 e5 f8 1f 35 29 |...TZ..Lw.....5)| +000002c0 e9 72 13 34 ba f8 f9 b3 0f 49 ed b5 69 bd 03 3e |.r.4.....I..i..>| +000002d0 10 7d a5 0f 7a aa a6 c5 e0 48 24 2a 61 85 17 5d |.}..z....H$*a..]| +000002e0 ac 93 35 47 41 60 f6 3b d6 41 32 20 02 41 02 4b |..5GA`.;.A2 .A.K| +000002f0 b7 28 37 9d 5d f3 fe 87 7b 13 9a 71 b0 59 7b f0 |.(7.]...{..q.Y{.| +00000300 50 e2 87 aa 9a ef 0e e8 47 bd 85 60 d5 41 32 00 |P.......G..`.A2.| +00000310 aa 26 e4 f3 c9 4c 9d df 6c dc 6a de 2b fc 76 b2 |.&...L..l.j.+.v.| +00000320 99 28 41 1c d3 04 a2 e0 71 92 41 97 0a b3 4b 16 |.(A.....q.A...K.| +00000330 03 03 00 04 0e 00 00 00 |........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 28 00 00 00 00 00 00 00 00 a7 5d c9 |....(.........].| -00000040 e7 6b 78 13 ae 11 64 d0 e7 77 48 03 d4 cf b9 65 |.kx...d..wH....e| -00000050 7f 07 75 78 7f 3d ae a1 9a 0f fb cb 74 |..ux.=......t| +00000030 16 03 03 00 28 00 00 00 00 00 00 00 00 5a b1 f1 |....(........Z..| +00000040 5a c2 32 50 dd 2b 6c 8a 0b de b7 04 cd 69 de 3a |Z.2P.+l......i.:| +00000050 45 3c 72 94 80 e2 f6 6c 66 98 c3 2d 4d |E>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 07 4e 69 71 66 |..........(.Niqf| -00000010 75 a0 bb b4 fd 86 8d 74 40 7e 0d e9 a5 95 d0 2d |u......t@~.....-| -00000020 ca eb 12 2f 7b 09 22 7c 8e bf da 97 18 d9 bd 74 |.../{."|.......t| -00000030 cd 08 6b |..k| +00000000 14 03 03 00 01 01 16 03 03 00 28 be d2 0b b0 a2 |..........(.....| +00000010 ac 18 1e dc 59 4f b4 85 be 3a 81 bd 73 51 47 35 |....YO...:..sQG5| +00000020 b3 2b b2 84 45 3a 08 11 a3 40 13 0e 5d ef 4b 26 |.+..E:...@..].K&| +00000030 9d e6 83 |...| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 44 26 54 |.............D&T| -00000010 a3 37 94 7a 3d 93 6a 06 35 fe 9a d4 7b 54 ab d4 |.7.z=.j.5...{T..| -00000020 33 fd 93 15 03 03 00 1a 00 00 00 00 00 00 00 02 |3...............| -00000030 bf ff c7 9e 4b db ee a4 a2 b9 a5 91 cd 09 97 a2 |....K...........| -00000040 55 a5 |U.| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 0f 8d 3a |...............:| +00000010 5b dd b2 49 18 84 73 e7 a5 c0 46 c0 ad fa cc 44 |[..I..s...F....D| +00000020 60 0d 8c 15 03 03 00 1a 00 00 00 00 00 00 00 02 |`...............| +00000030 f6 4c c6 95 ff e5 01 3a 3b a9 46 23 f3 bc 24 29 |.L.....:;.F#..$)| +00000040 6d 52 |mR| diff --git a/testdata/Client-TLSv12-ECDHE-ECDSA-CHACHA20-POLY1305 b/testdata/Client-TLSv12-ECDHE-ECDSA-CHACHA20-POLY1305 index 9982121ef8c..db53e96a01e 100644 --- a/testdata/Client-TLSv12-ECDHE-ECDSA-CHACHA20-POLY1305 +++ b/testdata/Client-TLSv12-ECDHE-ECDSA-CHACHA20-POLY1305 @@ -1,24 +1,26 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 d4 01 00 00 d0 03 03 00 00 00 00 00 |................| +00000000 16 03 01 00 ee 01 00 00 ea 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 08 cc a9 |................| -00000050 13 03 13 01 13 02 01 00 00 7f 00 0b 00 02 01 00 |................| +00000050 13 03 13 01 13 02 01 00 00 99 00 0b 00 02 01 00 |................| 00000060 ff 01 00 01 00 00 17 00 00 00 12 00 00 00 05 00 |................| 00000070 05 01 00 00 00 00 00 0a 00 0a 00 08 00 1d 00 17 |................| -00000080 00 18 00 19 00 0d 00 1a 00 18 08 04 04 03 08 07 |................| -00000090 08 05 08 06 04 01 05 01 06 01 05 03 06 03 02 01 |................| -000000a0 02 03 00 2b 00 09 08 03 04 03 03 03 02 03 01 00 |...+............| -000000b0 33 00 26 00 24 00 1d 00 20 2f e5 7d a3 47 cd 62 |3.&.$... /.}.G.b| -000000c0 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf |C.(.._.).0......| -000000d0 c2 ed 90 99 5f 58 cb 3b 74 |...._X.;t| +00000080 00 18 00 19 00 0d 00 16 00 14 08 04 04 03 08 07 |................| +00000090 08 05 08 06 04 01 05 01 06 01 05 03 06 03 00 32 |...............2| +000000a0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000b0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| +000000c0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| +000000d0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| +000000e0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| +000000f0 cb 3b 74 |.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 4f ed 35 28 41 |....]...Y..O.5(A| -00000010 4a 0f a2 da 57 ef 60 69 32 00 a5 82 22 3d d9 ea |J...W.`i2..."=..| -00000020 36 28 20 31 e3 4a b6 d1 b6 b4 49 20 97 f3 45 59 |6( 1.J....I ..EY| -00000030 e7 9c f5 40 57 51 b8 f8 5a 8d f2 eb ce 83 18 2d |...@WQ..Z......-| -00000040 e3 28 55 6f 17 08 23 88 57 b1 a0 e4 cc a9 00 00 |.(Uo..#.W.......| +00000000 16 03 03 00 5d 02 00 00 59 03 03 74 9e c0 76 74 |....]...Y..t..vt| +00000010 c1 54 da a1 cf ad 75 4c fe 91 3b e2 06 e9 fb 1a |.T....uL..;.....| +00000020 9c 69 ee bf 30 1f 5c 0c 92 ca 58 20 a9 bb 64 3d |.i..0.\...X ..d=| +00000030 1e 8a 19 db 31 25 15 f2 65 5a 78 ad 7e d2 98 90 |....1%..eZx.~...| +00000040 8a 8b 0f 0e 77 53 db a2 93 b4 76 6d cc a9 00 00 |....wS....vm....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 0e 0b 00 02 0a 00 02 07 00 02 |................| 00000070 04 30 82 02 00 30 82 01 62 02 09 00 b8 bf 2d 47 |.0...0..b.....-G| @@ -53,32 +55,32 @@ 00000240 8c 25 c1 33 13 83 0d 94 06 bb d4 37 7a f6 ec 7a |.%.3.......7z..z| 00000250 c9 86 2e dd d7 11 69 7f 85 7c 56 de fb 31 78 2b |......i..|V..1x+| 00000260 e4 c7 78 0d ae cb be 9e 4e 36 24 31 7b 6a 0f 39 |..x.....N6$1{j.9| -00000270 95 12 07 8f 2a 16 03 03 00 b7 0c 00 00 b3 03 00 |....*...........| -00000280 1d 20 64 49 59 eb a9 80 c3 0a 9e 13 f4 09 04 6b |. dIY..........k| -00000290 1f e5 3b 0b 77 84 fe 2e 1f ea 7e d4 64 2a 7f 3f |..;.w.....~.d*.?| -000002a0 dc 0f 04 03 00 8b 30 81 88 02 42 00 a4 62 9b d1 |......0...B..b..| -000002b0 ed 60 b7 2d 05 48 64 b6 94 3b a1 75 cb 41 78 e5 |.`.-.Hd..;.u.Ax.| -000002c0 e0 12 70 d9 90 4d c0 34 39 f3 52 13 75 4b fa 10 |..p..M.49.R.uK..| -000002d0 19 6f a6 2d b4 c3 8f 45 0c 7f 34 fb 82 01 e6 a1 |.o.-...E..4.....| -000002e0 be 73 72 3b e5 04 80 70 7d bd 4a f9 e5 02 42 01 |.sr;...p}.J...B.| -000002f0 69 3d 53 e9 8d 70 6d 07 84 7e 56 3f ce 53 b9 6c |i=S..pm..~V?.S.l| -00000300 43 0f 70 74 f1 52 ce d4 95 55 13 8c 07 e7 20 d7 |C.pt.R...U.... .| -00000310 61 2e b7 f4 5b 34 6e 5d 9c d8 73 66 89 a1 f6 7e |a...[4n]..sf...~| -00000320 01 bb 9a 5e 52 59 3f fc 3e 24 fc e7 49 10 83 9d |...^RY?.>$..I...| -00000330 fb 16 03 03 00 04 0e 00 00 00 |..........| +00000270 95 12 07 8f 2a 16 03 03 00 b6 0c 00 00 b2 03 00 |....*...........| +00000280 1d 20 6b 7f 5e 5e cd 37 8e 2a cf 07 bf 99 89 93 |. k.^^.7.*......| +00000290 05 be e6 3c 1d a8 67 07 b4 0d 28 22 be 3f 57 88 |...<..g...(".?W.| +000002a0 e4 41 04 03 00 8a 30 81 87 02 42 00 ce 0f 5f f7 |.A....0...B..._.| +000002b0 52 8c 44 e3 58 4c ed 4a 4f bf 2d 14 77 0f 3c a7 |R.D.XL.JO.-.w.<.| +000002c0 8a 7b fc 2d 0f 94 6e 51 01 51 e0 8c 58 b0 72 e4 |.{.-..nQ.Q..X.r.| +000002d0 57 cd ab ad fd a9 8c c2 e7 92 f3 0e e0 a0 22 64 |W............."d| +000002e0 a0 36 f9 e1 a3 f5 19 c8 8a b8 25 f6 0b 02 41 5d |.6........%...A]| +000002f0 d3 7c a0 42 5b f9 5d b8 f9 c2 a3 d4 8f 0e 4c c7 |.|.B[.].......L.| +00000300 d4 61 11 73 f0 35 7e b1 73 29 0f 97 52 75 8a 1f |.a.s.5~.s)..Ru..| +00000310 00 e9 6e 59 25 bb ca 72 bd 1e 4f 34 fc 55 ef 66 |..nY%..r..O4.U.f| +00000320 33 3d 5f fc e2 8d ac 09 7f 20 85 ca b3 a4 b3 ca |3=_...... ......| +00000330 16 03 03 00 04 0e 00 00 00 |.........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 cf f9 90 26 e8 2c 00 99 ae 0e e6 |.... ...&.,.....| -00000040 a8 d9 66 6b 23 e7 c9 73 1c f7 e9 af e1 71 1d f3 |..fk#..s.....q..| -00000050 34 60 ee 16 9d |4`...| +00000030 16 03 03 00 20 1a fc 19 6c ef eb a5 d1 28 d9 aa |.... ...l....(..| +00000040 56 3f b7 12 a0 18 eb 76 16 be 6d 1e d9 3b 6f 14 |V?.....v..m..;o.| +00000050 51 68 9c 63 b3 |Qh.c.| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 39 9f 39 3a 22 |.......... 9.9:"| -00000010 0b 27 cb 75 0d 43 98 11 06 dd 7e 73 17 e0 8a 19 |.'.u.C....~s....| -00000020 6d eb a8 33 c6 42 b4 e9 cb dd b1 |m..3.B.....| +00000000 14 03 03 00 01 01 16 03 03 00 20 38 c9 5f c3 6f |.......... 8._.o| +00000010 1b 84 54 77 40 98 70 cb f1 d1 5f 9e 11 16 24 c6 |..Tw@.p..._...$.| +00000020 c4 7e f0 44 32 2c ce 29 dd 8e 20 |.~.D2,.).. | >>> Flow 5 (client to server) -00000000 17 03 03 00 16 24 1f 08 49 ef 32 16 8d 76 c7 34 |.....$..I.2..v.4| -00000010 e0 08 cb d9 e7 72 aa 0f fb c4 94 15 03 03 00 12 |.....r..........| -00000020 38 0b 8c e0 0b 61 20 e8 a6 7c 77 69 fb 00 96 39 |8....a ..|wi...9| -00000030 b9 a7 |..| +00000000 17 03 03 00 16 86 12 a2 e2 ae df 03 ed e4 a4 74 |...............t| +00000010 d0 8b 8c 17 92 20 4d bd c2 29 ac 15 03 03 00 12 |..... M..)......| +00000020 e1 66 4e 21 16 24 34 9f 0f 95 63 80 d6 22 52 c4 |.fN!.$4...c.."R.| +00000030 67 ac |g.| diff --git a/testdata/Client-TLSv12-ECDHE-RSA-AES b/testdata/Client-TLSv12-ECDHE-RSA-AES index e2e935cc2e7..70b43803f15 100644 --- a/testdata/Client-TLSv12-ECDHE-RSA-AES +++ b/testdata/Client-TLSv12-ECDHE-RSA-AES @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 8d 69 e3 6e 69 |....]...Y...i.ni| -00000010 45 96 8b 0d c8 7d 9c dc b6 75 24 ee 61 44 95 99 |E....}...u$.aD..| -00000020 cb a8 da df 35 ac c3 36 02 3f b9 20 2d c2 47 c9 |....5..6.?. -.G.| -00000030 f0 47 80 9a c6 bd e4 1b ca d6 62 17 59 ec c9 83 |.G........b.Y...| -00000040 d5 ed 3f 2c 13 b0 30 0a 5e 1f 0e db c0 13 00 00 |..?,..0.^.......| +00000000 16 03 03 00 5d 02 00 00 59 03 03 c7 61 5d 9b a7 |....]...Y...a]..| +00000010 9f 27 4f de 56 2b 83 b8 dc 21 7d 27 e5 23 c0 b4 |.'O.V+...!}'.#..| +00000020 a7 b1 61 3c 7c b7 af 1a b0 c6 ed 20 82 8c 08 27 |..a<|...... ...'| +00000030 79 99 c6 a7 dd 7e 33 bb 6c d0 4b 4a 02 e7 2e 87 |y....~3.l.KJ....| +00000040 69 24 05 ac 32 6f 40 4f dc 2e 11 3f c0 13 00 00 |i$..2o@O...?....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,38 +62,38 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 0f 4e 12 |............ .N.| -000002d0 ab ce 7e 62 68 64 e0 1d 7e 33 a2 ee 5d e7 2d d5 |..~bhd..~3..].-.| -000002e0 d2 dc d0 ce b2 7e 9b be 33 8d 9c 56 7a 08 04 00 |.....~..3..Vz...| -000002f0 80 44 b8 9b 87 5f 84 f6 8a 99 af e9 f7 f8 88 fd |.D..._..........| -00000300 f7 12 02 48 a1 fa 66 9c 89 a2 dc bf fd 41 08 fa |...H..f......A..| -00000310 6f e4 44 09 8e c1 45 bb 2a e9 e3 45 19 a3 81 50 |o.D...E.*..E...P| -00000320 99 46 5f 86 5b 6b c0 29 d1 e5 21 4b 56 af f4 d0 |.F_.[k.)..!KV...| -00000330 63 c4 75 ac f6 75 61 ca fe 1a b9 70 4d 14 50 b1 |c.u..ua....pM.P.| -00000340 12 7f 29 2d c5 d7 78 da 06 3e 4c 47 75 8a a6 01 |..)-..x..>LGu...| -00000350 37 17 1c e8 ef 94 85 d0 e2 ee d5 25 ae 8d f8 e6 |7..........%....| -00000360 90 10 12 37 b4 0f f5 c7 a2 85 1a 83 8a 38 e6 32 |...7.........8.2| -00000370 98 16 03 03 00 04 0e 00 00 00 |..........| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 5c ce 07 |............ \..| +000002d0 a8 0b 8f ff 08 19 e7 d7 38 62 98 bf c1 f7 92 27 |........8b.....'| +000002e0 cb 7b 5e 50 36 51 83 61 8d b4 d6 29 1c 08 04 00 |.{^P6Q.a...)....| +000002f0 80 98 88 66 48 81 8b 9d 9b e0 6e 6e c4 c4 99 fb |...fH.....nn....| +00000300 63 46 fd 8c 7e e1 d0 dd 01 e6 bb 23 97 b8 21 2e |cF..~......#..!.| +00000310 53 06 e0 5d 58 c8 79 c3 01 a5 01 e2 81 7b c7 a9 |S..]X.y......{..| +00000320 04 15 98 9b 53 98 42 0b 3d 4e 97 93 b9 88 80 2c |....S.B.=N.....,| +00000330 78 fd 9b 99 12 7f a8 de a0 c0 c4 1d 15 59 d4 d8 |x............Y..| +00000340 ef 0d bd 0b 46 c3 6e e6 4b 04 69 91 c0 db 74 ca |....F.n.K.i...t.| +00000350 99 2e 6f 47 8b 9b 22 3f b3 4a e3 10 47 2d dd 47 |..oG.."?.J..G-.G| +00000360 d5 e1 9b 66 8f d9 b2 fb b7 52 ae 6a 14 74 32 2d |...f.....R.j.t2-| +00000370 6e 16 03 03 00 04 0e 00 00 00 |n.........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| 00000030 16 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| -00000040 00 00 00 00 00 6c 72 1c 47 f9 89 fa 2b 0e cf 69 |.....lr.G...+..i| -00000050 bf 95 e4 ea b8 74 e7 99 d4 c4 53 f5 97 f5 08 f9 |.....t....S.....| -00000060 ef 03 e7 76 b8 2c 31 f6 9b 2c cd 27 c8 42 6a a8 |...v.,1..,.'.Bj.| -00000070 c0 e0 b9 5e cd |...^.| +00000040 00 00 00 00 00 99 c9 2d 35 8b 96 18 36 f4 db a4 |.......-5...6...| +00000050 9a 56 67 6a 6b 9d ee b1 cb 95 54 43 93 7c 0e ff |.Vgjk.....TC.|..| +00000060 c0 54 84 83 14 bf d5 95 85 a1 b5 c5 2c fe c3 29 |.T..........,..)| +00000070 81 7b 1e 16 2e |.{...| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 40 89 35 48 2e 99 |..........@.5H..| -00000010 7c 13 76 5e 7f 07 a6 44 d9 95 1c 9f 25 59 3d f5 ||.v^...D....%Y=.| -00000020 df d6 5e cb 85 3e 0c f7 48 69 95 77 29 95 88 1c |..^..>..Hi.w)...| -00000030 1e 76 8a c3 ea 69 07 75 46 68 09 50 fa 30 0a 57 |.v...i.uFh.P.0.W| -00000040 84 e3 c7 d9 34 c4 40 32 7b f4 95 |....4.@2{..| +00000000 14 03 03 00 01 01 16 03 03 00 40 8b 6e b0 cb bf |..........@.n...| +00000010 35 8d c3 7e 48 27 92 77 20 8a 38 c6 81 94 17 d4 |5..~H'.w .8.....| +00000020 b8 18 4e 23 e7 8b 0a 89 7b d1 72 58 aa b9 9b bb |..N#....{.rX....| +00000030 c9 40 c7 c4 8e 74 77 f3 3e 90 9c b0 19 04 6c ea |.@...tw.>.....l.| +00000040 87 85 f1 fd d9 fd 2d 57 57 f1 c9 |......-WW..| >>> Flow 5 (client to server) 00000000 17 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -00000010 00 00 00 00 00 24 6d d9 23 68 ad 8d 64 2e 3a d5 |.....$m.#h..d.:.| -00000020 ed eb 4c e9 cb 9d 13 49 4c 44 b9 00 af af 2c e7 |..L....ILD....,.| -00000030 22 c0 bb 31 4e 15 03 03 00 30 00 00 00 00 00 00 |"..1N....0......| -00000040 00 00 00 00 00 00 00 00 00 00 c8 60 b8 c1 66 9b |...........`..f.| -00000050 52 44 3c 26 7f ff 96 a6 21 c7 eb 33 71 f8 40 23 |RD<&....!..3q.@#| -00000060 7c 5b ef b2 e1 b4 3f 84 82 48 ||[....?..H| +00000010 00 00 00 00 00 b9 8c 86 6d 84 db d0 60 f7 11 22 |........m...`.."| +00000020 97 52 b3 fe bb 1c 0c bd 26 9c a1 84 51 3d a2 2b |.R......&...Q=.+| +00000030 c0 79 e5 a5 96 15 03 03 00 30 00 00 00 00 00 00 |.y.......0......| +00000040 00 00 00 00 00 00 00 00 00 00 7a 42 27 d5 ae 30 |..........zB'..0| +00000050 81 b5 94 05 55 c9 93 e0 11 98 6d f8 aa 18 92 f4 |....U.....m.....| +00000060 32 8f d1 aa a6 86 cd df 11 c2 |2.........| diff --git a/testdata/Client-TLSv12-ECDHE-RSA-AES128-SHA256 b/testdata/Client-TLSv12-ECDHE-RSA-AES128-SHA256 index f8f04ac13b5..9081031e737 100644 --- a/testdata/Client-TLSv12-ECDHE-RSA-AES128-SHA256 +++ b/testdata/Client-TLSv12-ECDHE-RSA-AES128-SHA256 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 8f cc 68 50 60 |....]...Y....hP`| -00000010 11 c8 c3 ce e7 e9 e1 3c fb 29 d7 4f df 44 16 65 |.......<.).O.D.e| -00000020 1d 3b 25 5b 32 59 f1 8e be d8 49 20 c2 89 a7 d5 |.;%[2Y....I ....| -00000030 cb 2c a2 05 19 6b 65 64 9b 71 2b d3 d2 19 cb 66 |.,...ked.q+....f| -00000040 61 c1 6f 19 b4 7a 15 41 76 14 85 fc c0 27 00 00 |a.o..z.Av....'..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 7b 18 cc 97 f2 |....]...Y..{....| +00000010 59 62 62 18 bc ee e1 09 0c 7b 8c 3e f0 36 3d 8b |Ybb......{.>.6=.| +00000020 96 54 26 93 c8 ac bb 7c 19 63 6a 20 96 8e 51 d2 |.T&....|.cj ..Q.| +00000030 18 6d 8a 72 6b 5d d2 5e 2b 53 4e a5 43 cf 75 4f |.m.rk].^+SN.C.uO| +00000040 e6 9c 3a 30 f5 23 3f bf 66 bc fe a2 c0 27 00 00 |..:0.#?.f....'..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,42 +62,42 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 88 db 33 |............ ..3| -000002d0 96 fb ae 63 de f8 2b 4b 94 fa da c2 8e 75 fa 63 |...c..+K.....u.c| -000002e0 0a 54 2b 68 01 76 2a 76 4f e7 91 e9 2a 08 04 00 |.T+h.v*vO...*...| -000002f0 80 d9 47 dd dd b9 94 b8 1c 1b dc 1f 79 bd f1 26 |..G.........y..&| -00000300 66 19 52 0b 0a 2e ea 0d 69 bf 93 a0 29 0f 6a 30 |f.R.....i...).j0| -00000310 2c 1b 44 25 13 e3 b7 03 db b3 fc 37 9c 3f bb e7 |,.D%.......7.?..| -00000320 c7 4d 65 8f af bb 39 fa 6e 77 09 bb 08 09 7e d1 |.Me...9.nw....~.| -00000330 0f ad 57 78 a6 cb a8 3f 2e 70 fc 38 75 2f a0 23 |..Wx...?.p.8u/.#| -00000340 0b 0c 6c 28 0a 71 51 dc 10 8f 85 fd 97 0f c4 84 |..l(.qQ.........| -00000350 80 cf 70 0a a9 56 9a af 2f ab 12 c7 8b d1 82 1c |..p..V../.......| -00000360 f0 6c 08 00 73 18 dd 6e 5a 66 ed a5 f7 7a 3d 73 |.l..s..nZf...z=s| -00000370 88 16 03 03 00 04 0e 00 00 00 |..........| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 e4 05 36 |............ ..6| +000002d0 05 47 cf b0 62 f8 f6 d6 e0 ce a5 f9 45 f6 28 f9 |.G..b.......E.(.| +000002e0 d2 58 47 6c 0a 58 9d 85 74 52 d3 0d 17 08 04 00 |.XGl.X..tR......| +000002f0 80 d0 8b 12 95 dd 2a 7f b2 55 33 e0 13 28 41 47 |......*..U3..(AG| +00000300 06 38 fe fb 11 b3 3f 66 c4 62 db 1c f9 29 9e ea |.8....?f.b...)..| +00000310 2f e4 62 22 4f 99 36 05 fb 89 8f d5 29 bf a6 e0 |/.b"O.6.....)...| +00000320 fc 12 88 d8 60 9a 4d 82 eb 64 ba 99 1c 1c 82 ff |....`.M..d......| +00000330 df 57 a9 b9 14 d5 a7 ad 57 45 1d e0 91 db 61 90 |.W......WE....a.| +00000340 ca 15 9b 0c 49 f8 a9 40 5f 34 6b d2 fe 00 48 e5 |....I..@_4k...H.| +00000350 ea 1e 3b ae 1f 81 a9 d7 91 ff 46 e9 af 48 04 b3 |..;.......F..H..| +00000360 83 0c 95 91 ea 5f 1f 5b 48 98 2a 9c f6 80 2a db |....._.[H.*...*.| +00000370 d2 16 03 03 00 04 0e 00 00 00 |..........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| 00000030 16 03 03 00 50 00 00 00 00 00 00 00 00 00 00 00 |....P...........| -00000040 00 00 00 00 00 93 01 19 de 19 e6 58 a9 b2 bb e6 |...........X....| -00000050 83 08 03 78 72 d8 25 fc 31 70 55 fa cd ec e4 0a |...xr.%.1pU.....| -00000060 a2 7b 00 5c fe 7f 08 26 a5 ca 9f d6 28 95 69 f5 |.{.\...&....(.i.| -00000070 b9 17 23 34 83 fe 36 24 60 17 4c 90 18 30 f9 44 |..#4..6$`.L..0.D| -00000080 af 74 ea 65 4b |.t.eK| +00000040 00 00 00 00 00 c0 4e 63 30 1d 23 c8 dc ef 03 e9 |......Nc0.#.....| +00000050 29 7c 61 b8 7a a4 52 c3 09 f4 aa 97 30 3c 5a 7c |)|a.z.R.....0>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 50 b6 cf 83 c7 0d |..........P.....| -00000010 dc 8f 9a 96 0d 0b 4f 58 ed c9 46 fa 95 0b f1 ab |......OX..F.....| -00000020 9a 50 2a cc af 26 73 03 0b 93 e7 4e 96 a0 e2 44 |.P*..&s....N...D| -00000030 01 99 9e 06 a3 81 3f 0b e4 7c 03 53 e4 65 36 69 |......?..|.S.e6i| -00000040 65 96 79 a2 4e 79 e8 fc b1 6a 50 3e dd 22 1f e3 |e.y.Ny...jP>."..| -00000050 fe e3 77 9f 8c 05 f8 cc 08 4b 6b |..w......Kk| +00000000 14 03 03 00 01 01 16 03 03 00 50 bd 21 3f c1 94 |..........P.!?..| +00000010 2f 3e 00 3c 43 00 17 39 90 74 b2 4f 40 5d 0c 2b |/>.>> Flow 5 (client to server) 00000000 17 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| -00000010 00 00 00 00 00 f8 39 8e 57 60 18 1c ef 19 c8 da |......9.W`......| -00000020 f4 3b dc 42 85 44 e3 59 28 ea 29 11 60 ba 2b 2b |.;.B.D.Y(.).`.++| -00000030 dc 6a 5d 3a ed ce f2 10 34 17 6e 10 67 00 f0 43 |.j]:....4.n.g..C| -00000040 3e 0f e1 a1 c8 15 03 03 00 40 00 00 00 00 00 00 |>........@......| -00000050 00 00 00 00 00 00 00 00 00 00 13 0d fa 71 e4 df |.............q..| -00000060 76 f3 c9 01 d5 60 b4 34 d4 6f 68 f5 cd af d6 0b |v....`.4.oh.....| -00000070 e6 af ab ec 64 75 38 d6 17 d4 27 81 96 e5 71 74 |....du8...'...qt| -00000080 d5 cd 39 30 35 4a ef 92 56 6e |..905J..Vn| +00000010 00 00 00 00 00 ad 41 d8 27 7d f4 06 b7 6c 89 f4 |......A.'}...l..| +00000020 e3 c5 de 6d 06 80 0c 2e f8 42 5a 2c da f1 e2 b6 |...m.....BZ,....| +00000030 e6 e8 6f 5c ee e0 aa 4b d6 8a 7a 04 6a 5e 8c 99 |..o\...K..z.j^..| +00000040 1b 36 be f9 d0 15 03 03 00 40 00 00 00 00 00 00 |.6.......@......| +00000050 00 00 00 00 00 00 00 00 00 00 f1 cf 76 91 15 bd |............v...| +00000060 33 f3 96 25 c7 d9 77 30 a6 84 1a 06 c1 96 96 27 |3..%..w0.......'| +00000070 70 ff d2 ce 82 1e 39 8f 19 75 c7 f2 0f cb de bc |p.....9..u......| +00000080 9a ef 4c 93 e3 3c 0c 2f 97 ad |..L..<./..| diff --git a/testdata/Client-TLSv12-ECDHE-RSA-CHACHA20-POLY1305 b/testdata/Client-TLSv12-ECDHE-RSA-CHACHA20-POLY1305 index 2ea5debf2d6..30ea8ec568a 100644 --- a/testdata/Client-TLSv12-ECDHE-RSA-CHACHA20-POLY1305 +++ b/testdata/Client-TLSv12-ECDHE-RSA-CHACHA20-POLY1305 @@ -1,24 +1,26 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 d4 01 00 00 d0 03 03 00 00 00 00 00 |................| +00000000 16 03 01 00 ee 01 00 00 ea 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 08 cc a8 |................| -00000050 13 03 13 01 13 02 01 00 00 7f 00 0b 00 02 01 00 |................| +00000050 13 03 13 01 13 02 01 00 00 99 00 0b 00 02 01 00 |................| 00000060 ff 01 00 01 00 00 17 00 00 00 12 00 00 00 05 00 |................| 00000070 05 01 00 00 00 00 00 0a 00 0a 00 08 00 1d 00 17 |................| -00000080 00 18 00 19 00 0d 00 1a 00 18 08 04 04 03 08 07 |................| -00000090 08 05 08 06 04 01 05 01 06 01 05 03 06 03 02 01 |................| -000000a0 02 03 00 2b 00 09 08 03 04 03 03 03 02 03 01 00 |...+............| -000000b0 33 00 26 00 24 00 1d 00 20 2f e5 7d a3 47 cd 62 |3.&.$... /.}.G.b| -000000c0 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf |C.(.._.).0......| -000000d0 c2 ed 90 99 5f 58 cb 3b 74 |...._X.;t| +00000080 00 18 00 19 00 0d 00 16 00 14 08 04 04 03 08 07 |................| +00000090 08 05 08 06 04 01 05 01 06 01 05 03 06 03 00 32 |...............2| +000000a0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000b0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| +000000c0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| +000000d0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| +000000e0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| +000000f0 cb 3b 74 |.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 01 ce 8f f1 84 |....]...Y.......| -00000010 65 dc 47 4e 43 f2 cd 85 6c 98 40 a7 5c 7f ed 53 |e.GNC...l.@.\..S| -00000020 78 63 03 dd 50 3e a4 27 20 21 bf 20 d9 93 9d f6 |xc..P>.' !. ....| -00000030 1f e8 0e 72 fc 64 e0 dd 8e ef b3 ea ff 5b ad 60 |...r.d.......[.`| -00000040 a5 f0 68 ff 7e 35 46 a4 28 71 31 fd cc a8 00 00 |..h.~5F.(q1.....| +00000000 16 03 03 00 5d 02 00 00 59 03 03 1b 61 37 54 ad |....]...Y...a7T.| +00000010 7e 92 6a 93 df 5e f8 16 be e7 06 12 3f e7 23 84 |~.j..^......?.#.| +00000020 be 2a 30 78 98 cf 60 8a 8a 2d 26 20 44 fb 40 31 |.*0x..`..-& D.@1| +00000030 88 38 6e fc ce 1d af 07 e3 c0 49 05 ff bc 92 ae |.8n.......I.....| +00000040 58 79 51 ec a7 24 82 75 9a 16 45 fa cc a8 00 00 |XyQ..$.u..E.....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -58,31 +60,31 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 ea 03 c7 |............ ...| -000002d0 b0 eb 76 ba 86 25 18 e5 0d b3 70 2a 41 72 4d 88 |..v..%....p*ArM.| -000002e0 55 6d 91 2b 65 fe e0 64 12 69 42 eb 27 08 04 00 |Um.+e..d.iB.'...| -000002f0 80 0f 00 0a b0 35 db 39 fa ba a1 27 44 e0 9b d4 |.....5.9...'D...| -00000300 b8 aa b3 4f 93 46 ed 09 f8 3e 1b c8 47 6e 52 8a |...O.F...>..GnR.| -00000310 8f fd b1 67 f6 05 87 68 de 7b 25 1b 40 df 1e f2 |...g...h.{%.@...| -00000320 04 2b 4f 39 3d 6f a8 f7 25 37 26 34 87 84 06 c4 |.+O9=o..%7&4....| -00000330 0e 31 bc 46 8a d2 99 14 6d 5d 14 32 a2 32 fc 10 |.1.F....m].2.2..| -00000340 5e fb d9 f8 06 d4 05 17 5d 59 f4 38 c5 13 1c 91 |^.......]Y.8....| -00000350 5a 5f cb dd 3e 27 78 10 2c 0c 9b 7f 1a ec 4c da |Z_..>'x.,.....L.| -00000360 fb d7 52 eb 76 83 75 87 d2 a3 7f e9 25 a5 8a 22 |..R.v.u.....%.."| -00000370 dd 16 03 03 00 04 0e 00 00 00 |..........| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 8b cc 79 |............ ..y| +000002d0 1e 8e 20 61 5d 00 97 27 cb 24 5c 7c 5f 3f df db |.. a]..'.$\|_?..| +000002e0 2d ba 3b f4 a1 1d 3e 3c 08 da 98 22 68 08 04 00 |-.;...><..."h...| +000002f0 80 10 fc 5b 90 af a6 8e d4 1b 5e 63 13 55 88 55 |...[......^c.U.U| +00000300 f3 bb ad 7a 5b 14 95 55 6b 2f 01 eb 22 88 fb 21 |...z[..Uk/.."..!| +00000310 40 88 d1 7f 52 b2 a2 ff 51 f9 05 8c c8 28 70 77 |@...R...Q....(pw| +00000320 3c 7a b0 48 28 f0 34 19 cc 8e c8 c9 43 93 aa fa |..a...4..r}..| +00000360 98 f2 bb c0 ae 5f b8 8e 00 6a 47 9c 8d cf 91 eb |....._...jG.....| +00000370 e7 16 03 03 00 04 0e 00 00 00 |..........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 28 48 18 85 9d 35 c7 5a 46 2c a7 |.... (H...5.ZF,.| -00000040 5b 8b c0 71 73 66 d0 a7 53 a0 e3 ed c8 57 f3 70 |[..qsf..S....W.p| -00000050 9a 01 58 61 84 |..Xa.| +00000030 16 03 03 00 20 af 23 75 51 f1 3c 68 f8 87 2e 2b |.... .#uQ.>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 b9 72 f6 07 40 |.......... .r..@| -00000010 0b 2f 67 8a 97 fa 17 24 81 e5 6f 5b 09 90 72 8d |./g....$..o[..r.| -00000020 48 59 14 00 34 e8 3c 82 b8 2f 87 |HY..4.<../.| +00000000 14 03 03 00 01 01 16 03 03 00 20 c0 52 cb d5 de |.......... .R...| +00000010 b1 43 8a 0b 75 a6 a4 d4 8f af 85 63 71 1d 3b 4f |.C..u......cq.;O| +00000020 7a ad 9b 77 85 1a 1d 7e 4b 42 13 |z..w...~KB.| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 f6 cf b1 93 64 54 56 f3 35 3d 8f |.........dTV.5=.| -00000010 31 5e 66 62 56 aa e9 81 47 4c 8b 15 03 03 00 12 |1^fbV...GL......| -00000020 de 0b 32 2b 58 2c b5 4e 80 2a 66 e7 a0 a9 28 d9 |..2+X,.N.*f...(.| -00000030 db 11 |..| +00000000 17 03 03 00 16 30 b8 0e dd 42 64 a4 17 ee f5 70 |.....0...Bd....p| +00000010 1e 00 e8 da a7 f6 8e 73 c7 70 32 15 03 03 00 12 |.......s.p2.....| +00000020 57 be 7b cf bb 7b fe cb 7e b2 bb 38 9f 31 65 07 |W.{..{..~..8.1e.| +00000030 ba 61 |.a| diff --git a/testdata/Client-TLSv12-Ed25519 b/testdata/Client-TLSv12-Ed25519 index d43ee07eeab..40b2f35137d 100644 --- a/testdata/Client-TLSv12-Ed25519 +++ b/testdata/Client-TLSv12-Ed25519 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 93 8a a3 77 84 |....]...Y.....w.| -00000010 fd 41 3d a5 ad b5 eb 91 63 a6 b5 3a 5f 21 08 df |.A=.....c..:_!..| -00000020 72 07 be 1f df d7 4e 6f f3 f8 cb 20 ae d3 e5 fe |r.....No... ....| -00000030 53 a3 c7 84 6c 3e c6 1d d5 65 5d a6 a5 7d f7 5c |S...l>...e]..}.\| -00000040 34 65 a7 df 1e 28 3f 7d 20 08 81 2c cc a9 00 00 |4e...(?} ..,....| +00000000 16 03 03 00 5d 02 00 00 59 03 03 cc 3c fc d0 c6 |....]...Y...<...| +00000010 b8 3e 6b cb 59 8d 68 04 0b 94 10 28 ad 71 06 14 |.>k.Y.h....(.q..| +00000020 08 6c 10 12 aa 8d e4 f9 aa 7d 9b 20 a0 b8 96 40 |.l.......}. ...@| +00000030 1a ce 65 ae a6 a2 4d 4d 92 41 8e 2c 8d 94 d1 02 |..e...MM.A.,....| +00000040 c1 cb bd 6d 8b ee 36 ae c5 ec 6a 40 cc a9 00 00 |...m..6...j@....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 01 3c 0b 00 01 38 00 01 35 00 01 |......<...8..5..| 00000070 32 30 82 01 2e 30 81 e1 a0 03 02 01 02 02 10 0f |20...0..........| @@ -44,26 +45,26 @@ 00000180 fc ab 7d 4d d4 e0 93 13 d0 a9 42 e0 b6 6b fe 5d |..}M......B..k.]| 00000190 67 48 d7 9f 50 bc 6c cd 4b 03 83 7c f2 08 58 cd |gH..P.l.K..|..X.| 000001a0 ac cf 0c 16 03 03 00 6c 0c 00 00 68 03 00 1d 20 |.......l...h... | -000001b0 e9 e7 75 b4 4c 42 14 7a e0 50 0a 95 f1 d7 35 aa |..u.LB.z.P....5.| -000001c0 39 05 9e 59 73 5e cd d2 ec 56 18 f0 ee 1f 81 3c |9..Ys^...V.....<| -000001d0 08 07 00 40 44 e9 19 b6 00 49 f7 c8 06 62 cb c1 |...@D....I...b..| -000001e0 b5 7c b6 cd 32 47 c9 05 82 3b f0 af d1 cd 75 8b |.|..2G...;....u.| -000001f0 82 8b 47 dd 85 13 78 69 5d 40 7e 9b 91 24 2e ce |..G...xi]@~..$..| -00000200 3e be e0 12 1e ec 56 0b ff 25 21 92 6f 24 12 10 |>.....V..%!.o$..| -00000210 30 33 cf 04 16 03 03 00 04 0e 00 00 00 |03...........| +000001b0 fd f1 12 74 21 62 15 da 36 af d5 6c f3 0a cd 1e |...t!b..6..l....| +000001c0 09 37 aa 55 32 1a 27 a7 5b 37 34 32 35 36 f5 14 |.7.U2.'.[74256..| +000001d0 08 07 00 40 3d 7c 51 33 98 02 91 19 da 47 1a 1a |...@=|Q3.....G..| +000001e0 fe 03 4e 1b e8 5c 5e a7 12 9c e6 8a c2 74 18 dd |..N..\^......t..| +000001f0 18 9a 9d d6 60 f3 c8 63 00 33 d8 81 3e 2e 40 0f |....`..c.3..>.@.| +00000200 c5 98 fc a8 1c 6b 0c 19 70 f5 16 a5 25 ce 7b b8 |.....k..p...%.{.| +00000210 f2 f5 87 04 16 03 03 00 04 0e 00 00 00 |.............| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 69 ac be cf f1 3d 8a 4e f3 3a 54 |.... i....=.N.:T| -00000040 05 d8 20 3a f0 67 40 3f 5b 94 cf a4 3e ec 8e 4e |.. :.g@?[...>..N| -00000050 75 c9 92 2c af |u..,.| +00000030 16 03 03 00 20 91 a7 c4 90 65 85 ce 63 66 fa 8b |.... ....e..cf..| +00000040 5c 22 e1 1d fb 14 c2 6c 86 7c 52 7c d1 96 3b 41 |\".....l.|R|..;A| +00000050 20 0d bf 09 e8 | ....| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 70 c5 f8 c7 7c |.......... p...|| -00000010 4a 34 6f b0 eb 1b 13 c7 e0 21 32 cf ce 89 aa 53 |J4o......!2....S| -00000020 5f 67 b8 a7 3e 10 bb a3 5f fa 2f |_g..>..._./| +00000000 14 03 03 00 01 01 16 03 03 00 20 d0 3e 15 0e 08 |.......... .>...| +00000010 5b fd a8 b7 5f 01 7f ca 6d af 78 6e 33 7a 93 42 |[..._...m.xn3z.B| +00000020 aa 6e e4 f4 a1 bb 9a 2d bb 17 6f |.n.....-..o| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 54 ae 8d 1c 04 40 47 8a 7e ac c3 |.....T....@G.~..| -00000010 21 a2 8a f0 5d 3d 12 9d b0 b5 8d 15 03 03 00 12 |!...]=..........| -00000020 71 3b 30 89 d4 c3 ef 34 66 92 29 1b e1 af d4 d2 |q;0....4f.).....| -00000030 7e cd |~.| +00000000 17 03 03 00 16 7b f9 2f ce ac bc 43 3c 6b 10 3b |.....{./...C>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 18 47 80 ab 8d |....]...Y...G...| -00000010 42 c7 73 06 75 ef 28 ff 87 46 49 af 3a 3b cb bb |B.s.u.(..FI.:;..| -00000020 ff 6e e3 60 11 40 2c b8 40 87 5c 20 86 3d de c2 |.n.`.@,.@.\ .=..| -00000030 18 41 ff 1a dc 00 77 4e 17 0b 36 f3 69 92 d7 04 |.A....wN..6.i...| -00000040 c4 c6 39 ad ed f7 06 23 8c 52 50 da cc a8 00 00 |..9....#.RP.....| +00000000 16 03 03 00 5d 02 00 00 59 03 03 ad 2d c6 4e 13 |....]...Y...-.N.| +00000010 72 ea 19 e0 65 33 ec cb aa 5c 70 bd f5 70 e0 b4 |r...e3...\p..p..| +00000020 ca 7e 64 da 5e 5f cb a6 69 d4 8c 20 79 45 e2 0a |.~d.^_..i.. yE..| +00000030 c7 b2 be 37 28 b5 c6 35 f9 0c c9 34 39 4d 38 3b |...7(..5...49M8;| +00000040 c0 47 31 44 e2 47 f7 6f 70 0f 8b 2d cc a8 00 00 |.G1D.G.op..-....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,31 +62,31 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 c5 28 44 |............ .(D| -000002d0 4a 31 d9 b6 53 90 8e 41 3c 67 2c 6f 9d b0 a6 d3 |J1..S..A>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 9f 16 49 2a d8 cc 0a 45 92 8d c2 |.... ..I*...E...| -00000040 25 3c b1 5c a8 f2 c4 9b c4 2a 66 fe 7f 87 df 35 |%<.\.....*f....5| -00000050 77 a4 b0 05 f5 |w....| +00000030 16 03 03 00 20 e1 88 c9 ef 40 26 52 ca d2 d9 31 |.... ....@&R...1| +00000040 9c 51 a6 fa b3 40 6b 62 7e ad 00 ea da 8f 54 bf |.Q...@kb~.....T.| +00000050 f5 89 4b c9 a9 |..K..| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 37 55 d5 05 71 |.......... 7U..q| -00000010 a0 00 44 56 32 c3 c8 e6 68 5e de d4 e7 65 56 d3 |..DV2...h^...eV.| -00000020 2d 93 07 e6 72 17 e9 49 74 4d c0 |-...r..ItM.| +00000000 14 03 03 00 01 01 16 03 03 00 20 6f e3 54 91 aa |.......... o.T..| +00000010 00 b4 8e f3 b2 51 1e 76 48 91 49 b9 ba dc 5f e4 |.....Q.vH.I..._.| +00000020 9f 0e 49 b5 54 f5 e3 9d 25 75 38 |..I.T...%u8| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 27 a6 31 16 5c 7e bd 05 0a 2c 05 |.....'.1.\~...,.| -00000010 ba 37 06 00 d7 8d 66 a7 8e 16 7b 15 03 03 00 12 |.7....f...{.....| -00000020 70 38 bc 7e 6b 83 83 e1 61 3b bb a5 d9 dc f7 e7 |p8.~k...a;......| -00000030 5e 12 |^.| +00000000 17 03 03 00 16 7b 2a af 79 d3 1c 0d cf 0f 83 04 |.....{*.y.......| +00000010 9e 96 63 69 0c ec f7 98 02 33 12 15 03 03 00 12 |..ci.....3......| +00000020 58 d3 1a 60 74 2c 92 91 61 2c 13 23 6d e9 5f de |X..`t,..a,.#m._.| +00000030 65 42 |eB| diff --git a/testdata/Client-TLSv12-P256-ECDHE b/testdata/Client-TLSv12-P256-ECDHE index 7a0a53c03a0..0cac7e7545c 100644 --- a/testdata/Client-TLSv12-P256-ECDHE +++ b/testdata/Client-TLSv12-P256-ECDHE @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 01 19 01 00 01 15 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 33 01 00 01 2f 03 03 00 00 00 00 00 |....3.../.......| 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,22 +7,24 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 9a 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 b4 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| -000000a0 00 0a 00 04 00 02 00 17 00 0d 00 1a 00 18 08 04 |................| +000000a0 00 0a 00 04 00 02 00 17 00 0d 00 16 00 14 08 04 |................| 000000b0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| -000000c0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| -000000d0 02 03 01 00 33 00 47 00 45 00 17 00 41 04 1e 18 |....3.G.E...A...| -000000e0 37 ef 0d 19 51 88 35 75 71 b5 e5 54 5b 12 2e 8f |7...Q.5uq..T[...| -000000f0 09 67 fd a7 24 20 3e b2 56 1c ce 97 28 5e f8 2b |.g..$ >.V...(^.+| -00000100 2d 4f 9e f1 07 9f 6c 4b 5b 83 56 e2 32 42 e9 58 |-O....lK[.V.2B.X| -00000110 b6 d7 49 a6 b5 68 1a 41 03 56 6b dc 5a 89 |..I..h.A.Vk.Z.| +000000c0 06 03 00 32 00 1a 00 18 08 04 04 03 08 07 08 05 |...2............| +000000d0 08 06 04 01 05 01 06 01 05 03 06 03 02 01 02 03 |................| +000000e0 00 2b 00 09 08 03 04 03 03 03 02 03 01 00 33 00 |.+............3.| +000000f0 47 00 45 00 17 00 41 04 1e 18 37 ef 0d 19 51 88 |G.E...A...7...Q.| +00000100 35 75 71 b5 e5 54 5b 12 2e 8f 09 67 fd a7 24 20 |5uq..T[....g..$ | +00000110 3e b2 56 1c ce 97 28 5e f8 2b 2d 4f 9e f1 07 9f |>.V...(^.+-O....| +00000120 6c 4b 5b 83 56 e2 32 42 e9 58 b6 d7 49 a6 b5 68 |lK[.V.2B.X..I..h| +00000130 1a 41 03 56 6b dc 5a 89 |.A.Vk.Z.| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 1c ad ae e9 64 |....]...Y......d| -00000010 35 80 c6 04 f5 69 05 bb 5c 38 78 d3 99 2f ad e6 |5....i..\8x../..| -00000020 56 20 d4 79 89 1a 51 54 14 ac 6d 20 06 6d 1a bd |V .y..QT..m .m..| -00000030 04 cf 4f 42 3d aa 31 3b fb dc c1 85 42 c3 6d 12 |..OB=.1;....B.m.| -00000040 27 98 be 4b 88 93 45 0e 78 ba d8 13 c0 2f 00 00 |'..K..E.x..../..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 d9 70 61 62 c5 |....]...Y...pab.| +00000010 f4 b4 22 c6 ea f6 e9 8c fc 29 e8 8c 24 2d 4b c4 |.."......)..$-K.| +00000020 04 57 01 ae e5 41 7e 7f 6f ec c3 20 86 6b 38 a9 |.W...A~.o.. .k8.| +00000030 ea cd 51 3b 0f 05 5c a3 98 0c 4d ba 46 d6 99 f3 |..Q;..\...M.F...| +00000040 67 da f2 62 56 29 f7 e6 8c 14 8a 7a c0 2f 00 00 |g..bV).....z./..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -62,37 +64,37 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 cd 0c 00 00 c9 03 00 17 41 04 3a 1c |............A.:.| -000002d0 84 6b e6 cb 7d 3f bd ea d7 7a c3 63 43 77 f7 14 |.k..}?...z.cCw..| -000002e0 a7 98 52 86 49 4d 05 b2 70 e2 d3 44 c9 05 eb 83 |..R.IM..p..D....| -000002f0 b4 11 c5 3e 9d 3b 3b cd de d0 df 78 83 0f 0c d8 |...>.;;....x....| -00000300 76 e7 19 9d 1f 5a 3d 2a 54 19 16 a0 c2 55 08 04 |v....Z=*T....U..| -00000310 00 80 09 ee 97 8a d1 82 fc 4a fc f2 89 d2 a3 c7 |.........J......| -00000320 8c 25 74 98 cf b5 67 c6 fd f6 0d 3b 62 ba 31 ca |.%t...g....;b.1.| -00000330 d1 67 aa c3 32 89 ee 83 22 d2 b7 3c f8 98 af 16 |.g..2..."..<....| -00000340 dd 05 06 2c c4 57 dd fc 22 3a 2e 80 f9 84 6a ee |...,.W..":....j.| -00000350 f2 a1 21 d1 0f db 17 50 a1 35 94 b3 0a b7 62 ca |..!....P.5....b.| -00000360 2c b3 0b 68 0c 58 d7 24 83 82 d8 34 64 3f a4 61 |,..h.X.$...4d?.a| -00000370 0e b1 ca 93 67 b3 51 11 dc 49 f2 df 26 89 8b ea |....g.Q..I..&...| -00000380 22 09 1a be 62 27 61 c8 93 4b dd 95 31 6a ba e2 |"...b'a..K..1j..| -00000390 c3 2b 16 03 03 00 04 0e 00 00 00 |.+.........| +000002c0 16 03 03 00 cd 0c 00 00 c9 03 00 17 41 04 a0 b7 |............A...| +000002d0 0f 94 44 46 c4 72 5a 3c b8 5c cd f1 9e b0 49 17 |..DF.rZ<.\....I.| +000002e0 ea a0 ca 1d 17 d8 85 5f 0a e3 4a 85 5d f4 bb 52 |......._..J.]..R| +000002f0 23 79 24 a9 50 81 9f 8a 5e e4 2f 5d cc 7d e2 10 |#y$.P...^./].}..| +00000300 db 42 f0 26 98 61 b7 f5 39 16 46 d6 04 f7 08 04 |.B.&.a..9.F.....| +00000310 00 80 05 70 60 b3 39 e0 61 6e 72 b3 13 2c 8c 2d |...p`.9.anr..,.-| +00000320 e1 d9 37 8e cd 13 64 2f 4b 65 4f 7c a0 2a 7e 91 |..7...d/KeO|.*~.| +00000330 e1 fd 7d 3b e3 35 dd 5a c8 ab 56 13 c3 c6 07 90 |..};.5.Z..V.....| +00000340 fb d3 cf 22 dd 78 4c 33 c7 d3 6e 64 7e 65 ba 02 |...".xL3..nd~e..| +00000350 ca 04 50 77 08 65 d5 80 c9 4f c3 b3 5b 97 b2 80 |..Pw.e...O..[...| +00000360 3d 48 37 20 ab 28 15 0c f2 86 dd b6 19 66 46 e3 |=H7 .(.......fF.| +00000370 23 69 e2 5d fb 70 65 fb c6 ae fc a4 02 42 9f fe |#i.].pe......B..| +00000380 b4 5c f0 4b 23 92 2a 4f a4 1a f4 86 3b 5c 25 9d |.\.K#.*O....;\%.| +00000390 86 e2 16 03 03 00 04 0e 00 00 00 |...........| >>> Flow 3 (client to server) 00000000 16 03 03 00 46 10 00 00 42 41 04 1e 18 37 ef 0d |....F...BA...7..| 00000010 19 51 88 35 75 71 b5 e5 54 5b 12 2e 8f 09 67 fd |.Q.5uq..T[....g.| 00000020 a7 24 20 3e b2 56 1c ce 97 28 5e f8 2b 2d 4f 9e |.$ >.V...(^.+-O.| 00000030 f1 07 9f 6c 4b 5b 83 56 e2 32 42 e9 58 b6 d7 49 |...lK[.V.2B.X..I| 00000040 a6 b5 68 1a 41 03 56 6b dc 5a 89 14 03 03 00 01 |..h.A.Vk.Z......| -00000050 01 16 03 03 00 28 00 00 00 00 00 00 00 00 fa c4 |.....(..........| -00000060 4e 47 d1 de 6d 60 fc af 59 43 7f 2f 4c b3 6e aa |NG..m`..YC./L.n.| -00000070 6f c3 bc 8a 40 5e e9 9c d9 b0 87 c5 92 41 |o...@^.......A| +00000050 01 16 03 03 00 28 00 00 00 00 00 00 00 00 3f 54 |.....(........?T| +00000060 35 c8 33 70 66 0f 9d 3d 57 d7 a8 7f 57 45 63 a4 |5.3pf..=W...WEc.| +00000070 67 a2 83 c4 17 5b 22 8f 1c 89 78 1c 43 8d |g....["...x.C.| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 eb 92 83 02 be |..........(.....| -00000010 89 55 4e 77 b2 45 1d 15 fd e0 6a 36 ab 0c 7b 4a |.UNw.E....j6..{J| -00000020 5d 50 e2 5a f3 c6 10 e2 ac ac a4 d3 4c 2e d8 31 |]P.Z........L..1| -00000030 84 31 17 |.1.| +00000000 14 03 03 00 01 01 16 03 03 00 28 25 5d 63 2d f3 |..........(%]c-.| +00000010 a5 91 45 d0 7d 68 39 f6 0e 04 6f 4b c9 dd 4a 54 |..E.}h9...oK..JT| +00000020 f5 a2 04 54 d2 57 4b 40 75 4d 2f b3 5d 00 5b 11 |...T.WK@uM/.].[.| +00000030 89 0e 92 |...| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 90 44 33 |..............D3| -00000010 cf be 4e 29 fc 6f 2f 30 c1 ef aa 8e cb 10 0e f9 |..N).o/0........| -00000020 8f 60 fc 15 03 03 00 1a 00 00 00 00 00 00 00 02 |.`..............| -00000030 80 cb 52 6b e7 c9 45 af 69 6b e8 ee 88 23 61 20 |..Rk..E.ik...#a | -00000040 74 33 |t3| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 0c 9c ab |................| +00000010 24 e8 b2 cf a2 6f f9 8e 54 ed 35 43 07 4d 8f 89 |$....o..T.5C.M..| +00000020 5c 08 15 15 03 03 00 1a 00 00 00 00 00 00 00 02 |\...............| +00000030 f8 65 48 1e a4 03 c0 3b 2f 23 c7 9e 92 59 f6 be |.eH....;/#...Y..| +00000040 b4 a2 |..| diff --git a/testdata/Client-TLSv12-RSA-RC4 b/testdata/Client-TLSv12-RSA-RC4 index 24a9b8e4155..faa48c78437 100644 --- a/testdata/Client-TLSv12-RSA-RC4 +++ b/testdata/Client-TLSv12-RSA-RC4 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 55 02 00 00 51 03 03 7c f1 44 f1 2a |....U...Q..|.D.*| -00000010 6f 7f 62 66 08 15 dd c8 bd 4a 30 b5 a3 73 53 82 |o.bf.....J0..sS.| -00000020 93 78 6b f2 c6 70 70 1e 4d 8f 48 20 24 b3 17 46 |.xk..pp.M.H $..F| -00000030 37 c0 0f 79 af f4 48 43 17 6b ea df 6b 73 07 cf |7..y..HC.k..ks..| -00000040 5f 95 c5 5c 8d b2 99 5c fd 30 e5 1b 00 05 00 00 |_..\...\.0......| +00000000 16 03 03 00 55 02 00 00 51 03 03 c4 5b d6 0f d4 |....U...Q...[...| +00000010 64 3a 37 34 a3 84 9d 3d 1b 33 c3 d4 4f 42 f7 3a |d:74...=.3..OB.:| +00000020 e8 da 8c 8b 97 1a e5 f4 56 a4 bd 20 03 30 25 fd |........V.. .0%.| +00000030 d9 01 7a 7c b8 9d 63 f0 a3 7a 1c 00 6b 75 16 d8 |..z|..c..z..ku..| +00000040 68 5c 7a 8d 4a ae ed 52 fc 92 e5 03 00 05 00 00 |h\z.J..R........| 00000050 09 ff 01 00 01 00 00 17 00 00 16 03 03 02 59 0b |..............Y.| 00000060 00 02 55 00 02 52 00 02 4f 30 82 02 4b 30 82 01 |..U..R..O0..K0..| 00000070 b4 a0 03 02 01 02 02 09 00 e8 f0 9d 3f e2 5b ea |............?.[.| @@ -72,15 +73,15 @@ 00000060 c5 70 0f 08 83 48 e9 48 ef 6e 50 8b 05 7e e5 84 |.p...H.H.nP..~..| 00000070 25 fa 55 c7 ae 31 02 27 00 ef 3f 98 86 20 12 89 |%.U..1.'..?.. ..| 00000080 91 59 28 b4 f7 d7 af d2 69 61 35 14 03 03 00 01 |.Y(.....ia5.....| -00000090 01 16 03 03 00 24 fd 67 40 11 7e 4d 8f bb 87 e8 |.....$.g@.~M....| -000000a0 c3 1f e8 b0 15 17 3a f4 6f 5f 87 b2 50 c5 92 e4 |......:.o_..P...| -000000b0 ac c0 c0 98 aa 6f be bc fc 77 |.....o...w| +00000090 01 16 03 03 00 24 83 66 73 cf 08 6f c7 29 1b ea |.....$.fs..o.)..| +000000a0 86 aa 02 66 2d d9 d4 7b 19 0d cc e5 9e dc e9 20 |...f-..{....... | +000000b0 d9 62 82 59 bd e9 91 6b 90 62 |.b.Y...k.b| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 24 e8 ea 6f 8a 0c |..........$..o..| -00000010 79 70 73 a9 7b 2c a8 0a e5 f8 26 f3 eb 05 20 65 |yps.{,....&... e| -00000020 58 9b 0c 8e 28 3d c7 ee cf 57 85 06 a5 d7 46 |X...(=...W....F| +00000000 14 03 03 00 01 01 16 03 03 00 24 ef bb 0c 3b fb |..........$...;.| +00000010 4e 36 53 b9 fa d4 c3 d0 37 5e 2b 22 a2 12 b6 9e |N6S.....7^+"....| +00000020 1c a3 f7 93 74 60 38 18 f1 cc 72 e4 ba 1a 3d |....t`8...r...=| >>> Flow 5 (client to server) -00000000 17 03 03 00 1a 2d 7a c5 d0 12 79 e8 a2 05 d3 a4 |.....-z...y.....| -00000010 51 80 8f 28 37 b9 75 64 f3 11 4c 78 de 0c f3 15 |Q..(7.ud..Lx....| -00000020 03 03 00 16 43 89 2c 8b 9e dc c5 5d 4c ca 7b 4e |....C.,....]L.{N| -00000030 15 e4 e5 62 01 02 b4 d4 6f 1c |...b....o.| +00000000 17 03 03 00 1a 62 a3 b3 3a 89 25 05 89 bc 5a 21 |.....b..:.%...Z!| +00000010 30 61 84 b0 97 52 26 a2 18 87 25 43 17 1a 52 15 |0a...R&...%C..R.| +00000020 03 03 00 16 97 d6 18 0c 30 b3 9b 8f 2b f1 f9 3f |........0...+..?| +00000030 c7 8d a2 e1 ff 36 0c d6 c2 f1 |.....6....| diff --git a/testdata/Client-TLSv12-RenegotiateOnce b/testdata/Client-TLSv12-RenegotiateOnce index 0510d5e2d33..868b527396b 100644 --- a/testdata/Client-TLSv12-RenegotiateOnce +++ b/testdata/Client-TLSv12-RenegotiateOnce @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 55 71 df 37 76 |....]...Y..Uq.7v| -00000010 48 bb 86 62 66 f1 58 0d 92 f4 c8 bd 17 6c 00 43 |H..bf.X......l.C| -00000020 a9 da f1 6f 19 2c 76 81 6d aa eb 20 4f c7 eb 3f |...o.,v.m.. O..?| -00000030 b8 48 89 7f d8 61 bc e8 3c e6 a0 3d 6c 29 fd 60 |.H...a..<..=l).`| -00000040 7c 0a 09 1c 71 41 07 04 24 dc e7 27 cc a8 00 00 ||...qA..$..'....| +00000000 16 03 03 00 5d 02 00 00 59 03 03 9e b0 dd 2b 97 |....]...Y.....+.| +00000010 86 13 76 2e 65 fc 27 bc fd 01 c0 05 86 b9 e3 bd |..v.e.'.........| +00000020 b9 46 3b 09 37 2a fe 3a eb ee e0 20 65 ad 7c 0b |.F;.7*.:... e.|.| +00000030 1a 0b 9b da b0 8d 56 86 b6 e1 04 1b dd 5d 93 8e |......V......]..| +00000040 a9 ea b6 b7 17 c9 75 26 58 5a c5 37 cc a8 00 00 |......u&XZ.7....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,186 +62,188 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 7a 15 23 |............ z.#| -000002d0 f5 78 c2 16 21 72 bb e5 d3 2e c9 67 55 a8 2c 1f |.x..!r.....gU.,.| -000002e0 00 50 a2 04 4f 71 9a 94 4a 90 55 69 33 08 04 00 |.P..Oq..J.Ui3...| -000002f0 80 53 b3 16 f5 08 3a 5a 84 3c 02 5d c3 b6 0e c2 |.S....:Z.<.]....| -00000300 93 f6 27 74 24 b4 e2 3d 22 04 30 a0 d6 5b c8 da |..'t$..=".0..[..| -00000310 6e 56 30 d4 fb 86 fd 76 8f 1b 47 c0 55 95 cd 15 |nV0....v..G.U...| -00000320 bf a7 27 ce 2d c3 43 6b ed 2d 09 bb eb 55 73 c9 |..'.-.Ck.-...Us.| -00000330 2c ee cd 23 af d9 1c 51 1d 0c 00 14 01 61 8a fd |,..#...Q.....a..| -00000340 8f 95 d1 ce 32 57 ae 2b 09 15 b4 86 41 1e 74 f5 |....2W.+....A.t.| -00000350 d5 96 d7 e1 03 03 09 f4 3c 53 fe 6b 9a c1 52 ab |........>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 bf 35 ae 8c b4 63 82 40 e8 5d d4 |.... .5...c.@.].| -00000040 bb 3d 0a 0f 07 28 3a 74 2c 5b a8 d0 a6 ab 88 ba |.=...(:t,[......| -00000050 7d 5c 1c 42 c7 |}\.B.| +00000030 16 03 03 00 20 5b d2 2a ad 40 50 6f a8 b8 70 d0 |.... [.*.@Po..p.| +00000040 b9 aa ab d5 d7 2a f1 2b f7 d7 9b cd 10 a5 80 e9 |.....*.+........| +00000050 d3 15 3f 4f 00 |..?O.| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 e7 86 48 6c 00 |.......... ..Hl.| -00000010 0a 1e f5 5f b8 ff ad 1c 9d 74 24 c5 6e d4 c6 6e |..._.....t$.n..n| -00000020 25 27 7d 6e 18 44 96 29 eb db b0 |%'}n.D.)...| +00000000 14 03 03 00 01 01 16 03 03 00 20 dd 90 d8 8a 0a |.......... .....| +00000010 11 a6 30 9b b0 29 50 c8 b1 70 36 bc fb 84 6e 6d |..0..)P..p6...nm| +00000020 a9 5e 67 3c e2 2e 0b 09 b2 44 38 |.^g<.....D8| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 64 9d 31 09 a1 ce 5a 6d ec 6f c4 |.....d.1...Zm.o.| -00000010 e5 09 df 92 5f d2 1c 7d 62 c4 e7 |...._..}b..| +00000000 17 03 03 00 16 9f e0 6a fc e9 a2 bf cf b4 df 07 |.......j........| +00000010 ba b4 8b 8b 08 ca bd a7 d5 02 2a |..........*| >>> Flow 6 (server to client) -00000000 16 03 03 00 14 9b cb 75 61 99 76 30 9c 14 a5 12 |.......ua.v0....| -00000010 92 de b7 95 cc 8f fe ad f1 |.........| +00000000 16 03 03 00 14 ed 9b 22 44 dd b2 e2 c3 7e ab 0c |......."D....~..| +00000010 69 98 d0 7b 40 9e da e2 67 |i..{@...g| >>> Flow 7 (client to server) -00000000 16 03 03 01 1a c7 9a be e1 2a 62 9f 01 59 e9 6a |.........*b..Y.j| -00000010 5f d6 32 88 bd 39 76 1b 34 fd 39 8d c7 31 cb 97 |_.2..9v.4.9..1..| -00000020 c6 09 8b 00 c9 f3 f9 00 c5 b6 48 e1 28 ae b8 8b |..........H.(...| -00000030 b2 f0 eb 8b cb e8 68 30 50 b5 23 ba cf f3 8d f3 |......h0P.#.....| -00000040 47 5f 94 ac fb 5e 56 9e 5a f8 e7 12 60 13 83 9c |G_...^V.Z...`...| -00000050 34 ca 45 a7 63 5f 2c 6e 46 c8 5a a0 d3 5b 9a a6 |4.E.c_,nF.Z..[..| -00000060 70 be da df 9e 79 21 98 bd fb 94 01 6d 14 f4 5c |p....y!.....m..\| -00000070 2a 13 56 26 47 33 7d 4f ab 5a fc 9c 9e 8d f4 75 |*.V&G3}O.Z.....u| -00000080 d0 64 16 ba f2 0d 04 ca 5d 94 6b da a8 09 b1 29 |.d......].k....)| -00000090 70 a9 37 1e ac 94 e3 81 60 c3 19 f3 a9 99 6a 11 |p.7.....`.....j.| -000000a0 b1 e7 23 45 8a f5 42 f5 50 76 9f 1e 9e a8 e7 75 |..#E..B.Pv.....u| -000000b0 4a 18 84 80 da 10 ed 83 9a 14 a9 a1 90 54 8e 8b |J............T..| -000000c0 d1 32 83 6d e7 7e be 59 f4 66 59 53 75 37 c6 82 |.2.m.~.Y.fYSu7..| -000000d0 15 aa 56 0a 01 e1 11 ba 64 0c 8e 44 93 60 29 a4 |..V.....d..D.`).| -000000e0 cc 9f b0 b9 d5 df 9c aa 64 2c ef 0c 9a 18 2a 97 |........d,....*.| -000000f0 e1 20 07 37 35 28 97 9d 00 53 61 11 81 22 45 9e |. .75(...Sa.."E.| -00000100 c3 d7 b2 b3 4c f2 05 5b e6 a4 de 11 7f a7 a2 82 |....L..[........| -00000110 88 1c cb d9 24 80 3d 34 0c fc 22 58 32 28 1b |....$.=4.."X2(.| +00000000 16 03 03 01 34 0d de 90 41 3c 76 1d 54 9d c2 7e |....4...A?J..}......| +00000070 4c 1c fb 2c 88 4c 13 8d c8 d0 e3 7f f6 cb 2e ca |L..,.L..........| +00000080 cb 92 ae 30 fe ea 3c 3e ae 57 51 6a d6 98 5c d6 |...0..<>.WQj..\.| +00000090 19 85 72 bd 62 56 fa c2 ea 08 eb b4 d9 75 ac de |..r.bV.......u..| +000000a0 a5 40 8d 8b 1f c4 8f f6 6d b2 5f d1 6d fb 14 fa |.@......m._.m...| +000000b0 e2 92 9e 04 37 d3 60 83 28 4a f9 92 8c b3 4a d2 |....7.`.(J....J.| +000000c0 ce 6d 95 e4 40 79 7c 3d 98 11 e7 da 5c 56 0a 95 |.m..@y|=....\V..| +000000d0 e0 6f 36 80 07 da 29 ef 88 44 db cd 2b 5a a5 27 |.o6...)..D..+Z.'| +000000e0 56 5a 94 49 aa 51 ae 48 f9 12 8d df e0 2a a7 67 |VZ.I.Q.H.....*.g| +000000f0 7f 55 3e 7a b6 bb 28 e3 a8 d9 44 67 e9 03 8f e5 |.U>z..(...Dg....| +00000100 2b 40 a3 37 fb e4 51 0a 18 8f bb 14 2e 5b 62 93 |+@.7..Q......[b.| +00000110 ab a4 40 d7 5f 15 12 cf 93 74 37 d0 ec 14 d3 a3 |..@._....t7.....| +00000120 eb 6f 61 35 4a c4 b5 d7 d1 bb ae fe 11 6d 04 ac |.oa5J........m..| +00000130 58 72 a6 72 b6 06 9d 93 a5 |Xr.r.....| >>> Flow 8 (server to client) -00000000 16 03 03 00 85 ba 55 5d 15 b8 6d 8a b6 82 a8 e1 |......U]..m.....| -00000010 88 ea fe c0 a6 a8 fe 78 ed 8b ae 44 eb 7b 6c cc |.......x...D.{l.| -00000020 0f ad a1 da da 86 fb 60 07 4a 0e 5c ba 36 09 8b |.......`.J.\.6..| -00000030 95 3f f0 87 26 0f 7a e7 7c 1f af c7 67 42 c9 39 |.?..&.z.|...gB.9| -00000040 39 6a 4d 8d 87 00 3b 14 76 4a 86 87 46 1e d4 04 |9jM...;.vJ..F...| -00000050 2d ea c1 44 1f e8 87 71 da 1e 26 72 a2 e9 40 0c |-..D...q..&r..@.| -00000060 33 6e 6f 06 43 ed 7f fc 8f 4c d4 f4 0f 83 19 cb |3no.C....L......| -00000070 52 a9 94 f3 6a 64 db dd 20 d1 a7 d4 c7 6e 86 ed |R...jd.. ....n..| -00000080 6e ea 5c 66 d1 34 a6 92 7e b1 16 03 03 02 69 48 |n.\f.4..~.....iH| -00000090 13 97 82 60 46 e1 c9 02 d2 e1 f3 62 da d6 3a c1 |...`F......b..:.| -000000a0 2a a7 47 bd c2 ee 09 d5 2d 7e 5e 35 09 79 88 35 |*.G.....-~^5.y.5| -000000b0 96 50 09 68 79 e9 de e1 71 97 11 60 c5 4e 84 54 |.P.hy...q..`.N.T| -000000c0 03 78 69 84 e3 7f 02 1a 58 04 ed 53 47 01 b6 9e |.xi.....X..SG...| -000000d0 bd 5f 77 34 e7 52 3b 73 45 e1 10 3f c8 6e 4c 09 |._w4.R;sE..?.nL.| -000000e0 d0 4b 79 f8 de 0f 15 e7 2d 42 5d 7a 89 80 1f fb |.Ky.....-B]z....| -000000f0 f9 02 6f a1 72 d4 8d 65 8e d0 a8 43 41 4c 48 57 |..o.r..e...CALHW| -00000100 71 21 b3 14 45 e5 b1 f5 55 7a dd 89 c3 0f af 27 |q!..E...Uz.....'| -00000110 03 d6 5c 2d bc 24 5b 51 fa ae 34 7b f9 56 e8 41 |..\-.$[Q..4{.V.A| -00000120 cd 77 1c 3d c8 45 f5 a5 4a 97 92 ff bb cd 5b ff |.w.=.E..J.....[.| -00000130 d5 33 d6 02 9b 2a 5a 3a e4 1b fb 48 34 b3 0b ce |.3...*Z:...H4...| -00000140 d7 34 5c 4a b4 4b bd 87 b6 72 40 ab 29 b0 65 25 |.4\J.K...r@.).e%| -00000150 c7 1d 71 b6 e2 d7 b1 23 b1 96 a6 bd 74 eb ad 69 |..q....#....t..i| -00000160 59 0c 0f af 8a 64 be e4 a7 27 c2 95 11 05 55 a1 |Y....d...'....U.| -00000170 d6 44 df ad 1d 9c 3a 88 24 52 52 9d 42 f2 74 98 |.D....:.$RR.B.t.| -00000180 08 9f 55 1b 2f 79 ca b4 63 38 e4 f2 fa 99 ce 66 |..U./y..c8.....f| -00000190 77 ac 8d 31 91 05 1c bc 51 0a 31 df 5d 3e f8 69 |w..1....Q.1.]>.i| -000001a0 b7 fa f2 35 af 57 6d 7b c3 bf 1d 98 21 40 dd 02 |...5.Wm{....!@..| -000001b0 1c de ac 02 40 c8 d6 04 23 30 71 16 d0 0a 26 29 |....@...#0q...&)| -000001c0 66 e9 f1 a8 76 f8 52 18 3e 3f c5 66 c9 11 04 6c |f...v.R.>?.f...l| -000001d0 32 1b 35 cc 9a 34 70 07 da db 12 51 78 77 dc bc |2.5..4p....Qxw..| -000001e0 7a bb b8 b9 06 79 bb 04 dd d4 46 8e b5 69 d5 39 |z....y....F..i.9| -000001f0 5e 34 8e 37 dd a2 3e 31 be 28 19 45 21 76 5b dc |^4.7..>1.(.E!v[.| -00000200 7d 25 a2 41 98 16 1b 5b 69 f0 90 f9 28 a8 e9 b5 |}%.A...[i...(...| -00000210 6f 00 e3 3e eb f6 f3 e4 c9 0f bb 74 ce 40 23 df |o..>.......t.@#.| -00000220 12 c6 78 b0 2e bb 68 96 04 a3 e3 43 6b 4b c3 37 |..x...h....CkK.7| -00000230 6d 97 c6 79 1a ff 4f 00 c7 76 64 5c b8 b3 17 20 |m..y..O..vd\... | -00000240 3c 3e 6b d5 2b 72 88 11 73 1e 63 a7 6f 1e ae 83 |<>k.+r..s.c.o...| -00000250 10 77 6f d1 96 86 84 63 fd 27 8e b9 54 da 4b b5 |.wo....c.'..T.K.| -00000260 56 f0 50 8a aa c7 e1 b3 cb 9c 36 9e ec 38 31 39 |V.P.......6..819| -00000270 78 ec ea 34 8a 87 cf 6b 34 fd 5e 81 92 81 61 f1 |x..4...k4.^...a.| -00000280 88 e7 50 62 2e 58 0b d9 b9 ca f3 ed 79 a9 9a 01 |..Pb.X......y...| -00000290 80 9d 7f 84 ae de fb 51 ac 0f 6b b9 76 fd 68 d4 |.......Q..k.v.h.| -000002a0 f4 8d c3 92 6b 5e 9e 99 ff 7a f4 b7 0e ec 0d e7 |....k^...z......| -000002b0 6b 24 75 fb 21 49 6f 5b 31 12 f2 88 8e 3b b4 34 |k$u.!Io[1....;.4| -000002c0 f2 f7 c6 e7 48 0e d6 1d 81 11 32 16 01 cb b7 7f |....H.....2.....| -000002d0 a6 bd 9c 87 8c 0f 12 b2 dc 73 5d a0 46 fd f3 e8 |.........s].F...| -000002e0 b8 6f e4 38 ab 94 96 a8 bd ed 90 0e 31 1f fc 2f |.o.8........1../| -000002f0 8f 50 e2 97 6a f5 5c b4 16 03 03 00 bc 65 bb 7c |.P..j.\......e.|| -00000300 42 03 0d 42 46 e3 ac 9f 8a 96 b6 a3 f4 cf a5 30 |B..BF..........0| -00000310 5b 02 17 dc 20 7d 18 19 21 a4 70 f4 4b 99 bf b5 |[... }..!.p.K...| -00000320 cd d7 07 59 a5 82 ed 85 03 06 5c 34 3f c8 c3 4d |...Y......\4?..M| -00000330 c3 fb 96 05 bf b5 bd bf e2 28 07 7e 51 a6 84 90 |.........(.~Q...| -00000340 bf 9e 2e f6 b5 04 8e 06 7a 63 c8 00 84 a1 a3 2c |........zc.....,| -00000350 f3 6f 52 52 c4 ce 4a 59 31 1f d4 ab 2e f4 75 90 |.oRR..JY1.....u.| -00000360 a5 3b ff ab 20 be 51 92 c5 f4 4d 8b f2 2a a7 ff |.;.. .Q...M..*..| -00000370 90 07 40 3e d6 9c cf 23 54 d1 65 d3 74 79 af 51 |..@>...#T.e.ty.Q| -00000380 31 35 40 aa 29 42 32 7e 42 2d af 79 e8 59 6a 10 |15@.)B2~B-.y.Yj.| -00000390 c5 55 6b 70 53 53 ab 02 48 ba 1f df 07 59 f8 34 |.UkpSS..H....Y.4| -000003a0 ee 1d d3 e9 12 86 8b 37 2b cc 27 78 fe e1 65 2b |.......7+.'x..e+| -000003b0 c3 1e f2 25 a4 6d 3c b1 d4 16 03 03 00 4a 50 98 |...%.m<......JP.| -000003c0 cd ee ab 2c 94 95 d6 46 06 ef 63 65 5c aa 6d 6e |...,...F..ce\.mn| -000003d0 fb a0 99 62 23 af 7a 7d 17 dc a3 c6 2b 9a 56 2e |...b#.z}....+.V.| -000003e0 b8 60 87 1e 88 5d 58 27 3f 02 b4 f5 2f 3b 17 8c |.`...]X'?.../;..| -000003f0 f9 93 0c a9 58 af 11 ed 27 9d af a5 0a 2b d6 55 |....X...'....+.U| -00000400 7e c4 54 4a 36 51 b7 7b 16 03 03 00 14 c1 c4 d7 |~.TJ6Q.{........| -00000410 ea 2d f0 8c 54 0e 19 33 e1 7e a8 ae 49 7c 5e 05 |.-..T..3.~..I|^.| -00000420 23 |#| +00000000 16 03 03 00 85 8b 8d 61 42 37 50 ee 69 d8 fb e9 |.......aB7P.i...| +00000010 89 a4 04 63 5d 87 a4 31 cc 22 26 c0 2c 22 1a 73 |...c]..1."&.,".s| +00000020 cc f0 9f be 65 c4 e0 ad 6d b0 b5 d3 86 2c 0b 59 |....e...m....,.Y| +00000030 e6 ae 58 38 b5 5f 4f 6e 7c ec e9 27 23 5f 4a 92 |..X8._On|..'#_J.| +00000040 78 5f cc 9f 7f 2b bb 2c dd 04 17 ea d4 87 b9 6d |x_...+.,.......m| +00000050 d0 1e 35 01 b4 4d 5d 73 6a 9f de 1d 71 47 78 d6 |..5..M]sj...qGx.| +00000060 89 dc c2 d6 5c 69 0c dc bb 7b 59 60 56 47 e9 5c |....\i...{Y`VG.\| +00000070 04 3e 3c 93 18 9b 40 4b 95 1f 20 e3 17 c6 ab 35 |.><...@K.. ....5| +00000080 db 3f 88 d7 4b 89 5a 53 b7 a9 16 03 03 02 69 85 |.?..K.ZS......i.| +00000090 49 cc 00 5a 45 40 9d be 80 06 97 16 a0 c0 dc bb |I..ZE@..........| +000000a0 32 62 18 88 31 3b 14 ec 9d f2 3f ed c0 36 ad bb |2b..1;....?..6..| +000000b0 69 fa 32 f5 13 54 2b 77 f3 db 6e 20 0a 2b 5c a5 |i.2..T+w..n .+\.| +000000c0 d8 aa 5a 63 8d c1 51 50 41 f6 6c f7 ef 2f 15 81 |..Zc..QPA.l../..| +000000d0 85 af 6e e5 01 95 9a 5e 70 26 cb c1 c8 89 3f b8 |..n....^p&....?.| +000000e0 3d 5a 1b 68 a6 25 08 48 ad dd 29 db bf ce 75 44 |=Z.h.%.H..)...uD| +000000f0 ca cd 92 79 47 d8 25 f1 23 9a 63 62 15 05 d8 2c |...yG.%.#.cb...,| +00000100 c0 30 a4 65 a7 f9 89 a4 fe 87 32 21 07 24 d9 16 |.0.e......2!.$..| +00000110 64 26 48 75 ab a7 00 e1 9b 48 5c 77 3d 66 18 69 |d&Hu.....H\w=f.i| +00000120 35 a9 4c 03 f5 9f 42 ff 50 98 73 b1 82 16 fd ff |5.L...B.P.s.....| +00000130 94 fd aa 3c 46 1f b5 99 fd de ab 2e 6a 24 00 5a |.........."| +00000300 3d 8d 48 5d 28 cd ae 94 db 95 2e a6 44 77 da d5 |=.H](.......Dw..| +00000310 a1 09 7c a3 4c 3f a6 18 80 92 cf 5c 77 9d 18 5d |..|.L?.....\w..]| +00000320 43 78 05 bb cb 8e 27 7c cc 2e 9c 54 95 ff 1c 74 |Cx....'|...T...t| +00000330 48 fb df 47 e8 e1 24 94 94 5d cc 2c b2 df 48 6c |H..G..$..].,..Hl| +00000340 22 1e 61 f1 e3 c6 56 fb 79 70 b0 ab c5 70 ca 7f |".a...V.yp...p..| +00000350 c0 32 8d 6d a5 55 6d 94 8c 7b 9d da 0b 35 d1 da |.2.m.Um..{...5..| +00000360 77 85 01 66 15 be 10 c3 3c 9b 80 61 b3 c0 1a 29 |w..f....<..a...)| +00000370 22 d1 d1 ba 4a ea 01 58 72 94 79 f0 6e 5f 36 23 |"...J..Xr.y.n_6#| +00000380 8a cf 16 fa 2c 5f 6d dd 54 61 df bc 6f 91 d4 df |....,_m.Ta..o...| +00000390 e7 6f 50 8f 9c 27 04 04 19 80 10 a2 8d a5 61 81 |.oP..'........a.| +000003a0 06 1f b0 79 87 c0 95 87 f7 d8 87 22 75 a5 87 30 |...y......."u..0| +000003b0 f4 33 6d cb 59 f7 18 75 0f 16 03 03 00 4a d3 e9 |.3m.Y..u.....J..| +000003c0 2e 47 65 f2 29 70 4c 74 3f e9 13 88 e7 66 c6 73 |.Ge.)pLt?....f.s| +000003d0 0f e4 7a 8f 0e 49 49 39 90 e7 ff d4 1f 8a d6 c6 |..z..II9........| +000003e0 91 16 f6 a6 fe 60 d8 ba 26 a6 5e 44 f5 76 88 63 |.....`..&.^D.v.c| +000003f0 10 d0 89 2f 6b ae 55 64 13 0c 63 76 69 df 6a 4a |.../k.Ud..cvi.jJ| +00000400 74 15 51 0b 4d 74 db 49 16 03 03 00 14 f2 0f e7 |t.Q.Mt.I........| +00000410 38 90 33 ff 5e 20 60 42 32 40 72 2c c8 70 d7 ba |8.3.^ `B2@r,.p..| +00000420 a1 |.| >>> Flow 9 (client to server) -00000000 16 03 03 02 69 83 ef 87 6b aa f1 2a cc c1 b8 5d |....i...k..*...]| -00000010 47 e4 2d da c5 91 62 e4 7d 49 da 54 a3 79 fb 1d |G.-...b.}I.T.y..| -00000020 59 49 e8 a6 ab 79 c0 9f 51 f9 d2 63 0d 8c 6b 7f |YI...y..Q..c..k.| -00000030 b6 77 2d f3 b3 3e 78 86 3a 14 1a ab 3b 5e 23 b2 |.w-..>x.:...;^#.| -00000040 d3 5c b1 2b 5c f4 f0 9d e2 87 08 d0 2f 24 30 d3 |.\.+\......./$0.| -00000050 05 eb f8 a6 b2 d1 52 00 c3 9e 0b 82 34 3e fd 5a |......R.....4>.Z| -00000060 46 d5 b6 b2 f0 a0 96 11 e1 35 c2 32 57 d6 dd b2 |F........5.2W...| -00000070 a8 ad b2 71 a2 6f 83 05 d6 f1 83 38 a0 3c 13 ff |...q.o.....8.<..| -00000080 c1 c1 b0 1e b5 40 5b b5 05 31 65 0b 81 a6 b0 37 |.....@[..1e....7| -00000090 7d 16 3b 7b cb e7 58 7f 81 25 e3 39 37 98 87 b0 |}.;{..X..%.97...| -000000a0 e1 8f c0 d5 de 33 fe de 15 37 41 25 d8 97 5d 84 |.....3...7A%..].| -000000b0 28 12 b4 a5 b0 15 f1 f4 cf 41 28 e9 26 5d ba 36 |(........A(.&].6| -000000c0 da b6 a6 cb 21 92 21 30 4b 21 4d 44 28 4d 76 d1 |....!.!0K!MD(Mv.| -000000d0 61 65 fa 02 05 67 50 ec 7d 98 78 21 46 5d fe 75 |ae...gP.}.x!F].u| -000000e0 78 8e 9d 41 6a 0a d7 0e 27 22 d0 a1 21 57 3d 23 |x..Aj...'"..!W=#| -000000f0 d1 7d 08 f4 0b 1b 90 ec 63 74 4c e7 df c8 8f 8b |.}......ctL.....| -00000100 b8 cd 2b 06 a5 35 f5 c1 62 d5 46 f3 d5 19 5b ce |..+..5..b.F...[.| -00000110 c8 d2 f4 c1 51 5f cd b2 51 23 61 bf 93 7f 5d bd |....Q_..Q#a...].| -00000120 61 f2 b2 e0 ad be ab d7 c9 77 26 c2 61 fb 25 8d |a........w&.a.%.| -00000130 46 38 7a 30 48 9f b5 5c 47 6b ce 10 1d 03 d0 68 |F8z0H..\Gk.....h| -00000140 7f 00 c0 94 f4 35 eb 41 e8 91 f6 d9 5c 44 d6 79 |.....5.A....\D.y| -00000150 72 9f 22 a4 08 fd 74 1b 42 dc 49 06 34 8f b6 f5 |r."...t.B.I.4...| -00000160 12 1c 09 f0 d4 eb e4 6e d5 9a 31 f9 1a 88 c1 bf |.......n..1.....| -00000170 37 42 90 5f c8 e1 38 2b 8b 4b c1 cd 66 72 e6 49 |7B._..8+.K..fr.I| -00000180 d3 19 0e 01 19 60 f7 7d d3 66 b2 bf bd 94 30 c9 |.....`.}.f....0.| -00000190 3a 01 aa b6 dc 2a d6 1a 68 cf a6 31 5e 9a 1d 5b |:....*..h..1^..[| -000001a0 90 bb 77 33 31 f2 28 5a 70 a5 c5 ef 91 91 27 22 |..w31.(Zp.....'"| -000001b0 59 33 d5 22 78 8e 8f 07 91 3c 69 ec b9 81 be e8 |Y3."x.........G...NWQ.Y| -00000250 05 84 dc 4d fd fb d1 11 33 b6 e5 5e df 65 d4 ed |...M....3..^.e..| -00000260 04 af 89 b3 f0 90 9b 7c 5e 83 b1 66 71 b1 16 03 |.......|^..fq...| -00000270 03 00 35 5b 37 fa e1 97 11 25 7c fd da 7e e8 2a |..5[7....%|..~.*| -00000280 9b 28 fa 20 a6 9b 9b ca 99 ed a2 eb 5b 84 df a0 |.(. ........[...| -00000290 b9 14 c2 fe 38 a8 54 06 e4 54 38 87 2a 24 8b 1e |....8.T..T8.*$..| -000002a0 3e ba 0a bb c2 1d a4 74 16 03 03 00 98 8b 39 c7 |>......t......9.| -000002b0 ac e5 80 bf 49 95 ad f4 c0 cf c9 7c 86 bf 11 65 |....I......|...e| -000002c0 53 40 f3 64 3e 04 ad c9 8d 33 8a 10 4a f5 2e c5 |S@.d>....3..J...| -000002d0 22 18 59 1c 81 65 8a 51 47 b4 8d b1 94 57 3c f8 |".Y..e.QG....W<.| -000002e0 d0 06 60 ce 04 f9 50 8f 6c 43 d8 6e b0 9e d9 da |..`...P.lC.n....| -000002f0 4b e5 b5 05 b7 1b 4b 46 59 d6 ad 20 bb 4c fc aa |K.....KFY.. .L..| -00000300 9a 9b ef fd 59 4b 2a 63 01 b0 1b 2d ed b1 f4 5b |....YK*c...-...[| -00000310 bb ca cd fa 13 06 06 7e 1d a5 cd c3 ca 4e bf 7b |.......~.....N.{| -00000320 7e 92 92 09 61 35 68 a2 38 f9 13 41 f4 a9 a5 0f |~...a5h.8..A....| -00000330 42 63 e4 15 e8 86 00 48 90 2b 43 30 da 05 b6 fc |Bc.....H.+C0....| -00000340 8e 7f 52 d3 b8 14 03 03 00 11 82 73 be a9 08 9d |..R........s....| -00000350 5b 2f fe bd 1f 2c fb e2 f3 94 f3 16 03 03 00 20 |[/...,......... | -00000360 d0 47 0f 2d 7e ce 8f 01 e2 7d 01 3c 32 79 a0 26 |.G.-~....}.<2y.&| -00000370 fe 00 ce d3 37 46 20 b4 f8 af 21 81 0f 1e ba 2d |....7F ...!....-| +00000000 16 03 03 02 69 78 39 27 1a 64 94 f7 9c 64 ac 37 |....ix9'.d...d.7| +00000010 28 be d0 a4 74 98 34 51 8e 3b c7 14 02 83 ee a5 |(...t.4Q.;......| +00000020 05 55 59 f8 04 43 59 cd 33 e6 c4 44 57 30 68 db |.UY..CY.3..DW0h.| +00000030 b2 cb 50 db c1 e6 c4 04 a3 79 22 40 15 f9 89 57 |..P......y"@...W| +00000040 7b 7a 68 d6 d1 15 c9 7f 6b d8 3a 6c dc 32 4f 72 |{zh.....k.:l.2Or| +00000050 97 57 32 25 f9 78 e6 07 91 f4 45 67 b1 41 dd f9 |.W2%.x....Eg.A..| +00000060 5b fd 76 53 d5 7d 0f 74 6e 2e ea d9 9c 2d 00 39 |[.vS.}.tn....-.9| +00000070 2f 7f 49 97 24 bf e4 f2 c7 7e 21 f9 dd 30 3a 78 |/.I.$....~!..0:x| +00000080 3c 53 41 58 5c 97 3a ff 6f 60 f4 b6 d6 23 a9 ad |.c....| +000000e0 6c b5 0d 0c d3 c6 6d 47 2e a8 3a d8 ec fd d3 42 |l.....mG..:....B| +000000f0 ef 8b e8 75 a6 04 06 3b 5e 57 ae a3 10 2e 6d 01 |...u...;^W....m.| +00000100 0e ea 94 e6 78 1b 91 f0 a0 1e 55 d3 25 13 15 ac |....x.....U.%...| +00000110 eb a4 7c c3 66 83 62 00 a3 d2 f5 7c 64 c6 39 fb |..|.f.b....|d.9.| +00000120 6d ee 01 50 d4 13 5d 10 5f 31 30 09 90 91 64 ad |m..P..]._10...d.| +00000130 f1 c5 4b ed 9d ef 2a 71 e5 7a b2 5d a8 57 bc b8 |..K...*q.z.].W..| +00000140 1f 32 c6 f0 61 f0 08 9e 07 9b d3 99 5b 5e a5 32 |.2..a.......[^.2| +00000150 1f 8a f7 30 1f e9 e6 39 b1 5a c6 a5 22 c8 98 49 |...0...9.Z.."..I| +00000160 04 f2 58 4d e2 15 e6 cd d1 2b 05 54 81 cc b8 33 |..XM.....+.T...3| +00000170 5d 26 52 65 95 32 84 01 f6 05 fa 19 58 c6 57 53 |]&Re.2......X.WS| +00000180 c8 d7 3d ef 56 4e 6e e4 17 45 1c bc 40 ee 06 32 |..=.VNn..E..@..2| +00000190 60 74 9e 62 02 47 52 a8 92 57 26 1f ba 2d 93 67 |`t.b.GR..W&..-.g| +000001a0 94 46 0f c4 0d f5 df 75 b0 d9 27 02 56 f3 82 e1 |.F.....u..'.V...| +000001b0 da 1c 3b 3e 97 93 c8 2d 12 bd b4 5b 36 7a 5c bf |..;>...-...[6z\.| +000001c0 27 9a 75 11 f9 4d 9b c0 ae 6b be 71 5f 37 33 b5 |'.u..M...k.q_73.| +000001d0 4e d4 5a fb 98 71 c5 77 8c fc e2 f3 91 73 35 f4 |N.Z..q.w.....s5.| +000001e0 e7 13 b1 ea bd c2 a9 46 b9 ea 88 06 58 a2 49 a2 |.......F....X.I.| +000001f0 97 2b cf 1b 25 a3 71 a0 22 95 4c 54 81 eb 41 7f |.+..%.q.".LT..A.| +00000200 80 15 82 ec 19 0c f8 a3 21 fe 37 2e e1 ca 34 02 |........!.7...4.| +00000210 5d ec 78 d9 eb 99 93 5d 96 26 cd 4c 56 3a 35 6a |].x....].&.LV:5j| +00000220 7f d0 0c c7 b7 c3 80 c6 fe d0 04 54 00 8c 4c 8b |...........T..L.| +00000230 43 f4 36 b8 ea 51 35 3c 5e b5 b9 45 dc d2 19 bd |C.6..Q5<^..E....| +00000240 d2 2a 95 bc 7f 22 43 4f 84 be bd 7b ab a8 5c 4d |.*..."CO...{..\M| +00000250 28 99 e6 e5 05 33 05 38 be 17 55 80 2d e1 de cf |(....3.8..U.-...| +00000260 39 4e 5b 7d 89 b4 a6 d3 0a e3 fd 47 e1 2c 16 03 |9N[}.......G.,..| +00000270 03 00 35 f3 2d 2c 7b fa 06 39 06 40 27 5b ea 9e |..5.-,{..9.@'[..| +00000280 2f 4a 6c 32 df 62 c3 bc af ed 21 6a 1a 34 82 cf |/Jl2.b....!j.4..| +00000290 73 e5 b9 1d 8d 42 3d 8e b7 e6 1c 0a e0 81 3e cd |s....B=.......>.| +000002a0 88 23 f3 56 55 09 e2 6e 16 03 03 00 98 73 0f 59 |.#.VU..n.....s.Y| +000002b0 0e 1b 1b d1 db db 6d 47 d9 05 f8 e1 29 32 e5 16 |......mG....)2..| +000002c0 f9 f6 24 2b 0f 2d bb 74 da fd 75 9b ec 6a 3f 02 |..$+.-.t..u..j?.| +000002d0 c8 3a ab 23 ec cb 77 c6 d7 7b ba ce 29 85 66 54 |.:.#..w..{..).fT| +000002e0 ab df c9 74 2a 50 b5 cd 45 03 e2 ce 6f d3 d0 f1 |...t*P..E...o...| +000002f0 1a 3e e4 c0 34 72 e1 53 1e 69 9a d7 41 4f d4 3a |.>..4r.S.i..AO.:| +00000300 31 af 1a 0b 83 82 e7 6c 4f f6 9a d5 84 bb 9a 14 |1......lO.......| +00000310 e3 ec 04 12 c8 83 9c c8 d9 81 c1 c9 16 db 35 6e |..............5n| +00000320 0f af a0 b3 e6 a9 2b ad a5 1f cd a0 fb 45 01 84 |......+......E..| +00000330 ae b5 42 49 21 d8 29 06 0a 0e e8 26 8e f4 f1 56 |..BI!.)....&...V| +00000340 c2 7c 8f d6 4a 14 03 03 00 11 c6 06 37 68 e0 2b |.|..J.......7h.+| +00000350 dd 32 2a b5 c7 b6 ad e2 c8 7c d8 16 03 03 00 20 |.2*......|..... | +00000360 1d 80 95 df 2d d3 38 50 a2 2d bc 09 50 e4 e8 47 |....-.8P.-..P..G| +00000370 5f 3e 26 03 5e d3 9b 5a ee ed d4 bb cb da 05 5b |_>&.^..Z.......[| >>> Flow 10 (server to client) -00000000 14 03 03 00 11 53 7f 72 ce 10 f4 0e a3 ed ed 8d |.....S.r........| -00000010 3a ad 2d 57 c8 e1 16 03 03 00 20 11 e9 69 5e ff |:.-W...... ..i^.| -00000020 22 0d f6 a3 e1 e5 3f 14 34 a0 33 d7 d5 0a 7f bc |".....?.4.3.....| -00000030 7c 69 9b 9a d2 aa 41 87 fe da de 17 03 03 00 19 ||i....A.........| -00000040 bd a1 83 5d 27 9f cc 0b 40 02 23 6e 6f 18 4c bc |...]'...@.#no.L.| -00000050 48 c4 02 7d 45 08 71 ac d7 |H..}E.q..| +00000000 14 03 03 00 11 13 75 b3 44 ec 4c 6b 24 d3 52 90 |......u.D.Lk$.R.| +00000010 28 c1 47 92 5c 0d 16 03 03 00 20 c2 61 ed 34 d2 |(.G.\..... .a.4.| +00000020 c5 cf fd b3 31 3d 1d 5f 30 87 18 65 01 47 da 0f |....1=._0..e.G..| +00000030 d9 eb 4f 0f 50 2e 02 86 fe eb 13 17 03 03 00 19 |..O.P...........| +00000040 3f ac 26 1c 16 0e 16 bf b1 d3 80 86 dd c6 e2 b6 |?.&.............| +00000050 3f 5a 0b 0c 3e 7d 3b a8 d5 |?Z..>};..| >>> Flow 11 (client to server) -00000000 15 03 03 00 12 80 ae fb 45 cb a1 2d 1f c8 b6 02 |........E..-....| -00000010 3a 28 62 d6 13 48 2c |:(b..H,| +00000000 15 03 03 00 12 ea 81 9d df ec c1 0c 3d 21 8b fe |............=!..| +00000010 b5 24 d8 92 43 1d 3d |.$..C.=| diff --git a/testdata/Client-TLSv12-RenegotiateTwice b/testdata/Client-TLSv12-RenegotiateTwice index 7ff58763c5b..e83ad4b285c 100644 --- a/testdata/Client-TLSv12-RenegotiateTwice +++ b/testdata/Client-TLSv12-RenegotiateTwice @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 25 9f b0 d0 c5 |....]...Y..%....| -00000010 56 c8 79 6a 1a ff 0e e9 8b 41 b6 be c7 36 0b 58 |V.yj.....A...6.X| -00000020 c0 9e 9d 6c 4c b4 39 1f 95 ff 8f 20 32 27 d2 39 |...lL.9.... 2'.9| -00000030 ac f6 33 f9 48 a4 0b 0f e1 f9 5f 0a 83 7b 75 95 |..3.H....._..{u.| -00000040 23 55 14 ba 55 2f 47 42 e8 df 09 39 cc a8 00 00 |#U..U/GB...9....| +00000000 16 03 03 00 5d 02 00 00 59 03 03 36 29 60 e0 b5 |....]...Y..6)`..| +00000010 ee 59 a6 3b 1a de 96 8a 51 0c c1 15 30 ce 6a 70 |.Y.;....Q...0.jp| +00000020 ca 5b fa a5 86 f4 59 79 44 cd 73 20 ad b7 a9 d5 |.[....YyD.s ....| +00000030 c1 aa a6 49 6d a8 36 a9 bf 40 1e 3a d4 2c 21 4a |...Im.6..@.:.,!J| +00000040 5d aa fa 75 80 d4 cb fc be 2b 41 36 cc a8 00 00 |]..u.....+A6....| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,286 +62,290 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 2b 66 1d |............ +f.| -000002d0 80 f2 60 32 0f af 6f d3 03 db 28 c1 33 18 1c 5d |..`2..o...(.3..]| -000002e0 71 fd 2a 24 f9 3c 4d 76 ca e3 93 8d 25 08 04 00 |q.*$.{W...*| +00000350 85 0d b0 5f bf a5 8e 74 55 72 dc 2c 5c 60 52 93 |..._...tUr.,\`R.| +00000360 1e 28 9d 36 9f fd da a5 3b 51 96 4e 12 d6 d4 ca |.(.6....;Q.N....| +00000370 d3 16 03 03 00 04 0e 00 00 00 |..........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 7b de 6f c8 b7 f1 69 89 0b 29 af |.... {.o...i..).| -00000040 62 1b 92 47 e9 44 f7 26 91 93 9c 3b e2 77 0e d0 |b..G.D.&...;.w..| -00000050 c5 af fd e5 59 |....Y| +00000030 16 03 03 00 20 e4 80 79 12 42 80 88 c3 66 6b 9b |.... ..y.B...fk.| +00000040 a2 03 59 f9 a3 54 2f 7f 03 de 90 97 1d cb 48 08 |..Y..T/.......H.| +00000050 19 a4 bb 13 64 |....d| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 94 da e2 2e f3 |.......... .....| -00000010 65 59 31 4f 58 42 57 b5 1f e6 c1 5a c6 07 97 12 |eY1OXBW....Z....| -00000020 f6 6c 20 cc 91 50 76 42 70 dd 2c |.l ..PvBp.,| +00000000 14 03 03 00 01 01 16 03 03 00 20 9e 59 22 68 f2 |.......... .Y"h.| +00000010 3c 38 7d cf 43 eb 77 73 94 6c 35 e5 3f 3e 7e 03 |<8}.C.ws.l5.?>~.| +00000020 29 96 e8 c6 f7 5c b4 39 c3 77 61 |)....\.9.wa| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 fe 0d 78 61 f9 fe 65 3c 42 c0 98 |.......xa..e>> Flow 6 (server to client) -00000000 16 03 03 00 14 e0 bb 6e cc 69 fc a7 02 46 c4 5e |.......n.i...F.^| -00000010 a5 b1 1e ce e9 c7 7a d9 76 |......z.v| +00000000 16 03 03 00 14 a8 ab 9e 3c 00 e4 6f b3 26 dd 3a |........<..o.&.:| +00000010 67 ab ee 28 a0 a1 65 83 91 |g..(..e..| >>> Flow 7 (client to server) -00000000 16 03 03 01 1a a7 03 1c ef 27 0a 04 9b 31 b0 c6 |.........'...1..| -00000010 17 00 1f 6c d5 91 ae 7c 77 87 98 05 67 9a ea ea |...l...|w...g...| -00000020 6c 79 28 da 2c 91 6d a0 c6 9a e9 f3 85 a0 7f 7d |ly(.,.m........}| -00000030 ae 89 ac 0d 01 7f d8 34 dd fb ba c3 d8 ba ff 9b |.......4........| -00000040 75 dc d6 5e 8a fa ad 9c ea fa 15 63 55 85 98 26 |u..^.......cU..&| -00000050 65 7a 19 17 c4 99 98 85 83 c4 06 39 30 d5 63 51 |ez.........90.cQ| -00000060 ff 22 e8 cd 55 6e fc 88 5e d5 54 24 79 52 7e b0 |."..Un..^.T$yR~.| -00000070 71 e4 e6 cb a6 06 24 14 1a c2 a8 52 85 e9 fc e4 |q.....$....R....| -00000080 66 47 9c 9c d1 f3 56 11 47 16 4b 7c a5 f1 81 1e |fG....V.G.K|....| -00000090 00 78 98 8f 70 ae 47 6d 45 3b c4 af fc 88 bd 88 |.x..p.GmE;......| -000000a0 7b cc 8a 78 86 ff 86 25 2d 21 28 f2 c5 d7 4b 61 |{..x...%-!(...Ka| -000000b0 c0 ea 67 38 4c d0 d6 6f fc a0 69 62 98 6f ac 29 |..g8L..o..ib.o.)| -000000c0 29 13 34 7a f0 2d 1b 7e 52 42 6f f1 64 ed 7f 47 |).4z.-.~RBo.d..G| -000000d0 69 82 9b 9d 19 7b 3a c5 54 51 c8 8f 4c 9e 42 a7 |i....{:.TQ..L.B.| -000000e0 0f 9e 05 1d 4f 85 11 05 97 42 fa 24 37 1c 4e ec |....O....B.$7.N.| -000000f0 55 dc e1 4e f6 e2 dd c6 63 b0 dd 60 11 93 23 8a |U..N....c..`..#.| -00000100 eb 68 76 21 ec 19 cf 59 c8 78 80 f0 fa 39 6a 09 |.hv!...Y.x...9j.| -00000110 f8 7f 9d c0 e7 51 3d 75 17 e3 cf a5 bf 1c 10 |.....Q=u.......| +00000000 16 03 03 01 34 d8 7e 6c f6 7b d5 eb 3f 49 63 78 |....4.~l.{..?Icx| +00000010 28 92 1c 8b 67 f2 70 a7 ff e2 91 42 43 d8 90 4e |(...g.p....BC..N| +00000020 01 47 0a 12 bb 9d a2 9a e1 a2 d6 ee 5e 91 8c 4d |.G..........^..M| +00000030 86 8e 29 d4 e0 b3 67 0f c4 5e a9 02 c9 e3 8f f0 |..)...g..^......| +00000040 e6 ea 24 50 da 57 70 35 58 98 81 3e ff b8 8d ea |..$P.Wp5X..>....| +00000050 b3 e0 f0 a1 91 39 69 33 40 bc 0f 67 21 10 67 f4 |.....9i3@..g!.g.| +00000060 93 66 0c f2 66 aa fd a5 2c 8d 2b 38 31 30 b3 50 |.f..f...,.+810.P| +00000070 71 09 de ce 22 59 c3 96 5a 07 84 c0 1f 96 5c e3 |q..."Y..Z.....\.| +00000080 7e 6b c8 7e 3f a5 32 77 20 3c 7b 92 df bc 11 57 |~k.~?.2w <{....W| +00000090 86 e5 a1 03 78 9c 08 ea 49 bc a7 1b 6b fb 47 6d |....x...I...k.Gm| +000000a0 9a 86 14 fa cc 98 e6 9a f8 39 18 57 36 fb 1b ff |.........9.W6...| +000000b0 ae ce 1e 96 20 9d 16 be c6 00 45 51 2a 5a 7b 46 |.... .....EQ*Z{F| +000000c0 9c c9 c1 eb fb fc 37 52 8d b2 22 e3 58 6a d1 fe |......7R..".Xj..| +000000d0 71 55 18 4b ff 92 e1 16 62 29 cb fb d0 0d 94 22 |qU.K....b)....."| +000000e0 13 ee 8e bb 75 2e 1c ae 11 61 3d 37 69 0d 51 b0 |....u....a=7i.Q.| +000000f0 61 e3 7f 94 08 54 3a 49 68 94 b5 64 da ac a9 a4 |a....T:Ih..d....| +00000100 e2 3f 65 ad d7 42 8e 0b 70 5f 4f 6d 6e 0c 27 51 |.?e..B..p_Omn.'Q| +00000110 5a 48 57 71 6e 9b 58 e0 6e 05 40 48 a8 20 36 98 |ZHWqn.X.n.@H. 6.| +00000120 f8 71 a3 ef 2d db 8c ae fa a5 14 d8 1f ff ad 7b |.q..-..........{| +00000130 2a 15 0d fb 3d e8 1b fe 48 |*...=...H| >>> Flow 8 (server to client) -00000000 16 03 03 00 85 14 4e 8e de d0 5b 59 2d f6 a3 b0 |......N...[Y-...| -00000010 c0 ff 4a ff 8b cf af 2f 09 f1 ee 03 0f b9 70 5e |..J..../......p^| -00000020 1b e4 ef b4 3e e7 c1 43 fb ea a8 68 4c 66 0a 55 |....>..C...hLf.U| -00000030 e8 51 a6 30 bb e3 f5 0e df 11 f2 e0 51 94 14 f6 |.Q.0........Q...| -00000040 1e c6 e8 9d 10 a2 20 9f f2 f6 1e f0 3c f3 ba ff |...... .....<...| -00000050 65 d1 f4 df 9e e6 18 9f a1 a5 9c 5f 4b 4f 20 98 |e.........._KO .| -00000060 4a f6 0b 95 da 01 1f ea c0 c4 39 39 8b fd 19 40 |J.........99...@| -00000070 8d 14 da 45 fd 51 3d a7 36 23 a0 b2 bb cb 81 6b |...E.Q=.6#.....k| -00000080 79 0a 02 71 50 84 ac d6 7b ad 16 03 03 02 69 b8 |y..qP...{.....i.| -00000090 a9 6c 87 d7 23 6b c6 1a 4c 08 dd fa 58 e8 e8 d5 |.l..#k..L...X...| -000000a0 44 16 3b de 77 60 33 2a 47 a5 3c e0 cb c3 1a 38 |D.;.w`3*G.<....8| -000000b0 1d 1f 69 8e 33 a3 ba ac 55 b5 77 9b e1 fc a4 21 |..i.3...U.w....!| -000000c0 99 90 01 5e 99 36 a3 cf 74 b4 1f 96 b7 96 1e 4b |...^.6..t......K| -000000d0 cf 0b 92 5f 6b 1f 1c b0 70 80 2e 87 57 ef 52 b0 |..._k...p...W.R.| -000000e0 2b 7d 66 06 cb a1 78 a7 5a e2 af 4c fc a4 8b 99 |+}f...x.Z..L....| -000000f0 af 6c 6d 0e 07 7e da 11 5a b7 89 af 3c ce 1e 22 |.lm..~..Z...<.."| -00000100 1f 7d 97 d5 d4 78 09 c4 e7 fb 33 bf 36 ee 6e 5a |.}...x....3.6.nZ| -00000110 af f0 5b 0f 00 eb cc 3d 76 35 41 98 4c 65 81 34 |..[....=v5A.Le.4| -00000120 74 d9 d7 ba 04 fc c8 c6 c9 ca 4b b0 8e b1 7e 87 |t.........K...~.| -00000130 9d 69 2e d5 68 54 96 48 37 42 ae ff 18 d0 08 b2 |.i..hT.H7B......| -00000140 dc 26 1c c1 99 f1 c3 02 3f 48 51 a8 92 10 18 01 |.&......?HQ.....| -00000150 f3 3b 96 4b de 80 29 27 87 da f4 89 23 1b 49 b8 |.;.K..)'....#.I.| -00000160 5b f5 50 ec 99 b0 c3 48 e2 d3 fe fb a0 95 c3 c6 |[.P....H........| -00000170 83 fe d9 87 ef 0c cf 67 8f e7 52 3d 17 7d c0 ab |.......g..R=.}..| -00000180 02 1a 33 78 c8 d6 13 8b 8e 82 be 0d 5e d4 22 e8 |..3x........^.".| -00000190 63 c3 84 a9 05 12 d3 b7 e2 36 96 a2 22 0a 77 df |c........6..".w.| -000001a0 20 06 5c 0d 8b c1 d6 ac 73 b0 b2 a0 be db 59 17 | .\.....s.....Y.| -000001b0 05 60 68 b9 18 85 d5 73 9b c9 41 b9 c1 f2 02 47 |.`h....s..A....G| -000001c0 ca 95 c8 47 e2 de 04 75 08 d4 b7 a2 41 d7 e2 6b |...G...u....A..k| -000001d0 ad 8c ba c5 fc f8 b1 fe d3 23 c0 22 ec d0 2f a7 |.........#."../.| -000001e0 d9 ed 0e da 71 18 c0 d0 1f 40 8d eb 79 ea 5f aa |....q....@..y._.| -000001f0 07 4f 65 81 c1 9e ea 36 7f 0d 8b 07 8b 71 81 5a |.Oe....6.....q.Z| -00000200 0e cb d4 0f 98 c8 5c 69 d0 61 6e b5 ef 2a dd 5f |......\i.an..*._| -00000210 63 92 b4 3e 6e f4 b8 fc 45 bf 58 79 08 a4 95 6f |c..>n...E.Xy...o| -00000220 34 01 9b 8a 19 a5 e4 11 3f d4 97 47 66 e8 42 ef |4.......?..Gf.B.| -00000230 92 72 01 f4 6f 07 a4 35 81 83 ee 26 d0 96 cc de |.r..o..5...&....| -00000240 42 2a 65 64 cc a9 0c 39 31 d5 7c 2f 42 e5 ce 36 |B*ed...91.|/B..6| -00000250 0b bf b5 22 2a 4f 3c 56 27 29 cd fb 8e 9f 8f ab |..."*O...d...V*.h| +000001e0 45 68 13 da c6 eb 5d f2 7b 51 bd b4 8e 25 0d b7 |Eh....].{Q...%..| +000001f0 f0 03 dd 2b cd 93 7f 00 96 ca 75 c1 1b c7 d0 95 |...+......u.....| +00000200 0f 08 52 e0 d6 c9 2c b2 42 b3 0b 0c ed e1 01 e3 |..R...,.B.......| +00000210 7d ef b1 fb 80 76 c8 08 ec 9f c2 13 a5 04 05 fe |}....v..........| +00000220 33 c2 b7 2e 1a 2b 4a 74 f5 f5 92 ad e8 cf f7 76 |3....+Jt.......v| +00000230 3e 7c 69 4b 2d be 9b 08 3b 80 97 66 63 e5 df db |>|iK-...;..fc...| +00000240 1a a4 aa 8a bd 43 2a 65 44 6d f1 e6 60 92 cd 98 |.....C*eDm..`...| +00000250 a9 ac 81 de fb 22 06 f4 ca 90 4a 67 64 3f 25 ab |....."....Jgd?%.| +00000260 3c db 77 cb bc 32 55 bc 2d 48 4e 32 c7 48 d1 2f |<.w..2U.-HN2.H./| +00000270 bf 80 03 7e 27 92 8b 6a 90 35 ab 8e 93 dd 27 c7 |...~'..j.5....'.| +00000280 7d d6 a7 ea d8 1f 6a 43 57 34 d2 a9 7c c3 23 55 |}.....jCW4..|.#U| +00000290 62 5b 98 80 a1 ec 61 53 63 b9 a7 89 85 7e a8 0e |b[....aSc....~..| +000002a0 31 e9 9f 82 e9 1a b3 25 b8 d3 bf 4b f7 da 40 ce |1......%...K..@.| +000002b0 30 95 8f 41 75 9e 99 f5 3f fd 90 57 77 ee ad b7 |0..Au...?..Ww...| +000002c0 56 1e fd a6 d6 98 ae d3 a0 36 8a e0 19 a5 64 63 |V........6....dc| +000002d0 8f 08 d3 e6 2b c3 8a 29 90 8d e0 d7 1d 8b 84 6d |....+..).......m| +000002e0 a8 7a 0d 8b 6d 0e d5 fa bd c1 31 13 c7 39 61 f6 |.z..m.....1..9a.| +000002f0 e8 b3 fd 4d fe 49 a0 2c 16 03 03 00 bc 6d 99 1c |...M.I.,.....m..| +00000300 76 24 e6 f4 79 ac da e5 71 78 32 8d df a7 74 a4 |v$..y...qx2...t.| +00000310 e1 22 43 86 62 7a 99 34 9e c1 c7 82 82 f2 ad c0 |."C.bz.4........| +00000320 cb e5 54 c7 2d 3f bd 00 ba 4f 9f 6b 90 c2 2c bf |..T.-?...O.k..,.| +00000330 d5 d1 20 48 28 f0 bc 21 d4 1f 8d a9 89 82 ce 3d |.. H(..!.......=| +00000340 b2 52 bd 91 57 65 da 07 74 d9 56 b3 54 a7 2c 20 |.R..We..t.V.T., | +00000350 93 5e 79 59 d0 d3 33 95 a9 de f6 a4 48 37 11 10 |.^yY..3.....H7..| +00000360 a7 34 2a 2b 30 a5 24 03 5b d5 63 78 1f ad ca 70 |.4*+0.$.[.cx...p| +00000370 ff f9 22 ca bc 23 ac 4d eb 5a d7 de af 31 72 25 |.."..#.M.Z...1r%| +00000380 84 24 72 b7 b8 c0 a5 7a b6 7e a9 95 42 bb 5e 52 |.$r....z.~..B.^R| +00000390 6c 13 87 c2 b5 17 04 a8 0a 43 d0 b4 96 12 12 4b |l........C.....K| +000003a0 1e d1 0b ab a1 5d 1a bc 48 15 ec 88 e6 7b 57 aa |.....]..H....{W.| +000003b0 da 3b 7f 0b cc 11 93 8f ee 16 03 03 00 4a 35 4e |.;...........J5N| +000003c0 5f 82 88 e9 d5 24 cc 81 3c 0a cc 49 63 13 ea 0c |_....$..<..Ic...| +000003d0 e6 d7 a9 f2 7b 4f 7f d4 c1 d8 71 4e 1d e6 68 e6 |....{O....qN..h.| +000003e0 7e ba 73 f8 23 a5 af 1a 05 35 4c bf 88 8d 8a 90 |~.s.#....5L.....| +000003f0 09 26 34 1d b6 88 92 2d 60 92 52 2c cb 45 02 a4 |.&4....-`.R,.E..| +00000400 78 54 3d a3 44 d3 f9 46 16 03 03 00 14 58 29 f7 |xT=.D..F.....X).| +00000410 44 f4 a0 9f 65 d8 47 1a 01 7e 1b 95 3b 5f 1f 4a |D...e.G..~..;_.J| +00000420 12 |.| >>> Flow 9 (client to server) -00000000 16 03 03 02 69 8a dc ce d1 c0 85 30 95 6c da 57 |....i......0.l.W| -00000010 23 05 39 c1 4c 20 08 25 a2 96 f1 55 a1 77 3b 42 |#.9.L .%...U.w;B| -00000020 9f 3d 69 9b 56 49 b4 94 8a 3c d5 85 43 f1 b4 4b |.=i.VI...<..C..K| -00000030 cd e0 67 95 83 34 90 89 81 f0 18 87 28 c0 42 88 |..g..4......(.B.| -00000040 b0 1c d1 cc 0a f0 bb 67 91 55 0b e4 ed 22 52 09 |.......g.U..."R.| -00000050 92 0b 56 ac d0 3f c9 41 05 8a 19 7d e7 9a d7 ff |..V..?.A...}....| -00000060 fa 85 f5 23 b0 98 a0 79 b1 8e 0f 90 0e c8 32 92 |...#...y......2.| -00000070 4b 6a 37 47 45 31 70 be 8b cd 7a 26 3a 3c 0b 63 |Kj7GE1p...z&:<.c| -00000080 a7 8c 00 2c 1d be eb 5c 1f 16 90 76 2b d7 82 5e |...,...\...v+..^| -00000090 31 93 40 7a e0 9a e0 4c 7d 2e e3 84 0f cb 06 7d |1.@z...L}......}| -000000a0 8d 76 41 ea 27 52 4a 77 e5 91 02 ab 11 cc 8c f0 |.vA.'RJw........| -000000b0 fe 8e ee b2 f1 ba 1e ab 0d 5c e2 2d da d5 8d f9 |.........\.-....| -000000c0 7c 22 32 e9 50 1d 88 db af c0 82 51 e0 31 14 71 ||"2.P......Q.1.q| -000000d0 ad c9 05 5d 8e 2b 75 4b 9e 74 b0 3a a9 e4 7c 82 |...].+uK.t.:..|.| -000000e0 ac 75 39 31 0a dc dc 0a 5c f4 ee 55 f2 09 c2 d2 |.u91....\..U....| -000000f0 81 c8 70 2e 8f 37 6b 90 79 5c 18 6e 38 21 c6 00 |..p..7k.y\.n8!..| -00000100 08 be ad 21 e9 40 b6 54 06 f0 61 f9 2c 71 25 0e |...!.@.T..a.,q%.| -00000110 13 6c 66 ef b6 a9 61 d0 d0 42 56 58 32 3c 9c 5a |.lf...a..BVX2<.Z| -00000120 ee 13 1d 42 8b 94 41 9c d1 2e c9 ac d4 ed 0f 04 |...B..A.........| -00000130 1c 6f 5c 30 80 12 37 c6 43 07 7e 03 50 86 24 84 |.o\0..7.C.~.P.$.| -00000140 34 2a 70 82 65 67 35 cd 5e 7c 0e 49 30 35 d4 ee |4*p.eg5.^|.I05..| -00000150 43 b7 7a c3 88 30 e5 ba 98 7f 8d 9e 08 a2 8c bb |C.z..0..........| -00000160 48 44 c2 1a 8d 7b 41 de b6 68 ae d2 8a 64 9b 6b |HD...{A..h...d.k| -00000170 8a 47 88 04 49 05 8a 94 66 da d3 90 78 6d 81 64 |.G..I...f...xm.d| -00000180 4e 6b a5 6f d2 9d 1d 36 6f a2 a3 83 0c f5 69 10 |Nk.o...6o.....i.| -00000190 37 c8 b8 59 c7 b1 5b 91 fc e3 26 37 da 14 80 8f |7..Y..[...&7....| -000001a0 d4 1e 63 51 1d 77 85 67 af 7a 7d e4 5a 27 f9 3f |..cQ.w.g.z}.Z'.?| -000001b0 75 b0 9e 2a 1d 42 29 ac d4 29 c6 0d 2f ee 35 38 |u..*.B)..)../.58| -000001c0 38 91 a4 f1 60 1b d6 49 b2 eb c4 df b6 01 99 69 |8...`..I.......i| -000001d0 06 7c ca 2d aa 15 e8 c5 4f 48 5f 77 87 4b fd 41 |.|.-....OH_w.K.A| -000001e0 cf aa 7d 96 b9 12 ee b7 b3 a2 86 5e 4f 79 08 a1 |..}........^Oy..| -000001f0 00 43 12 93 92 99 07 44 23 48 78 46 c8 fc 4a 96 |.C.....D#HxF..J.| -00000200 88 72 45 2a f4 ff 92 41 7b e5 a0 74 93 ff b8 f6 |.rE*...A{..t....| -00000210 3e e0 6a 3b 3b 12 68 50 89 d1 d3 22 e0 a1 3f ef |>.j;;.hP..."..?.| -00000220 da 18 15 5b c2 48 0e 78 d0 af ae d7 81 af 23 16 |...[.H.x......#.| -00000230 ab 71 07 9d 26 b2 8b 34 7e b2 1a 1e f4 fb 02 9a |.q..&..4~.......| -00000240 f4 15 78 a9 d2 19 94 bb 9f b0 ba 2a 21 20 dd 87 |..x........*! ..| -00000250 57 73 e7 01 08 bc 38 ce 2d 9e dc 3f f7 c4 75 aa |Ws....8.-..?..u.| -00000260 00 9d 28 43 e5 de aa 82 fb e5 ca 87 4e 6c 16 03 |..(C........Nl..| -00000270 03 00 35 e0 37 f9 95 cd 96 f9 ba 36 12 6b 35 c5 |..5.7......6.k5.| -00000280 02 9d 71 8a e5 07 d6 1c 77 6a 86 17 d0 01 9b 79 |..q.....wj.....y| -00000290 74 6b 14 27 33 2f 6d c2 af cb dd 47 71 b3 73 4d |tk.'3/m....Gq.sM| -000002a0 7f 42 3e 7f 86 6e 63 ed 16 03 03 00 98 7f ba 78 |.B>..nc........x| -000002b0 bf a3 d4 02 cb 19 0d 1f 48 bf 4d 9f d0 37 3a c9 |........H.M..7:.| -000002c0 c1 76 6e fb 9a 69 63 0a a1 76 13 2d ea 52 38 18 |.vn..ic..v.-.R8.| -000002d0 71 89 9a f5 02 2e 44 94 72 6d 08 e1 89 9a e1 4c |q.....D.rm.....L| -000002e0 ee 2f 15 9c 0d b6 67 1e 0c 17 b0 e9 03 7d 66 1c |./....g......}f.| -000002f0 28 6b 57 6d c8 49 5d ef ca 4c 51 59 ae 17 55 97 |(kWm.I]..LQY..U.| -00000300 54 f1 f5 64 19 ec 36 27 96 33 0e fd 65 42 ac 50 |T..d..6'.3..eB.P| -00000310 bb cf f9 da fe 98 3d 83 79 a0 24 0d 9f 91 5c b0 |......=.y.$...\.| -00000320 5c c5 04 b4 90 53 c3 8b b5 29 c5 73 7f 04 c6 55 |\....S...).s...U| -00000330 93 4a 08 67 8f f7 a8 ba a8 e2 62 09 85 d3 47 b9 |.J.g......b...G.| -00000340 27 bd 6c 81 95 14 03 03 00 11 88 9b 21 1e 06 0a |'.l.........!...| -00000350 fa 8a 9e 4e d9 7a b3 a5 45 7a 96 16 03 03 00 20 |...N.z..Ez..... | -00000360 6f a0 f0 cf 0b 2b c2 d1 36 d8 64 2b 72 86 7b ab |o....+..6.d+r.{.| -00000370 c7 86 5d c3 67 ec d6 c0 32 4d b8 1f fa d9 3a af |..].g...2M....:.| +00000000 16 03 03 02 69 ef e7 da 35 77 b6 d6 09 a1 71 43 |....i...5w....qC| +00000010 1c 2b 72 d6 65 ea b4 38 e4 13 c1 85 c3 36 bb f4 |.+r.e..8.....6..| +00000020 ef 1a b8 94 de 11 22 6e b8 28 14 05 88 2a 5d 7a |......"n.(...*]z| +00000030 7c 0a 00 ac 74 ce 4f f8 b3 94 5d 5c a1 aa 3e 20 ||...t.O...]\..> | +00000040 ee 0b e3 50 3d e7 4f 4d ad 5c 9e 6e 8e 75 26 b4 |...P=.OM.\.n.u&.| +00000050 80 e1 85 3f ae 76 6f 95 6e f0 79 98 3d 86 17 9c |...?.vo.n.y.=...| +00000060 e9 d6 35 1d f5 15 ea c5 29 67 15 9d 03 4b 41 9d |..5.....)g...KA.| +00000070 25 b3 ab 3a b0 12 d1 ff fc 9e 25 af ff 8a c8 1c |%..:......%.....| +00000080 4b 4e f0 10 9d d3 98 6e 66 0a 13 82 b9 04 d7 39 |KN.....nf......9| +00000090 b2 2c c5 f9 cf be 4b 8b 8a 28 e9 24 db c8 fe d6 |.,....K..(.$....| +000000a0 a1 b1 3c 9e 19 92 0b 5d 2e c8 5f 56 35 dc 16 46 |..<....].._V5..F| +000000b0 7b a1 d2 43 d9 ee 3f a7 74 c1 4c ed 2a 84 4a ad |{..C..?.t.L.*.J.| +000000c0 76 a2 bc 90 8d 19 06 11 1a 6d b8 e0 3a 8e 0d 33 |v........m..:..3| +000000d0 f2 ad 06 d7 e5 a3 16 8c 14 07 4c 84 8a 47 13 c1 |..........L..G..| +000000e0 b1 cb 81 8b d7 5b fb 04 2b da 3c 7f d1 0f 2b 8b |.....[..+.<...+.| +000000f0 23 ad f5 f1 09 82 24 80 5c bc f7 68 69 c0 90 5f |#.....$.\..hi.._| +00000100 fa 96 b4 9d 51 0e 96 1e 06 2a d1 98 5d 96 95 68 |....Q....*..]..h| +00000110 de df 40 f9 f6 b1 f2 ef a7 c4 0c 05 ee b3 63 8d |..@...........c.| +00000120 3a 1e a2 d8 34 2a b2 99 c3 17 03 60 18 4f 43 21 |:...4*.....`.OC!| +00000130 99 4f 81 c1 11 8e a4 45 79 d8 fa fc b2 9a f8 d0 |.O.....Ey.......| +00000140 95 10 79 38 45 1b 82 42 f0 bb 75 27 6b a2 53 d3 |..y8E..B..u'k.S.| +00000150 e6 dd 2d 43 f5 80 fd 9a 59 ec 07 42 ee b0 9d bd |..-C....Y..B....| +00000160 33 dd 58 c8 57 e8 16 de a4 21 c9 92 51 d2 e5 8b |3.X.W....!..Q...| +00000170 48 f5 cb a8 3a d8 f6 a3 b2 00 90 9e f0 e0 ca c7 |H...:...........| +00000180 fe 79 70 f7 8e 5c 4b 3c 86 c8 cc ca b1 b6 05 e2 |.yp..\K<........| +00000190 90 66 db 85 fc 7c 87 6f e0 44 ed 2a c9 66 b7 de |.f...|.o.D.*.f..| +000001a0 c5 f0 d2 80 dd f2 c2 26 5b 84 cf b0 c4 78 7e 65 |.......&[....x~e| +000001b0 66 d9 d8 c5 fe 97 b9 27 6e 55 11 c0 0b 3e e2 c9 |f......'nU...>..| +000001c0 ce 4d dd 27 28 6f 62 45 70 b3 e4 0c 18 31 f1 b2 |.M.'(obEp....1..| +000001d0 33 8f 7d 34 7c f6 f3 50 d9 a9 6b ec a7 cf c2 7b |3.}4|..P..k....{| +000001e0 36 21 d7 76 68 c1 0e 90 8d af 2e c5 d5 26 c7 c1 |6!.vh........&..| +000001f0 0b 1c 43 85 a6 43 3e 96 67 46 2d 1e 0a c8 90 99 |..C..C>.gF-.....| +00000200 0f 71 cc 60 49 68 2c df 17 68 e4 fa 79 05 50 ac |.q.`Ih,..h..y.P.| +00000210 16 d0 26 1f 7e 58 a2 dc 73 e9 05 8d 92 f6 8c 56 |..&.~X..s......V| +00000220 db 08 0a b7 99 64 f7 5b d0 5f f3 88 f5 02 f5 d0 |.....d.[._......| +00000230 66 55 e3 db f4 d1 c9 d3 c1 f4 ab 8c 5c 39 fd 64 |fU..........\9.d| +00000240 ec cd ab 63 da 7b 3e 64 1a b4 c3 d9 79 bd 92 e3 |...c.{>d....y...| +00000250 97 68 a4 83 b5 f1 fa f5 05 04 84 39 e9 82 a6 84 |.h.........9....| +00000260 e5 a0 6f a2 6d ea 6b ab 4c f8 a5 87 9c 9c 16 03 |..o.m.k.L.......| +00000270 03 00 35 08 0b 50 f9 90 d3 e9 58 e5 5b df a1 99 |..5..P....X.[...| +00000280 89 ea 0b 1a f1 4d e3 fd a6 79 2c 61 ac 6f da 7c |.....M...y,a.o.|| +00000290 2a 78 e1 38 05 35 2e 8b db eb 25 fd eb 2f d7 a3 |*x.8.5....%../..| +000002a0 27 9d 27 f2 b3 ff 20 8a 16 03 03 00 98 95 42 7e |'.'... .......B~| +000002b0 d5 86 40 42 dc 93 fe 80 ef 70 cc fb 2f b1 51 bd |..@B.....p../.Q.| +000002c0 ca 5f 1e 0d a0 3f c6 e0 c9 69 0e d4 dc 18 25 52 |._...?...i....%R| +000002d0 5c c2 8c 37 f6 a8 e6 4d 48 27 81 4d 7a f3 49 5c |\..7...MH'.Mz.I\| +000002e0 92 92 68 a9 e0 dc d6 c5 b5 ea 99 5c 51 df 93 a1 |..h........\Q...| +000002f0 36 2d 65 a8 cb ca 72 76 53 92 7d c7 81 5f 19 2c |6-e...rvS.}.._.,| +00000300 3e 83 29 16 41 65 4f 81 d7 3f 5c 15 f0 36 d9 75 |>.).AeO..?\..6.u| +00000310 a7 c8 52 6f 5b b6 98 46 5e 39 31 83 1c 99 3f f9 |..Ro[..F^91...?.| +00000320 9e 28 d7 94 ae a7 b4 f7 c9 ce 5b 74 2f 88 9e fd |.(........[t/...| +00000330 3c 1c 1e eb f4 b3 39 65 39 07 14 8e 3e 95 87 b2 |<.....9e9...>...| +00000340 b8 4c e8 7d 3b 14 03 03 00 11 cc eb 21 2a 7c 9a |.L.};.......!*|.| +00000350 5c 35 9f 35 e3 09 dd f8 7a 4f 43 16 03 03 00 20 |\5.5....zOC.... | +00000360 0b ff 00 c0 96 43 18 d9 9d ad 51 55 44 40 11 2f |.....C....QUD@./| +00000370 cd 1c bd ae ea 0a c9 eb de 57 95 c2 81 63 79 4c |.........W...cyL| >>> Flow 10 (server to client) -00000000 14 03 03 00 11 b4 79 7e 62 ea ea f7 37 1d a4 65 |......y~b...7..e| -00000010 9d 02 95 b8 4a 6c 16 03 03 00 20 6a 45 d1 d0 ff |....Jl.... jE...| -00000020 fa 9f 6a ea d5 0d 27 b6 e7 15 8b e8 5b f9 3c d0 |..j...'.....[.<.| -00000030 32 ff 81 24 9a de 1c 31 6a 48 f8 17 03 03 00 19 |2..$...1jH......| -00000040 a9 07 ab fb 37 2f 88 0c 93 4a 0c 34 08 26 39 8c |....7/...J.4.&9.| -00000050 22 00 1b 36 3c 6d 0c 49 61 16 03 03 00 14 bb 63 |"..6>> Flow 11 (client to server) -00000000 16 03 03 01 1a a4 4c dc 47 09 04 ab bb ca 49 f2 |......L.G.....I.| -00000010 63 36 35 fb e3 3f ad ae 82 2a 9b 87 cc 0c 2e ea |c65..?...*......| -00000020 18 af ad e9 ea 7a c8 45 de c6 9b 0e e0 32 26 95 |.....z.E.....2&.| -00000030 ba e3 57 9e 27 ce ff 36 43 a3 bd 79 47 6c 02 86 |..W.'..6C..yGl..| -00000040 81 44 ac b3 c6 21 d8 fa 8c 69 43 b7 66 70 ea 24 |.D...!...iC.fp.$| -00000050 12 1b ac 44 d2 49 e3 5a d1 0e 50 76 46 4f 58 51 |...D.I.Z..PvFOXQ| -00000060 21 4c f8 20 63 60 c0 20 3a 12 e5 0b 86 e3 03 2c |!L. c`. :......,| -00000070 e1 fc 63 e4 44 d4 67 95 aa af 22 3d 40 7b 4e 12 |..c.D.g..."=@{N.| -00000080 98 7d 05 00 57 50 d5 3a d7 af dd 96 0f ac 77 63 |.}..WP.:......wc| -00000090 f8 1c b0 9c d0 96 9f 20 a1 48 55 aa dc 69 fb b7 |....... .HU..i..| -000000a0 67 58 ff 27 de 22 ea 66 48 32 56 1f ef 12 3f 44 |gX.'.".fH2V...?D| -000000b0 38 af ae 4b c2 16 bb c8 f1 fe 13 d7 05 66 de 08 |8..K.........f..| -000000c0 f3 4d 5c a6 e1 2d 0d c3 ce 50 7b 01 40 49 0f 83 |.M\..-...P{.@I..| -000000d0 97 c0 37 a2 6c 2b 64 a9 40 0e e1 7b f4 6e e1 cc |..7.l+d.@..{.n..| -000000e0 1a 5f 0b c5 69 dc dc db 0e a2 22 7b cf ca 73 81 |._..i....."{..s.| -000000f0 fc 47 47 c7 76 18 8e ae 55 6c fe 5e 5e 33 84 9c |.GG.v...Ul.^^3..| -00000100 4c 1b f8 21 29 3c 47 1b c8 01 38 7d c2 50 45 1c |L..!).1....#..tE{..| +00000120 d8 c8 c0 8b 00 72 ee d8 a9 64 b8 1b 48 77 98 b9 |.....r...d..Hw..| +00000130 20 61 b8 23 17 b5 65 7c fb | a.#..e|.| >>> Flow 12 (server to client) -00000000 16 03 03 00 85 bb 34 66 c0 a3 8c 2b 2c fe fe 82 |......4f...+,...| -00000010 53 a1 07 1f 06 db 41 94 ac 21 f2 c4 23 0e b6 48 |S.....A..!..#..H| -00000020 4d 16 97 2a 79 dd 95 4c 93 7f e4 8c 94 90 d4 02 |M..*y..L........| -00000030 3c 44 b4 80 80 7b 45 84 53 3f 6b 9f f6 b6 d3 0c |.c....>TP..alX | -00000200 da a8 5a f7 46 9d a3 57 a1 60 72 59 82 dd f7 08 |..Z.F..W.`rY....| -00000210 9e 48 16 8d b1 c0 f4 d2 e0 4e 5d 3c bf 23 88 0f |.H.......N]<.#..| -00000220 99 90 b0 a9 7e df 0b f5 1a 31 9e 59 e1 05 43 4e |....~....1.Y..CN| -00000230 4f d9 a5 b1 00 2e f2 c8 10 2c 73 ec c4 62 b8 c3 |O........,s..b..| -00000240 59 53 ce 38 37 9d c3 f6 77 36 34 f2 07 a6 21 1f |YS.87...w64...!.| -00000250 62 56 08 d3 ed ae 51 05 4d ed ef 7e 77 c5 7d ae |bV....Q.M..~w.}.| -00000260 b6 aa 74 e9 9a df 5d 89 c2 9f 07 75 a0 c2 35 2d |..t...]....u..5-| -00000270 cc 13 c5 a9 17 85 79 b6 45 0c 82 56 0d 19 9e bc |......y.E..V....| -00000280 e7 1a a6 cc 20 6f f9 7c 29 54 2f 5a 92 1f c0 8b |.... o.|)T/Z....| -00000290 9c a7 a3 85 43 f2 4c e7 c5 e3 af 6e 40 f4 14 d4 |....C.L....n@...| -000002a0 b8 26 5f ac d7 44 16 6d 40 d5 80 c5 49 df 8d fe |.&_..D.m@...I...| -000002b0 06 1c 7c 19 49 94 50 6f e8 8c e0 59 80 9a a0 0e |..|.I.Po...Y....| -000002c0 50 3f 03 de c9 30 88 15 91 83 4e a8 df c3 65 75 |P?...0....N...eu| -000002d0 cd 30 3e 7d 32 4a d9 ff 72 1e 1d 90 50 f3 67 8a |.0>}2J..r...P.g.| -000002e0 6a 94 c3 92 9a d4 0b 20 7e 61 98 6e db d0 71 4a |j...... ~a.n..qJ| -000002f0 8b 43 82 7e 76 e6 93 f7 16 03 03 00 bc e6 e6 85 |.C.~v...........| -00000300 a8 2c 74 47 10 a3 27 26 f7 46 fb da fa 6a 93 2c |.,tG..'&.F...j.,| -00000310 b1 14 b2 90 d3 4e 94 42 c4 37 6d 4d 43 73 b4 a7 |.....N.B.7mMCs..| -00000320 17 c1 3c 62 5d e4 c4 04 7c f7 13 39 9f a8 3f 05 |....d....| -00000390 e5 f8 f3 75 54 65 f4 6f e9 c8 eb a2 6c 06 98 fd |...uTe.o....l...| -000003a0 e9 bb a2 93 ab ee 0b fa c7 b4 fa e1 91 34 a9 a7 |.............4..| -000003b0 b9 14 16 25 32 88 09 3e b1 16 03 03 00 14 d0 c0 |...%2..>........| -000003c0 54 b2 37 35 9b cf 51 71 28 b2 d6 86 05 16 ad a0 |T.75..Qq(.......| -000003d0 18 e7 |..| +00000000 16 03 03 00 85 93 93 97 db ec 52 74 ce 78 ca e6 |..........Rt.x..| +00000010 95 19 ac 68 2c 81 ad 6b c3 6d d5 f7 84 a1 00 d0 |...h,..k.m......| +00000020 15 4c ae 2d 10 6a 07 d3 82 af af f8 d9 5d 9d 65 |.L.-.j.......].e| +00000030 8d c9 1e 8c 61 3e b3 67 71 89 41 7e 94 1e 4a 27 |....a>.gq.A~..J'| +00000040 73 53 83 d4 70 44 9a 4f 8d e7 62 af 9b 71 9e 83 |sS..pD.O..b..q..| +00000050 72 9a a1 e2 03 47 5f c3 11 4f 56 b9 6f 02 b5 b8 |r....G_..OV.o...| +00000060 8b 4a cb 99 ed 62 58 45 2d 0f f1 25 ce e9 de 7d |.J...bXE-..%...}| +00000070 3f 17 a8 35 d5 73 06 6e d6 bc 77 2a 82 27 d7 92 |?..5.s.n..w*.'..| +00000080 91 67 68 07 52 4b ed a0 3c 95 16 03 03 02 69 11 |.gh.RK..<.....i.| +00000090 73 93 d5 ad 00 17 11 3b 83 81 68 6d 3a 8a 02 1b |s......;..hm:...| +000000a0 90 df 84 f6 2b 4a b8 98 cf 50 0d dd 29 22 9d 58 |....+J...P..)".X| +000000b0 ea 7b 2c 30 2d e7 e2 d1 ae ad 00 9e 01 f6 ef 96 |.{,0-...........| +000000c0 ae a4 48 58 29 63 1d 2c 19 f3 c2 49 6f cf c9 7b |..HX)c.,...Io..{| +000000d0 e3 ca 5c e7 30 a0 b5 72 a9 3d 61 a2 0f 96 e4 d6 |..\.0..r.=a.....| +000000e0 8f 93 66 f1 de 24 88 14 9f 8b 14 9a b5 94 f7 70 |..f..$.........p| +000000f0 79 e4 94 68 b7 e0 f1 8e d0 1b 56 da d0 ce 90 b2 |y..h......V.....| +00000100 13 b3 4b b5 20 99 77 4a a4 83 47 4e 1b 1f db 35 |..K. .wJ..GN...5| +00000110 96 16 f0 d8 2b 7e 18 bf 0c b7 a3 da 44 fe 4c 96 |....+~......D.L.| +00000120 86 06 52 81 f9 a1 f4 ab 43 6d a3 fd 50 f6 83 08 |..R.....Cm..P...| +00000130 ba b5 d5 15 55 16 aa 84 95 77 1d 9e cd d6 53 d0 |....U....w....S.| +00000140 d3 c7 1c 9a 12 4d 8d 7a b5 0b 02 34 3f cf b5 0f |.....M.z...4?...| +00000150 98 56 cc 6e 15 ef 60 88 e0 71 2e 47 46 ce 19 11 |.V.n..`..q.GF...| +00000160 81 21 fe c6 80 86 d7 be d9 a7 6f a1 8c 8d ff ba |.!........o.....| +00000170 fb 8b 8b 8f 35 95 03 cb 10 e6 f5 71 18 d5 3c e0 |....5......q..<.| +00000180 60 e7 a2 47 36 41 a0 a3 c4 a3 c1 23 6c da 55 6a |`..G6A.....#l.Uj| +00000190 5f ef cd 58 e7 5d d3 cf 50 7b 3d b5 c6 7c 73 d9 |_..X.]..P{=..|s.| +000001a0 ce c3 ae 6a 46 4a 9a e6 10 57 53 b3 6c e5 ec 9d |...jFJ...WS.l...| +000001b0 f0 25 3c a4 a6 f0 42 1a 1e 8c 2b 40 79 e5 51 84 |.%<...B...+@y.Q.| +000001c0 79 6b c5 8a 3d 25 11 38 97 ca 15 11 e7 51 74 29 |yk..=%.8.....Qt)| +000001d0 66 9e 4d 4d 50 6a ec 1d 94 6b 4d c9 e9 a7 f8 4e |f.MMPj...kM....N| +000001e0 5b c3 06 74 ba 1d a1 79 3c 24 94 c9 3b b0 b1 16 |[..t...y<$..;...| +000001f0 fe 42 31 fe d0 4b e4 51 e6 06 63 89 2d 3b 56 6a |.B1..K.Q..c.-;Vj| +00000200 cf 89 4c 45 49 fd 10 58 9b 6b 4b 35 eb d8 c9 9d |..LEI..X.kK5....| +00000210 c0 31 b6 3e 33 da 7e 87 39 e3 c0 6a f8 7f bd 9a |.1.>3.~.9..j....| +00000220 26 4f 42 51 86 40 fb f7 fb cc 50 80 b6 0a 63 f4 |&OBQ.@....P...c.| +00000230 41 62 68 c0 b8 99 7d 8e ab e1 8a 15 92 f2 35 a4 |Abh...}.......5.| +00000240 cc 0e e7 9e 74 2d c1 b4 44 be 25 10 92 02 4f e3 |....t-..D.%...O.| +00000250 e7 ea c4 77 83 18 62 36 ba 9c 77 a6 d4 c1 6f 66 |...w..b6..w...of| +00000260 fc 07 4b 1a 00 98 a4 10 5e bc d5 93 07 e7 0c e3 |..K.....^.......| +00000270 34 05 32 23 c7 60 22 a8 52 fa 6e de 3f f9 c6 cc |4.2#.`".R.n.?...| +00000280 c2 54 08 d4 2a 98 39 20 09 f4 1d 8e d5 18 77 5a |.T..*.9 ......wZ| +00000290 f0 f4 08 a4 66 a7 8e fe f5 25 50 16 ca 4a 8d f0 |....f....%P..J..| +000002a0 b4 9f f1 37 e6 9b db 24 25 d0 a0 57 06 74 e2 14 |...7...$%..W.t..| +000002b0 46 51 e9 9c 03 f0 e0 16 17 d0 c9 54 54 29 e6 04 |FQ.........TT)..| +000002c0 9a c3 47 93 69 78 1a de ca f1 d4 b1 52 ff c0 5c |..G.ix......R..\| +000002d0 9f 5f 16 a9 35 01 f9 18 47 7b ee 06 f4 f3 3a 1d |._..5...G{....:.| +000002e0 94 b9 d5 2c 29 a0 80 85 b0 31 55 37 63 bc a6 e6 |...,)....1U7c...| +000002f0 67 66 21 5f eb 1c 17 15 16 03 03 00 bc 93 4b d6 |gf!_..........K.| +00000300 07 b0 12 ca 98 9f 52 b8 14 c3 6e d4 3b f2 74 e4 |......R...n.;.t.| +00000310 f5 6f 51 40 04 cd 1a 5f 69 fb 3d 68 2b 4e 09 df |.oQ@..._i.=h+N..| +00000320 c8 c9 6f c2 87 ae b6 f9 14 6a 41 fa 59 08 0b b0 |..o......jA.Y...| +00000330 d9 0b d0 61 fd 64 c6 52 3e 40 f2 96 75 b0 82 7a |...a.d.R>@..u..z| +00000340 8e 68 11 d2 bc 22 a0 bc 30 d8 a6 1a 88 26 00 d5 |.h..."..0....&..| +00000350 b5 26 49 c2 5d f3 19 c5 c0 9d 75 c3 f4 3e 95 85 |.&I.].....u..>..| +00000360 d0 8b de 31 79 b5 5c 27 6e 99 ab 50 fe ef 3a 07 |...1y.\'n..P..:.| +00000370 a0 a9 ce b7 4b 29 6b 93 42 6d db 34 6b 14 03 a9 |....K)k.Bm.4k...| +00000380 a8 1f c2 57 65 64 c3 95 ff 2a f8 39 de c3 36 f4 |...Wed...*.9..6.| +00000390 dd 77 b0 cf 86 be c4 9c 1d d5 ea 88 3c 8c ed 81 |.w..........<...| +000003a0 51 fc a9 80 78 bc 59 7d d1 e4 48 d5 d6 07 88 e1 |Q...x.Y}..H.....| +000003b0 d7 85 80 81 3a 35 9c 57 21 16 03 03 00 14 d9 b1 |....:5.W!.......| +000003c0 fb 95 82 67 c4 35 92 cd 47 cb 7b 0f 63 1a e0 32 |...g.5..G.{.c..2| +000003d0 43 75 |Cu| >>> Flow 13 (client to server) -00000000 16 03 03 00 35 e8 18 a5 be 6e 3b 37 5b d3 81 d3 |....5....n;7[...| -00000010 ad 0b 90 2e e0 df 2b 7f c4 ec 54 58 ef 85 e3 13 |......+...TX....| -00000020 41 07 50 d1 06 9b 3e a3 71 30 bf 7d 0c 7a bd 1e |A.P...>.q0.}.z..| -00000030 b6 e9 1e 10 0d 18 e3 b3 1c 38 14 03 03 00 11 bf |.........8......| -00000040 b3 65 ae 3b e6 c2 ad 30 83 75 65 c0 2b 0d 4b 11 |.e.;...0.ue.+.K.| -00000050 16 03 03 00 20 c6 cb f8 69 c3 bc 36 74 ff 8a 1f |.... ...i..6t...| -00000060 02 ef 32 37 fe 4f 14 51 d2 11 6a 98 05 4c 8c f6 |..27.O.Q..j..L..| -00000070 75 05 f9 39 2c |u..9,| +00000000 16 03 03 00 35 36 32 d0 64 c8 ba 33 1d 4f 31 73 |....562.d..3.O1s| +00000010 68 35 f2 76 0c b1 52 12 f5 4b 8a ea 74 0a 7f c2 |h5.v..R..K..t...| +00000020 a4 90 75 1f 24 0a 76 77 1f 01 15 9d 59 fa 16 56 |..u.$.vw....Y..V| +00000030 cc fd f9 08 74 76 31 cc f4 4c 14 03 03 00 11 c0 |....tv1..L......| +00000040 12 9b 35 78 94 a3 4e c3 b2 30 aa c7 fa 44 20 e6 |..5x..N..0...D .| +00000050 16 03 03 00 20 c6 a5 79 48 7b c3 2b 2d 6a 73 0a |.... ..yH{.+-js.| +00000060 83 a9 2b a7 ba 90 ea 6f b5 c2 c1 13 d7 7a 86 37 |..+....o.....z.7| +00000070 5a 24 8e f9 b3 |Z$...| >>> Flow 14 (server to client) -00000000 14 03 03 00 11 a0 fa 14 67 3f 54 1b 61 89 ed db |........g?T.a...| -00000010 9c 66 9f 49 77 2d 16 03 03 00 20 ca 47 f0 57 8c |.f.Iw-.... .G.W.| -00000020 3e 52 e6 e2 6c 01 cb 16 05 68 5e 19 12 ca 80 48 |>R..l....h^....H| -00000030 dc e9 ed 41 33 08 01 ef 6e b0 a3 17 03 03 00 19 |...A3...n.......| -00000040 d9 c8 68 e8 27 3d cf c0 33 71 55 a9 6a b4 6d a5 |..h.'=..3qU.j.m.| -00000050 da 8d bb 34 94 4f b1 c6 22 |...4.O.."| +00000000 14 03 03 00 11 c4 0e 59 d8 5e f6 5b 1d e6 20 7b |.......Y.^.[.. {| +00000010 45 4f 89 cd 2b a9 16 03 03 00 20 58 ff 80 6c f2 |EO..+..... X..l.| +00000020 fd 94 e7 66 b3 6d e3 37 57 8a 8c 35 98 4e bb c3 |...f.m.7W..5.N..| +00000030 42 87 32 b7 3b 6f ee 0f f1 7d 08 17 03 03 00 19 |B.2.;o...}......| +00000040 8a f6 02 17 4e 8a 1e 2b db 44 24 d4 aa c6 d4 af |....N..+.D$.....| +00000050 ef 5a a3 17 ba 77 f4 54 6e |.Z...w.Tn| >>> Flow 15 (client to server) -00000000 15 03 03 00 12 15 66 43 1e 60 21 d1 f6 94 34 3e |......fC.`!...4>| -00000010 ee 90 fc 87 45 2a f5 |....E*.| +00000000 15 03 03 00 12 84 3f 11 0b 00 bd 12 5e be 74 4d |......?.....^.tM| +00000010 04 e4 44 b2 01 73 66 |..D..sf| diff --git a/testdata/Client-TLSv12-RenegotiateTwiceRejected b/testdata/Client-TLSv12-RenegotiateTwiceRejected index 7698b6791da..62b6831a47b 100644 --- a/testdata/Client-TLSv12-RenegotiateTwiceRejected +++ b/testdata/Client-TLSv12-RenegotiateTwiceRejected @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 e3 fe 9a 75 3b |....]...Y.....u;| -00000010 82 ac ff 66 ee c2 e9 75 d9 29 cc 89 6d e0 27 19 |...f...u.)..m.'.| -00000020 62 07 0b 0b c0 49 df 17 26 af 63 20 2a 95 69 54 |b....I..&.c *.iT| -00000030 3c 5d d9 67 05 4c 45 77 d0 d9 46 29 ed 25 fd 7d |<].g.LEw..F).%.}| -00000040 b4 ef 39 d2 ee 3b a3 88 85 c5 78 9a cc a8 00 00 |..9..;....x.....| +00000000 16 03 03 00 5d 02 00 00 59 03 03 a1 1a ae 12 c9 |....]...Y.......| +00000010 55 34 c9 23 81 cb 4f b0 d8 35 97 8e d5 b7 ac 67 |U4.#..O..5.....g| +00000020 e1 9c fd ec 35 61 48 7b d5 c8 8b 20 e1 e9 61 af |....5aH{... ..a.| +00000030 0b 5c 69 7b cb f9 7a ee 73 31 20 07 c3 b9 27 47 |.\i{..z.s1 ...'G| +00000040 07 e1 c0 34 7c c5 8f 31 ac 9d cd 8c cc a8 00 00 |...4|..1........| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,189 +62,191 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 ca 74 42 |............ .tB| -000002d0 03 67 f2 31 ac 68 dd 2c db 23 7d 2c 84 df e9 50 |.g.1.h.,.#},...P| -000002e0 ff ef d4 a1 fa a4 5b 0b 0b 73 20 b7 0e 08 04 00 |......[..s .....| -000002f0 80 41 60 3d b1 1c 1d 14 8a 0a 3e 5c ea ca ce 07 |.A`=......>\....| -00000300 d4 45 18 6c 16 52 40 6f b0 f4 33 38 d7 cf 11 75 |.E.l.R@o..38...u| -00000310 08 4e 7d 8b cc 64 8c 79 dd 42 fa 43 2c 9e 84 91 |.N}..d.y.B.C,...| -00000320 e9 d5 bc 9f 84 2d 10 4b db 4e a6 be 37 e9 2e 34 |.....-.K.N..7..4| -00000330 d7 3e a7 17 80 b5 cd 37 04 2a 6c 2a cc 5f 0c a1 |.>.....7.*l*._..| -00000340 ff c2 31 86 17 50 3a 47 4d 99 49 94 9c 11 12 e2 |..1..P:GM.I.....| -00000350 70 fa d1 f4 7e 3a f2 3a df 16 34 45 0a b2 7b 73 |p...~:.:..4E..{s| -00000360 fa 59 23 85 88 74 2b e6 1e cb c7 00 f5 96 c8 8a |.Y#..t+.........| -00000370 02 16 03 03 00 04 0e 00 00 00 |..........| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 95 6f d7 |............ .o.| +000002d0 37 b9 49 ff 98 39 6f 25 c5 c0 e0 89 61 23 2d 22 |7.I..9o%....a#-"| +000002e0 5b 86 d6 7f a1 19 07 f7 12 4d 01 e6 1b 08 04 00 |[........M......| +000002f0 80 ca fd 6e 23 09 33 a7 0c 9b 4b 2b 38 37 a0 32 |...n#.3...K+87.2| +00000300 21 a4 e4 fe 56 b6 4e c6 d1 e6 86 fa d9 13 b4 f3 |!...V.N.........| +00000310 72 bf 31 ef c3 33 e9 99 a1 bf a4 e5 10 46 44 7d |r.1..3.......FD}| +00000320 cb ea 38 99 d0 bc 1f 16 81 fb ad 09 7e 9e 54 99 |..8.........~.T.| +00000330 40 c2 44 65 94 53 88 c3 28 db 7f 1b fa 52 f1 63 |@.De.S..(....R.c| +00000340 9a e9 f2 43 7f 19 2b 3e 02 3d 53 ed a1 f9 9a ff |...C..+>.=S.....| +00000350 aa af 8d 4c ab bf d2 7a b4 ea 1e f9 22 fe ee 7e |...L...z...."..~| +00000360 a1 3e dc d4 f1 76 d1 4e 7b 1b 84 f6 b3 a7 f7 a9 |.>...v.N{.......| +00000370 37 16 03 03 00 04 0e 00 00 00 |7.........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 0a a7 0c 5f 47 d1 7c 5e ea 63 82 |.... ..._G.|^.c.| -00000040 83 27 6c bc 29 20 25 ec 3d 15 2d 59 94 e7 9d 2c |.'l.) %.=.-Y...,| -00000050 8b 4e 95 85 fc |.N...| +00000030 16 03 03 00 20 d0 64 37 7c 81 1c cd 86 e7 ab 97 |.... .d7|.......| +00000040 25 1d c5 ee bd 5a 49 44 69 c8 3e db 37 6a dc 9a |%....ZIDi.>.7j..| +00000050 fd e2 5e 82 16 |..^..| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 03 84 99 6b f7 |.......... ...k.| -00000010 3e 44 b1 96 6a 09 75 bf 26 4b 67 30 c4 e9 86 74 |>D..j.u.&Kg0...t| -00000020 4d e1 e3 9b fa 15 8e 1e 72 f9 5a |M.......r.Z| +00000000 14 03 03 00 01 01 16 03 03 00 20 18 71 b3 67 a3 |.......... .q.g.| +00000010 98 36 20 8f e4 17 30 e4 73 de 91 88 ef f7 f3 8a |.6 ...0.s.......| +00000020 c6 0e 5e b2 1f e2 e6 5a 52 f6 72 |..^....ZR.r| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 68 29 2f 1b 1c 9d 28 6e b6 e5 09 |.....h)/...(n...| -00000010 4a 77 96 23 20 da 67 9e 14 ec 6b |Jw.# .g...k| +00000000 17 03 03 00 16 20 c3 2a be 39 d2 7c 1c 83 30 cc |..... .*.9.|..0.| +00000010 7b cd 44 ae 2b e8 d4 19 50 69 81 |{.D.+...Pi.| >>> Flow 6 (server to client) -00000000 16 03 03 00 14 66 e8 13 d1 b5 13 cf 5c 71 7b d9 |.....f......\q{.| -00000010 63 29 3d be 68 9f f4 ad 7b |c)=.h...{| +00000000 16 03 03 00 14 96 2f 3a b5 b5 56 c9 d5 38 c0 1a |....../:..V..8..| +00000010 eb 35 c5 b9 dd 1c 5b e6 50 |.5....[.P| >>> Flow 7 (client to server) -00000000 16 03 03 01 1a cb 21 91 08 de 08 87 fc 63 10 93 |......!......c..| -00000010 24 a3 83 e8 99 07 d5 03 19 61 4e 8e df dd d0 f6 |$........aN.....| -00000020 50 3c fd 14 23 67 cd 74 ad 87 9b b7 8f ee a2 23 |P<..#g.t.......#| -00000030 6c 2f 90 18 f4 01 6b 31 fe ca f7 65 f9 64 5a bc |l/....k1...e.dZ.| -00000040 49 3b 25 4c 35 59 50 f2 bc 70 cb 24 2f ec 47 12 |I;%L5YP..p.$/.G.| -00000050 b6 16 22 9e ce 3b fb 17 f9 59 4e 2f 5c 03 90 47 |.."..;...YN/\..G| -00000060 d5 e8 e9 eb d9 55 bf 8f 28 e8 72 e5 15 21 42 ba |.....U..(.r..!B.| -00000070 86 65 ac b4 f5 53 7e 98 38 39 b5 7d 2a 14 d6 7b |.e...S~.89.}*..{| -00000080 3e 69 9d dc 43 33 ed 0b 8a 77 14 54 9d b0 da 88 |>i..C3...w.T....| -00000090 3b 75 50 01 07 02 99 36 39 4f 01 ee 02 cf 05 a5 |;uP....69O......| -000000a0 71 75 03 3a a5 5c c4 ce 0e 1d ba dd 9d 79 c1 84 |qu.:.\.......y..| -000000b0 81 69 7c cd 63 a4 20 a3 a2 13 8e 6e d7 01 29 8d |.i|.c. ....n..).| -000000c0 35 e2 fa 3d 74 ea 40 06 7e 0b 2d ab 3c 54 73 ef |5..=t.@.~.-....&.FU........| -00000110 43 bd e5 9f 5c 35 02 25 54 17 89 c0 be ab bc |C...\5.%T......| +00000000 16 03 03 01 34 ae 4f 4c 78 20 df 3b 9e f3 c1 82 |....4.OLx .;....| +00000010 37 6b ca fc 48 2a 2c 9a 71 7e c3 20 a0 e8 f7 d5 |7k..H*,.q~. ....| +00000020 76 af 11 81 dd 69 e9 93 58 df 58 8c fb f1 82 ad |v....i..X.X.....| +00000030 35 0e fb 6c a9 58 7a 5d 79 38 cb d7 77 1f 93 34 |5..l.Xz]y8..w..4| +00000040 7e bb 88 61 9e 19 1a 98 bb 6f ad 78 2c a6 73 ab |~..a.....o.x,.s.| +00000050 a4 7e 4b d7 75 69 7b 92 47 68 3d 7b 40 03 60 59 |.~K.ui{.Gh={@.`Y| +00000060 2e 04 bc cd fc ca 45 2c 2c f7 e5 0a 66 49 0b 86 |......E,,...fI..| +00000070 c5 ec 86 e6 ae c9 39 4b 05 1f 21 db 78 8d 51 e6 |......9K..!.x.Q.| +00000080 5d fe be 6a 1d 85 e1 15 23 56 86 4c ba 09 bf 7b |]..j....#V.L...{| +00000090 9e 36 e9 7a 8f 06 af 10 7b 4a 4b af 58 db f9 4e |.6.z....{JK.X..N| +000000a0 13 36 61 f4 e3 a9 c6 37 11 d4 ed 9e 6a c7 bf 16 |.6a....7....j...| +000000b0 ea a4 ae 01 99 4a b5 3e 9c ca 6c ce e8 a2 3d b8 |.....J.>..l...=.| +000000c0 81 ef 60 7b 51 79 81 22 87 49 ad ab fb c6 f6 48 |..`{Qy.".I.....H| +000000d0 c0 ba e0 2b d7 90 42 f7 a8 0d f0 cf 2c 7a 55 7d |...+..B.....,zU}| +000000e0 be 65 a6 67 bd 96 7f 01 6f ce db f6 50 2f 45 b6 |.e.g....o...P/E.| +000000f0 6f cc 74 ba 6f 57 3b e3 a4 08 34 92 e6 ac e4 99 |o.t.oW;...4.....| +00000100 2e b6 9b 29 4d 26 dd 7f 5c f5 1b 7e 5e 5c fd f7 |...)M&..\..~^\..| +00000110 d4 da 81 47 51 8c 3f 94 e1 95 5b de b9 6e 4a 76 |...GQ.?...[..nJv| +00000120 bc 59 6a bb 1f 1c 79 02 93 2e 21 b3 6d be ae b4 |.Yj...y...!.m...| +00000130 95 6b 8a 48 cb 84 fb ab b3 |.k.H.....| >>> Flow 8 (server to client) -00000000 16 03 03 00 85 10 dc 85 7d 1e 66 b2 a4 86 68 a7 |........}.f...h.| -00000010 31 f3 b1 d8 c7 c9 26 6d 74 0a c0 c0 c0 39 ad b5 |1.....&mt....9..| -00000020 1b b1 dc d3 15 9f a4 96 27 dd 65 85 ad 83 2f 97 |........'.e.../.| -00000030 42 6f 8a 9b 58 fc f8 1b 54 89 cd 9c 11 10 b9 1d |Bo..X...T.......| -00000040 c3 e1 8e 89 20 a5 2d 0b 31 b5 e0 16 54 ce 93 9b |.... .-.1...T...| -00000050 de cc b1 af 48 48 33 96 4d a6 00 78 7b 60 3f 7c |....HH3.M..x{`?|| -00000060 cd 86 64 5e 38 e8 fd 60 d4 b1 89 cd e4 fb 42 b5 |..d^8..`......B.| -00000070 82 8f e5 23 91 87 6d 54 9e 85 37 34 df ae 70 a5 |...#..mT..74..p.| -00000080 cd 4c de 95 f7 9f a9 b4 87 0b 16 03 03 02 69 d1 |.L............i.| -00000090 c2 87 4e c8 26 b3 89 88 da c0 b9 24 84 88 c0 76 |..N.&......$...v| -000000a0 94 08 eb 56 5d fc 96 81 18 f3 5b 90 f1 38 e5 ae |...V].....[..8..| -000000b0 b5 4e 9a c1 19 19 1a b3 40 55 08 cb 0e 3b 93 b3 |.N......@U...;..| -000000c0 d7 74 80 3a 7c 0d eb be 70 0e a9 50 88 d2 52 11 |.t.:|...p..P..R.| -000000d0 2d 55 cf d9 9d aa 92 bd 15 ab 1a 62 b3 26 09 3f |-U.........b.&.?| -000000e0 50 2b b8 f2 00 a2 5a 2b 98 e3 bb e2 c7 0b 07 0e |P+....Z+........| -000000f0 5a e5 2e 08 27 87 f3 0b 1b f7 f7 82 49 cf 08 d6 |Z...'.......I...| -00000100 7c 78 39 0e 92 e7 28 f4 8f 12 ac 6a c2 72 46 e8 ||x9...(....j.rF.| -00000110 92 bf 36 c7 52 46 7a 01 92 6d a9 08 19 2a 07 70 |..6.RFz..m...*.p| -00000120 8c b2 40 7d 7f 00 27 ea fb e6 24 5c d2 d8 ae 99 |..@}..'...$\....| -00000130 0b cc 2a 4b 35 12 de 85 e9 b5 e2 2d 80 39 6d 17 |..*K5......-.9m.| -00000140 7a ca ef ca bb 58 1e 13 86 10 bc 4d 8a df 32 ba |z....X.....M..2.| -00000150 3b 7e f5 40 ec af 2e 63 be f3 38 02 a9 9d 30 1f |;~.@...c..8...0.| -00000160 c4 d2 04 93 df e1 8a bb 5d f0 6a a8 d9 b9 ad bf |........].j.....| -00000170 da d6 5e bd a1 a8 b8 20 91 26 ab 50 fd 2b bf e1 |..^.... .&.P.+..| -00000180 56 33 e3 e4 4f 3f 21 ea 86 10 e9 35 84 03 70 0b |V3..O?!....5..p.| -00000190 bd dc 44 fc 58 1d bc 9e 3a 0d 3b 61 13 d6 33 1b |..D.X...:.;a..3.| -000001a0 97 a8 67 bf e6 d9 1d 34 69 70 93 4a 6c 28 88 01 |..g....4ip.Jl(..| -000001b0 01 9d 78 59 c0 58 66 c3 70 e4 ba 74 e6 0f f7 27 |..xY.Xf.p..t...'| -000001c0 8b dd 05 ac 0d 99 dc e9 c8 2f 16 ee 59 53 91 d7 |........./..YS..| -000001d0 28 27 db ad 85 e6 d0 72 28 81 31 e1 e7 bf dd 95 |('.....r(.1.....| -000001e0 75 ff d6 a9 dc 4f 30 37 52 07 87 cb 8d a7 4a 00 |u....O07R.....J.| -000001f0 22 53 3c 6d 91 94 11 5d 0a a8 21 ea 1f 18 4e 42 |"S...A...| -00000390 37 c3 62 b5 30 89 4d b6 6c 5c f2 8c ff 3c 2e 48 |7.b.0.M.l\...<.H| -000003a0 bf 0f 5f 3e e0 b2 d7 64 2b dc 42 ad 2f 83 b5 6b |.._>...d+.B./..k| -000003b0 5a 04 51 f8 c4 07 c2 61 e4 16 03 03 00 4a a9 18 |Z.Q....a.....J..| -000003c0 58 79 d8 ad 86 d7 b6 77 39 76 99 b4 0a 29 72 b1 |Xy.....w9v...)r.| -000003d0 eb c3 ec 95 4d 30 4c 21 1a 7f 52 da 56 21 78 b7 |....M0L!..R.V!x.| -000003e0 fe dd d3 0e fc a9 89 40 99 97 12 68 7e 28 6e 32 |.......@...h~(n2| -000003f0 5b c0 e8 b4 42 eb ee 83 c2 ae 0d 28 99 48 46 a9 |[...B......(.HF.| -00000400 64 38 60 59 c2 dc 5c 7b 16 03 03 00 14 78 72 cf |d8`Y..\{.....xr.| -00000410 ac 5d 53 7e 73 b1 6e e2 0a 8e 12 33 be 03 86 6a |.]S~s.n....3...j| -00000420 ce |.| +00000000 16 03 03 00 85 60 c6 c2 9b 61 f1 1f 81 6f f1 0b |.....`...a...o..| +00000010 87 2d f2 93 a6 4e 7e 74 c2 61 cf 1d a1 00 32 8f |.-...N~t.a....2.| +00000020 f7 3d 93 da 91 cc 5b d5 21 c6 ba 4c 1b eb 81 a9 |.=....[.!..L....| +00000030 a1 2a fe 88 6d 3e 1d 1f 57 22 9c ff fe 6c 85 ca |.*..m>..W"...l..| +00000040 0b 13 f3 9f 63 55 b9 49 61 2b dd 5e 2b e1 fd ec |....cU.Ia+.^+...| +00000050 1d 0d 94 06 42 dc 2c 6f 88 22 cb 30 4f 66 6f 16 |....B.,o.".0Ofo.| +00000060 3a a0 c0 23 12 82 46 38 70 68 e5 12 b9 16 12 e7 |:..#..F8ph......| +00000070 38 6b 50 64 55 f0 47 a9 e0 cd 19 01 8e d5 12 96 |8kPdU.G.........| +00000080 09 db 5c 52 4b db 9b 26 43 37 16 03 03 02 69 41 |..\RK..&C7....iA| +00000090 52 a8 ca e5 8f e0 33 4b 52 93 74 ef bb 42 20 d1 |R.....3KR.t..B .| +000000a0 cc 24 79 ce df 51 90 e0 19 b1 11 fb e9 ef b5 e4 |.$y..Q..........| +000000b0 ae da 72 e1 35 a8 41 88 a8 4b 68 d2 50 58 ba ef |..r.5.A..Kh.PX..| +000000c0 b0 1e 20 26 a3 c2 86 a7 68 60 84 2d 23 14 38 21 |.. &....h`.-#.8!| +000000d0 12 60 05 2f 79 9e c0 08 4c 87 a7 41 b3 d3 84 9a |.`./y...L..A....| +000000e0 f1 45 bd 2d ff 7c b5 bd c4 3a b1 48 10 9a d8 cf |.E.-.|...:.H....| +000000f0 ce 58 47 75 e1 6d 01 b6 18 bd 78 6b 86 a1 f2 1b |.XGu.m....xk....| +00000100 c8 03 4d 0a ce ce d4 68 8f 9a 54 1e 83 83 89 2c |..M....h..T....,| +00000110 36 a2 3a b5 95 09 de c5 8e 8c d0 a4 95 59 7e d6 |6.:..........Y~.| +00000120 f8 5f 96 e9 c5 cb 9b 6c c0 b7 55 15 b3 b4 d0 ea |._.....l..U.....| +00000130 bf 11 1c 89 1a 5c f2 09 74 9a 43 73 4f 6f 00 33 |.....\..t.CsOo.3| +00000140 b9 e0 6a 99 b9 e0 02 86 dd cd 07 68 72 63 0d 8b |..j........hrc..| +00000150 e0 e8 12 68 4d f6 3b dc 0a 93 82 48 ce f7 96 ba |...hM.;....H....| +00000160 7f c5 90 07 45 66 3d 47 b8 8d 5f 0d 41 8d 88 76 |....Ef=G.._.A..v| +00000170 bf ce 9c 2a 2e 25 7c 47 f6 96 73 0b 43 42 73 2c |...*.%|G..s.CBs,| +00000180 d5 b3 bc 82 c5 19 2f 5d c4 69 21 7d c8 7b 1b b8 |....../].i!}.{..| +00000190 b6 d1 37 89 92 a6 b7 44 cd e6 23 1f a1 03 08 05 |..7....D..#.....| +000001a0 1e cf 54 78 e9 af 04 bc e3 94 aa 12 ce 67 62 ce |..Tx.........gb.| +000001b0 f4 2f ef f7 2b 8d 65 06 08 07 2f c6 fa b2 d2 c8 |./..+.e.../.....| +000001c0 f1 d7 c4 1f cc 8b 0e b8 f2 b2 1d fb 09 19 5a b0 |..............Z.| +000001d0 a3 23 6e 05 20 9a 28 39 16 05 0e c4 7d d0 59 f5 |.#n. .(9....}.Y.| +000001e0 9a de 88 da a2 c0 fb 7b 84 19 05 7d 80 6f 9a 03 |.......{...}.o..| +000001f0 0a f8 5f 97 a2 b4 c0 d9 6d 79 f5 c0 51 d3 63 d2 |.._.....my..Q.c.| +00000200 b8 ee a6 b0 76 59 7f 92 6d ad 3c bb 96 34 ac 0c |....vY..m.<..4..| +00000210 81 61 c5 07 7e 65 f1 c3 dd 3e 69 ad ee 7f 56 8d |.a..~e...>i...V.| +00000220 d7 92 48 5c 23 be 94 44 2e 8a 13 76 ce a3 cb d2 |..H\#..D...v....| +00000230 86 d5 eb 2c 48 55 fd 31 c1 94 08 55 69 8c 20 cd |...,HU.1...Ui. .| +00000240 65 fa 47 5e 8e 7f 04 a4 a0 54 c3 cf 4e b5 a0 61 |e.G^.....T..N..a| +00000250 3a 66 fd 21 5d 42 ab b3 46 d8 2a 64 69 1a d3 da |:f.!]B..F.*di...| +00000260 41 65 2c 36 50 f1 79 c3 83 01 d2 87 41 d9 10 1d |Ae,6P.y.....A...| +00000270 75 a2 74 de 48 e3 9c 9e c8 96 58 45 43 82 dd d6 |u.t.H.....XEC...| +00000280 e1 46 66 2f 13 e4 1d fe 81 8f ea 3d 6d 83 d7 97 |.Ff/.......=m...| +00000290 4d ed c6 67 0e 4b e5 a1 ca 2b 24 c5 b1 24 af df |M..g.K...+$..$..| +000002a0 7a 0e 44 b9 c1 5f 07 43 c1 6f 94 d3 22 fb 14 df |z.D.._.C.o.."...| +000002b0 a3 23 38 c9 91 ff 12 41 fa 47 f7 83 fb b6 ca ea |.#8....A.G......| +000002c0 19 01 22 8a ba d7 86 c5 d2 82 2f ac f5 4c a4 e9 |.."......./..L..| +000002d0 90 f5 52 c7 88 96 ae f3 0a 91 53 1c db bf 4b a9 |..R.......S...K.| +000002e0 42 43 0d 2d cc f2 6a 79 1e 9a 3a bd 55 da 5d 6c |BC.-..jy..:.U.]l| +000002f0 a3 84 79 76 7d 96 62 5e 16 03 03 00 bc 51 62 b9 |..yv}.b^.....Qb.| +00000300 26 c9 f7 dd 55 83 aa cd 90 5d e9 9a 29 92 8c 6f |&...U....]..)..o| +00000310 b1 df 4c b7 be 75 89 2b dc b1 ad ae 01 38 27 0f |..L..u.+.....8'.| +00000320 36 43 0b 04 69 6b a4 3a 52 b5 4f df 50 1d 04 ee |6C..ik.:R.O.P...| +00000330 4a f1 a0 6c 06 6f 24 2a f3 dc 7c a4 96 12 e2 83 |J..l.o$*..|.....| +00000340 9c d8 2d 63 2e 3b 1c 73 e6 32 ce 15 76 01 9a a9 |..-c.;.s.2..v...| +00000350 3b a7 dc aa 40 82 4d 5a 68 24 78 4e fe 64 db a4 |;...@.MZh$xN.d..| +00000360 ff 87 6d 90 bc d9 ec 0d ed 8b 54 12 bd 74 16 1d |..m.......T..t..| +00000370 2c 30 57 8f 67 56 7c 09 e6 b1 12 f8 4a 9f e3 79 |,0W.gV|.....J..y| +00000380 c1 8b fa 91 f7 1a 29 bd a3 1f 59 59 16 26 04 10 |......)...YY.&..| +00000390 e4 19 c9 91 a6 b3 c5 b5 df a3 b0 11 a5 87 29 4e |..............)N| +000003a0 5b 9f 96 cf 88 19 9e ae b4 e6 63 19 6d c5 ee 7a |[.........c.m..z| +000003b0 c9 38 2d 0a fd f6 3b f8 f5 16 03 03 00 4a f5 3f |.8-...;......J.?| +000003c0 ef a3 f8 86 1b f5 ce 8e 48 f2 d0 cb 75 d6 80 b2 |........H...u...| +000003d0 78 ef bc 77 a6 aa 91 cd 88 39 62 f8 42 78 7c f3 |x..w.....9b.Bx|.| +000003e0 8b c7 86 71 9c a5 9f 1c 5f 40 25 e9 c6 69 82 a1 |...q...._@%..i..| +000003f0 45 ee d1 9d f7 9c a0 b9 34 b8 82 72 f9 f8 1d fb |E.......4..r....| +00000400 a5 74 b5 a5 68 04 82 c4 16 03 03 00 14 07 9c 37 |.t..h..........7| +00000410 77 ad 83 27 66 2c 3a ba 26 22 2f 72 b4 d1 c8 c1 |w..'f,:.&"/r....| +00000420 06 |.| >>> Flow 9 (client to server) -00000000 16 03 03 02 69 33 a1 bb 7d ff 23 ba ad dc a0 1e |....i3..}.#.....| -00000010 3c 7c 1f 53 59 81 13 04 49 f7 6e bf 8f ef 11 92 |<|.SY...I.n.....| -00000020 51 bf 8a e7 fe ef 76 e4 f8 88 27 95 f4 12 f2 ed |Q.....v...'.....| -00000030 cc ec a6 2d 10 87 19 5e c9 fe cd 12 ae 1a 38 f9 |...-...^......8.| -00000040 78 f1 42 f8 47 26 1b c2 5f 82 a5 aa 65 17 eb 06 |x.B.G&.._...e...| -00000050 03 c8 22 9c 9f 8b 87 26 4a 64 18 93 9c f4 16 82 |.."....&Jd......| -00000060 28 eb 8d 2d f8 51 60 3a f4 bb a3 77 f5 97 2b 6a |(..-.Q`:...w..+j| -00000070 19 db 2e 46 8b d8 08 d8 28 88 bb bd d8 3b c2 bb |...F....(....;..| -00000080 8c 87 1b 17 a0 34 a8 c6 e8 a5 a0 e5 cb d6 9c 9d |.....4..........| -00000090 a6 a4 6c 06 6a 85 0c 5e ef 0c 97 6f b6 11 e7 4d |..l.j..^...o...M| -000000a0 60 91 95 74 48 af 1b 0b 47 03 ed 47 e9 b9 28 36 |`..tH...G..G..(6| -000000b0 74 0d 8a b8 1e 5d 1c cb ea 7b b7 8f 18 e3 b9 b9 |t....]...{......| -000000c0 43 ed 53 f2 bf 7e 8c 8f e6 c0 2a f4 31 25 f5 e8 |C.S..~....*.1%..| -000000d0 44 48 2d 36 4f a7 11 f6 ea 7c 3f d6 2d 5d 3e 39 |DH-6O....|?.-]>9| -000000e0 fb 50 f1 c9 eb 25 be 7a c5 af 54 f5 12 07 04 22 |.P...%.z..T...."| -000000f0 ec 68 45 f1 fd d1 91 0a cf 64 0f f3 58 4e e8 ce |.hE......d..XN..| -00000100 f6 9e c0 57 ea 3a bd a0 5d 26 d4 ab ed 1a 34 12 |...W.:..]&....4.| -00000110 9f fa ec 73 d6 38 06 78 85 3c f9 cd aa fb fd 32 |...s.8.x.<.....2| -00000120 cb e0 a7 d0 bb 71 b0 a3 d2 b9 89 5e a9 57 18 7e |.....q.....^.W.~| -00000130 c0 c9 2e e3 e5 07 65 6f 4c ad 22 78 50 f2 87 0f |......eoL."xP...| -00000140 cd 93 b3 19 a9 73 e2 1d bf 38 a0 20 8d 3a 3a 4e |.....s...8. .::N| -00000150 b3 02 b7 11 1f df 12 60 dd 10 1c f8 75 4a 52 86 |.......`....uJR.| -00000160 71 61 88 37 b3 bf f7 2d 45 6d 10 4a 9f 80 b3 fc |qa.7...-Em.J....| -00000170 36 d4 d3 9f 08 f2 bb ce 9c 3a 9a 59 f6 0a 0a aa |6........:.Y....| -00000180 7f 61 29 0b df 29 92 09 55 ec 1c 84 d6 1f 7c 68 |.a)..)..U.....|h| -00000190 72 00 88 5e e3 6a ee 35 45 7a 0b 49 35 0e 2d 7c |r..^.j.5Ez.I5.-|| -000001a0 ac 8b 9f 9c 94 48 2d 1e 74 24 68 14 8e 16 b4 06 |.....H-.t$h.....| -000001b0 24 66 a3 18 f4 ff 21 31 4b 9b bb 09 8a 9d 57 e4 |$f....!1K.....W.| -000001c0 a1 5c ae f1 e1 4b 5c 2a be 64 3c 7a 61 10 3d 73 |.\...K\*.d....^O| -000002f0 f7 4b 38 70 d0 82 42 f2 5a c9 34 d2 76 7b 8d e4 |.K8p..B.Z.4.v{..| -00000300 0b c7 3d be 86 7d 21 8c f8 9f 1a 4a dc 48 07 12 |..=..}!....J.H..| -00000310 ab 4c 98 f7 8b 3e 02 49 c2 d1 b5 e9 9a e0 5a 74 |.L...>.I......Zt| -00000320 58 ce a3 33 be 0f ca 12 54 a2 0e a9 e5 22 8f 82 |X..3....T...."..| -00000330 df 1a 3e 21 bf 66 c6 13 39 77 83 95 b1 4b 1d d3 |..>!.f..9w...K..| -00000340 32 69 24 c2 89 14 03 03 00 11 1c eb 63 31 c9 c9 |2i$.........c1..| -00000350 8a e3 8b 25 7e e9 b7 7d 19 03 3c 16 03 03 00 20 |...%~..}..<.... | -00000360 c6 41 57 04 ab e8 6c 55 0b dc cd 06 f5 b3 4b 95 |.AW...lU......K.| -00000370 40 b5 04 47 da 71 d7 70 ce d6 2e 0b c7 66 16 3c |@..G.q.p.....f.<| +00000000 16 03 03 02 69 70 78 66 7a 28 3b 50 a6 21 b2 cc |....ipxfz(;P.!..| +00000010 52 a6 74 f7 29 8a dc fd c0 1c 79 d0 20 23 d0 74 |R.t.).....y. #.t| +00000020 d3 16 a6 4c 6d df 6e 32 2e 69 46 dd 8d 22 9e 8e |...Lm.n2.iF.."..| +00000030 cb 75 44 75 7e 24 69 ed ce cf 5c 4b a9 a2 b5 d0 |.uDu~$i...\K....| +00000040 48 bf 08 d8 1d 16 d9 9f 6d b4 24 ee f1 f3 58 79 |H.......m.$...Xy| +00000050 4c 19 4c 99 7f 01 a8 80 b1 3c 4e 55 d1 64 75 89 |L.L......?.Pjad*Q...| +00000120 01 2e 5a 1c 8b 12 58 c5 32 e1 3f ea 0b ac 4c 3b |..Z...X.2.?...L;| +00000130 1d 97 11 e9 92 6d 52 f0 1e f7 5a f8 71 5f f5 a6 |.....mR...Z.q_..| +00000140 6b aa 30 4f 85 41 c6 49 83 37 3a 72 86 1a be 7a |k.0O.A.I.7:r...z| +00000150 1d bc d6 ad 67 6c 95 42 5d 74 10 8e ac 4b 8d b3 |....gl.B]t...K..| +00000160 6e 3d 9c 8f 08 71 be ce ce aa 64 26 62 2a 58 8c |n=...q....d&b*X.| +00000170 e4 7b 75 e9 61 90 38 b2 c2 a0 8d c7 a9 11 cf 5b |.{u.a.8........[| +00000180 30 a7 33 3b 2b c2 fd 2a 6b db 3d cf 35 6c 23 28 |0.3;+..*k.=.5l#(| +00000190 14 e4 7b 10 50 e8 00 9f af 60 69 cf a9 d9 93 f3 |..{.P....`i.....| +000001a0 8f 7d 39 49 97 5b 92 4a 35 2a 6c 68 3b 48 25 77 |.}9I.[.J5*lh;H%w| +000001b0 6e d0 57 76 c4 94 83 10 e3 3d 00 e8 b9 fe da d9 |n.Wv.....=......| +000001c0 a5 56 22 61 e0 f4 33 dd c8 dd 4d 2f 39 51 35 12 |.V"a..3...M/9Q5.| +000001d0 9a cb dd e1 03 d3 27 9f 41 71 83 5c c7 6c a3 38 |......'.Aq.\.l.8| +000001e0 9f db 39 1c 2a f6 4b e0 48 44 61 1b 34 3c bc ed |..9.*.K.HDa.4<..| +000001f0 7a 31 c9 9f 8e 82 2d fb b6 bd 6e 4c 57 76 23 f5 |z1....-...nLWv#.| +00000200 7d 68 ff 02 75 42 10 e7 2d 24 83 4a 04 7a 78 d7 |}h..uB..-$.J.zx.| +00000210 60 b2 70 07 3f e4 bc 54 42 65 22 c3 2e aa 35 85 |`.p.?..TBe"...5.| +00000220 df fa e5 c9 c9 f5 ee 6a 50 82 7a bf 92 96 78 5e |.......jP.z...x^| +00000230 a8 ac 2a d1 5e e2 f0 20 6b 51 97 3d 74 71 eb d8 |..*.^.. kQ.=tq..| +00000240 40 5f 06 72 b6 8c 1c 2a 71 dd 53 38 fb de b6 31 |@_.r...*q.S8...1| +00000250 53 8d 8f 4e 0f c1 a5 ea bf 27 fa ed ff 0c 56 34 |S..N.....'....V4| +00000260 55 88 e1 d2 65 a7 e5 10 02 4d ba 8e ad fa 16 03 |U...e....M......| +00000270 03 00 35 94 36 93 c6 5e c8 ec 8e 63 86 7b 13 d6 |..5.6..^...c.{..| +00000280 78 b2 5d 2f 54 55 5a 41 1c 65 5e b2 69 ab c2 bd |x.]/TUZA.e^.i...| +00000290 d9 a3 55 42 d1 96 29 51 c4 38 c4 ec 1f d4 19 6c |..UB..)Q.8.....l| +000002a0 2b 82 75 81 37 07 79 35 16 03 03 00 98 d9 a2 ba |+.u.7.y5........| +000002b0 86 ca f4 24 e1 e0 72 0e 21 81 f6 c5 d7 0a 1c 17 |...$..r.!.......| +000002c0 05 1f ce b8 4d d3 d8 e6 13 c8 a6 4d f3 da 0f 4d |....M......M...M| +000002d0 e3 21 29 84 78 90 fa 11 a5 06 19 3a cd ca f2 1f |.!).x......:....| +000002e0 a2 39 4d b3 03 8d 22 27 eb bc f4 8b b8 61 c0 f3 |.9M..."'.....a..| +000002f0 70 34 56 80 28 a2 85 1e 21 7c 11 b8 c6 0c 0d bd |p4V.(...!|......| +00000300 02 56 8a b5 d5 7b 22 97 3e 70 20 31 00 a0 16 2d |.V...{".>p 1...-| +00000310 87 b5 c7 b0 5e 40 2d 08 82 97 38 64 c4 14 e3 16 |....^@-...8d....| +00000320 0d 6f d1 b1 6b 5f 7c 14 18 66 67 aa 8a b6 6b 66 |.o..k_|..fg...kf| +00000330 7d e3 68 ca 97 13 ad ca 0a 46 06 6b 4a a9 c0 ee |}.h......F.kJ...| +00000340 8b 61 6d 2d cc 14 03 03 00 11 93 6d 0b 63 c5 e2 |.am-.......m.c..| +00000350 3f 0f da dd f4 7c ae 95 2a e8 65 16 03 03 00 20 |?....|..*.e.... | +00000360 62 97 ee b8 34 aa be 0a 2c 24 30 6c 89 f2 80 08 |b...4...,$0l....| +00000370 05 69 bb ad a8 5c 90 21 04 77 96 44 ae 5f d4 d5 |.i...\.!.w.D._..| >>> Flow 10 (server to client) -00000000 14 03 03 00 11 c0 4e fd fa 3a 1c 4a 19 ce 08 f6 |......N..:.J....| -00000010 da 70 56 fa 39 42 16 03 03 00 20 0c bc c4 5e 24 |.pV.9B.... ...^$| -00000020 e3 0e c9 23 8c cd f6 a2 45 07 e6 93 40 7c c8 02 |...#....E...@|..| -00000030 6e 24 f7 4e 06 9a ad ba de cd 10 17 03 03 00 19 |n$.N............| -00000040 52 e0 85 b3 46 25 7d fd 8f d0 4c ca df fe 2f a6 |R...F%}...L.../.| -00000050 14 d6 08 82 70 0f 93 78 bf 16 03 03 00 14 ff 68 |....p..x.......h| -00000060 f1 6d 8d b4 5f 74 19 6b e3 1e 6e ee 9d ee c2 34 |.m.._t.k..n....4| -00000070 0f 44 |.D| +00000000 14 03 03 00 11 03 06 35 7b 36 e4 b2 df 80 68 80 |.......5{6....h.| +00000010 df e3 d6 3c bb b7 16 03 03 00 20 08 9b ed a0 ae |...<...... .....| +00000020 e7 f9 42 9a f5 10 21 7a 38 dc a2 6d 27 a8 bc 00 |..B...!z8..m'...| +00000030 58 85 6a 85 04 b9 3b 3f ca 26 68 17 03 03 00 19 |X.j...;?.&h.....| +00000040 d5 24 ff 37 e7 a2 5d eb f2 45 ca 73 60 3b c3 8c |.$.7..]..E.s`;..| +00000050 87 10 d8 31 c3 a2 e5 3d 0f 16 03 03 00 14 31 8a |...1...=......1.| +00000060 c9 a6 3a 3e 36 e0 4f d6 f1 f5 67 70 34 8a ab dc |..:>6.O...gp4...| +00000070 82 e2 |..| >>> Flow 11 (client to server) -00000000 15 03 03 00 12 81 0d 63 a5 11 7a 03 ab 66 f6 c8 |.......c..z..f..| -00000010 15 f3 d9 23 fa 67 6b 15 03 03 00 12 71 0e 3b 52 |...#.gk.....q.;R| -00000020 1a 05 39 4c 8c 76 c3 a9 00 35 bd 66 80 a1 |..9L.v...5.f..| +00000000 15 03 03 00 12 be b2 bb cf 44 91 f3 b9 71 00 af |.........D...q..| +00000010 9e b6 f5 07 64 36 7b 15 03 03 00 12 ae b2 33 16 |....d6{.......3.| +00000020 de f1 45 31 a5 fd 07 97 6e 57 f8 22 cc b2 |..E1....nW."..| diff --git a/testdata/Client-TLSv12-RenegotiationRejected b/testdata/Client-TLSv12-RenegotiationRejected index 0be2e72bf3c..c907c7cb2ea 100644 --- a/testdata/Client-TLSv12-RenegotiationRejected +++ b/testdata/Client-TLSv12-RenegotiationRejected @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 21 15 e1 02 00 |....]...Y..!....| -00000010 c6 0c e5 3f c9 6f a5 59 38 7e 13 81 1b 26 50 46 |...?.o.Y8~...&PF| -00000020 bf 2b 95 0c eb a8 bc 72 97 bc 26 20 ad 6b 84 ac |.+.....r..& .k..| -00000030 8f 62 26 0b 4b d8 bf 1b 7d a5 27 3b 3e 45 a5 8f |.b&.K...}.';>E..| -00000040 37 fb b2 25 2c d3 82 69 ed d7 c9 f0 cc a8 00 00 |7..%,..i........| +00000000 16 03 03 00 5d 02 00 00 59 03 03 ea a3 8e 85 79 |....]...Y......y| +00000010 9f 41 1f 7e 05 76 70 3d bd f4 bb f4 dd 49 a6 fd |.A.~.vp=.....I..| +00000020 11 83 a9 70 89 86 87 36 2f 09 b9 20 1a 00 de fc |...p...6/.. ....| +00000030 6b e5 93 4e da 98 0b e1 a8 93 8d fc 4b c3 48 6b |k..N........K.Hk| +00000040 15 6d de fd e3 0f 36 67 61 1c 91 8e cc a8 00 00 |.m....6ga.......| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -61,36 +62,36 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 b2 3a 28 |............ .:(| -000002d0 2e 2c 66 f1 9b 44 58 9a 92 03 42 81 f6 1c f4 67 |.,f..DX...B....g| -000002e0 50 b5 92 f3 06 1b 1b 23 93 99 12 c5 6b 08 04 00 |P......#....k...| -000002f0 80 44 05 ae 8d ed c6 82 3a 2a 19 05 9d 70 f9 ba |.D......:*...p..| -00000300 45 66 cb 45 75 9c da 92 cc bb 4a a5 ae 41 8c f8 |Ef.Eu.....J..A..| -00000310 9b e7 06 73 88 9f f9 7d 95 ce 74 a6 05 e9 38 a5 |...s...}..t...8.| -00000320 26 4b b2 26 31 5c e9 f9 a8 f8 6e 6b 05 e4 39 b5 |&K.&1\....nk..9.| -00000330 fe b1 b1 cd 40 23 e9 68 f3 9c ed 91 71 d3 0b c5 |....@#.h....q...| -00000340 91 c5 b2 91 69 a9 4b 2c a7 0c 24 d6 a9 e7 74 89 |....i.K,..$...t.| -00000350 9e ce 8b 00 72 9a c9 86 8b ca 8d 39 01 a0 71 3e |....r......9..q>| -00000360 46 ff a6 7d c6 da 0a af f2 84 c4 01 1c 94 47 22 |F..}..........G"| -00000370 71 16 03 03 00 04 0e 00 00 00 |q.........| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 6a e1 91 |............ j..| +000002d0 5d 5d fe 77 50 be a5 52 f1 12 43 30 34 aa 46 87 |]].wP..R..C04.F.| +000002e0 f9 6a 80 37 eb 46 fb 92 d6 ce 18 c4 0b 08 04 00 |.j.7.F..........| +000002f0 80 46 10 ab ff 45 fe c5 88 5a da d0 07 b5 a1 30 |.F...E...Z.....0| +00000300 03 d8 b0 5f 88 37 45 75 ef b7 96 5c c9 1f 47 14 |..._.7Eu...\..G.| +00000310 24 28 de cf 1f c9 c6 a4 0c 41 1b 51 70 7a e6 e8 |$(.......A.Qpz..| +00000320 88 1b 35 ce 63 e7 4f 2b 02 c9 35 0a 56 b2 2a 59 |..5.c.O+..5.V.*Y| +00000330 e9 02 53 11 82 f2 f6 18 06 3a 3e 2e 8e 21 78 9d |..S......:>..!x.| +00000340 41 43 e2 ed 49 ce 87 cd 93 b7 13 6c 35 6e 4e 95 |AC..I......l5nN.| +00000350 68 1b 4b 75 de fa ed 48 53 56 54 40 5f 3f 36 cb |h.Ku...HSVT@_?6.| +00000360 6b 57 de 3c fc 51 f4 fb 9d 8d 55 2e e9 ce fc 79 |kW.<.Q....U....y| +00000370 08 16 03 03 00 04 0e 00 00 00 |..........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 80 26 44 1c a7 83 b7 12 29 9a 44 |.... .&D.....).D| -00000040 7b c1 0b 96 53 c8 0e 9b dd 8d 29 4b 4b b8 75 d7 |{...S.....)KK.u.| -00000050 0a c7 86 c7 d9 |.....| +00000030 16 03 03 00 20 be b4 f9 49 91 3c c8 f8 7c da ef |.... ...I.<..|..| +00000040 06 bd d5 9e d3 b4 74 f6 22 2e b8 5c b6 e2 2d 01 |......t."..\..-.| +00000050 cb d5 3f 94 7f |..?..| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 2e d7 9e b0 66 |.......... ....f| -00000010 f1 39 84 a9 d9 93 17 bd 94 5a 31 49 bb eb f0 a0 |.9.......Z1I....| -00000020 7b af d0 3b ae 1a 5d f6 46 31 36 |{..;..].F16| +00000000 14 03 03 00 01 01 16 03 03 00 20 21 a2 e6 72 21 |.......... !..r!| +00000010 6d 45 36 87 6d 3f c9 70 89 1f b3 0a cc c2 5b 18 |mE6.m?.p......[.| +00000020 27 37 d8 1f 4e 55 f9 9d 07 96 2f |'7..NU..../| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 cd 39 a7 64 3b 6a de 14 e0 26 ea |......9.d;j...&.| -00000010 66 b2 73 b1 8e b0 e3 a9 94 62 4f |f.s......bO| +00000000 17 03 03 00 16 81 33 71 a4 ec a6 67 b2 17 ba 80 |......3q...g....| +00000010 27 80 a1 62 fb 1e ab 3f cd b9 fe |'..b...?...| >>> Flow 6 (server to client) -00000000 16 03 03 00 14 c5 d7 88 58 81 44 1f 8d e4 c2 19 |........X.D.....| -00000010 15 3b 5c 43 76 82 fe 03 e1 |.;\Cv....| +00000000 16 03 03 00 14 b3 2b 93 6f bc d1 11 45 fa 9a d3 |......+.o...E...| +00000010 f3 82 75 6c ce 40 38 21 5e |..ul.@8!^| >>> Flow 7 (client to server) -00000000 15 03 03 00 12 d4 b1 0d fa 41 25 ab d4 e1 b7 74 |.........A%....t| -00000010 27 5c 8b c6 0d 49 8e 15 03 03 00 12 65 3d 4e 30 |'\...I......e=N0| -00000020 48 43 8f f6 8b 89 45 af f4 7a e4 eb ad a1 |HC....E..z....| +00000000 15 03 03 00 12 48 45 72 03 40 44 98 c6 db 40 d4 |.....HEr.@D...@.| +00000010 a6 9b 67 5d 8b c1 a9 15 03 03 00 12 21 d2 4b 7d |..g]........!.K}| +00000020 51 c7 3c 53 0b d9 67 90 aa e6 42 e2 8c 83 |Q.>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,21 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 01 ca 02 00 01 c6 03 03 da b0 57 a0 ee |.............W..| -00000010 bf 74 92 06 39 a6 9a 9b 80 71 7e 57 63 ab 31 74 |.t..9....q~Wc.1t| -00000020 d3 22 c1 e3 a6 c6 cf 6f 47 57 49 20 86 52 fb 0a |.".....oGWI .R..| -00000030 fd aa 10 47 00 9a 5d ad 4c d8 90 f1 cf 13 10 73 |...G..].L......s| -00000040 31 f1 df 22 f3 42 58 b0 10 25 43 eb cc a8 00 01 |1..".BX..%C.....| +00000000 16 03 03 01 ca 02 00 01 c6 03 03 28 44 55 f3 f5 |...........(DU..| +00000010 c1 63 ac 0b fd 1c 29 d3 90 a5 5c 96 2a d9 13 20 |.c....)...\.*.. | +00000020 fe 96 11 3f 30 0a e1 a9 8e d9 e6 20 ca 40 de 01 |...?0...... .@..| +00000030 4f 00 88 88 41 0f df af 85 0e 0e 22 9d a7 46 e8 |O...A......"..F.| +00000040 df 9c 8e 8c 47 5b 94 91 94 06 f4 14 cc a8 00 01 |....G[..........| 00000050 7e 00 12 01 69 01 67 00 75 00 a4 b9 09 90 b4 18 |~...i.g.u.......| 00000060 58 14 87 bb 13 a2 cc 67 70 0a 3c 35 98 04 f9 1b |X......gp.<5....| 00000070 df b8 e3 77 cd 0e c8 0d dc 10 00 00 01 47 97 99 |...w.........G..| @@ -84,31 +85,31 @@ 00000400 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 4c 72 2b |Cw.......@.a.Lr+| 00000410 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 |...F..M...>...B.| 00000420 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 16 03 03 |..=.`.\!.;......| -00000430 00 ac 0c 00 00 a8 03 00 1d 20 0e e6 72 88 cf d1 |......... ..r...| -00000440 05 c7 8d 03 64 b9 db d8 c3 5e 36 80 67 67 36 94 |....d....^6.gg6.| -00000450 5b b7 92 f9 77 1f 6f b2 44 7f 08 04 00 80 1d 3b |[...w.o.D......;| -00000460 70 d5 72 87 2f 58 20 da 29 e0 f8 e8 7c 8d e5 c7 |p.r./X .)...|...| -00000470 bf da 3c 10 f8 b0 3e 38 7b 06 0b 8e 8f d7 40 b6 |..<...>8{.....@.| -00000480 47 9f 1c 64 6e 80 ab 9d 51 92 8c 60 a2 88 c4 43 |G..dn...Q..`...C| -00000490 7d dc 29 64 45 83 a7 9c 2a 39 e9 bb 2a d9 f5 96 |}.)dE...*9..*...| -000004a0 4c fb fd 0d cc 0f 9b 48 f5 ee af 8f 7a 1c 39 3e |L......H....z.9>| -000004b0 cf 23 15 c6 ab c3 f2 29 fd 6c 4f 17 6b d4 be 1a |.#.....).lO.k...| -000004c0 23 6e 74 81 e5 e5 e8 c0 de 9b b0 ed d2 32 bc 2a |#nt..........2.*| -000004d0 b1 30 b2 eb ac 9e 23 f8 be ea 31 9a b4 55 16 03 |.0....#...1..U..| +00000430 00 ac 0c 00 00 a8 03 00 1d 20 26 24 4e d8 a6 cc |......... &$N...| +00000440 2f c9 0e 68 d8 20 e3 97 5b c1 08 72 1e 79 46 d9 |/..h. ..[..r.yF.| +00000450 a6 00 9c e9 f8 21 9b cd 29 17 08 04 00 80 aa 6d |.....!..)......m| +00000460 36 bb 06 e6 11 66 82 44 87 5d 81 53 e2 9a 95 11 |6....f.D.].S....| +00000470 54 a3 cc a7 c9 9c 19 f6 da 98 4f 91 a6 dd 9e 10 |T.........O.....| +00000480 14 83 04 55 2d 6c 9a af 26 7c 5d f0 aa ca 69 83 |...U-l..&|]...i.| +00000490 af fe a5 cb a4 1a d4 bd 86 91 52 11 03 4d 9a ca |..........R..M..| +000004a0 37 fd 01 48 e8 5d a8 ea ad a2 a5 08 cb ce 5f 52 |7..H.]........_R| +000004b0 92 30 83 de 77 2a 06 c2 f2 53 4d 47 40 b9 2f 61 |.0..w*...SMG@./a| +000004c0 9c 41 c4 05 45 42 5e 42 d5 5e 30 95 30 4e a1 77 |.A..EB^B.^0.0N.w| +000004d0 79 b5 50 5c df d6 e7 74 42 d8 2b 66 02 fa 16 03 |y.P\...tB.+f....| 000004e0 03 00 04 0e 00 00 00 |.......| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 20 a1 58 d5 1a a3 9f 85 4e b6 c8 b7 |.... .X.....N...| -00000040 cb c1 b0 cc 0a 80 59 1d 81 41 cc 4d 0b d3 bd 38 |......Y..A.M...8| -00000050 48 69 01 23 96 |Hi.#.| +00000030 16 03 03 00 20 93 c8 47 ed fd 9b 41 69 97 58 97 |.... ..G...Ai.X.| +00000040 cc 31 9c 93 a6 77 41 36 7a 90 f0 73 13 4a 7d 85 |.1...wA6z..s.J}.| +00000050 12 20 7d 91 fa |. }..| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 20 83 ae fc 0d dd |.......... .....| -00000010 a1 3a 55 b0 2e 5e 21 9c 57 f3 1b 94 80 6c 0e bb |.:U..^!.W....l..| -00000020 78 ae f4 6c 20 d5 7e 23 11 1e 7d |x..l .~#..}| +00000000 14 03 03 00 01 01 16 03 03 00 20 16 00 35 d2 e0 |.......... ..5..| +00000010 ad f5 4c 10 98 fb 4f c7 81 1f 05 4b d6 7d 9c ac |..L...O....K.}..| +00000020 50 94 84 c8 35 80 ec 54 fc f3 ee |P...5..T...| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 d3 16 a3 f0 93 49 44 d4 82 60 35 |..........ID..`5| -00000010 e3 63 08 c0 4e 66 99 37 31 90 6c 15 03 03 00 12 |.c..Nf.71.l.....| -00000020 3c ea 2c 19 34 7b cc 6c 7a a9 15 31 6f 9c 3b b0 |<.,.4{.lz..1o.;.| -00000030 b2 1f |..| +00000000 17 03 03 00 16 83 e6 0f 3a ad c2 28 6c 82 ee 4a |........:..(l..J| +00000010 38 47 cc 86 75 70 e2 94 77 e6 6e 15 03 03 00 12 |8G..up..w.n.....| +00000020 13 c0 a0 4f 02 5e 6f 33 f6 ae d3 52 7d 72 72 a0 |...O.^o3...R}rr.| +00000030 1e 8d |..| diff --git a/testdata/Client-TLSv12-X25519-ECDHE b/testdata/Client-TLSv12-X25519-ECDHE index c851eb1a1f2..6f59dc6636b 100644 --- a/testdata/Client-TLSv12-X25519-ECDHE +++ b/testdata/Client-TLSv12-X25519-ECDHE @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 f8 01 00 00 f4 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 12 01 00 01 0e 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,20 +7,22 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 79 00 0b 00 02 01 00 ff 01 00 01 00 00 |...y............| +00000080 01 00 00 93 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| -000000a0 00 0a 00 04 00 02 00 1d 00 0d 00 1a 00 18 08 04 |................| +000000a0 00 0a 00 04 00 02 00 1d 00 0d 00 16 00 14 08 04 |................| 000000b0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| -000000c0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| -000000d0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| -000000e0 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| -000000f0 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| +000000c0 06 03 00 32 00 1a 00 18 08 04 04 03 08 07 08 05 |...2............| +000000d0 08 06 04 01 05 01 06 01 05 03 06 03 02 01 02 03 |................| +000000e0 00 2b 00 09 08 03 04 03 03 03 02 03 01 00 33 00 |.+............3.| +000000f0 26 00 24 00 1d 00 20 2f e5 7d a3 47 cd 62 43 15 |&.$... /.}.G.bC.| +00000100 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf c2 ed |(.._.).0........| +00000110 90 99 5f 58 cb 3b 74 |.._X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 5d 02 00 00 59 03 03 e0 da ea 5e 09 |....]...Y.....^.| -00000010 bb 30 4c 10 db 85 36 44 38 9e a4 83 74 5f 2f 94 |.0L...6D8...t_/.| -00000020 a1 b4 45 61 73 2f 88 b3 ac ad e4 20 45 55 20 90 |..Eas/..... EU .| -00000030 b0 b0 d4 70 e6 10 13 5c f4 49 0e 9c 2a 52 5c 84 |...p...\.I..*R\.| -00000040 b2 55 1a ea e3 4b 5a 9f ac e9 7b 37 c0 2f 00 00 |.U...KZ...{7./..| +00000000 16 03 03 00 5d 02 00 00 59 03 03 64 5a cc e0 63 |....]...Y..dZ..c| +00000010 02 82 64 75 5e 2c b3 5f 23 c6 98 c8 95 07 40 00 |..du^,._#.....@.| +00000020 3e ef fd f6 00 af 81 0c 3a 47 a0 20 a1 fc 21 83 |>.......:G. ..!.| +00000030 cf 2b 34 5e b7 7b bd ec bb 8f 26 6a f2 26 7f 8f |.+4^.{....&j.&..| +00000040 51 13 6f ba 0d 1a f5 b7 1c 9d 6d 91 c0 2f 00 00 |Q.o.......m../..| 00000050 11 ff 01 00 01 00 00 0b 00 04 03 00 01 02 00 17 |................| 00000060 00 00 16 03 03 02 59 0b 00 02 55 00 02 52 00 02 |......Y...U..R..| 00000070 4f 30 82 02 4b 30 82 01 b4 a0 03 02 01 02 02 09 |O0..K0..........| @@ -60,33 +62,33 @@ 00000290 73 bb b3 43 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 |s..Cw.......@.a.| 000002a0 4c 72 2b 9d ae db 46 06 06 4d f4 c1 b3 3e c0 d1 |Lr+...F..M...>..| 000002b0 bd 42 d4 db fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 |.B...=.`.\!.;...| -000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 ca 07 6e |............ ..n| -000002d0 67 12 8e f7 b4 55 c0 d4 88 73 35 f0 f1 ae c4 34 |g....U...s5....4| -000002e0 59 dc 05 df 75 96 54 f1 4f 7f 79 93 25 08 04 00 |Y...u.T.O.y.%...| -000002f0 80 d2 1d 65 15 23 74 e4 57 80 58 62 b5 6d ab 06 |...e.#t.W.Xb.m..| -00000300 11 4c e0 a0 7b 7e b5 78 87 47 71 30 c3 d8 86 b2 |.L..{~.x.Gq0....| -00000310 af 34 24 95 9c 2f 74 bb 6e c8 2a 8e 81 f8 fb d7 |.4$../t.n.*.....| -00000320 06 06 dc e8 95 01 65 fe 5d cb 9e 7f 36 9b 29 40 |......e.]...6.)@| -00000330 09 81 1b df 24 66 13 94 51 2a 48 31 e3 cb 3a 06 |....$f..Q*H1..:.| -00000340 c9 9c f4 36 b8 c0 de c1 3e 5e 79 95 f8 11 4b d8 |...6....>^y...K.| -00000350 0a b1 6c ef f4 ce 89 ba df ad 24 3d 7c 48 aa 70 |..l.......$=|H.p| -00000360 d8 0e 52 a8 12 1c 6b eb 5b c9 c3 a3 fa f0 60 d4 |..R...k.[.....`.| -00000370 54 16 03 03 00 04 0e 00 00 00 |T.........| +000002c0 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 15 d1 98 |............ ...| +000002d0 53 f4 98 b6 58 a5 cd 89 bb 32 21 83 4a e5 ad ba |S...X....2!.J...| +000002e0 1f ba db d0 4c c5 a3 89 0e 96 9f 59 60 08 04 00 |....L......Y`...| +000002f0 80 4e 14 a0 a7 33 e8 47 d5 7d 01 26 19 ff 1d 3c |.N...3.G.}.&...<| +00000300 2a f9 77 58 84 c0 07 b7 dc cc 82 85 a6 18 e9 33 |*.wX...........3| +00000310 70 15 04 75 bb 59 59 9c fa c0 cd b4 b7 f8 a3 0e |p..u.YY.........| +00000320 21 cd ac 7d 18 d2 34 e5 a9 c7 a1 5d 86 f3 74 2b |!..}..4....]..t+| +00000330 9b b0 21 5f cb 91 7f a0 d8 78 f0 7c 56 e3 69 ec |..!_.....x.|V.i.| +00000340 43 55 80 3f 02 d7 e0 10 52 15 4d 1b bc 2c 7f b7 |CU.?....R.M..,..| +00000350 86 cd 07 5d b9 f1 21 7e 18 da fc f8 45 45 cf 39 |...]..!~....EE.9| +00000360 62 3e c8 f1 6c 75 f4 fb fe f8 23 89 6a 0d b5 2e |b>..lu....#.j...| +00000370 4d 16 03 03 00 04 0e 00 00 00 |M.........| >>> Flow 3 (client to server) 00000000 16 03 03 00 25 10 00 00 21 20 2f e5 7d a3 47 cd |....%...! /.}.G.| 00000010 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 |bC.(.._.).0.....| 00000020 cf c2 ed 90 99 5f 58 cb 3b 74 14 03 03 00 01 01 |....._X.;t......| -00000030 16 03 03 00 28 00 00 00 00 00 00 00 00 21 27 7f |....(........!'.| -00000040 32 c6 19 c4 a9 13 bf 5e 4b 53 5f c3 47 64 bb f8 |2......^KS_.Gd..| -00000050 21 d5 10 12 12 60 5e d8 e8 cf 1e fe 18 |!....`^......| +00000030 16 03 03 00 28 00 00 00 00 00 00 00 00 e3 a2 01 |....(...........| +00000040 72 d5 55 57 f7 1a da 10 9a 04 7d 33 f4 18 b1 9a |r.UW......}3....| +00000050 09 38 45 dd 74 13 21 70 52 9c cc c2 3f |.8E.t.!pR...?| >>> Flow 4 (server to client) -00000000 14 03 03 00 01 01 16 03 03 00 28 af e6 ee d0 75 |..........(....u| -00000010 df 97 22 b0 ff 46 8e 51 bb 23 70 8d 4a 22 01 b6 |.."..F.Q.#p.J"..| -00000020 13 34 68 fd 69 fe 0a 0f df 0e e6 41 48 49 8c e7 |.4h.i......AHI..| -00000030 d3 21 13 |.!.| +00000000 14 03 03 00 01 01 16 03 03 00 28 86 a1 0b 2b ef |..........(...+.| +00000010 13 8d 20 82 ad 17 92 64 0b 44 21 0f f0 dd 20 43 |.. ....d.D!... C| +00000020 4c db 92 3c 25 3a 12 ca 27 56 86 16 ca 9f ba 46 |L..<%:..'V.....F| +00000030 dc 96 86 |...| >>> Flow 5 (client to server) -00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 10 16 77 |...............w| -00000010 99 da 71 ef 78 16 d7 cd 2c 7b 71 ba 8a 74 c1 65 |..q.x...,{q..t.e| -00000020 f2 f6 be 15 03 03 00 1a 00 00 00 00 00 00 00 02 |................| -00000030 72 d4 4a f6 6d 63 4c ad 02 46 36 18 61 47 61 7d |r.J.mcL..F6.aGa}| -00000040 50 08 |P.| +00000000 17 03 03 00 1e 00 00 00 00 00 00 00 01 20 7c 62 |............. |b| +00000010 05 52 7a 91 a7 13 96 96 29 11 1b 1a fe fa ad 7f |.Rz.....).......| +00000020 d2 3a 26 15 03 03 00 1a 00 00 00 00 00 00 00 02 |.:&.............| +00000030 c7 2b 60 1b 9c 6b cb 22 08 f1 e3 c0 44 ab 70 21 |.+`..k."....D.p!| +00000040 68 48 |hH| diff --git a/testdata/Client-TLSv13-AES128-SHA256 b/testdata/Client-TLSv13-AES128-SHA256 index 6c7c3d47119..3673b8da393 100644 --- a/testdata/Client-TLSv13-AES128-SHA256 +++ b/testdata/Client-TLSv13-AES128-SHA256 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,85 +7,86 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 63 fa e1 78 d5 |....z...v..c..x.| -00000010 53 77 64 44 97 45 79 94 e7 79 dd da 70 81 46 66 |SwdD.Ey..y..p.Ff| -00000020 ac 7c 77 a2 f9 29 ca 48 e6 53 56 20 00 00 00 00 |.|w..).H.SV ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 07 aa 6b aa b6 |....z...v....k..| +00000010 ef a5 5c 62 d7 05 bb f8 9d ea 03 34 13 bf 00 1f |..\b.......4....| +00000020 e6 95 7b ef a5 2b ad e8 20 2f 21 20 00 00 00 00 |..{..+.. /! ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 01 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 36 |..+.....3.$... 6| -00000060 e2 c3 a0 14 f4 9c 50 9c 08 03 5e c2 b8 4b 66 85 |......P...^..Kf.| -00000070 71 fb bb 20 6e 97 3a f6 74 be 02 31 29 8e 18 14 |q.. n.:.t..1)...| -00000080 03 03 00 01 01 17 03 03 00 17 00 79 2a 2d 44 f4 |...........y*-D.| -00000090 12 2d 7c d6 8c 7a 27 76 a5 3a 6b c1 2d 40 8f 20 |.-|..z'v.:k.-@. | -000000a0 8b 17 03 03 02 6d 6e 16 f8 0f d2 67 3b e8 1a 95 |.....mn....g;...| -000000b0 2a ce 16 7b 95 21 7e 03 65 bf 01 ce e9 43 83 f6 |*..{.!~.e....C..| -000000c0 0e a9 d2 f2 d1 a3 2f d4 55 d2 27 83 44 3d f9 72 |....../.U.'.D=.r| -000000d0 00 8d 41 44 eb 93 ca 68 09 d1 bd f3 1a cc a0 53 |..AD...h.......S| -000000e0 a7 18 6e b7 27 d0 f5 e1 08 d8 9f 7b 37 bc 8f b9 |..n.'......{7...| -000000f0 84 6d e0 20 cf 99 bf c1 67 c8 00 74 4c 76 3e 2d |.m. ....g..tLv>-| -00000100 63 48 11 f1 75 30 ab a5 5b a2 cb 13 e9 e0 65 36 |cH..u0..[.....e6| -00000110 86 ce 8b 64 f6 dc e1 b7 0d 16 96 d1 ec 4b 93 d5 |...d.........K..| -00000120 6c 10 0d b7 d8 a2 45 b2 f0 e0 aa ab ab 11 8d d0 |l.....E.........| -00000130 2c fc 20 35 99 1b d6 3b 72 6d 88 03 80 5c 59 d4 |,. 5...;rm...\Y.| -00000140 04 18 ee 7a ed fe fb 52 c1 3c 93 95 e2 00 23 0d |...z...R.<....#.| -00000150 cc c1 4e 0a fb 55 33 93 9f c8 31 33 29 f5 12 3e |..N..U3...13)..>| -00000160 39 62 62 27 05 cf d2 be bd 7d 42 51 97 4f 71 95 |9bb'.....}BQ.Oq.| -00000170 10 f8 eb 0f d8 d1 69 aa 22 13 a8 fe 24 f6 87 a1 |......i."...$...| -00000180 9d ca cb 8f 99 39 2b fb 99 d9 18 8a fa fa 25 20 |.....9+.......% | -00000190 df 6a b3 d1 ac ce 56 8b 76 5d a9 46 1c 0b c7 57 |.j....V.v].F...W| -000001a0 90 02 10 55 85 49 48 89 d8 d6 4b 68 29 cb 28 66 |...U.IH...Kh).(f| -000001b0 1c d1 97 e6 a0 10 90 63 83 96 33 ee 5a 5a 5b 66 |.......c..3.ZZ[f| -000001c0 ca b3 0d be 6d 70 c5 de fd 78 c8 f8 e1 c5 78 ef |....mp...x....x.| -000001d0 07 2e 60 06 28 86 ed e6 bd 7b 37 33 0e 06 5e 06 |..`.(....{73..^.| -000001e0 fb 44 2b 96 16 fe 09 30 dc 03 53 bc c9 f9 6f 1e |.D+....0..S...o.| -000001f0 4b 79 a9 ac fe 20 3f 12 58 48 0c 40 a5 2f f2 6a |Ky... ?.XH.@./.j| -00000200 ea 44 69 93 54 4f 4d 6c 98 85 b1 c5 6f 50 83 b8 |.Di.TOMl....oP..| -00000210 8a 20 e3 b9 da b7 7d e4 ec 33 28 96 29 d7 dc a3 |. ....}..3(.)...| -00000220 d0 54 76 cd a6 99 17 e8 0f 14 d2 7c 4b 68 0a 80 |.Tv........|Kh..| -00000230 4f 0b 2b b5 16 68 dc 25 42 b5 0b f7 13 6a c5 81 |O.+..h.%B....j..| -00000240 c0 18 bc fb 40 86 cc 99 2e 70 2b 9a 72 eb be 57 |....@....p+.r..W| -00000250 a0 43 92 83 3b 7e c8 02 43 ab 17 7a 73 87 1a a2 |.C..;~..C..zs...| -00000260 1c 01 db b4 31 b1 d9 44 f1 c0 d9 de 27 bd 4c 8b |....1..D....'.L.| -00000270 1c f5 3d db d6 aa 98 7d 43 fe dd 64 85 8b c1 88 |..=....}C..d....| -00000280 a9 1e f1 04 0b 5d 3b c2 fd 3f b2 27 a7 28 d1 82 |.....];..?.'.(..| -00000290 13 fb 85 46 77 78 50 45 1b 4b c0 75 f2 32 8a 6d |...FwxPE.K.u.2.m| -000002a0 52 37 2e b1 80 e9 81 3b 60 c8 88 78 11 3f 0f 96 |R7.....;`..x.?..| -000002b0 d1 4b 19 49 91 b5 70 44 2d 62 a1 04 8f 98 89 ab |.K.I..pD-b......| -000002c0 75 1f 8a 97 d5 28 dc 88 20 92 7f f2 90 16 1b de |u....(.. .......| -000002d0 54 7c 5f 05 8f c9 70 a1 f5 8c 99 09 43 ab 09 73 |T|_...p.....C..s| -000002e0 dd 5e 62 c3 9f c8 e1 fa 9e 98 65 18 b5 5e 4e f9 |.^b.......e..^N.| -000002f0 85 a4 cc dc b8 12 1b eb 0a bc bc bd 1c 2f 51 0e |............./Q.| -00000300 8f 55 f1 10 22 06 ca cb f2 97 54 63 1c 98 36 9f |.U..".....Tc..6.| -00000310 1d 66 b0 17 03 03 00 99 f0 14 4d 69 84 b3 ca d4 |.f........Mi....| -00000320 96 9c e2 3c a4 55 f4 b6 01 1f 1e 1f 77 98 c4 84 |...<.U......w...| -00000330 5e ce 4c 0b bf ba 39 6b 36 a6 15 9c d1 90 87 d1 |^.L...9k6.......| -00000340 13 39 1c dd 86 0f a0 06 f7 fc f7 c9 10 4e 46 0a |.9...........NF.| -00000350 03 12 a0 bf 3e f3 7d e6 1b b7 ce ec 16 84 52 8e |....>.}.......R.| -00000360 bc 9c 9a 4f 2f a7 d9 aa f3 d6 be 0a f8 39 2d 18 |...O/........9-.| -00000370 28 9e 35 6e 25 25 46 9b 49 61 a6 ee 6a 87 d2 5f |(.5n%%F.Ia..j.._| -00000380 54 e6 fb 96 a3 e9 8a 05 c2 fb 71 0b d7 13 2e 19 |T.........q.....| -00000390 e5 5c a2 d0 f4 b3 34 95 e1 1d 24 ef 33 a2 0a d5 |.\....4...$.3...| -000003a0 65 b2 5f 46 73 45 33 69 d6 c3 f6 49 20 e2 00 bd |e._FsE3i...I ...| -000003b0 16 17 03 03 00 35 89 2f 34 08 44 35 6a 52 1a fd |.....5./4.D5jR..| -000003c0 e4 be 2b 0e 0a dd 2d c1 e7 e3 20 7a 0a 3e 87 1d |..+...-... z.>..| -000003d0 2b 64 87 c5 11 54 46 1a 5c 89 e2 97 3f 83 b2 b4 |+d...TF.\...?...| -000003e0 04 ed d2 c4 1d 3d 37 1f e1 62 f2 |.....=7..b.| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 53 |..+.....3.$... S| +00000060 3c 5e 7d 61 39 39 6c f7 ea 14 d3 f0 40 23 30 8b |<^}a99l.....@#0.| +00000070 7e 1f 41 86 f8 2e 12 0a f5 67 13 28 46 6f 14 14 |~.A......g.(Fo..| +00000080 03 03 00 01 01 17 03 03 00 17 a8 64 4a 9d f1 a0 |...........dJ...| +00000090 3c 1b e3 20 a2 66 80 7f 13 b5 a9 f0 8f ee 5b 4b |<.. .f........[K| +000000a0 af 17 03 03 02 6d 26 d2 8f df b4 d5 d3 9a c8 92 |.....m&.........| +000000b0 4c 32 63 80 6b 5f 99 11 0f 4b be 14 77 55 86 d1 |L2c.k_...K..wU..| +000000c0 27 94 18 50 27 1c 84 9c 38 03 fb 11 d3 5a ea 64 |'..P'...8....Z.d| +000000d0 d1 15 47 1d fc cc 6e bf 5e 4d 45 74 f2 ca 44 77 |..G...n.^MEt..Dw| +000000e0 32 6d 02 3a 9f 44 aa 5c 5d 62 64 ee 44 0d 45 05 |2m.:.D.\]bd.D.E.| +000000f0 de 40 d0 83 c9 b3 21 39 a0 8f 5b 5a e1 96 2f 0b |.@....!9..[Z../.| +00000100 4b 12 da a7 dc 7b 2a 73 14 7f cc 93 fd a8 47 1c |K....{*s......G.| +00000110 f7 88 76 5d 30 29 af 65 ac 52 25 04 13 be 96 92 |..v]0).e.R%.....| +00000120 bb e4 86 a0 b7 c8 67 63 ef cb 1f 78 7e bf 3c 5f |......gc...x~.<_| +00000130 7a a6 89 4a 94 f3 2e 01 8b b9 81 21 57 00 5e 26 |z..J.......!W.^&| +00000140 22 9b eb e0 73 87 cd 77 46 d4 c8 1d 0a 4f d8 83 |"...s..wF....O..| +00000150 0b 0a 43 3f 37 53 e2 0a 4b bb ef e8 8d 2a dc 51 |..C?7S..K....*.Q| +00000160 b0 b9 90 7e 1a c5 31 e0 1b 0f 0c 7e 96 7b aa 49 |...~..1....~.{.I| +00000170 ad 84 b0 0a 75 d6 37 58 bd 7f f6 ac 50 c5 d7 93 |....u.7X....P...| +00000180 70 ce b1 cd 00 7c 79 1a e5 ec 04 7b 12 8f fb 80 |p....|y....{....| +00000190 54 d0 2b a0 9e 83 0d 05 a7 f5 4b e8 b4 36 1c d0 |T.+.......K..6..| +000001a0 88 34 a6 71 51 d6 cf 59 c9 ad 03 d8 38 f2 15 f0 |.4.qQ..Y....8...| +000001b0 63 9d 34 a3 f4 bc de 8f ae 26 97 c0 98 8e 59 4e |c.4......&....YN| +000001c0 1f 74 a1 d4 2c 1a 18 20 ef e8 06 58 74 dd ed 40 |.t..,.. ...Xt..@| +000001d0 50 dd 8b a4 77 15 1b 9e 63 7e c7 11 63 1a a9 d5 |P...w...c~..c...| +000001e0 16 c2 8f f5 6c ce cd 03 e6 2d cc da 75 1a ce cb |....l....-..u...| +000001f0 ea 41 de dd 59 e5 68 90 98 69 76 a3 d0 d4 ed d1 |.A..Y.h..iv.....| +00000200 e9 9a cd b8 29 73 eb 9c e6 6f ee 8d 91 84 9e 2e |....)s...o......| +00000210 b9 23 2b 04 a0 f6 5f 0b 16 07 49 ae 6f 33 b0 ee |.#+..._...I.o3..| +00000220 be ff 75 52 da 7b 06 05 6c 8f 87 1f 48 2f fb 59 |..uR.{..l...H/.Y| +00000230 79 a6 99 cb a6 0b 73 fb 4c d0 cc eb ba 51 1a 6d |y.....s.L....Q.m| +00000240 9a 33 27 e3 f4 cf 16 bc c0 82 da 21 04 4a 7b e0 |.3'........!.J{.| +00000250 12 a5 5e de 22 d2 df b4 c4 c9 fa 11 97 7b 07 ea |..^."........{..| +00000260 11 c8 2c 55 b8 6d c2 64 6d fa e0 6f b8 5c 50 ae |..,U.m.dm..o.\P.| +00000270 a6 2e aa bf 2f 2a 74 2d 1c 11 c2 44 d7 28 b8 5e |..../*t-...D.(.^| +00000280 6a 2d bc 0d 2e a7 a2 b6 b6 ae 12 2c a2 c4 ba 5c |j-.........,...\| +00000290 0b 3f 17 2e 98 30 ce 6c 8e 88 3c f9 a8 e1 68 8d |.?...0.l..<...h.| +000002a0 52 c8 a1 b3 3f 12 e1 35 f0 eb ee 9f 0d bb 3c 90 |R...?..5......<.| +000002b0 2c e2 2c 95 2e f3 e2 f6 f2 f1 be b8 03 02 84 69 |,.,............i| +000002c0 56 8f 3b 1d 68 77 f1 52 eb 48 4f e8 c8 5b 0a df |V.;.hw.R.HO..[..| +000002d0 a1 74 1e e1 47 a2 9a 9a 83 6d c2 ea f3 1b fc 8f |.t..G....m......| +000002e0 b6 aa 18 7e 85 46 ff 33 0b 6e 1f 5b f1 70 c0 45 |...~.F.3.n.[.p.E| +000002f0 f6 bb a0 da 74 e0 9a 3c a7 e2 07 ef 0b e5 9a 5b |....t..<.......[| +00000300 6e 9b aa 6c a4 97 84 5d 77 f5 33 b8 e3 45 c0 00 |n..l...]w.3..E..| +00000310 21 c7 91 17 03 03 00 99 ee bf d2 9c 82 9f 68 b4 |!.............h.| +00000320 5e 15 09 1a 7a c1 f9 72 ff ca 0e d9 f1 9f 7f 8c |^...z..r........| +00000330 dc 4a 8d d3 37 7b 81 42 ef 9b 2b 5f 9a 4b 40 8e |.J..7{.B..+_.K@.| +00000340 6b 24 53 79 32 b0 d1 24 2a 6f c9 fb a8 82 c1 01 |k$Sy2..$*o......| +00000350 1e 0b 11 7f 85 c7 ee d4 29 12 08 99 8f 00 ef af |........).......| +00000360 2c 5d c5 b1 25 a3 a9 f0 f1 a3 2b f8 7f e6 31 1b |,]..%.....+...1.| +00000370 51 20 af 3f a7 4e 5c 3d 73 21 04 0f 2c 5c cd f3 |Q .?.N\=s!..,\..| +00000380 eb d1 01 ef b0 e3 64 f7 33 d3 05 82 9f a6 71 3b |......d.3.....q;| +00000390 b2 ab 08 61 57 ad 74 d1 e2 8f 2c c9 73 c3 e0 ac |...aW.t...,.s...| +000003a0 ed 18 4b 70 0d 9a bf ae b4 db 07 7d 25 3e 7f 3d |..Kp.......}%>.=| +000003b0 14 17 03 03 00 35 db be d2 61 e1 3f a3 0b fe 39 |.....5...a.?...9| +000003c0 b2 86 42 72 a6 ee 02 90 c2 d1 d1 5c 3d 61 c8 28 |..Br.......\=a.(| +000003d0 28 7c 01 40 26 f1 e1 f1 81 50 03 4c 6c 32 6d 8b |(|.@&....P.Ll2m.| +000003e0 dd 60 cf fc a9 3c fe e1 4d d0 d2 |.`...<..M..| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 07 8e f6 0b 41 |..........5....A| -00000010 be 74 45 99 5e 35 59 4f 2e 59 d4 37 77 ca 53 d4 |.tE.^5YO.Y.7w.S.| -00000020 fd 33 bf dc 65 85 ee ad c5 d6 94 7e 6e e8 02 cf |.3..e......~n...| -00000030 15 d2 04 cb e1 9f 5e 94 dd 5f 37 17 95 17 0c b7 |......^.._7.....| -00000040 17 03 03 00 17 1f aa e9 7d 34 dc 12 da 3b cb dd |........}4...;..| -00000050 1c d3 b0 f1 79 ad cc 66 06 64 69 21 17 03 03 00 |....y..f.di!....| -00000060 13 b7 c7 a2 01 48 27 3a 44 e6 c6 47 a9 19 5f d2 |.....H':D..G.._.| -00000070 f8 96 98 70 |...p| +00000000 14 03 03 00 01 01 17 03 03 00 35 bd 1e ca 07 84 |..........5.....| +00000010 c8 ba 87 6d d3 ed 53 20 79 76 34 af 30 e6 bf c5 |...m..S yv4.0...| +00000020 74 a0 d0 b3 13 17 a9 3c c7 b3 47 5b e7 b4 6d 18 |t......<..G[..m.| +00000030 e5 3f 12 5c ca c9 26 87 c4 96 c4 9b 45 23 7f f7 |.?.\..&.....E#..| +00000040 17 03 03 00 17 28 0b 72 a0 6e ac 55 ec c0 b7 21 |.....(.r.n.U...!| +00000050 3f 7a 16 98 40 76 7d 3c 95 24 98 3b 17 03 03 00 |?z..@v}<.$.;....| +00000060 13 8e 23 e0 33 31 dc 39 fb 54 a6 a2 63 36 e4 2a |..#.31.9.T..c6.*| +00000070 5a 1c bc 09 |Z...| diff --git a/testdata/Client-TLSv13-AES256-SHA384 b/testdata/Client-TLSv13-AES256-SHA384 index c5bac350a6e..5fcaba0d4fd 100644 --- a/testdata/Client-TLSv13-AES256-SHA384 +++ b/testdata/Client-TLSv13-AES256-SHA384 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,87 +7,88 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 3d 39 60 81 a4 |....z...v..=9`..| -00000010 cc 92 5d fd 8b 21 58 da 2e 4c e2 70 2b 12 d2 8c |..]..!X..L.p+...| -00000020 35 55 bc ba 79 c1 9e 6f 78 8c cf 20 00 00 00 00 |5U..y..ox.. ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 76 2d 81 0b a9 |....z...v..v-...| +00000010 70 b7 fe 52 ef d3 80 c4 1d bf f7 19 99 3c 4c aa |p..R.........4.3I8..| -000002a0 d1 04 b4 13 a8 5f 0b f2 41 77 d4 c8 b2 d3 0e d6 |....._..Aw......| -000002b0 8c dc 34 ad 2a d9 4b 5f 4a e2 17 0a be 2a 55 4a |..4.*.K_J....*UJ| -000002c0 44 a7 b0 0f d1 39 b0 e5 9d 77 6b d7 44 15 99 bf |D....9...wk.D...| -000002d0 c8 02 57 90 5b 73 29 fe ab 85 93 c3 dc 1c b0 b2 |..W.[s).........| -000002e0 14 78 01 99 f5 d2 db ef ae 0e 2a d9 17 1e 70 fa |.x........*...p.| -000002f0 bb 74 fe 93 a0 aa ff 79 cd 8b 6d 3d 79 66 d2 c8 |.t.....y..m=yf..| -00000300 90 c7 2c e6 54 26 de f7 4d b8 a7 73 cd 92 fc 42 |..,.T&..M..s...B| -00000310 ad 4e ff 17 03 03 00 99 c6 07 36 ce 58 9c fe 38 |.N........6.X..8| -00000320 aa b4 5c c8 8e f5 11 19 82 4c 4b 2b 0a 08 be 3f |..\......LK+...?| -00000330 11 76 06 4b d3 1b b7 fc 66 d9 db de fb 6a ee 29 |.v.K....f....j.)| -00000340 f6 a5 4b 96 f3 3c a0 67 44 73 d4 46 c5 d4 a1 f8 |..K..<.gDs.F....| -00000350 71 36 7c a5 62 79 fc be f9 34 55 85 31 8f fc e3 |q6|.by...4U.1...| -00000360 46 be 64 1e 2d 1b 21 c3 89 8e 1c cc df 30 05 57 |F.d.-.!......0.W| -00000370 2e d5 d5 67 11 10 46 1a af 99 01 0e fd 40 53 1f |...g..F......@S.| -00000380 b0 f0 76 3e 8e c1 7a 6a fe fe ef c1 08 6e ea 9b |..v>..zj.....n..| -00000390 75 6c 62 86 07 50 ee 1f ef 3b 55 fd 68 44 47 27 |ulb..P...;U.hDG'| -000003a0 07 c1 53 b5 13 c5 e0 a4 d6 9e 8a 3c 78 a0 04 b7 |..S............|.I+NU.t..| +00000130 23 32 9d aa b1 17 15 3d 37 85 42 0e 5f 7c fa 5b |#2.....=7.B._|.[| +00000140 b8 ae f3 b9 4d b2 40 b5 e2 de e2 b3 f0 27 a6 f2 |....M.@......'..| +00000150 0c 28 4b 77 ee 38 dc ec 17 28 18 03 13 85 60 2c |.(Kw.8...(....`,| +00000160 ab 16 e1 1c c6 e1 91 e0 5f f3 b6 f7 1c 3b 5f 03 |........_....;_.| +00000170 6a d5 b0 a0 5b ab 6d 9c b2 ee 8e 50 49 94 7d db |j...[.m....PI.}.| +00000180 3b fe 68 e2 79 3e 2d 33 06 a6 b2 9c 8b 7d 93 04 |;.h.y>-3.....}..| +00000190 b4 9e 07 6d 15 80 63 38 8e 4b c5 e6 88 a0 6a f2 |...m..c8.K....j.| +000001a0 11 60 11 7a f7 6e 7e 47 9f fd 77 12 c9 d5 8e 58 |.`.z.n~G..w....X| +000001b0 84 51 2c f6 fd 2b d1 dc a6 51 d8 20 3f 06 76 ad |.Q,..+...Q. ?.v.| +000001c0 dd 37 b6 e9 86 4e cb 31 76 79 60 26 c7 b4 d5 67 |.7...N.1vy`&...g| +000001d0 2c 70 22 f4 4d b5 60 61 41 48 65 a8 d0 b5 d8 47 |,p".M.`aAHe....G| +000001e0 08 bf 5b 67 e8 99 c4 a5 91 1e 36 6b 37 53 7b 65 |..[g......6k7S{e| +000001f0 ac af 2d df 8e 77 e2 46 1a 65 45 0a 00 f2 8f 9d |..-..w.F.eE.....| +00000200 47 1c 93 64 52 c3 d9 91 47 41 88 7f 81 ea 8f 2b |G..dR...GA.....+| +00000210 a9 fa 4b d5 9d 6f 30 36 dc af e0 96 b3 f0 e4 6a |..K..o06.......j| +00000220 a3 10 cf 0e 53 64 e3 18 52 08 a9 16 e3 6d e9 0a |....Sd..R....m..| +00000230 ec 4d a4 f7 f1 ee 38 28 88 31 aa 38 a7 14 09 f4 |.M....8(.1.8....| +00000240 1a 31 ac 40 46 dd f2 4f 7f ff f4 fc 71 42 61 73 |.1.@F..O....qBas| +00000250 03 47 9f ec 69 7f 77 e3 91 29 cd 89 7f 45 6b 9d |.G..i.w..)...Ek.| +00000260 f5 33 66 8b 74 bc 53 ff 54 c3 af 48 8e d8 25 0a |.3f.t.S.T..H..%.| +00000270 99 49 08 29 f3 b2 a5 d0 5b ca 89 e2 d7 f5 5f 40 |.I.)....[....._@| +00000280 72 6f b4 d6 20 39 79 4a 0e 7c 00 60 68 eb 1e ab |ro.. 9yJ.|.`h...| +00000290 ee 38 35 f2 db 83 9c 0b 52 80 15 14 ae 6b dc f5 |.85.....R....k..| +000002a0 d5 f3 83 cb e7 5f 5c 98 e2 f2 d0 52 68 92 ff f6 |....._\....Rh...| +000002b0 7a ce ff ae 96 6e ad 11 d2 5e bc 60 16 55 cd 81 |z....n...^.`.U..| +000002c0 25 67 5b db 76 59 36 a8 48 d6 91 86 4f cb 87 5f |%g[.vY6.H...O.._| +000002d0 ea 96 e4 71 df ac 54 5a a0 e1 0a bd 88 68 ff 0a |...q..TZ.....h..| +000002e0 97 be 9b da cf aa e1 b1 74 c9 8d 5f 19 f5 df 53 |........t.._...S| +000002f0 a0 57 93 7d c3 fe 37 78 2a ba 6b c2 a1 51 41 f4 |.W.}..7x*.k..QA.| +00000300 ee 57 ed d2 7d 48 14 31 4a f7 14 d4 0e 42 9e fb |.W..}H.1J....B..| +00000310 fb f4 cd 17 03 03 00 99 6b 70 ae fc d3 07 5e 7f |........kp....^.| +00000320 39 2a 27 34 54 8a b6 4d 39 36 d4 38 0c ed 8c 24 |9*'4T..M96.8...$| +00000330 fc 29 1d 59 74 99 f1 e1 a1 23 4b 6d 27 31 f4 2d |.).Yt....#Km'1.-| +00000340 8b b3 23 aa 92 5f 01 3d a1 f6 b5 24 8e 56 ea eb |..#.._.=...$.V..| +00000350 4e 0a dc 23 ae 32 1b 0d cb bc 60 87 b7 35 32 5f |N..#.2....`..52_| +00000360 10 32 fb 89 32 3f 99 0e 30 0d 65 28 69 c4 3b f8 |.2..2?..0.e(i.;.| +00000370 6c 04 a5 bf ec e9 aa c4 bc b4 55 e2 d0 09 a1 4b |l.........U....K| +00000380 82 f8 a5 37 ab ca 69 f4 bc 24 69 c4 ce 07 6c ee |...7..i..$i...l.| +00000390 d6 08 92 14 41 ca 8f c8 c9 37 ae b5 f3 29 ff 69 |....A....7...).i| +000003a0 7a 18 4e 93 dd eb 52 58 d2 6b 22 6d b6 29 70 b3 |z.N...RX.k"m.)p.| +000003b0 ea 17 03 03 00 45 10 35 86 2e d4 e3 92 35 a3 0e |.....E.5.....5..| +000003c0 a1 cd 79 11 05 cd 77 c4 93 f4 6a ba f8 fc 4b bd |..y...w...j...K.| +000003d0 63 5d c0 2d a0 c9 c2 2a 10 79 e9 0c bc 0b 18 c1 |c].-...*.y......| +000003e0 15 18 c0 8a d7 05 39 f1 de 6e 8e cb dd 73 5f ee |......9..n...s_.| +000003f0 28 93 f9 92 35 56 1f c1 e4 8d 89 |(...5V.....| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 45 ee 00 18 db 1e |..........E.....| -00000010 67 aa 0f 9e 5c 20 7d 25 27 49 e8 d5 60 02 78 7b |g...\ }%'I..`.x{| -00000020 23 58 70 67 67 93 ca 4d 50 69 b1 cf d9 dc 31 d3 |#Xpgg..MPi....1.| -00000030 03 36 b0 07 39 59 52 e1 c7 36 6d 16 0b 56 03 c6 |.6..9YR..6m..V..| -00000040 a0 ec 0e 6b ed de 7b ba 51 96 83 b6 b8 77 8f 6a |...k..{.Q....w.j| -00000050 17 03 03 00 17 77 f6 6f 83 00 ad eb be 16 26 3d |.....w.o......&=| -00000060 27 e8 58 73 a2 bc 11 ff 14 54 4a 15 17 03 03 00 |'.Xs.....TJ.....| -00000070 13 bc 94 3f 6e ee 1b 40 b0 2e 03 13 47 28 38 4d |...?n..@....G(8M| -00000080 2d 26 5d 15 |-&].| +00000000 14 03 03 00 01 01 17 03 03 00 45 2f 08 54 f6 2b |..........E/.T.+| +00000010 fd 13 5d 87 d3 b6 73 5e 20 88 af 53 db 7e 3c 37 |..]...s^ ..S.~<7| +00000020 1d 52 a4 ae 91 3f 24 a7 30 26 02 da 13 f3 c5 60 |.R...?$.0&.....`| +00000030 28 e6 eb 8f e1 1b 58 2d bb d0 06 c4 67 33 1c a1 |(.....X-....g3..| +00000040 03 cb 16 56 1b 91 06 08 b6 34 c5 de 97 04 ee f0 |...V.....4......| +00000050 17 03 03 00 17 6c 7e 3d 5d 98 4e 42 81 42 c5 2c |.....l~=].NB.B.,| +00000060 b2 c2 d3 c9 58 bc 13 bc 61 cd 63 f2 17 03 03 00 |....X...a.c.....| +00000070 13 83 c7 4a b6 10 69 b4 16 be 25 a1 db cb c9 94 |...J..i...%.....| +00000080 8f a2 27 22 |..'"| diff --git a/testdata/Client-TLSv13-ALPN b/testdata/Client-TLSv13-ALPN index f40340ac152..ff0989c567b 100644 --- a/testdata/Client-TLSv13-ALPN +++ b/testdata/Client-TLSv13-ALPN @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 01 12 01 00 01 0e 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 2c 01 00 01 28 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,87 +7,89 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 93 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 ad 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 10 00 10 |................| -000000d0 00 0e 06 70 72 6f 74 6f 32 06 70 72 6f 74 6f 31 |...proto2.proto1| -000000e0 00 2b 00 09 08 03 04 03 03 03 02 03 01 00 33 00 |.+............3.| -000000f0 26 00 24 00 1d 00 20 2f e5 7d a3 47 cd 62 43 15 |&.$... /.}.G.bC.| -00000100 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf c2 ed |(.._.).0........| -00000110 90 99 5f 58 cb 3b 74 |.._X.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 10 00 10 00 0e 06 70 72 6f |.............pro| +000000f0 74 6f 32 06 70 72 6f 74 6f 31 00 2b 00 09 08 03 |to2.proto1.+....| +00000100 04 03 03 03 02 03 01 00 33 00 26 00 24 00 1d 00 |........3.&.$...| +00000110 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 | /.}.G.bC.(.._.)| +00000120 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b |.0.........._X.;| +00000130 74 |t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 c2 2e 95 0c cf |....z...v.......| -00000010 63 40 d8 a0 bd 51 27 e2 62 79 72 26 b1 d4 38 5b |c@...Q'.byr&..8[| -00000020 50 03 66 d2 2e 8e 46 b7 cf 40 0a 20 00 00 00 00 |P.f...F..@. ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 bb 72 d9 b8 e5 |....z...v...r...| +00000010 0b 80 14 4c 16 9b 86 ec 26 62 f2 f9 00 85 a6 ae |...L....&b......| +00000020 44 f4 27 c4 13 67 4a 2e 96 e6 33 20 00 00 00 00 |D.'..gJ...3 ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 21 |..+.....3.$... !| -00000060 18 6f 64 73 17 22 b0 11 60 92 ab 01 b3 fb 8a 2d |.ods."..`......-| -00000070 27 15 5a 46 ec 6c c3 0c a7 73 00 b2 7e 9f 4f 14 |'.ZF.l...s..~.O.| -00000080 03 03 00 01 01 17 03 03 00 24 68 7f 90 b2 66 74 |.........$h...ft| -00000090 36 f5 fc 65 55 19 c1 78 65 d8 dc 46 fb ad b6 2c |6..eU..xe..F...,| -000000a0 89 f3 d1 fd 3e 46 c2 50 01 24 72 2a 64 98 17 03 |....>F.P.$r*d...| -000000b0 03 02 6d 40 bc da 1a 9c 8b d7 15 24 4f d4 c1 9c |..m@.......$O...| -000000c0 8b 3c 8b 51 37 41 46 a8 cb b4 9c 50 c0 be 72 ef |.<.Q7AF....P..r.| -000000d0 81 d3 7f ed ec 96 e2 c2 08 0e 7e 23 95 c3 4f 79 |..........~#..Oy| -000000e0 01 2d 26 81 c1 ba d0 58 61 d8 c5 b7 e7 79 4f 3e |.-&....Xa....yO>| -000000f0 d8 c1 07 ae de 6a 1e 78 eb 9d 8c a1 2a 57 9c 56 |.....j.x....*W.V| -00000100 1f 6c 6e bb 2d 70 6d 55 92 10 3f 39 7e 8a d2 30 |.ln.-pmU..?9~..0| -00000110 e5 1c 4b df c0 96 d0 de 16 09 c6 34 23 16 54 a8 |..K........4#.T.| -00000120 f5 0a 1a af 9a 27 60 89 19 6a 3e 69 12 de 76 4c |.....'`..j>i..vL| -00000130 88 f2 ca 6c 0b 94 b8 d2 bc 09 f0 d3 86 74 3c 3f |...l.........tq..| -00000290 5c 9a b7 6b f2 d0 1e 55 2c 1c ac 5d 21 64 a2 d2 |\..k...U,..]!d..| -000002a0 a9 dd a8 49 7c 22 26 8e ca 75 a3 ef 52 42 d0 38 |...I|"&..u..RB.8| -000002b0 f4 02 60 af ee 33 30 46 90 a5 b3 7a 66 c8 ab 10 |..`..30F...zf...| -000002c0 3f 76 d1 76 aa 5d da c4 29 ca d7 22 c4 44 b4 e8 |?v.v.]..)..".D..| -000002d0 64 b6 6d 0f 16 cd d9 e9 62 17 91 64 03 0f 99 8f |d.m.....b..d....| -000002e0 c6 97 c8 4b c9 45 c4 31 e4 1f a8 b0 aa 67 02 e7 |...K.E.1.....g..| -000002f0 20 68 2a 89 f9 b8 e8 ce 93 d0 a3 1b 0d d1 4c 45 | h*...........LE| -00000300 c2 19 ac aa 87 43 95 ae c4 56 56 fe 4b 0e af db |.....C...VV.K...| -00000310 08 6a 14 8e 8b 7e 64 9d 6d 6e 0f 78 7c e4 f8 51 |.j...~d.mn.x|..Q| -00000320 17 03 03 00 99 2d 7b fa e6 dc da 89 93 da 93 91 |.....-{.........| -00000330 9c 25 08 50 66 eb a7 e4 f1 20 da 33 e5 cd a5 89 |.%.Pf.... .3....| -00000340 00 a7 47 9c 84 e6 cf 6d e1 86 02 af fb 54 ff b3 |..G....m.....T..| -00000350 b5 a4 e1 46 1a 3a 89 ad f0 c4 63 fe d2 eb bb 6c |...F.:....c....l| -00000360 6e cc a9 95 b0 e4 df f8 44 46 16 43 07 d7 8e 6e |n.......DF.C...n| -00000370 9b ee 0b 22 7a 23 f4 b8 3e fd fe 99 13 9d 18 bc |..."z#..>.......| -00000380 77 99 2f 90 21 a1 5f cc 9f 08 e2 75 44 2f bf 58 |w./.!._....uD/.X| -00000390 70 f2 95 b2 13 20 f3 ed 51 de e8 02 c6 ca 44 57 |p.... ..Q.....DW| -000003a0 eb 0b 9f 3e 61 f1 1a 6e 6b 13 f5 14 f3 43 19 f6 |...>a..nk....C..| -000003b0 7d 46 3a 73 49 2f fd 83 c3 68 c7 ba b4 e8 17 03 |}F:sI/...h......| -000003c0 03 00 35 67 2b 2b 9b f0 f3 d9 09 c4 01 20 ea 22 |..5g++....... ."| -000003d0 c9 7c e6 7a ce 3f 7f 84 c2 1f 6e eb d6 ce 85 b8 |.|.z.?....n.....| -000003e0 2c 3c 9f 77 8b 37 11 dd 64 d1 ae ba 85 50 7e ba |,<.w.7..d....P~.| -000003f0 14 a9 05 ff 82 3b e5 7d |.....;.}| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 69 |..+.....3.$... i| +00000060 d7 31 51 9b e6 1d 98 09 9f 5f 6c 05 10 ba 64 b5 |.1Q......_l...d.| +00000070 b9 8f b8 c0 2a c1 7f 89 13 ed 04 38 e9 78 43 14 |....*......8.xC.| +00000080 03 03 00 01 01 17 03 03 00 24 99 f3 d5 db e2 35 |.........$.....5| +00000090 4b fb b2 05 e6 03 c2 f2 c4 ea 64 d2 e4 d3 17 e7 |K.........d.....| +000000a0 72 34 e8 b2 d6 61 91 3b b3 03 ea 1c 33 57 17 03 |r4...a.;....3W..| +000000b0 03 02 6d 22 da 71 90 42 da 0a 03 52 98 42 e3 71 |..m".q.B...R.B.q| +000000c0 db 57 e0 9d 70 89 4b 4c a9 a5 4d 39 02 19 f1 09 |.W..p.KL..M9....| +000000d0 5a 9c 33 c9 f2 8d 7e 78 c3 b3 ae 1b 2c 7b 73 ef |Z.3...~x....,{s.| +000000e0 3a ad d8 51 82 90 bc 6b 0d 6f a6 f0 46 8d 72 29 |:..Q...k.o..F.r)| +000000f0 ca 84 d8 b1 27 e3 8d 8f f5 ce f0 f0 d9 2f 9c 71 |....'......../.q| +00000100 b9 bc 89 af 92 18 d2 c9 07 b2 eb 94 40 42 d2 7a |............@B.z| +00000110 c8 be 49 35 b6 b7 f3 b9 64 c1 56 fe fc d8 11 04 |..I5....d.V.....| +00000120 6c d7 e9 18 98 29 eb d5 6f 59 0d fa 25 85 f7 3c |l....)..oY..%..<| +00000130 df 76 d9 52 10 72 59 d6 36 5b b0 54 01 1d ac 9e |.v.R.rY.6[.T....| +00000140 9b 86 5f 5b ee 18 74 ec 8e 8b da 0f df 71 50 e2 |.._[..t......qP.| +00000150 cd 58 98 23 a0 21 94 ac eb db 3a fe f6 8d aa cc |.X.#.!....:.....| +00000160 21 23 e6 35 f7 0e 42 0e 50 48 14 22 f3 83 91 3d |!#.5..B.PH."...=| +00000170 73 22 5b 74 e7 e8 d1 b5 ee cd 7e c3 ee 0d 13 a9 |s"[t......~.....| +00000180 aa ae 0b 12 b0 3a 9d 6f 01 68 27 e4 62 e0 0e 67 |.....:.o.h'.b..g| +00000190 e4 de 69 74 8d f1 7a 3b 16 bb 1d a0 ad bf c5 4b |..it..z;.......K| +000001a0 50 9e b0 dc 08 73 14 99 c9 ad de 04 df 75 09 de |P....s.......u..| +000001b0 e4 27 ec 2b 75 79 db 82 8c aa 42 af 40 df 32 0e |.'.+uy....B.@.2.| +000001c0 e6 1d 93 d1 00 f7 18 59 43 9c 03 6c f7 bf ac a2 |.......YC..l....| +000001d0 8b 10 be b1 a8 b6 4e 84 2b c0 ff 87 4d 26 c2 8f |......N.+...M&..| +000001e0 63 64 7a 66 a6 12 0b e4 06 9e ff af fe 03 55 c7 |cdzf..........U.| +000001f0 13 92 22 ec ed 89 76 2d 36 8a 4a 92 f1 a5 b6 ac |.."...v-6.J.....| +00000200 d4 19 46 9d f3 e0 52 6d 01 ee bf ab d5 17 c0 33 |..F...Rm.......3| +00000210 b5 81 e1 81 a2 e9 44 b7 20 0e f4 f0 35 bb d4 8d |......D. ...5...| +00000220 bc 83 fc 59 fb 1d 5e e0 c4 4c 9e cc c3 72 b7 3d |...Y..^..L...r.=| +00000230 01 a4 f2 df e2 a7 44 d1 f1 20 90 31 53 09 50 eb |......D.. .1S.P.| +00000240 80 85 23 52 68 7d b2 51 60 0c 00 87 c3 42 88 07 |..#Rh}.Q`....B..| +00000250 de 59 fd 3d 68 a3 22 50 cb 67 43 94 02 77 24 6a |.Y.=h."P.gC..w$j| +00000260 8d a4 4f 85 7f 19 a0 b5 10 76 2a 85 4c 84 12 e3 |..O......v*.L...| +00000270 f7 ce b8 30 9f d0 9f 8a 26 42 28 f4 cb f7 c4 c2 |...0....&B(.....| +00000280 aa 34 c2 72 64 dc 6d 9d d4 26 2f 14 4d 97 2c 00 |.4.rd.m..&/.M.,.| +00000290 2d 46 0f 07 9c 3d 76 d4 55 a7 15 13 b2 41 e3 f4 |-F...=v.U....A..| +000002a0 33 ae 1b 26 68 43 62 de c1 c2 61 26 08 1b 20 13 |3..&hCb...a&.. .| +000002b0 bc 58 72 c2 16 fe 4d 2e 68 8b 31 61 ac c9 55 c5 |.Xr...M.h.1a..U.| +000002c0 3c 5a 77 c2 61 47 4a d6 0d c4 8a bc bb 63 ca ea |0....8bA.L94..| +000003e0 ee 48 70 3c 23 65 90 cb f9 4f 76 72 dd f3 64 83 |.Hp<#e...Ovr..d.| +000003f0 23 38 79 13 d2 93 57 fb |#8y...W.| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 39 60 84 ac d0 |..........59`...| -00000010 b9 47 4b 47 49 af 52 88 3c 12 50 0d 65 46 f7 a1 |.GKGI.R.<.P.eF..| -00000020 50 39 c5 39 22 b3 45 e6 d3 25 44 a6 bc 3d bc 69 |P9.9".E..%D..=.i| -00000030 35 1d 61 cf a0 3c 53 77 94 67 66 ae 37 7f 3f 84 |5.a..>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,85 +7,86 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 3d 50 78 7e 02 |....z...v..=Px~.| -00000010 dc 79 3a 32 6b 6a 50 24 90 65 72 5e cd fc 96 18 |.y:2kjP$.er^....| -00000020 e1 47 21 43 50 5a 32 0f cf e7 ae 20 00 00 00 00 |.G!CPZ2.... ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 f9 23 d9 5d 6c |....z...v...#.]l| +00000010 ae 6b 63 2a d8 2c a0 27 8e 7b 39 29 35 04 0e a9 |.kc*.,.'.{9)5...| +00000020 31 f7 a0 c5 77 a7 f3 c5 25 ca 2f 20 00 00 00 00 |1...w...%./ ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 cd |..+.....3.$... .| -00000060 e6 a0 65 6b 1c 9e 5c f0 b7 f9 82 8e 37 d1 c4 35 |..ek..\.....7..5| -00000070 31 c1 3f df 4a 70 33 ba 38 d9 3f 74 0c c2 61 14 |1.?.Jp3.8.?t..a.| -00000080 03 03 00 01 01 17 03 03 00 17 63 c3 02 95 17 f4 |..........c.....| -00000090 a8 76 8d 54 ad 3c 10 c7 cc e8 08 13 d6 9b 0b 0f |.v.T.<..........| -000000a0 db 17 03 03 02 6d 0f ec 8d 0d e5 1a 85 02 3f 92 |.....m........?.| -000000b0 44 09 ac e6 da 2d c8 d7 14 68 00 9d 22 bf 05 1d |D....-...h.."...| -000000c0 cd 07 b5 8b b9 84 3f cf cc c5 48 40 00 2e e1 c9 |......?...H@....| -000000d0 0b 41 6d 39 cb 05 00 d6 7a 10 4a ba 96 e1 96 a9 |.Am9....z.J.....| -000000e0 70 d8 20 76 2f d2 70 83 cb a0 d1 72 43 db 09 cd |p. v/.p....rC...| -000000f0 2d e5 89 11 e8 81 15 13 dd 29 2a c8 88 4a d8 73 |-........)*..J.s| -00000100 35 3d 8e 8a 03 ca ed 32 a9 16 bb 71 88 d5 5f a1 |5=.....2...q.._.| -00000110 1b ec ee 9e 3d 8c f4 d0 c2 5b 72 84 3c 75 aa de |....=....[r......).@..| -00000130 3c f4 32 90 c0 25 b7 f0 fc 6b 16 c1 ab 80 69 79 |<.2..%...k....iy| -00000140 5e dd 95 5a ba e4 5a 68 64 a6 44 f5 a2 3a d6 30 |^..Z..Zhd.D..:.0| -00000150 7e b1 27 b1 79 44 ef 79 95 51 75 02 24 2c ea ab |~.'.yD.y.Qu.$,..| -00000160 d5 e1 fd aa 81 55 89 cf bc 9c 11 2b 0b 4a 99 9f |.....U.....+.J..| -00000170 50 93 68 a1 c8 79 3d d8 aa d8 54 e3 d5 1a 97 90 |P.h..y=...T.....| -00000180 33 87 a9 70 1d 9d ba 78 d0 87 8a 98 6f 1b 1e b0 |3..p...x....o...| -00000190 e8 92 78 df 21 61 88 36 fa 14 4b c9 b1 a4 93 88 |..x.!a.6..K.....| -000001a0 b4 26 9a 13 1b 8f 6c 84 bc b1 78 a8 a1 e7 64 4b |.&....l...x...dK| -000001b0 d4 56 37 b6 d1 80 6d 8d 0f c2 2f 0c 0b 9e 42 8e |.V7...m.../...B.| -000001c0 37 e0 9b 73 e4 ab cf 24 43 86 bc d0 40 fd db 4a |7..s...$C...@..J| -000001d0 c1 f6 55 56 e9 54 5c c7 3c 17 36 44 7b 99 7e 03 |..UV.T\.<.6D{.~.| -000001e0 48 f7 a9 cc 4d b9 b4 bf 09 dd 96 37 8c b5 d5 f0 |H...M......7....| -000001f0 bd af 19 0e 82 6c 5d b6 96 ca 98 a2 56 d3 68 f2 |.....l].....V.h.| -00000200 94 cd 7a 94 8d b3 97 16 03 3d 6a 94 5d 66 32 5d |..z......=j.]f2]| -00000210 11 28 d9 7b c1 8e b1 c4 ec b7 54 94 3b 80 f9 b3 |.(.{......T.;...| -00000220 9d 2d 74 3c 02 55 a0 4a 02 b7 61 19 b0 a2 e6 44 |.-t<.U.J..a....D| -00000230 3e c8 81 e3 a4 18 d7 4c 16 d2 fb e3 90 2c 61 71 |>......L.....,aq| -00000240 a0 82 28 48 de 7c 7c bd ba 27 85 e1 fd c9 df ac |..(H.||..'......| -00000250 b2 61 0f 80 f3 86 31 8f c1 a3 dc b6 43 98 c9 0e |.a....1.....C...| -00000260 73 dd 1d cf 61 f6 25 23 44 ca 5a 4c 12 6c bb 35 |s...a.%#D.ZL.l.5| -00000270 32 c4 32 0d cc 8c 11 b9 4a ee 88 92 d6 27 d4 a8 |2.2.....J....'..| -00000280 25 59 1e fe ba 41 63 50 1e b1 e2 c5 75 95 7d 56 |%Y...AcP....u.}V| -00000290 60 ed 81 d0 e7 12 05 e7 0f b4 5d 6f 27 98 76 72 |`.........]o'.vr| -000002a0 e7 8a e1 ff 5d 6b 29 9f 75 24 a5 fd 6d 1f bc 58 |....]k).u$..m..X| -000002b0 f8 b8 67 d1 b0 21 25 f1 09 c7 f9 41 f5 85 1b eb |..g..!%....A....| -000002c0 56 f6 14 83 bb 08 d5 3e ed 22 e1 c5 9c 14 cc de |V......>."......| -000002d0 d3 45 e1 0e e3 cb 61 b5 ab f6 03 41 bc 71 5d 17 |.E....a....A.q].| -000002e0 99 c6 8f 13 41 f8 78 e8 da 3d 40 1c 1a 47 a9 b2 |....A.x..=@..G..| -000002f0 e7 22 90 2f d8 8f 6f 0d 36 02 b1 36 fa 6d 26 6f |."./..o.6..6.m&o| -00000300 82 e2 54 74 a0 26 3c 0c 57 bb d7 01 ff ee 6f 16 |..Tt.&<.W.....o.| -00000310 63 92 00 17 03 03 00 99 ea 68 e4 08 10 2d 6f b6 |c........h...-o.| -00000320 a2 f8 f5 03 35 00 63 c8 da 23 4c 96 b8 2a 5c f5 |....5.c..#L..*\.| -00000330 9d 24 6f 5a 5b c3 aa d2 df d9 16 b6 9a 91 79 39 |.$oZ[.........y9| -00000340 18 35 65 28 80 97 fe 76 26 79 45 80 4c 8a 7c cc |.5e(...v&yE.L.|.| -00000350 a2 36 1a 8a ad aa f3 06 08 1f b7 4a 9b 22 7f 37 |.6.........J.".7| -00000360 62 3a ae 13 c0 f4 22 05 6f fc 92 5a e0 ed f1 5b |b:....".o..Z...[| -00000370 c6 6b 4f 18 83 a6 39 a7 5c 1c 53 32 08 76 25 03 |.kO...9.\.S2.v%.| -00000380 20 d5 47 57 76 06 38 4e bd b8 dd 7f 0e 37 b3 4e | .GWv.8N.....7.N| -00000390 f1 f3 b1 98 d4 f0 d6 00 ea 6a e9 ec a4 b0 fd 20 |.........j..... | -000003a0 2d 67 20 c8 ef 9f a1 97 00 cd 15 c2 8e c2 ba 46 |-g ............F| -000003b0 76 17 03 03 00 35 d0 f3 18 d0 71 4c 66 8c 40 ef |v....5....qLf.@.| -000003c0 57 92 f3 56 5a 42 1e 4c e6 13 5a cc ab 26 90 6a |W..VZB.L..Z..&.j| -000003d0 9b ca 49 b0 81 ec 38 30 44 27 5a fa ac d6 1f 5c |..I...80D'Z....\| -000003e0 bc 64 4b 0b c3 69 b2 5b ef 7f 4a |.dK..i.[..J| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 ba |..+.....3.$... .| +00000060 2b 6b 27 27 14 c0 42 b6 1f bc ad 77 f1 1f 4a b3 |+k''..B....w..J.| +00000070 42 94 a6 3a 2c 7f e6 aa 72 8e d0 70 e8 0e 53 14 |B..:,...r..p..S.| +00000080 03 03 00 01 01 17 03 03 00 17 33 bb 8a 47 b0 a9 |..........3..G..| +00000090 29 d7 bf e4 94 7d 42 8a 19 95 4e d9 7c b7 9a 87 |)....}B...N.|...| +000000a0 83 17 03 03 02 6d 86 a7 6c 3c 4e 45 95 f6 f6 66 |.....m..l.`.`~.....r| +000001d0 a4 bc 66 a7 bd 46 83 88 6e 9f b3 db de e7 b3 04 |..f..F..n.......| +000001e0 62 4c 61 d6 d0 89 84 e4 30 d7 4d a0 61 4f 56 ad |bLa.....0.M.aOV.| +000001f0 51 c6 1f 10 01 9e 8d 75 55 fb 89 b8 d0 57 e3 ce |Q......uU....W..| +00000200 40 72 41 27 96 e0 5b f4 cc ba d0 ec 8c d4 91 ca |@rA'..[.........| +00000210 8f f0 db 11 86 d5 8e 02 6a 1f 29 00 f6 ff 42 a2 |........j.)...B.| +00000220 7c c9 e7 18 38 39 c9 e4 2b 0e e9 36 40 d3 dd bc ||...89..+..6@...| +00000230 f7 e3 7c 2d e9 f0 52 31 16 85 b4 e2 a8 54 cd d0 |..|-..R1.....T..| +00000240 d6 e2 ed f4 fc 91 9f 50 68 a0 74 af 37 c7 4c bd |.......Ph.t.7.L.| +00000250 de 9e c7 78 06 41 6b 62 07 8c 8b f4 f5 ea ab 16 |...x.Akb........| +00000260 b0 16 b9 ea 06 2c ee 66 d5 da b3 2c 0f 03 d2 f6 |.....,.f...,....| +00000270 ae f7 11 85 d8 b6 b8 bf 7e a5 c8 ff 0d 41 29 86 |........~....A).| +00000280 94 e4 32 58 6c 0e 05 47 b8 c5 77 de d1 81 8d 72 |..2Xl..G..w....r| +00000290 d4 e0 64 66 f7 17 8a 96 88 bf 1c 04 22 40 e0 cf |..df........"@..| +000002a0 28 6d f5 4f 89 e2 4a 23 4b 71 e1 15 3b da 45 0b |(m.O..J#Kq..;.E.| +000002b0 13 ee 1f 7f 4e 45 3d 8e d2 f3 bd 23 e7 4c f3 d2 |....NE=....#.L..| +000002c0 0f 4b 6e 6a 3d 6a f1 26 b7 ae f6 1d 39 73 cd fd |.Knj=j.&....9s..| +000002d0 1c c8 c7 45 fa e0 67 d5 2c eb e9 2b 32 8e 65 7b |...E..g.,..+2.e{| +000002e0 c5 32 cc e6 01 91 fc fd 92 6e ab 9a 13 f6 63 81 |.2.......n....c.| +000002f0 e5 b9 25 6d ce 73 39 9e 82 ae 18 89 a5 32 cb d3 |..%m.s9......2..| +00000300 a3 85 55 f5 cd 26 96 18 91 1c 41 36 69 49 93 f2 |..U..&....A6iI..| +00000310 aa 05 ab 17 03 03 00 99 9c 1d 79 c5 7b 73 b9 f9 |..........y.{s..| +00000320 00 2d ea ff c2 8d f6 57 65 7c 92 fa ba 22 18 03 |.-.....We|..."..| +00000330 69 69 e9 05 e0 74 1a e5 9d f9 30 9f 1c 39 86 30 |ii...t....0..9.0| +00000340 aa 1b 86 fa 20 26 20 13 ea 8d eb 8b 4e 8b c1 50 |.... & .....N..P| +00000350 86 ef a3 c5 8e 48 b2 a1 5a ac 05 e7 8f 23 8a 34 |.....H..Z....#.4| +00000360 ab 1f 8e 90 b1 e5 9a d3 d7 28 90 b6 12 35 dc cb |.........(...5..| +00000370 c5 3c 8d 3d fc e2 99 2a 8b f0 6a f4 8b a9 62 3f |.<.=...*..j...b?| +00000380 b6 19 29 fd 79 b9 35 72 b0 89 59 ab 78 c6 c9 f0 |..).y.5r..Y.x...| +00000390 68 bc 0d f5 9a 45 dd 4f d2 40 75 19 47 af e9 6f |h....E.O.@u.G..o| +000003a0 56 ec 73 ce cd 19 31 c0 39 08 b1 63 e0 ac d4 49 |V.s...1.9..c...I| +000003b0 e5 17 03 03 00 35 0d 34 de e9 22 e4 56 18 4a 33 |.....5.4..".V.J3| +000003c0 d1 05 c4 d4 f2 64 24 62 d7 da 6a 8e 34 3b 51 13 |.....d$b..j.4;Q.| +000003d0 27 69 88 37 4b ba 29 9d c5 78 af 62 2b 62 6e 5a |'i.7K.)..x.b+bnZ| +000003e0 28 7a 93 c5 9a f3 84 1d 50 9a 94 |(z......P..| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 ef 3b a2 4d 0f |..........5.;.M.| -00000010 69 53 f2 a3 80 a0 06 a9 99 a9 15 1e bc 8b 4a 08 |iS............J.| -00000020 de 87 e7 b6 10 d6 b3 fc 89 f8 24 f9 2d 04 a1 fd |..........$.-...| -00000030 c2 ce eb 14 e9 df bf ab 80 8e f1 00 53 60 88 82 |............S`..| -00000040 17 03 03 00 17 22 aa a9 e0 1f f8 55 03 22 9b 0f |.....".....U."..| -00000050 b2 6d 73 be 10 5d 6c c6 d8 0e 5e 0d 17 03 03 00 |.ms..]l...^.....| -00000060 13 45 f2 81 7f ea ae 0d 77 bb d4 05 1e 55 af a8 |.E......w....U..| -00000070 3e 0d 10 0f |>...| +00000000 14 03 03 00 01 01 17 03 03 00 35 4f 9c 2d 01 8b |..........5O.-..| +00000010 4a 31 16 77 b4 f2 2b 40 cb 8e d5 7d 93 bd 66 59 |J1.w..+@...}..fY| +00000020 f8 f1 f4 45 69 fd f7 9b 88 5a e5 0a 40 67 e2 17 |...Ei....Z..@g..| +00000030 72 de b0 1d 02 ba b5 a7 58 35 4a 3e b6 2a 0c e8 |r.......X5J>.*..| +00000040 17 03 03 00 17 4a 50 b7 f1 94 a4 64 9e a2 95 0a |.....JP....d....| +00000050 6c f6 93 7f d6 6d 12 10 7a 69 8a d2 17 03 03 00 |l....m..zi......| +00000060 13 10 60 24 3f 6e c9 ee c6 27 50 72 5e 19 22 e0 |..`$?n...'Pr^.".| +00000070 76 12 45 e5 |v.E.| diff --git a/testdata/Client-TLSv13-ClientCert-ECDSA-RSA b/testdata/Client-TLSv13-ClientCert-ECDSA-RSA index db13bd63876..6611cdfed22 100644 --- a/testdata/Client-TLSv13-ClientCert-ECDSA-RSA +++ b/testdata/Client-TLSv13-ClientCert-ECDSA-RSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,134 +7,135 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 37 0c 23 2f 26 |....z...v..7.#/&| -00000010 2a b0 8d 47 84 3b 9b 9c 7e 0f 0a cd 77 39 6c c2 |*..G.;..~...w9l.| -00000020 7b c0 56 a8 9d 07 a0 ec b6 e5 79 20 00 00 00 00 |{.V.......y ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 ea 4e 78 a5 f4 |....z...v...Nx..| +00000010 71 78 37 5b 2c e4 69 b2 00 4d 49 8c 8b 86 4c 80 |qx7[,.i..MI...L.| +00000020 f9 db 03 3f cc 1e 42 f9 87 ff 7b 20 00 00 00 00 |...?..B...{ ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 5e |..+.....3.$... ^| -00000060 9a da 1d cb 90 03 f2 d2 23 e3 54 fc 3d 9b 8c 92 |........#.T.=...| -00000070 42 df cf 7a 3d 47 3f 66 a4 a6 7a 07 44 76 5c 14 |B..z=G?f..z.Dv\.| -00000080 03 03 00 01 01 17 03 03 00 17 53 54 e6 de 6a af |..........ST..j.| -00000090 c2 d9 b8 39 b6 ae 3e 9f 54 60 e1 fa 29 5a fb 16 |...9..>.T`..)Z..| -000000a0 20 17 03 03 00 42 f4 a5 7f e3 e7 ba 6a 88 e1 f2 | ....B......j...| -000000b0 fd 25 3e ba 05 00 29 77 ff 69 6e e0 ac 50 99 50 |.%>...)w.in..P.P| -000000c0 ac 1e bd 8c 52 e6 28 5d 67 bb bb 20 61 69 5b 97 |....R.(]g.. ai[.| -000000d0 7f 29 79 97 bf 13 24 25 ad 3b 01 78 c4 a4 4e 9a |.)y...$%.;.x..N.| -000000e0 06 d6 20 da 63 27 97 8d 17 03 03 02 6d 79 7e 9e |.. .c'......my~.| -000000f0 01 98 a9 7c ba 63 43 2b 21 b1 bc 2c b2 17 c2 35 |...|.cC+!..,...5| -00000100 76 f2 30 01 69 45 d4 56 e0 5a 2c 62 aa 6f a8 1f |v.0.iE.V.Z,b.o..| -00000110 b8 31 df be 6f 3f 60 16 dc 61 5c 9f 99 a9 63 7d |.1..o?`..a\...c}| -00000120 7e 2b d2 ae 02 46 12 db be 51 9e 15 dd 1c 96 b0 |~+...F...Q......| -00000130 74 69 20 c0 e1 78 46 01 a6 23 72 28 ba c7 a3 48 |ti ..xF..#r(...H| -00000140 1e dc 0b 57 c9 b4 39 88 3d 39 c7 6c 38 c7 3a 29 |...W..9.=9.l8.:)| -00000150 a4 45 79 10 04 61 cd db df 5b 88 c1 35 4b 38 ea |.Ey..a...[..5K8.| -00000160 6d 72 57 9f e0 2e 37 61 3d c8 aa b2 25 a6 11 5c |mrW...7a=...%..\| -00000170 09 e2 3a 17 d3 c5 37 2f a7 b4 73 fe e2 61 df 1d |..:...7/..s..a..| -00000180 cd 4f 72 4a 67 c3 c7 e2 53 78 61 78 2c 37 44 12 |.OrJg...Sxax,7D.| -00000190 4d 0e 8c 14 0b de 3b a4 cf ad 8f d4 74 61 77 4b |M.....;.....tawK| -000001a0 36 2d f2 8f 68 95 38 9d e2 9f cf cc 03 15 89 b9 |6-..h.8.........| -000001b0 96 c4 47 e5 2f 65 0a 5c 5d 8f 5c 64 9d c8 76 d2 |..G./e.\].\d..v.| -000001c0 5d a7 90 4d f5 84 2d 31 2d 6c bd ee 0d 45 2b 50 |]..M..-1-l...E+P| -000001d0 79 f7 8c 34 40 f9 bc f4 38 b3 56 a9 6b ca 54 50 |y..4@...8.V.k.TP| -000001e0 19 f8 9a 73 74 9b 0a 92 ee 22 53 05 01 38 43 3a |...st...."S..8C:| -000001f0 49 fe 2d e9 39 c1 76 b0 04 df 8a 3d cc fc 9b 84 |I.-.9.v....=....| -00000200 cd 22 ba 40 24 69 93 b9 c5 b3 ed fd ad 94 1b 83 |.".@$i..........| -00000210 b5 07 a9 e7 94 14 4b c1 59 89 78 56 03 28 29 c3 |......K.Y.xV.().| -00000220 a8 a4 96 14 5a 51 9a 50 f9 34 3c 5a 76 8f 74 68 |....ZQ.P.4..K..k*D?.#..U| -000002f0 a0 11 51 04 0b 82 02 d9 24 85 13 2e d1 29 44 9a |..Q.....$....)D.| -00000300 15 7f a4 1b c4 f5 36 44 88 9a 6e 5a 1e 2f 14 fa |......6D..nZ./..| -00000310 d0 e7 fc 6a fa e5 f3 4a 55 20 73 9b e4 73 2e 47 |...j...JU s..s.G| -00000320 88 25 b7 69 d9 28 fe 50 8c fc f2 94 29 84 c4 7f |.%.i.(.P....)...| -00000330 d6 b2 eb 28 fa 51 8e ff 00 09 35 d3 b2 32 3a c6 |...(.Q....5..2:.| -00000340 bb 91 a7 c4 b7 88 df 4b f7 09 ef e7 e1 92 60 cd |.......K......`.| -00000350 de 34 4f 39 ee b8 ce 50 6a b9 17 03 03 00 99 64 |.4O9...Pj......d| -00000360 76 ab 48 eb 68 7d a6 68 60 aa c2 93 bd 31 81 c8 |v.H.h}.h`....1..| -00000370 b6 15 ba d1 54 94 04 1b 4b 29 86 e1 12 84 ad d5 |....T...K)......| -00000380 ba eb 4a 7a 7a a8 56 41 04 8c 84 c7 83 46 8c 50 |..Jzz.VA.....F.P| -00000390 c4 e3 02 d0 28 a4 fe 24 c4 b8 96 13 4f 87 27 ec |....(..$....O.'.| -000003a0 6b e3 84 4b 97 13 65 fa 1e 5e 9d ac 85 ea a0 3d |k..K..e..^.....=| -000003b0 67 96 e5 ec 88 84 6b 79 d9 16 55 c1 1c 72 17 aa |g.....ky..U..r..| -000003c0 9b 49 13 86 d4 39 0d 2a c8 88 b3 5f f5 11 cb 5f |.I...9.*..._..._| -000003d0 bd 22 57 2c bc c1 01 72 b9 c3 f5 d9 a2 3b 8e ff |."W,...r.....;..| -000003e0 44 b2 82 b6 5b 35 75 b5 7a 50 40 81 4e a7 2d 40 |D...[5u.zP@.N.-@| -000003f0 21 28 d9 c4 d9 e5 07 e1 17 03 03 00 35 23 ab b2 |!(..........5#..| -00000400 60 56 47 6a fe cb 0e 54 22 d5 8f 29 0a 34 e6 82 |`VGj...T"..).4..| -00000410 5b 10 35 ac 93 97 92 6b 39 5d b8 01 54 9c 86 b0 |[.5....k9]..T...| -00000420 41 70 52 88 92 cf dd b7 f8 5d d1 18 e1 1f 78 53 |ApR......]....xS| -00000430 e4 43 |.C| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 f1 |..+.....3.$... .| +00000060 bf 65 1e fd e0 5d 1b ca 02 b5 9e 3f a8 82 e0 5a |.e...].....?...Z| +00000070 97 eb af b5 f1 f7 77 3f 46 a8 66 93 de a8 39 14 |......w?F.f...9.| +00000080 03 03 00 01 01 17 03 03 00 17 16 a7 f6 48 b9 11 |.............H..| +00000090 59 75 3d d8 cf eb ba 72 6c f7 0d 26 50 ab 2d 2a |Yu=....rl..&P.-*| +000000a0 61 17 03 03 00 42 00 0f 78 f4 5a 62 c5 56 bd f5 |a....B..x.Zb.V..| +000000b0 4a df d3 78 76 bd 90 71 49 69 8a b3 60 5b 24 8b |J..xv..qIi..`[$.| +000000c0 45 fb c7 e0 ff 04 d8 7b c6 1f 93 c9 f9 b8 0d 38 |E......{.......8| +000000d0 53 d1 2e 95 99 32 52 2e 45 b2 11 08 45 c7 bc 64 |S....2R.E...E..d| +000000e0 6a c2 32 db 70 96 77 6f 17 03 03 02 6d ba 3e 97 |j.2.p.wo....m.>.| +000000f0 ea d7 dd c1 c5 39 9a c4 b1 eb 8b df 35 57 43 35 |.....9......5WC5| +00000100 31 7a 4c 71 ab 57 79 80 f9 48 96 67 5f 3b fe 98 |1zLq.Wy..H.g_;..| +00000110 0b 5d d0 ce 8c 0c 5a 03 28 8f 64 b4 3e 74 75 51 |.]....Z.(.d.>tuQ| +00000120 81 b3 09 a7 8e 33 45 92 49 72 91 b7 2c 45 68 5c |.....3E.Ir..,Eh\| +00000130 ee 27 e8 5b fd b0 80 e3 43 35 2f a2 bd e5 cf d6 |.'.[....C5/.....| +00000140 c3 fc 43 03 1e aa c9 c4 67 db ef 0c c3 aa 46 18 |..C.....g.....F.| +00000150 39 69 31 26 7f 0a 7a b2 e7 c4 cb 09 3a f1 8e a0 |9i1&..z.....:...| +00000160 05 70 87 a9 12 c6 f2 a1 25 87 72 0a 2d fb d5 51 |.p......%.r.-..Q| +00000170 ce 93 8e f8 08 0e 86 90 04 00 9b 76 fd 57 23 cb |...........v.W#.| +00000180 bc 78 23 07 8a 35 92 6e d6 cd f5 b5 2e e1 8f 33 |.x#..5.n.......3| +00000190 7a bb 61 54 65 4f 4d 12 4b ca db 19 4b 30 6e 2c |z.aTeOM.K...K0n,| +000001a0 56 62 b5 32 7a 98 b6 a4 10 98 5a 16 6b 26 8e 7c |Vb.2z.....Z.k&.|| +000001b0 e0 88 77 a6 20 60 c9 fb c5 e2 66 c3 6d 0d df dd |..w. `....f.m...| +000001c0 21 22 10 da 88 24 21 92 74 3b d8 92 c0 ec 2f 57 |!"...$!.t;..../W| +000001d0 79 d7 42 bd d7 b0 e0 23 d2 a0 45 7f 2a 2a ff df |y.B....#..E.**..| +000001e0 a4 61 53 ec 44 e2 3a 7a 06 15 8a ce 02 84 e7 78 |.aS.D.:z.......x| +000001f0 9b ef 15 0e 84 16 fe 0f dd 36 de 0f 69 14 e4 35 |.........6..i..5| +00000200 90 e4 a0 15 a6 97 e5 c9 a1 3c ed 79 c6 03 ae 39 |.........<.y...9| +00000210 f2 36 1e ca 20 4f 20 59 e6 6f c7 15 ba 90 ac 4a |.6.. O Y.o.....J| +00000220 11 ad 3e f5 48 df 94 fe f8 48 2f 12 25 01 6c 9a |..>.H....H/.%.l.| +00000230 e6 ee 41 7b 13 4c 2f cc 3a 2d 8d b8 e7 d5 62 88 |..A{.L/.:-....b.| +00000240 88 5d d4 6e c4 64 c5 32 0a e7 86 08 64 2c 0a 11 |.].n.d.2....d,..| +00000250 8e 51 63 f9 81 30 00 b1 29 fa b8 1c ab 87 88 22 |.Qc..0..)......"| +00000260 f0 ef 79 04 8c 85 78 df 72 6c 99 d6 c7 3a 9f 2a |..y...x.rl...:.*| +00000270 6d c6 24 05 e7 e5 d7 d0 c7 e5 7c 87 50 f9 b7 69 |m.$.......|.P..i| +00000280 6d 1f 39 77 5d 4c f2 98 35 f7 07 b6 30 0d d6 25 |m.9w]L..5...0..%| +00000290 40 cb a4 2d b2 f1 22 ca 26 5d 92 22 97 0a 65 a9 |@..-..".&]."..e.| +000002a0 a0 46 58 be 0d af a1 1c da c8 bf 98 28 72 ea ee |.FX.........(r..| +000002b0 46 f9 c0 0d b3 f1 11 12 5f b7 69 75 ea dd 60 d0 |F......._.iu..`.| +000002c0 53 51 01 ec 7c ff ef 41 68 04 ec a4 6b 51 bb 89 |SQ..|..Ah...kQ..| +000002d0 8b 8d a2 89 05 6f 78 81 16 f8 7a c2 f6 c3 0d ef |.....ox...z.....| +000002e0 b3 12 e2 57 54 95 a6 cd 5d 04 32 88 70 f9 db db |...WT...].2.p...| +000002f0 b3 45 75 32 6f ac 9a fa ad 54 e5 a5 82 ae 3e 73 |.Eu2o....T....>s| +00000300 2d 07 f4 48 83 e2 10 7d cb 2f 4c 18 94 75 37 24 |-..H...}./L..u7$| +00000310 cd 13 dc 3a 56 93 e8 80 a3 ba de b1 0d 14 79 48 |...:V.........yH| +00000320 08 69 a6 f3 2e 9f 7a 78 6e 9c de 16 ba 73 0b a6 |.i....zxn....s..| +00000330 f2 6c 04 e6 e6 89 3d 46 7d db a4 8f 9a e7 5d 0e |.l....=F}.....].| +00000340 b9 6b 05 59 4d 4d e9 48 1a 18 e9 59 7b 56 70 d6 |.k.YMM.H...Y{Vp.| +00000350 0f fc c2 93 31 03 fa ad b4 c9 17 03 03 00 99 62 |....1..........b| +00000360 c5 b8 11 10 72 af 5b 36 7b 4b 86 83 05 1f 5a c5 |....r.[6{K....Z.| +00000370 66 7b b6 ac 30 8d c0 03 64 ec 29 5d 60 e9 e9 9d |f{..0...d.)]`...| +00000380 6d 58 3e 55 7e 19 a3 59 f5 8b ca 1a f0 c8 ca 1b |mX>U~..Y........| +00000390 c6 ed 7f d7 70 fb 4b a5 6a 96 66 ce 4c 96 d1 b4 |....p.K.j.f.L...| +000003a0 de 99 e2 31 4a 88 64 51 7b 73 60 bb 5c 46 9b b7 |...1J.dQ{s`.\F..| +000003b0 9f d8 97 de 03 06 f3 3e 34 8b 75 43 ce cd 9a 12 |.......>4.uC....| +000003c0 1e 27 b5 28 5e 8f b6 04 d2 02 19 02 02 72 85 46 |.'.(^........r.F| +000003d0 1c cb 5e 63 09 e6 ba 81 69 29 97 5f 31 1e 8f f5 |..^c....i)._1...| +000003e0 1a ed 3b 1e 97 83 bf ee 1f 09 f4 f7 be 32 c7 bc |..;..........2..| +000003f0 b6 7e 70 b9 32 4b 07 99 17 03 03 00 35 67 1c 72 |.~p.2K......5g.r| +00000400 de 27 25 26 1b 12 b2 9a a3 38 5c a7 f7 13 a4 1e |.'%&.....8\.....| +00000410 bf f9 7f 1d 57 af ff 2f 89 4b 75 fc 23 c5 47 00 |....W../.Ku.#.G.| +00000420 cd b7 b6 89 af 4e f0 17 e9 e6 31 cd fb b0 31 19 |.....N....1...1.| +00000430 73 61 |sa| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 02 1e 19 c5 11 9d 64 |...............d| -00000010 8f f5 a9 21 53 fa cc 91 67 30 39 c0 77 d6 35 7b |...!S...g09.w.5{| -00000020 b8 a3 ae 44 8a 9a b1 68 5a 20 72 a6 ae 3a 1b 9f |...D...hZ r..:..| -00000030 03 eb d9 ed 91 20 49 ba 88 39 99 1c 4e 3a 2b 1b |..... I..9..N:+.| -00000040 42 b7 a3 97 a3 a3 6c 7e 3b 4c c1 74 dc 71 e6 14 |B.....l~;L.t.q..| -00000050 6c 5a 36 12 cb 87 a6 75 ce b3 e3 a8 f2 c8 36 12 |lZ6....u......6.| -00000060 3d c8 b8 2a 36 e4 40 38 3e 20 1d de 2a 31 b1 04 |=..*6.@8> ..*1..| -00000070 86 cb 9b c1 f3 fc 01 67 7e 40 0b b8 c4 fa 8f a0 |.......g~@......| -00000080 a7 5b 24 43 a9 d3 eb 55 99 ec 0b 19 cb ec 19 97 |.[$C...U........| -00000090 c8 0f c0 5e 8c b2 b1 93 80 70 7c 0b aa 7c 6c 44 |...^.....p|..|lD| -000000a0 1a 11 dc bd 0d 97 18 f3 ca c6 50 68 ca 77 ab 18 |..........Ph.w..| -000000b0 79 a9 8b 73 13 48 90 c3 4a cd ae f2 60 ea 0c 20 |y..s.H..J...`.. | -000000c0 eb ad 84 fb 2f 01 7e 2c f6 7d ea da 22 59 5f 88 |..../.~,.}.."Y_.| -000000d0 ff 10 19 81 d5 29 1b 0f 36 7b 84 66 eb bf e3 f9 |.....)..6{.f....| -000000e0 1c 68 fa 03 93 3e ba c6 58 e2 a9 57 94 8c a8 29 |.h...>..X..W...)| -000000f0 e2 f9 4b 6d 85 01 e8 f2 11 a2 04 38 73 8e 69 49 |..Km.......8s.iI| -00000100 4b 7f ca be aa 5f 50 ac 82 16 e6 92 78 87 13 f4 |K...._P.....x...| -00000110 fc 21 e8 2d 89 d0 f7 fb 73 0b f3 b7 6a 67 24 e8 |.!.-....s...jg$.| -00000120 d9 33 59 49 d6 88 24 a2 66 f5 c8 4d fe 88 93 77 |.3YI..$.f..M...w| -00000130 f9 3f ee ae 0b 6a 23 7a 8f b7 66 d4 68 7d 38 51 |.?...j#z..f.h}8Q| -00000140 85 0a a0 f5 03 f6 e8 2f cd 0b ac 58 64 82 38 20 |......./...Xd.8 | -00000150 f2 72 0a 85 83 55 cb db 62 59 f4 40 08 28 f9 8a |.r...U..bY.@.(..| -00000160 47 a2 ea a1 1b e1 4c 0a a4 74 cb a2 11 6f e5 68 |G.....L..t...o.h| -00000170 e4 ff 38 b0 a5 fc 21 9e eb de 43 b6 e7 27 cf 9a |..8...!...C..'..| -00000180 80 23 59 a2 e9 a8 12 ae 47 09 5c 48 c2 cb c8 e0 |.#Y.....G.\H....| -00000190 a6 fa 81 c5 49 a4 77 4b d3 83 0a ce 6e a5 2b 88 |....I.wK....n.+.| -000001a0 f2 f5 12 2f 0e 7e 10 20 5b c7 31 39 54 ed 19 33 |.../.~. [.19T..3| -000001b0 5c 94 b5 56 16 fa 0c b0 ec 28 76 fa 38 ca 08 c6 |\..V.....(v.8...| -000001c0 13 c3 1f 8a 20 35 73 4b bb bf d8 96 65 de cd f3 |.... 5sK....e...| -000001d0 44 d4 5b 3d 54 aa ac 53 a9 cc 31 99 86 22 5a f9 |D.[=T..S..1.."Z.| -000001e0 9e bd f1 f3 74 07 e4 fe f7 3a 35 44 e5 c6 48 3f |....t....:5D..H?| -000001f0 a3 81 1e 67 96 51 0f e6 7d 43 67 9c 12 6c dd 91 |...g.Q..}Cg..l..| -00000200 c4 f9 20 4d 88 41 fc 40 c5 ee c2 11 fb f1 67 da |.. M.A.@......g.| -00000210 7b b6 d0 1b f8 6e f7 8b 07 f2 9e 12 56 dc 75 31 |{....n......V.u1| -00000220 cd b9 53 62 3f 2f 72 cf ee 17 03 03 00 a4 f9 ec |..Sb?/r.........| -00000230 72 94 94 1c 52 ab 9e 6d 04 5a 26 07 15 3a f5 dd |r...R..m.Z&..:..| -00000240 f3 45 18 20 de 2e 97 f7 6a a4 7c 92 68 aa 71 55 |.E. ....j.|.h.qU| -00000250 b7 7a 3c 8f 54 e7 cc 31 e1 54 9c ad 8e b4 57 11 |.z<.T..1.T....W.| -00000260 1d 79 85 4a da 3f 1b ab fb f4 d4 d9 4d 8a 2e da |.y.J.?......M...| -00000270 68 3e f9 aa 16 52 cc 4e 49 7a 00 bf fc e8 b5 16 |h>...R.NIz......| -00000280 43 0c 6d aa 82 49 3c 16 43 56 55 35 ee 47 c3 1c |C.m..I<.CVU5.G..| -00000290 99 25 6d 30 89 64 5e 23 bf de fc cc 7c 40 94 28 |.%m0.d^#....|@.(| -000002a0 d8 ed ec c2 e2 8b 24 64 64 b6 e8 6c 29 82 b5 ba |......$dd..l)...| -000002b0 d5 59 7a 6f 11 6e cc 30 91 c8 c0 8b 9f dd 13 59 |.Yzo.n.0.......Y| -000002c0 a9 72 18 f6 6e ce 3a 47 6b 4f 26 55 61 bf 20 7a |.r..n.:GkO&Ua. z| -000002d0 d8 c3 17 03 03 00 35 d7 fc bc 10 29 75 c3 70 0a |......5....)u.p.| -000002e0 02 e4 cf 36 20 49 5d 64 78 e9 27 db 2d e3 1a 66 |...6 I]dx.'.-..f| -000002f0 f3 a8 82 7e 64 f0 29 27 81 6c bd b7 a7 86 a2 6a |...~d.)'.l.....j| -00000300 ac 4e 7b da 48 7c d8 9c 39 6c 95 45 17 03 03 00 |.N{.H|..9l.E....| -00000310 17 c9 13 54 e9 22 62 7e 89 17 de 98 52 93 26 76 |...T."b~....R.&v| -00000320 73 a0 7d 2c 60 68 c8 68 17 03 03 00 13 ad 3a 53 |s.},`h.h......:S| -00000330 d1 41 0e 99 26 c8 fb 22 8f e6 d3 a4 1d 83 ff 28 |.A..&..".......(| +00000000 14 03 03 00 01 01 17 03 03 02 1e e9 c3 0a e9 35 |...............5| +00000010 c0 d7 d8 1e 01 13 31 2c 39 0c 31 57 df f2 8d 7f |......1,9.1W....| +00000020 ca 2e 8c a0 63 60 e2 61 c6 37 8f cf 66 62 e7 d6 |....c`.a.7..fb..| +00000030 3d 89 6b 3b bd 1c 45 ec 62 a5 1c b3 86 16 bc 03 |=.k;..E.b.......| +00000040 57 9e 2b cd 31 d4 4d ad 57 96 12 12 19 ce 61 14 |W.+.1.M.W.....a.| +00000050 d6 1f 7a d1 c8 9b d4 9e 18 cf 1c f7 d0 ca 84 bb |..z.............| +00000060 8e 93 85 97 4b 53 68 3d f6 45 76 e0 a7 42 df 6a |....KSh=.Ev..B.j| +00000070 96 04 b9 9e 03 97 bb 57 bf 7f 9c 27 68 ba 04 49 |.......W...'h..I| +00000080 a7 c9 a3 f3 77 83 1f 15 0e 02 05 b5 8c e4 a6 ed |....w...........| +00000090 f8 65 5b bb a4 65 08 a1 a3 34 2a 71 66 6c 2e c8 |.e[..e...4*qfl..| +000000a0 e2 5b 08 ca 59 91 da 07 14 61 17 b7 19 28 00 33 |.[..Y....a...(.3| +000000b0 d9 0c 45 df d8 74 83 2e 9b 99 c7 35 cd f4 de 53 |..E..t.....5...S| +000000c0 b0 df 5c 8b 15 b0 e0 81 77 a5 5d d5 33 40 51 60 |..\.....w.].3@Q`| +000000d0 09 36 4f b6 6f ce 95 2b d1 38 88 33 e0 13 a0 c1 |.6O.o..+.8.3....| +000000e0 5f 2c 15 77 56 d1 16 09 9a 78 5c 6f 8c 93 c3 44 |_,.wV....x\o...D| +000000f0 54 04 b4 d3 23 31 ff 61 74 e5 09 3a d3 9b f1 2f |T...#1.at..:.../| +00000100 de f4 a9 0b b8 9d ca 17 2c 3f d5 2b dd c0 9e 07 |........,?.+....| +00000110 48 50 6a 51 72 be 92 10 1a 91 b5 2d 39 76 10 a4 |HPjQr......-9v..| +00000120 42 63 31 df ce 31 9a 5c 0d ee 6e 55 c0 ba 44 9f |Bc1..1.\..nU..D.| +00000130 e4 75 77 0f 88 6d 1d 24 9f 1c a0 12 14 4c ce 68 |.uw..m.$.....L.h| +00000140 24 a5 aa f2 f2 c5 f4 4f a9 c7 e0 dd 5c 6b 4c 53 |$......O....\kLS| +00000150 b5 26 8b e2 a4 af e3 13 77 0a fc dd 2b 56 fa a2 |.&......w...+V..| +00000160 46 7f 9a 11 c6 a0 4c b6 36 29 93 9f 83 99 13 ad |F.....L.6)......| +00000170 a0 62 9a ef 42 d0 dd 49 fe ba e4 fd fd 09 4b d4 |.b..B..I......K.| +00000180 31 6e d9 a5 0e 4d ac 8c 90 7c 26 2b 6b 1a cb 55 |1n...M...|&+k..U| +00000190 47 53 47 e2 d4 a1 d8 2e 5d 9b 36 75 f0 a4 8a 39 |GSG.....].6u...9| +000001a0 88 07 c8 ed 75 40 fd 72 0e 57 02 a6 bf 8a 64 0a |....u@.r.W....d.| +000001b0 98 8a 1c f4 d3 3d c4 af 7d 97 6e b7 e0 f6 d8 10 |.....=..}.n.....| +000001c0 17 0b d1 5c f9 41 c9 5e 5c 8a 38 dd 66 b3 e9 74 |...\.A.^\.8.f..t| +000001d0 41 2a bd 2d f8 6a 27 57 da ef d6 ca 70 49 c6 e2 |A*.-.j'W....pI..| +000001e0 94 ef 1e c6 57 a0 c8 fc d1 05 4f 65 c1 71 e4 ab |....W.....Oe.q..| +000001f0 44 49 f3 e3 6d b1 f4 5a 69 e7 70 30 b5 81 19 3a |DI..m..Zi.p0...:| +00000200 06 33 ef a5 bd 81 8c 3c 7b 2f 9f 41 a5 7d a8 5f |.3.....<{/.A.}._| +00000210 3b 3d 95 6e 04 a8 5f 2a c1 de 6e e4 14 17 91 36 |;=.n.._*..n....6| +00000220 9d 57 9c 34 1a 7d c8 c3 42 17 03 03 00 a3 a0 20 |.W.4.}..B...... | +00000230 06 7e 90 c8 0a b2 db 90 28 38 8f 42 12 89 1d 21 |.~......(8.B...!| +00000240 04 b3 a6 7b 8c 63 60 49 33 4a 70 4b 1a 97 90 51 |...{.c`I3JpK...Q| +00000250 d2 13 6e 56 9a 1d 41 9c 65 19 31 43 56 96 e2 50 |..nV..A.e.1CV..P| +00000260 77 17 67 6e df 3b e1 43 22 fe 0c 49 74 ff b0 e9 |w.gn.;.C"..It...| +00000270 5c f2 66 4e a3 e5 ac 02 1c 69 11 ce de a1 d4 6b |\.fN.....i.....k| +00000280 1c 46 97 02 7e 81 d8 29 78 42 82 5e b7 e2 31 02 |.F..~..)xB.^..1.| +00000290 fb 74 e2 a6 5e 29 f1 28 cf 8a 9c bd f8 a0 09 45 |.t..^).(.......E| +000002a0 67 7e d7 7d 91 8d fe 43 03 92 16 b1 67 cc 7a 32 |g~.}...C....g.z2| +000002b0 7e 3a 88 fc 77 36 b5 69 07 09 a0 1c 5c 76 a7 68 |~:..w6.i....\v.h| +000002c0 93 1a 35 20 f6 c1 20 c7 8f de c9 da 81 25 7a 08 |..5 .. ......%z.| +000002d0 e0 17 03 03 00 35 fa 5b 68 55 45 ee dd d6 a2 cb |.....5.[hUE.....| +000002e0 09 a7 21 23 43 9c c4 ff 1c d6 66 4c ce e1 bd a9 |..!#C.....fL....| +000002f0 77 22 0b b0 d4 ad f9 23 a7 1c 0e 63 27 36 16 c6 |w".....#...c'6..| +00000300 a2 f8 00 ef 36 22 89 a7 d6 76 da 17 03 03 00 17 |....6"...v......| +00000310 ca d3 97 3a 7d cc a0 95 02 4a a8 d8 dd 6d 26 64 |...:}....J...m&d| +00000320 92 be 64 86 00 d9 bf 17 03 03 00 13 18 1e 4f 7b |..d...........O{| +00000330 f9 1a 63 8a 50 6a ee 81 07 76 53 a9 95 ea df |..c.Pj...vS....| diff --git a/testdata/Client-TLSv13-ClientCert-Ed25519 b/testdata/Client-TLSv13-ClientCert-Ed25519 index b524ef43d29..38382edbea7 100644 --- a/testdata/Client-TLSv13-ClientCert-Ed25519 +++ b/testdata/Client-TLSv13-ClientCert-Ed25519 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,117 +7,118 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 28 10 3b 44 b1 |....z...v..(.;D.| -00000010 0f a9 77 89 f9 dd 3c 3a ad 83 a0 ca 3e 60 d6 0e |..w...<:....>`..| -00000020 ab 94 3a ec 2e 63 ef b1 41 90 48 20 00 00 00 00 |..:..c..A.H ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 72 63 6c 83 50 |....z...v..rcl.P| +00000010 e9 4c 88 85 70 4f e3 cb c7 0e 0c c5 e5 44 b9 7e |.L..pO.......D.~| +00000020 4a 88 d3 32 d2 37 5c 16 d4 a1 e5 20 00 00 00 00 |J..2.7\.... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 d9 |..+.....3.$... .| -00000060 ce 37 c6 7e 9c 0f 75 bb b6 91 c9 af 59 eb 24 07 |.7.~..u.....Y.$.| -00000070 2e 80 3a 7e d2 fc 39 9e 45 19 94 2d ae 33 2c 14 |..:~..9.E..-.3,.| -00000080 03 03 00 01 01 17 03 03 00 17 c6 b7 f1 35 ee 93 |.............5..| -00000090 75 ca 2e 3a a2 3d ed 32 5c e1 2c e0 5b 1c 01 e0 |u..:.=.2\.,.[...| -000000a0 bb 17 03 03 00 42 02 e5 db dc 80 e1 c2 6f 31 1c |.....B.......o1.| -000000b0 33 7b 76 8f 51 9c f8 a8 b0 1b 1a 8a 46 00 c7 ff |3{v.Q.......F...| -000000c0 ff 4c c9 d8 28 14 32 74 ee 59 b3 15 4b 45 90 b6 |.L..(.2t.Y..KE..| -000000d0 da 56 b3 ef d4 6f 8a eb 96 b9 94 ab b9 9e b1 2e |.V...o..........| -000000e0 fe 29 f2 0d 0d 93 66 1a 17 03 03 02 6d 84 4e 43 |.)....f.....m.NC| -000000f0 92 85 d5 e0 7a cd da a6 c0 5a bf 8b eb 83 db a0 |....z....Z......| -00000100 dc c3 e2 a8 d5 ca ad 87 75 19 08 dd 3e 2e 36 a0 |........u...>.6.| -00000110 a1 53 28 09 cd 1c 1d a0 24 77 e3 e6 4d b1 8f 36 |.S(.....$w..M..6| -00000120 43 29 79 b3 e2 fb 9e dc 39 90 b5 b7 db 6d 0a c0 |C)y.....9....m..| -00000130 55 d2 1c fd 8d 57 5b bf e3 70 b7 6a bc af 4f 34 |U....W[..p.j..O4| -00000140 e7 e1 46 d3 9a cc e4 73 33 fb e6 ad f9 b5 35 af |..F....s3.....5.| -00000150 97 77 88 11 19 7c e6 7d 8b 08 bb 78 2c 50 29 0c |.w...|.}...x,P).| -00000160 87 5f ef 04 19 34 9f 59 54 df 14 71 d1 5f e7 dc |._...4.YT..q._..| -00000170 46 2e 73 1a 07 12 be 6e 74 e1 8e 82 ca db a2 6d |F.s....nt......m| -00000180 35 5b fc 4c 71 42 45 86 35 1c c0 dc 0d 4c 40 a8 |5[.LqBE.5....L@.| -00000190 c7 ea 4a b8 33 0b 30 e2 6d a4 82 dc 28 35 1f f2 |..J.3.0.m...(5..| -000001a0 ac 23 41 10 a4 d4 1a 40 28 4d ea db 32 d5 06 de |.#A....@(M..2...| -000001b0 1e 37 91 77 34 ed b4 c8 f2 1c 44 de ee 2f dd af |.7.w4.....D../..| -000001c0 61 cc 1e 59 87 a6 be 36 b0 8e a3 61 01 aa f4 60 |a..Y...6...a...`| -000001d0 1e c8 3a 3c 53 57 31 28 3e 40 32 95 67 02 41 9c |..:@2.g.A.| -000001e0 58 28 50 51 5e 06 1d f1 57 e1 39 ba e0 ab 30 26 |X(PQ^...W.9...0&| -000001f0 25 fe b6 0a a9 d5 b3 72 61 3a 71 ec a2 44 91 5e |%......ra:q..D.^| -00000200 30 1b d4 dd 07 cf 35 6a 85 4a 95 b2 a9 f5 5c 6e |0.....5j.J....\n| -00000210 35 f9 07 7b d9 b0 a5 64 2f c3 34 23 84 3f 1a 97 |5..{...d/.4#.?..| -00000220 dd 25 75 7c 76 0f 9b 73 5b aa c0 a1 00 4b f6 b1 |.%u|v..s[....K..| -00000230 61 34 51 d0 d1 3b 00 4f 87 93 f5 45 2e 23 93 ee |a4Q..;.O...E.#..| -00000240 e6 ce e5 1c 02 22 3c c1 22 ed 33 b2 71 99 52 26 |....."<.".3.q.R&| -00000250 70 86 ad bc 41 d9 13 54 d3 3e 5d 4b 63 4d d2 6f |p...A..T.>]KcM.o| -00000260 bf a5 24 f8 7b 83 b2 0b 13 02 0d 42 74 9b 04 4e |..$.{......Bt..N| -00000270 8a 86 6b 40 92 42 3a d8 a8 21 2f ce e0 90 71 65 |..k@.B:..!/...qe| -00000280 5f ed c7 65 38 e3 85 e2 32 d5 4b c0 84 61 24 a1 |_..e8...2.K..a$.| -00000290 00 be 67 f3 59 b0 b2 f0 65 fe a6 49 19 41 f9 9b |..g.Y...e..I.A..| -000002a0 40 3a 62 ec 4d 1f 83 77 03 9d 4b 4c d2 5d 93 ca |@:b.M..w..KL.]..| -000002b0 01 39 44 dc c6 f7 18 6b 2a c9 1b 3d ef 27 6d a4 |.9D....k*..=.'m.| -000002c0 2e 8f 33 63 2b c5 fb bb 52 23 68 7e 0b 16 92 64 |..3c+...R#h~...d| -000002d0 d9 72 04 2d 0d b2 ba 67 45 ae 14 16 f1 57 3b 59 |.r.-...gE....W;Y| -000002e0 44 ba db b0 c9 d2 9b 8f 6d b2 a4 8c c2 d1 1c e4 |D.......m.......| -000002f0 ce d3 32 bf 04 d9 09 d1 28 3d 25 2d b5 d3 da 12 |..2.....(=%-....| -00000300 77 01 45 09 08 e0 df cc f3 4c c0 e0 b7 d7 d8 16 |w.E......L......| -00000310 82 19 1d 57 dc b4 27 83 48 1b 9f a9 0e cc d6 39 |...W..'.H......9| -00000320 c1 4a 66 b3 42 85 a5 a7 14 97 5c 58 fe 41 e1 2e |.Jf.B.....\X.A..| -00000330 16 e9 70 89 e7 98 a8 f3 4a 81 d4 d8 ff 5f 48 6e |..p.....J...._Hn| -00000340 60 c6 4a 07 c5 57 9c 22 25 3a 9f bf 7e 71 f3 0d |`.J..W."%:..~q..| -00000350 71 e5 a5 d4 2b 6d 70 2f c5 a3 17 03 03 00 99 b9 |q...+mp/........| -00000360 15 c7 70 bc 06 75 26 50 0f 22 90 43 99 25 0d 0f |..p..u&P.".C.%..| -00000370 05 d3 ce e7 3c 53 fb 01 d4 d2 e8 fb b7 49 87 03 |....K......#..._C.| -000003e0 75 65 ac ba 46 43 61 b4 3d be b8 49 44 ad 15 00 |ue..FCa.=..ID...| -000003f0 3b c0 07 ba 18 b2 14 71 17 03 03 00 35 d1 22 81 |;......q....5.".| -00000400 7f 21 e9 e2 7b 11 f5 df dd 3f 15 ce b5 fc 71 f3 |.!..{....?....q.| -00000410 0e f2 d0 1c a4 85 29 88 f2 ca 73 01 ee 1c e4 66 |......)...s....f| -00000420 07 fa 5c a3 32 b0 e4 2a e4 97 e5 70 b1 cd db 79 |..\.2..*...p...y| -00000430 83 1f |..| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 d7 |..+.....3.$... .| +00000060 fa 97 47 72 9a 7e 63 47 d6 62 2d dc 5d 4f 7f 9b |..Gr.~cG.b-.]O..| +00000070 aa 86 c9 ba 65 4c ae 91 82 40 38 ad 4b 46 73 14 |....eL...@8.KFs.| +00000080 03 03 00 01 01 17 03 03 00 17 27 2e 49 01 db 5e |..........'.I..^| +00000090 e1 45 48 97 54 02 31 9f ad 62 74 58 70 77 21 5b |.EH.T.1..btXpw![| +000000a0 81 17 03 03 00 42 2c 0a 8a a0 e0 40 32 b1 2f 9f |.....B,....@2./.| +000000b0 e6 13 9f fd 62 88 a7 34 bd 9a bc 64 5d 9d 17 b9 |....b..4...d]...| +000000c0 b0 f6 fc 84 ca 3f 80 0b 97 4f 7a d9 67 42 c5 0a |.....?...Oz.gB..| +000000d0 e5 18 21 e8 08 42 b4 e6 f5 7e c3 70 2c 0e d3 d8 |..!..B...~.p,...| +000000e0 15 36 37 57 1a d5 58 64 17 03 03 02 6d 07 11 32 |.67W..Xd....m..2| +000000f0 d3 1e 03 02 fb 04 35 f2 64 a8 78 c2 b2 f7 7d 5c |......5.d.x...}\| +00000100 7c 94 0c 7b 16 9a 87 7d 2f 96 de 01 74 d6 6c 6f ||..{...}/...t.lo| +00000110 ce 95 eb f0 df 6d 52 89 3a 19 ff 5b b5 f2 d8 6d |.....mR.:..[...m| +00000120 e6 10 94 f7 d9 c4 58 e8 80 db f5 30 22 b1 82 b1 |......X....0"...| +00000130 66 05 b5 d0 71 40 0f 68 83 ec 43 b5 51 c3 f8 ce |f...q@.h..C.Q...| +00000140 e9 71 4a c7 cf 57 b5 53 3f 60 99 ae 84 df 98 cc |.qJ..W.S?`......| +00000150 9f 90 d0 fc 1d 03 e9 80 72 7c 60 51 a1 89 93 6d |........r|`Q...m| +00000160 0a 57 18 c6 dc 22 82 71 be 66 87 93 dd 16 41 c8 |.W...".q.f....A.| +00000170 84 38 33 63 fc 82 db 38 63 f8 84 f7 12 08 3b 82 |.83c...8c.....;.| +00000180 18 cb c0 50 0d dd 19 25 16 88 23 97 35 56 6d 46 |...P...%..#.5VmF| +00000190 3d 75 e1 83 c3 62 e4 19 70 6c 03 f0 33 5d 94 ad |=u...b..pl..3]..| +000001a0 6d be d2 db c4 b8 ad d8 78 78 53 76 62 91 f7 cf |m.......xxSvb...| +000001b0 83 5b 1e 44 11 2f 27 6a 29 d4 ea 96 fb 40 1c 94 |.[.D./'j)....@..| +000001c0 69 c2 cc c7 90 2c 60 14 c7 d4 f2 9c f9 0e 66 1c |i....,`.......f.| +000001d0 08 76 6e 9f 3b 3a 47 8a 40 0a de 00 e4 6f 45 ca |.vn.;:G.@....oE.| +000001e0 1d 41 cc 34 5a 2c 67 78 58 34 eb 19 0c a5 0e a2 |.A.4Z,gxX4......| +000001f0 fb c1 0a 25 74 f5 ec 55 f8 c3 97 00 d0 a5 90 c5 |...%t..U........| +00000200 a1 9c aa 19 2b e6 ee c1 9d 73 a1 3c 1f fa 6a 91 |....+....s.<..j.| +00000210 2b 2d 27 be 06 f3 85 54 63 a5 d9 ac 55 73 0a e4 |+-'....Tc...Us..| +00000220 4f dc 25 a0 9f 39 c0 0e 1a 9d a7 4c bd c9 3c 64 |O.%..9.....L..>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 01 50 dd d8 5d 40 64 |..........P..]@d| -00000010 5d 35 b0 82 0d 46 97 4c a2 d1 4d dd 3c c9 0a f9 |]5...F.L..M.<...| -00000020 39 6a 1c 17 c3 f6 1a 6b 42 cc f7 37 23 7a e1 bf |9j.....kB..7#z..| -00000030 de 51 7f 87 6b 3d d6 4d ed 24 b3 de dd 62 18 4a |.Q..k=.M.$...b.J| -00000040 b5 b3 1e 0f 2f a3 c5 e8 67 65 04 bc 37 97 15 a8 |..../...ge..7...| -00000050 a8 f3 a8 79 99 82 e1 10 5d d7 f2 ee 21 46 aa b8 |...y....]...!F..| -00000060 40 9f 3b fc 12 19 c8 82 b4 8e bc b8 9b a9 f6 aa |@.;.............| -00000070 18 6b 48 4e 03 92 43 12 b8 54 f2 b7 29 0b 0a a1 |.kHN..C..T..)...| -00000080 6f c4 1c 2a af 22 c1 3d 1b 43 a5 3c 7d 39 83 5d |o..*.".=.C.<}9.]| -00000090 ee 09 fb f1 9a 4c ff b3 2a bb 85 53 04 18 5e 18 |.....L..*..S..^.| -000000a0 62 e8 cf ec 01 be 76 31 82 1a 60 19 33 c7 37 0a |b.....v1..`.3.7.| -000000b0 fa 45 4d b1 9a 1e 07 e9 9c 45 c3 89 60 a2 c9 59 |.EM......E..`..Y| -000000c0 8c 7d 02 f6 d6 5c 12 26 bd 6d 97 15 e2 07 27 be |.}...\.&.m....'.| -000000d0 2f 59 93 1b 11 0e 05 ef 83 c6 a2 c0 1a 9a 4c 60 |/Y............L`| -000000e0 a6 84 c0 72 b6 2b 7c a1 37 4c d7 eb 76 0f 00 97 |...r.+|.7L..v...| -000000f0 43 b6 25 ed 36 e1 eb 3a 3d 71 05 d8 d0 f9 80 18 |C.%.6..:=q......| -00000100 b2 9b c0 4e 2c 8e 05 41 52 a5 40 57 3c 1f 48 0c |...N,..AR.@W<.H.| -00000110 55 ea d3 76 6d 3a 26 5d 5d 71 74 1c d5 8d 96 92 |U..vm:&]]qt.....| -00000120 79 c5 9c 78 68 5f 20 12 01 06 c3 52 49 66 e4 5b |y..xh_ ....RIf.[| -00000130 41 09 fa 72 c5 d7 d9 26 1b fa a5 1d 23 b2 4a 1e |A..r...&....#.J.| -00000140 da 83 5e 89 c8 3a c4 26 f2 42 70 6d 1b 90 67 eb |..^..:.&.Bpm..g.| -00000150 37 15 35 b9 a2 b0 2b ef 93 5f 11 17 03 03 00 59 |7.5...+.._.....Y| -00000160 b4 a0 79 ba e4 3f 78 d2 11 1a 71 8a a1 a4 28 fc |..y..?x...q...(.| -00000170 44 c7 bc 32 19 06 71 1b 6d 50 20 26 d5 91 39 48 |D..2..q.mP &..9H| -00000180 59 8b fd 55 0a 35 14 f5 31 47 62 15 ee c1 69 23 |Y..U.5..1Gb...i#| -00000190 eb db 79 ef 20 47 5c ef 31 e1 ae bd 2f 72 f8 9d |..y. G\.1.../r..| -000001a0 92 cc 04 6f 73 22 5d 93 59 9f 06 cb bd 70 9b d8 |...os"].Y....p..| -000001b0 c9 41 44 8f 5b b2 59 2b a9 17 03 03 00 35 22 65 |.AD.[.Y+.....5"e| -000001c0 ef 1e dc 4c 63 ba 6d 6a 46 1c d2 9c 9a 81 4b f3 |...Lc.mjF.....K.| -000001d0 1f 58 4e 08 86 93 f8 3a 53 13 64 1f ca 20 d2 da |.XN....:S.d.. ..| -000001e0 6b df 54 88 a8 f3 af 0d 4a 1b 29 91 3a bb 90 27 |k.T.....J.).:..'| -000001f0 29 3a 97 17 03 03 00 17 09 78 1d f3 95 2e 92 af |):.......x......| -00000200 d8 af 64 59 fb 77 e3 85 de f0 37 be 11 91 2f 17 |..dY.w....7.../.| -00000210 03 03 00 13 4e a2 06 c3 90 6f d3 b0 04 a8 25 32 |....N....o....%2| -00000220 09 65 1c f2 ef 9c 32 |.e....2| +00000000 14 03 03 00 01 01 17 03 03 01 50 90 77 22 64 76 |..........P.w"dv| +00000010 a1 cd 65 49 53 cb f0 2e 21 6c 12 7c 63 e5 ff 49 |..eIS...!l.|c..I| +00000020 6c be e6 ba 70 2d 22 49 6e 5c 5b 65 46 4b 64 01 |l...p-"In\[eFKd.| +00000030 f7 1d 57 a3 5f d5 a3 39 b6 b9 79 62 b3 e2 52 35 |..W._..9..yb..R5| +00000040 95 26 d9 2b 72 39 60 23 c4 5f 7e 88 66 d4 c8 2b |.&.+r9`#._~.f..+| +00000050 2d 89 38 c8 b8 bd 73 0a 02 27 92 ab 89 8a ee 9b |-.8...s..'......| +00000060 a2 bc 9e 55 fd a0 d4 f3 02 d7 d6 4c 6c 49 ef 7e |...U.......LlI.~| +00000070 35 56 90 41 90 53 24 f5 c1 19 f0 ff a0 c8 7c 82 |5V.A.S$.......|.| +00000080 52 01 98 8c ef 87 69 09 d2 17 35 af 9c 4b 3b b3 |R.....i...5..K;.| +00000090 6c 36 70 63 48 a2 88 df cb 87 f3 40 03 a8 b0 64 |l6pcH......@...d| +000000a0 cc 66 fb cf ba b9 be 8c 67 2d 3c 99 ac 7f 93 c1 |.f......g-<.....| +000000b0 15 2e 05 ae 95 51 3d 71 d9 43 09 d7 44 cb df 67 |.....Q=q.C..D..g| +000000c0 b8 b3 33 62 c5 60 cf 22 20 e5 45 17 7c d6 74 12 |..3b.`." .E.|.t.| +000000d0 0f 6d af d0 db dd 91 ad 20 ea 4d 26 fc c4 2b bd |.m...... .M&..+.| +000000e0 ec 3d 75 c8 87 36 b2 d0 1e cc 1d 92 fd 58 5e d5 |.=u..6.......X^.| +000000f0 f7 ad c2 ed 0c b6 c6 bc 25 ff 39 75 ee cf fc 76 |........%.9u...v| +00000100 77 e0 15 2e 22 82 3b 6f 93 e4 e9 a1 5a bb 9d 78 |w...".;o....Z..x| +00000110 e2 3d 18 c8 e5 ea e3 82 52 de bf ca 32 c9 56 21 |.=......R...2.V!| +00000120 ba c9 2b 12 7d 7b f5 18 73 e5 5e 9c 1e e1 23 92 |..+.}{..s.^...#.| +00000130 ec 58 56 e5 a4 aa dc 2b 59 75 71 19 06 77 83 d7 |.XV....+Yuq..w..| +00000140 0b 28 03 e9 fa 2c 89 1a 8c 64 f0 84 b6 13 f0 02 |.(...,...d......| +00000150 22 02 33 cf c4 22 dd fb b0 76 8a 17 03 03 00 59 |".3.."...v.....Y| +00000160 9b 4c 67 95 f4 37 c9 2c b7 33 c7 78 1c e0 1b 49 |.Lg..7.,.3.x...I| +00000170 41 6f 88 2d 99 a7 e3 d3 d1 d1 f6 36 b1 2a 8e df |Ao.-.......6.*..| +00000180 11 b6 8d 04 63 c7 11 49 e2 8c 79 03 6b b8 a4 8b |....c..I..y.k...| +00000190 2a 2c 04 ab b3 e2 50 03 51 77 65 eb 3a 45 f1 ce |*,....P.Qwe.:E..| +000001a0 65 9f 9c be d6 be 7f 28 14 6a 61 37 55 94 8f a7 |e......(.ja7U...| +000001b0 23 2f bc fc bb aa 89 47 76 17 03 03 00 35 f5 be |#/.....Gv....5..| +000001c0 e6 33 9b 48 97 74 b0 ad a4 fc 78 fe 20 ab cd fa |.3.H.t....x. ...| +000001d0 48 ad 8c 55 c3 46 b8 2e d6 ea f0 79 e3 a5 cf 29 |H..U.F.....y...)| +000001e0 56 19 ab 95 c4 7f fd 89 41 f7 a3 6f e4 19 2f 83 |V.......A..o../.| +000001f0 8c 3e 5d 17 03 03 00 17 74 24 c5 8d 30 40 0a 12 |.>].....t$..0@..| +00000200 57 37 d0 27 30 3e 24 ea 81 ca c7 0a f5 12 cf 17 |W7.'0>$.........| +00000210 03 03 00 13 ff 20 1a 76 60 da a1 15 22 16 10 8a |..... .v`..."...| +00000220 9f e1 ee 5d 62 a2 cc |...]b..| diff --git a/testdata/Client-TLSv13-ClientCert-RSA-ECDSA b/testdata/Client-TLSv13-ClientCert-RSA-ECDSA index 0cd5b76d660..10c83c4828d 100644 --- a/testdata/Client-TLSv13-ClientCert-RSA-ECDSA +++ b/testdata/Client-TLSv13-ClientCert-RSA-ECDSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,129 +7,130 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 40 ad 79 0c ad |....z...v..@.y..| -00000010 83 38 58 82 dc b2 5a d1 e2 de f5 43 99 72 8a 93 |.8X...Z....C.r..| -00000020 ba b1 ea 17 21 52 a7 e9 ed dc 48 20 00 00 00 00 |....!R....H ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 af 7e fd 3d 23 |....z...v...~.=#| +00000010 96 b6 46 26 9c 09 13 f6 80 4f c9 d2 52 d9 df 52 |..F&.....O..R..R| +00000020 0b 7c da 61 52 ba 99 1b 32 5a 0c 20 00 00 00 00 |.|.aR...2Z. ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 bd |..+.....3.$... .| -00000060 d2 3a 7e c2 30 84 4f f2 39 7e 26 11 65 49 b9 b2 |.:~.0.O.9~&.eI..| -00000070 ac 63 c8 ef ea 5e f6 23 33 70 ec 16 86 49 03 14 |.c...^.#3p...I..| -00000080 03 03 00 01 01 17 03 03 00 17 16 47 c1 58 83 6b |...........G.X.k| -00000090 66 06 c4 39 42 8f 68 fb 3a 07 9e e7 74 41 0d 10 |f..9B.h.:...tA..| -000000a0 97 17 03 03 00 42 42 b2 84 94 a6 18 c6 b6 21 77 |.....BB.......!w| -000000b0 1e 02 57 4a 14 2d c4 84 17 f1 fa b4 63 0f aa d7 |..WJ.-......c...| -000000c0 4a d5 ae 75 f1 da 14 ec 51 09 93 6b 62 6f 8f 7e |J..u....Q..kbo.~| -000000d0 fe 0c 7f 63 ef 1b 87 d8 43 42 d0 f4 2d 6d 0f cc |...c....CB..-m..| -000000e0 ef 77 79 17 1e 39 1e 75 17 03 03 02 22 9c 82 27 |.wy..9.u...."..'| -000000f0 99 e0 4b 44 a7 a7 bb a9 25 a2 58 7f 70 3f 82 1a |..KD....%.X.p?..| -00000100 4b bc e1 35 3e 66 fa 4f ac 7f 7e da 73 13 06 0f |K..5>f.O..~.s...| -00000110 fe 97 ef 82 53 2e d0 e2 11 c6 ee 8d 25 d2 f0 5c |....S.......%..\| -00000120 2e b8 61 40 09 12 d4 11 9b b8 3d 38 d7 d5 a7 76 |..a@......=8...v| -00000130 ed a7 bf 6f 39 9c 83 49 57 86 de 53 da c5 ff 8a |...o9..IW..S....| -00000140 ee 47 bc 19 72 d3 cc d0 5b fc 6b 25 2f 64 2a 0c |.G..r...[.k%/d*.| -00000150 7d e9 8a 1f f8 48 d1 74 d5 70 97 e7 b4 e2 c8 ce |}....H.t.p......| -00000160 dc 74 27 e9 af b1 64 56 19 28 8a 34 93 4e 1c 03 |.t'...dV.(.4.N..| -00000170 67 ae 41 fb 5f d1 e3 20 45 6b bd 49 25 d8 b4 8b |g.A._.. Ek.I%...| -00000180 d4 96 d6 96 b2 72 72 f0 d0 68 f1 f7 f3 17 76 85 |.....rr..h....v.| -00000190 78 0e dd 35 83 8a 7a 45 c5 91 86 4b a6 b5 77 b4 |x..5..zE...K..w.| -000001a0 ef 02 43 5c 42 c7 f8 a6 1d ed 73 d2 41 02 be cb |..C\B.....s.A...| -000001b0 24 40 61 5a 5f 7a f6 bf f9 d0 bd 05 7f 90 52 16 |$@aZ_z........R.| -000001c0 65 49 c6 74 61 f0 05 fa dd 83 69 b7 ff 5a 2c 4b |eI.ta.....i..Z,K| -000001d0 63 6d d2 57 01 43 67 54 25 90 72 f8 12 7e c2 39 |cm.W.CgT%.r..~.9| -000001e0 26 a9 65 55 02 ca 87 8a e6 13 cd a4 6b eb 3c 4d |&.eU........k.#| -00000250 59 38 6c 9f be 1b ba 60 93 e8 c9 24 fb 13 11 b7 |Y8l....`...$....| -00000260 78 d8 a7 30 6d 06 0f 4d 59 5d d1 1f 81 13 33 99 |x..0m..MY]....3.| -00000270 a8 4d 63 16 53 73 40 22 4b 55 21 79 c1 ce 1c 92 |.Mc.Ss@"KU!y....| -00000280 8c d6 95 14 fd 93 5d c2 54 20 30 c5 79 b0 cd eb |......].T 0.y...| -00000290 ac 1b 50 6a 25 b7 e8 f1 0f da f3 d8 6b 17 2b 12 |..Pj%.......k.+.| -000002a0 06 a8 9a 88 be 2f f3 52 b3 d7 70 05 df 57 88 f9 |...../.R..p..W..| -000002b0 ec 59 d4 e7 ce cb c3 1f 33 3e c0 d8 04 9f 59 a0 |.Y......3>....Y.| -000002c0 04 c0 13 b3 a6 7c ce 6c c4 fa 82 cd da 11 17 b6 |.....|.l........| -000002d0 c2 40 cd e6 5a 6e d3 b5 17 f0 4d c4 34 8f 2a 28 |.@..Zn....M.4.*(| -000002e0 4d ce 93 d5 eb 7e 0a d2 57 0a 98 cf ac 48 ee a8 |M....~..W....H..| -000002f0 8a bd ec c2 d7 d9 39 af e2 a0 9f b2 fd d1 4e 96 |......9.......N.| -00000300 fa fd 34 f7 a4 3e 3d 31 9a f6 a2 a7 97 a3 43 17 |..4..>=1......C.| -00000310 03 03 00 a4 cf 0d e1 8d b7 e4 1a c0 79 0d 7e d9 |............y.~.| -00000320 70 a3 34 57 0f 72 b4 5c 05 7f 1e 16 52 ba d3 e7 |p.4W.r.\....R...| -00000330 fb e5 b8 b0 8d cf 91 7e 96 c4 70 6e cb e5 7e 51 |.......~..pn..~Q| -00000340 19 17 c1 94 e9 49 69 a0 21 59 74 a9 1d 34 9c 10 |.....Ii.!Yt..4..| -00000350 a9 10 f0 4a 51 2c e3 1d e3 59 28 f2 3b ea 66 c1 |...JQ,...Y(.;.f.| -00000360 ed 6a 8d 39 72 ea 5a 24 7a ee 9f cd 85 9d 54 60 |.j.9r.Z$z.....T`| -00000370 d4 95 fd 8d 63 a4 78 6c 2f 7d 6a a5 53 e4 42 97 |....c.xl/}j.S.B.| -00000380 e8 19 36 bf 14 9c a8 48 9f 57 ad 29 7a 30 e5 a9 |..6....H.W.)z0..| -00000390 32 e7 0f 24 9c ca 9d 6d b7 47 46 1c cb 90 7d 18 |2..$...m.GF...}.| -000003a0 39 70 d2 c1 08 28 dc d7 3a 3e 5e 62 a7 4a 4a af |9p...(..:>^b.JJ.| -000003b0 02 93 ce 4b 5d a2 96 f3 17 03 03 00 35 10 07 d6 |...K].......5...| -000003c0 82 f3 28 ef 2f 08 17 f6 0b c2 da 1f b7 52 e1 eb |..(./........R..| -000003d0 ca f4 0b c6 21 5c 54 4d f9 0b 04 c1 5a bf 63 58 |....!\TM....Z.cX| -000003e0 1c e1 da 7f f7 1f 84 77 09 3a 35 7c e6 1f 89 f2 |.......w.:5|....| -000003f0 fd 01 |..| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 83 |..+.....3.$... .| +00000060 95 cf ff 0f f6 eb 66 dc 4f 61 f3 94 43 18 7b f5 |......f.Oa..C.{.| +00000070 91 6a e5 36 75 7b 6b 2c d4 38 f7 4f 36 f0 3c 14 |.j.6u{k,.8.O6.<.| +00000080 03 03 00 01 01 17 03 03 00 17 b7 83 3c 5c 9e ee |............<\..| +00000090 fc c3 14 33 45 62 69 8b 63 25 03 77 fe 7c 8b c0 |...3Ebi.c%.w.|..| +000000a0 0a 17 03 03 00 42 6c cd df 26 24 42 0d 2e 38 64 |.....Bl..&$B..8d| +000000b0 c5 92 7c 6b 18 47 cc 90 09 57 95 0a f9 cc 81 f1 |..|k.G...W......| +000000c0 db 90 29 ba b0 3f db 99 55 78 93 ab 05 34 91 46 |..)..?..Ux...4.F| +000000d0 ce cb c5 2c b8 fb 43 98 31 cc 18 8f 2e 2a 39 78 |...,..C.1....*9x| +000000e0 68 6d 01 29 05 ff 7e 4f 17 03 03 02 22 c1 3d c5 |hm.)..~O....".=.| +000000f0 cb 42 fe 5d a8 ea 65 fd 1a a8 cd a9 28 ed 8d 69 |.B.]..e.....(..i| +00000100 5b eb 28 11 c5 bb 9f 58 8d f2 2d 44 b4 8f 87 d6 |[.(....X..-D....| +00000110 3f af df 3f 13 c0 7e bf 6f b3 e0 fa 45 5c ee a2 |?..?..~.o...E\..| +00000120 13 70 08 94 2d 87 a7 1c 23 a9 aa a1 64 d2 49 ed |.p..-...#...d.I.| +00000130 33 2c ae 02 9e a7 03 24 3f 4c 43 d4 2e 54 b9 fc |3,.....$?LC..T..| +00000140 39 6c 32 8c b1 0c bb f6 31 60 d9 48 82 5b ed 2b |9l2.....1`.H.[.+| +00000150 ea dd e3 2d 1a 35 a3 22 be e1 f1 13 04 9c aa 1a |...-.5."........| +00000160 24 39 4a 0d 63 fb ce 31 71 af e6 1c f3 a3 dd c1 |$9J.c..1q.......| +00000170 51 40 28 5a 11 a0 9e 19 0a a5 74 e2 40 56 9c 55 |Q@(Z......t.@V.U| +00000180 40 45 e6 20 5d 23 aa 85 ec 42 5f 2c 24 10 fb ff |@E. ]#...B_,$...| +00000190 8a 52 e6 33 8f e1 1e e1 51 8a 9f 5d 6f 63 b8 04 |.R.3....Q..]oc..| +000001a0 13 ab fa 5d 85 ba d3 eb cf b9 0b 89 08 b7 7b a9 |...]..........{.| +000001b0 ea 07 b9 41 07 7a 08 7b 57 01 35 11 a1 65 99 4a |...A.z.{W.5..e.J| +000001c0 4c 4a 1f c2 94 5a 00 09 9a 13 37 23 16 60 45 62 |LJ...Z....7#.`Eb| +000001d0 96 fa 6b 7a 0f d6 68 14 f5 cd 40 d7 0a eb ea 75 |..kz..h...@....u| +000001e0 f0 29 cb ea 7f e7 55 36 d9 02 b2 a0 bc 54 ac 04 |.)....U6.....T..| +000001f0 1b 00 10 c0 db 45 81 e6 97 2a 4a 57 1d e7 de e3 |.....E...*JW....| +00000200 d1 0a 09 c7 73 6a 9e a0 3c 79 7f a8 26 6a 98 05 |....sj..B ]^..| +000003f0 a3 91 |..| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 02 11 f1 43 fc 28 7d |............C.(}| -00000010 43 0b 17 e4 ed cc 95 d5 09 4e 8f 44 3c 3b 46 23 |C........N.D<;F#| -00000020 59 a4 62 a7 94 1e da b6 a7 a5 22 15 6a ed e3 eb |Y.b.......".j...| -00000030 4f 6d 0e 91 c6 20 74 af 97 80 95 db 6a b6 2d ac |Om... t.....j.-.| -00000040 a8 d9 95 84 95 5b 32 27 ec 42 42 a8 fd 05 fc ad |.....[2'.BB.....| -00000050 2e 00 e3 4a 9d 93 d1 5e fd dc 22 30 1f 9c e9 cb |...J...^.."0....| -00000060 3f 2e ac ad 0f ab b7 46 82 69 38 db c6 8a be 77 |?......F.i8....w| -00000070 7e 83 77 4c e1 f4 f2 cf c2 b1 86 ff 17 d3 1d 79 |~.wL...........y| -00000080 3e ac f8 6e 73 15 ab 02 4c bf 2a 63 41 ce 93 3b |>..ns...L.*cA..;| -00000090 af 11 70 8c 91 91 f4 14 5c 1b 63 4b 42 3b d8 ca |..p.....\.cKB;..| -000000a0 00 f6 02 b3 c8 d3 ab 01 1d f2 71 86 7b f9 13 de |..........q.{...| -000000b0 1e 39 1c e7 b5 3b b5 bb 26 33 f7 a9 3f 29 e2 8c |.9...;..&3..?)..| -000000c0 d1 67 64 11 b4 29 be 6e c9 cf c5 6e 41 43 41 e7 |.gd..).n...nACA.| -000000d0 43 9c 5d fb a1 b6 b3 f9 0f 4c 17 11 3c 56 0e 49 |C.]......L...z.U.....4..| -00000130 11 86 8a 14 8e d6 5c c0 c2 55 de da 37 c4 ac 69 |......\..U..7..i| -00000140 95 42 84 5f 1d 5f c7 32 91 a9 45 02 c3 a3 da 4f |.B._._.2..E....O| -00000150 96 da c0 a2 09 7a a6 2b 25 f4 a2 94 89 fa bd 0f |.....z.+%.......| -00000160 87 04 e1 87 00 c4 4f 45 39 7a 5a 7d 75 c5 c9 f6 |......OE9zZ}u...| -00000170 27 34 2d ba 12 c5 2c 76 06 b0 aa d0 34 e1 99 e9 |'4-...,v....4...| -00000180 9b 01 db 2a b4 d5 dd 55 2b 92 6d e3 9e fc f1 09 |...*...U+.m.....| -00000190 2b 37 8b 37 8f 70 31 ee d2 f0 86 5a 1f d3 4a 29 |+7.7.p1....Z..J)| -000001a0 7c c9 0e 97 7c 4f e6 87 b7 c8 94 f3 d2 0b 4a 1d ||...|O........J.| -000001b0 59 60 09 81 55 6a 01 38 9f ca 20 e0 6e 44 f7 b5 |Y`..Uj.8.. .nD..| -000001c0 f6 3e 2e d0 81 f6 e6 1d 15 cf c3 d8 ae 98 84 d1 |.>..............| -000001d0 0b c9 e4 65 96 f9 eb c9 60 6d 50 37 49 9f 6d b1 |...e....`mP7I.m.| -000001e0 b9 f6 25 20 81 2d cf b4 17 2b 4c a9 8a 76 8a db |..% .-...+L..v..| -000001f0 77 8c 29 47 05 0b 27 e1 52 8d 37 27 fb c0 70 26 |w.)G..'.R.7'..p&| -00000200 3b 6d 2e 74 05 75 88 e4 63 3d ac 98 3f 74 67 3b |;m.t.u..c=..?tg;| -00000210 c6 dc 41 39 2b 20 ef f9 8b 2f 4e 20 17 03 03 00 |..A9+ .../N ....| -00000220 99 7d 8a 83 dd 34 5e 37 e2 c3 85 22 f3 6b ee bc |.}...4^7...".k..| -00000230 a5 21 1b c5 2c 38 cf 99 09 5b 31 97 5e a0 8b 69 |.!..,8...[1.^..i| -00000240 75 3a 23 64 18 22 fb 31 ed ac 8b 0f ae 9c 4e ee |u:#d.".1......N.| -00000250 06 0e 3c 3a 18 d3 8e 0c dc d4 3f 7b 25 e3 90 85 |..<:......?{%...| -00000260 ca f4 8a 5c 5e 5e 44 f3 1b 57 cd 14 e0 8d 67 36 |...\^^D..W....g6| -00000270 6e c2 a6 95 60 f3 86 20 29 a6 a8 8f b3 b0 0d 57 |n...`.. )......W| -00000280 d2 1e 4a b9 d2 63 33 09 f9 c5 87 94 89 c5 fd 2e |..J..c3.........| -00000290 de b3 f0 0e 7b 4e 3e d6 21 b4 3b 58 bd 2a 35 49 |....{N>.!.;X.*5I| -000002a0 5e b0 f4 5a ca 58 dc a5 8b 45 a5 d1 7b 13 b2 00 |^..Z.X...E..{...| -000002b0 52 c4 b2 6c d1 9a b8 c5 1b fe 17 03 03 00 35 c9 |R..l..........5.| -000002c0 9b c7 94 b3 eb 5f 4e ab 8c c0 de cf b6 b4 5c ee |....._N.......\.| -000002d0 bb 5f fa 48 a2 06 f0 ed f5 b1 ba 74 0c c5 64 1a |._.H.......t..d.| -000002e0 ce 2e 9e 90 4b 6e 98 13 a0 98 99 a3 b4 6f 73 76 |....Kn.......osv| -000002f0 7b e3 26 15 17 03 03 00 17 3e a1 f0 68 e6 00 86 |{.&......>..h...| -00000300 10 f4 bf 26 b6 f5 e6 77 85 ca b7 c1 75 bb f9 78 |...&...w....u..x| -00000310 17 03 03 00 13 43 7f f3 84 ee d7 a9 59 9d c3 5c |.....C......Y..\| -00000320 c0 b7 c8 20 4e 83 ba 23 |... N..#| +00000000 14 03 03 00 01 01 17 03 03 02 11 e0 62 97 8a 4d |............b..M| +00000010 01 cf 8f e2 d2 a8 0d d4 9a fc f5 b2 d7 82 2b 7a |..............+z| +00000020 8c e7 ce 2a 99 3b 41 a2 a3 ca c4 9d 15 79 7f 2f |...*.;A......y./| +00000030 04 7a 18 e4 5b b6 01 d6 b5 03 d2 08 15 41 c7 18 |.z..[........A..| +00000040 8a 66 78 05 ed 33 19 8e 93 9e c3 ff 4a 92 bb 7b |.fx..3......J..{| +00000050 72 e5 81 a6 2a 7f b3 e1 72 67 01 7a 95 f4 3f bc |r...*...rg.z..?.| +00000060 cd e4 bc 45 74 9b 4c 1c 69 68 d0 75 89 9f d5 d0 |...Et.L.ih.u....| +00000070 de 59 d4 1c 47 cc 5e 2e dd bd f9 1f e4 16 c9 c8 |.Y..G.^.........| +00000080 9b 4e 07 6b 7a 12 e7 13 71 ae c1 26 48 32 d6 4e |.N.kz...q..&H2.N| +00000090 8a 15 c2 a0 91 59 9d 21 0d 28 d2 94 3f e9 fc 74 |.....Y.!.(..?..t| +000000a0 98 5b e5 be 50 ad 10 7d d9 a1 da 41 59 15 b3 85 |.[..P..}...AY...| +000000b0 2d 7b 81 b3 ae fb db 4c 00 24 31 57 f2 54 b7 f7 |-{.....L.$1W.T..| +000000c0 64 cc 73 23 bc 6a 93 e0 91 a7 5e 1b 63 f1 59 89 |d.s#.j....^.c.Y.| +000000d0 a9 d9 7b 88 35 17 7a 4d b9 66 d0 a5 f2 d6 79 ed |..{.5.zM.f....y.| +000000e0 c1 3a e7 98 88 96 e7 2f 31 66 bf 16 34 e2 fd 5f |.:...../1f..4.._| +000000f0 fb 0f fb 9a aa ba 78 d8 6a c9 72 d6 39 32 3a 99 |......x.j.r.92:.| +00000100 a2 11 8a 32 79 cf 18 d9 22 da 40 31 3e d3 c8 17 |...2y...".@1>...| +00000110 c4 1f e2 4f c8 7f b9 2f 83 d7 5e 59 48 d3 9b b9 |...O.../..^YH...| +00000120 68 9c c2 e4 45 c2 a3 26 91 cd 3a 26 47 c4 b8 7f |h...E..&..:&G...| +00000130 8f 91 c0 06 b5 6e 5e b4 65 05 42 ea 48 9e 40 bc |.....n^.e.B.H.@.| +00000140 0c 04 22 86 6a 54 6c 27 c3 77 b4 b9 22 99 6a f0 |..".jTl'.w..".j.| +00000150 91 bc 41 ca 24 41 52 fd e2 18 0f 64 13 7e a3 6b |..A.$AR....d.~.k| +00000160 ab 27 1e 15 87 0d 7f 71 1e 29 16 f9 af 81 ec bc |.'.....q.)......| +00000170 28 0b 45 bd 76 fd ff 0e fb 8d c5 0c aa ef a5 17 |(.E.v...........| +00000180 55 49 a6 3d 74 5c 8d 77 60 99 a1 8f aa a9 eb 0f |UI.=t\.w`.......| +00000190 75 1a 55 21 3a 96 da 08 a2 cd ad 11 78 15 6a ce |u.U!:.......x.j.| +000001a0 ef f6 fb 8b a3 dd fd ad 2d a5 2d 59 25 37 fe 53 |........-.-Y%7.S| +000001b0 48 90 fa 9a d3 3c 09 69 47 d3 d1 e4 48 30 fd df |H....<.iG...H0..| +000001c0 15 d7 64 ff ca 91 46 c2 36 82 30 ae 4e 75 12 be |..d...F.6.0.Nu..| +000001d0 58 5d da 63 da bd dc be 81 be ad 37 87 ea 0a 26 |X].c.......7...&| +000001e0 31 cf 1b 1e 7d de a8 04 e3 b8 e5 65 5a 21 db b6 |1...}......eZ!..| +000001f0 2b 7c e7 23 7c 2b e1 89 3f 28 27 97 dd 1c c6 00 |+|.#|+..?('.....| +00000200 0e e4 05 68 0f 9a 8a 1d e6 bd bd aa 1f 46 6e a2 |...h.........Fn.| +00000210 d9 69 91 9b e7 e3 6c 39 33 77 b8 76 17 03 03 00 |.i....l93w.v....| +00000220 99 c9 3e 7e 78 3b 91 65 35 cb 19 44 92 f7 77 f5 |..>~x;.e5..D..w.| +00000230 60 3c 19 2a 97 c5 a0 92 b2 28 e2 44 94 ec 1b 3d |`<.*.....(.D...=| +00000240 f8 1a c1 65 eb 41 3f 61 f1 db 42 1a 0d b8 32 12 |...e.A?a..B...2.| +00000250 f6 1b 83 be 37 d8 fe 78 bd 5b 66 d1 f2 6c 3e e3 |....7..x.[f..l>.| +00000260 8a 0f 3a 28 57 71 1a 78 ab 2a b5 5f ad a3 6e 2c |..:(Wq.x.*._..n,| +00000270 a3 d9 3a 0b d0 99 95 d6 dc 8e 7a f0 b6 e4 cb 46 |..:.......z....F| +00000280 ab cb eb cf ec 86 b3 fe e6 e6 73 2c a2 64 d2 d5 |..........s,.d..| +00000290 9c 8c 25 39 62 07 51 93 12 92 2b e3 4b 2e 3d f5 |..%9b.Q...+.K.=.| +000002a0 f1 d4 22 69 c3 90 cf 91 35 2f e4 60 35 44 6f bf |.."i....5/.`5Do.| +000002b0 7a 75 3d fb 70 bd 20 05 a8 f8 17 03 03 00 35 6e |zu=.p. .......5n| +000002c0 09 00 fa 13 8f d4 17 40 ee 9e 5f 8a 56 ba 7c 69 |.......@.._.V.|i| +000002d0 05 ee 65 8e fd 9c 62 7f f9 af 04 c7 46 20 07 da |..e...b.....F ..| +000002e0 bc 79 f8 cc 53 c6 fc 47 b5 54 9c fb 4d a3 cf 56 |.y..S..G.T..M..V| +000002f0 a4 57 c5 aa 17 03 03 00 17 d6 ea 39 50 a5 8e 67 |.W.........9P..g| +00000300 b9 79 76 17 77 86 a8 58 fb 86 03 74 1a e4 12 37 |.yv.w..X...t...7| +00000310 17 03 03 00 13 e7 07 59 c3 d0 27 b3 d8 e8 a3 7b |.......Y..'....{| +00000320 df e8 17 08 78 4e 9a 6b |....xN.k| diff --git a/testdata/Client-TLSv13-ClientCert-RSA-RSAPSS b/testdata/Client-TLSv13-ClientCert-RSA-RSAPSS index e557181b295..4892e2b5555 100644 --- a/testdata/Client-TLSv13-ClientCert-RSA-RSAPSS +++ b/testdata/Client-TLSv13-ClientCert-RSA-RSAPSS @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,138 +7,139 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 46 b8 dc eb 72 |....z...v..F...r| -00000010 ac 41 0a 3c 58 14 84 a0 75 91 e1 ca d7 3c c7 2c |.A..| -00000070 42 63 2e 2a a9 13 0c a9 f2 e6 74 14 1e 5c 52 14 |Bc.*......t..\R.| -00000080 03 03 00 01 01 17 03 03 00 17 23 71 3e 39 7a 0c |..........#q>9z.| -00000090 2a fa 89 f1 65 d1 b0 23 96 8e 6a e4 55 2c fd 34 |*...e..#..j.U,.4| -000000a0 ea 17 03 03 00 20 b7 a2 d6 ff b3 b4 db ce f8 90 |..... ..........| -000000b0 f9 a3 9c 0c 8f f0 77 3e 37 f2 d9 e7 84 65 28 f6 |......w>7....e(.| -000000c0 dd fe b9 42 03 3c 17 03 03 02 7a d4 cf 93 f6 2b |...B.<....z....+| -000000d0 64 e3 13 75 41 62 7d bd cf 4f 42 80 23 f4 03 92 |d..uAb}..OB.#...| -000000e0 35 02 5e ed bb c6 2f b1 a8 57 cf d4 69 94 6a db |5.^.../..W..i.j.| -000000f0 39 b8 3a 05 07 dd f1 1d 63 13 22 9b d7 58 68 6f |9.:.....c."..Xho| -00000100 4f ac 79 6a 47 0a 23 35 3c 9b 9f 15 04 e7 6b d8 |O.yjG.#5<.....k.| -00000110 ff df 00 6c 68 5e a0 41 6a a9 34 9f 37 98 c2 3d |...lh^.Aj.4.7..=| -00000120 51 29 73 c4 ad 34 e5 69 78 18 eb 03 55 c0 c6 0d |Q)s..4.ix...U...| -00000130 43 d5 4a 5d cb 53 e6 b9 df e8 8b 0e 98 04 89 bb |C.J].S..........| -00000140 f4 a1 48 01 af d3 42 ef 17 e7 f9 27 b4 b1 63 99 |..H...B....'..c.| -00000150 91 a6 c5 c1 cb 6d 1c 55 b1 69 1c ec b1 b7 c3 cd |.....m.U.i......| -00000160 7a 93 f2 d8 e4 c4 96 43 0a e1 18 b5 9a 3b 57 83 |z......C.....;W.| -00000170 98 ce 74 f2 4c 65 ad 01 aa 76 b5 b0 7c a0 7d 09 |..t.Le...v..|.}.| -00000180 ad d6 20 7d 12 67 f8 4c 2c 41 37 34 66 86 fe 3d |.. }.g.L,A74f..=| -00000190 44 52 f0 08 26 4c b3 e7 71 b3 89 b3 5c 78 7e db |DR..&L..q...\x~.| -000001a0 34 31 dc dc 7c 7d 28 e1 41 96 f4 2f 28 60 9f 5b |41..|}(.A../(`.[| -000001b0 b2 2b 37 6b 3f 3a 37 e2 38 7a 66 40 fe 44 44 72 |.+7k?:7.8zf@.DDr| -000001c0 b4 e3 97 f3 db 73 c8 af 96 c8 a6 24 ef ea 34 8f |.....s.....$..4.| -000001d0 5e 4b 21 22 19 d8 4a db 2e f1 23 90 d0 d2 38 f3 |^K!"..J...#...8.| -000001e0 c6 08 5d 1d c9 a3 f2 6d 01 eb 30 5e cd f4 98 f5 |..]....m..0^....| -000001f0 0d d8 68 4f 00 f4 cd 24 9f c4 3c 6a 31 5d c0 e5 |..hO...$..S8B.| -00000350 6f 99 20 c4 98 59 48 61 e0 13 80 8e 96 25 96 f8 |o. ..YHa.....%..| -00000360 c9 c8 35 9c 35 c0 13 d7 34 24 0b 6e 59 4f 1b 77 |..5.5...4$.nYO.w| -00000370 1f 9a 71 6b 6b dc 71 23 b1 a2 e8 1e c2 a0 b1 8c |..qkk.q#........| -00000380 27 5e 90 c5 f8 65 30 a2 de fc 6b b2 e3 5d 8d 9f |'^...e0...k..]..| -00000390 70 32 3c 92 47 c7 91 10 49 0d f1 3b 41 f1 14 3b |p2<.G...I..;A..;| -000003a0 09 55 f5 78 0e 91 1b 75 a0 58 fc c9 34 82 fe 51 |.U.x...u.X..4..Q| -000003b0 20 73 71 3d 7f 82 a4 29 bc 04 67 d7 30 c7 a5 4b | sq=...)..g.0..K| -000003c0 f3 94 4d 15 35 2a 1e 46 82 3f 36 f4 7b ff 9f 88 |..M.5*.F.?6.{...| -000003d0 3b e6 60 bc 86 51 59 ad 97 58 95 7e 6a 4b c9 6c |;.`..QY..X.~jK.l| -000003e0 34 96 03 17 03 03 00 35 03 94 eb e1 e5 9d eb 8f |4......5........| -000003f0 34 b1 28 3c 9d 26 40 a9 e7 4c 2b bf 37 32 b6 aa |4.(<.&@..L+.72..| -00000400 78 d2 45 0c 6c 5b 0a 0e 8a 3a b6 1a 01 09 3e 0a |x.E.l[...:....>.| -00000410 45 25 c6 83 8a 4a cc 22 d9 29 c8 8a 32 |E%...J.".)..2| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 e0 |..+.....3.$... .| +00000060 70 9a 3d 69 69 1f 8f de d4 c8 7c dc 65 53 9a c6 |p.=ii.....|.eS..| +00000070 77 c2 c4 21 1b 06 2d c4 4f 24 61 52 5b 00 69 14 |w..!..-.O$aR[.i.| +00000080 03 03 00 01 01 17 03 03 00 17 96 99 40 9f d8 9d |............@...| +00000090 70 f0 cf f0 86 3e 7f 4a 3a 8a a4 63 6e e1 7f 24 |p....>.J:..cn..$| +000000a0 f4 17 03 03 00 20 72 bb 5a aa 0e 2e d9 cc 38 0c |..... r.Z.....8.| +000000b0 c8 b9 88 08 6f 19 d8 38 14 14 d7 97 42 6c 45 43 |....o..8....BlEC| +000000c0 51 dc 2b f6 02 e2 17 03 03 02 7a 8d 04 2f 64 c0 |Q.+.......z../d.| +000000d0 e2 7b b5 20 9d 04 69 5e 88 82 aa f3 c6 b2 8d 6c |.{. ..i^.......l| +000000e0 41 08 c3 b1 0c 7d d1 5f d6 e6 b7 1d c0 ad 2b 0d |A....}._......+.| +000000f0 02 c5 f7 6d a0 87 91 07 20 d3 d4 2e 5a 7d 5e 29 |...m.... ...Z}^)| +00000100 37 2b ac 5f d6 cb eb e9 99 a7 05 f7 e7 ea 9c 99 |7+._............| +00000110 cd 33 25 f8 45 95 43 f4 7a 59 2a 91 8c e2 ac 84 |.3%.E.C.zY*.....| +00000120 ba 99 ef d0 d7 ea 9b db 31 b0 27 0c 81 3b b2 83 |........1.'..;..| +00000130 20 c4 8b 7e 05 ac c6 82 e9 56 5a a2 b6 7c c7 33 | ..~.....VZ..|.3| +00000140 a8 31 2f ad 60 be ec c3 2d c0 a8 b4 40 50 98 ea |.1/.`...-...@P..| +00000150 83 d1 cc a8 34 20 11 7c 2e f7 7c ca d8 27 03 a2 |....4 .|..|..'..| +00000160 58 86 e8 e6 41 46 07 18 c7 a7 61 f9 cc 2f 7d 1e |X...AF....a../}.| +00000170 bb 34 7c 6e cb b3 9c 03 2f b0 dd e9 a1 32 13 10 |.4|n..../....2..| +00000180 85 1d fa a6 bf c7 4d ec 94 8f 26 07 94 34 b3 5f |......M...&..4._| +00000190 b8 e4 da 6f 3d 5b 0a 61 8f 44 58 10 1a 4c f3 bc |...o=[.a.DX..L..| +000001a0 ff c7 8f 09 0a e4 1b 35 e8 a9 dc 9c 14 86 e5 67 |.......5.......g| +000001b0 7e 96 e9 79 8d b2 d7 34 a0 7f 43 07 11 f1 03 68 |~..y...4..C....h| +000001c0 95 5e f5 fa e7 8f c8 d6 5b 23 c4 84 e4 c5 40 58 |.^......[#....@X| +000001d0 80 4a ac b7 a7 07 21 93 c1 a9 ad 9a 89 f7 f3 9e |.J....!.........| +000001e0 bb 7d 2a 00 d0 e0 66 9d f7 86 4a ba b1 c9 1e 3b |.}*...f...J....;| +000001f0 f1 c6 6e c1 9c 09 85 38 9d fa 5a b9 ca bb a4 f5 |..n....8..Z.....| +00000200 9e 3f ba d4 31 7d aa d7 f9 bf 83 05 5c 1f 61 18 |.?..1}......\.a.| +00000210 d4 5e 16 98 c6 92 7b bd 12 96 18 c7 33 75 ad 08 |.^....{.....3u..| +00000220 d1 0b 47 4c c8 73 3e 68 fb 53 ff e0 1a 10 6c 5a |..GL.s>h.S....lZ| +00000230 7f 9d 92 32 2f c2 2d 95 7d c6 ef 18 9b 44 a1 bc |...2/.-.}....D..| +00000240 6a f5 88 79 e1 00 a3 14 8f 66 07 03 16 2a 53 80 |j..y.....f...*S.| +00000250 9b 26 80 0d 0b 5e 0c c6 c9 fa a1 3b c9 a6 91 1f |.&...^.....;....| +00000260 bd fb 79 24 ab 93 e4 25 d1 a6 41 8b 9e a9 06 0f |..y$...%..A.....| +00000270 80 2e 4e 8c 20 2c 1e a8 7e 63 7a 4f b8 90 c3 56 |..N. ,..~czO...V| +00000280 a3 9e 63 2a 8b 85 9e ef 66 f5 16 be 79 c3 9b 47 |..c*....f...y..G| +00000290 dc 1c 75 0b 30 3c db 32 e8 ec 33 f9 9f 26 3d 56 |..u.0<.2..3..&=V| +000002a0 36 e9 ea 83 57 c4 59 ac 73 db 04 5a 1d 38 9b e4 |6...W.Y.s..Z.8..| +000002b0 47 50 f8 92 92 7f c9 09 4f f4 9c ab 3e 03 df 80 |GP......O...>...| +000002c0 cc 5b 50 0b 06 ef 8c 59 d2 f6 f3 a4 16 e7 0f 90 |.[P....Y........| +000002d0 c8 79 95 0a 39 0f 33 69 31 29 1c 30 77 72 58 b5 |.y..9.3i1).0wrX.| +000002e0 cf 0e 4c 30 fc 0a 01 93 b1 20 21 34 2a ce 28 8d |..L0..... !4*.(.| +000002f0 57 71 3e c9 b1 51 c9 4f e5 e4 09 0b 1e 32 52 4e |Wq>..Q.O.....2RN| +00000300 d0 be f2 a2 90 75 f4 a8 61 66 43 84 74 4e bb 28 |.....u..afC.tN.(| +00000310 7b ea 68 96 92 6d 4b 8c af 50 13 84 92 b9 6b 48 |{.h..mK..P....kH| +00000320 60 1c 60 62 28 a2 37 d1 1c 86 d4 60 27 a6 5b 6d |`.`b(.7....`'.[m| +00000330 88 d7 56 21 b7 86 f5 b6 34 f9 55 cf 47 f8 4f 90 |..V!....4.U.G.O.| +00000340 78 5c 56 52 97 17 03 03 00 99 35 71 51 6f 73 ba |x\VR......5qQos.| +00000350 76 60 e1 4a 5f ec ce 52 b6 91 58 3d 0c ea e6 58 |v`.J_..R..X=...X| +00000360 7e ee da 1e aa df bb 8e c9 89 ce 43 bd e7 34 9b |~..........C..4.| +00000370 b8 4b dd 50 73 0c f7 e5 15 e0 a1 c3 bd 07 08 62 |.K.Ps..........b| +00000380 a2 d5 2e 9f 46 f7 4d 9c ae ad be 22 89 0f b0 3e |....F.M...."...>| +00000390 82 1c 80 60 38 39 4f 06 f9 fc 4c f8 02 bf b3 5a |...`89O...L....Z| +000003a0 25 22 f4 62 61 ba eb 78 b2 40 68 ea 99 ef 95 90 |%".ba..x.@h.....| +000003b0 b1 b5 25 17 81 43 5c 15 bd a9 1f e8 0f b9 91 be |..%..C\.........| +000003c0 f1 47 91 99 ec 50 3b fa c2 06 fc 89 09 a3 d7 b3 |.G...P;.........| +000003d0 ed e3 3d 41 57 07 4b b0 3d 02 51 7e 13 bb d3 68 |..=AW.K.=.Q~...h| +000003e0 49 4c 6a 17 03 03 00 35 63 f7 b5 68 31 22 c7 f5 |ILj....5c..h1"..| +000003f0 50 ae c0 81 0f 50 fb ba 50 72 8a d7 e0 c0 73 07 |P....P..Pr....s.| +00000400 d0 88 ed 6d 7b e7 66 b3 8d e3 10 ca 2f 68 c3 39 |...m{.f...../h.9| +00000410 d9 b9 09 44 78 4a 11 91 fb 51 ea 9f 9a |...DxJ...Q...| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 02 7a 3e 62 91 75 b4 |..........z>b.u.| -00000010 58 7d 61 ac 42 4b 1b 91 86 cd 3f c0 6d 30 5a 01 |X}a.BK....?.m0Z.| -00000020 11 1e 77 87 92 50 bb a0 d2 c6 84 b6 10 37 02 ab |..w..P.......7..| -00000030 2d c2 c2 12 0a db f5 8f e4 1f dd 16 ec 83 ad db |-...............| -00000040 2d 8b ec fa aa 56 44 4e d4 af ce d2 9f 44 3d de |-....VDN.....D=.| -00000050 12 29 db bc 29 2a df 99 d7 d0 53 79 84 a4 b8 2d |.)..)*....Sy...-| -00000060 8b 5c e6 a4 b7 98 07 5a f4 63 10 21 87 13 09 07 |.\.....Z.c.!....| -00000070 28 98 49 48 07 70 c1 ab 8b 62 6d 40 a8 47 27 67 |(.IH.p...bm@.G'g| -00000080 d6 ad 29 8d 2e 14 34 14 18 6b dd f0 76 3b 91 f9 |..)...4..k..v;..| -00000090 e1 93 a2 1c 3a 5e 18 a3 c9 ca b0 c9 cf d9 3c f5 |....:^........<.| -000000a0 a3 38 c7 83 53 67 14 ba 65 6f 11 a2 ef 78 7e ea |.8..Sg..eo...x~.| -000000b0 4a 90 c9 aa bf e9 8e ff 8c 9d 7c 5f 56 c3 9b 16 |J.........|_V...| -000000c0 c1 8a a9 51 24 20 86 dc 99 ac d2 28 af 7b 2d 6e |...Q$ .....(.{-n| -000000d0 16 9b 71 71 82 00 94 51 a4 4f 22 c1 26 a2 6f 67 |..qq...Q.O".&.og| -000000e0 d9 45 ff 80 13 39 16 0f 9c 43 76 54 e5 12 0f 89 |.E...9...CvT....| -000000f0 95 ed 75 df eb cb 6b d2 77 fd fa 37 d7 a3 31 b5 |..u...k.w..7..1.| -00000100 61 47 69 8f 99 55 70 d0 96 b0 f7 a9 1b 53 69 a3 |aGi..Up......Si.| -00000110 e4 59 cc a1 d9 4b d5 4f e2 47 c1 53 30 60 50 03 |.Y...K.O.G.S0`P.| -00000120 c7 07 67 3f 68 ce 8c 32 7e f1 93 12 ba d8 67 21 |..g?h..2~.....g!| -00000130 71 4f c9 ca ae 7b 56 8d f7 64 14 e3 8d d6 a6 ed |qO...{V..d......| -00000140 d0 63 5e 00 1e f7 8a 0c 1e c3 24 e0 bd e2 e8 99 |.c^.......$.....| -00000150 da ca 01 9e fb 21 9e 1f 57 98 f1 36 7d c8 a8 7b |.....!..W..6}..{| -00000160 4b 27 13 fb 8c ab d6 b3 27 3e f5 b5 08 eb cb a9 |K'......'>......| -00000170 b0 a4 d4 3e c9 14 08 75 51 83 48 03 e7 79 65 30 |...>...uQ.H..ye0| -00000180 a4 1a 4f a8 7a 41 c8 af 9e 74 89 4d ec eb 58 9b |..O.zA...t.M..X.| -00000190 20 db 80 ce e0 c8 a7 1c b2 62 fc 85 7d 87 ca 00 | ........b..}...| -000001a0 64 4c 25 4d 3c b2 bf 9d 46 c5 04 b5 dd 7a 29 87 |dL%M<...F....z).| -000001b0 29 30 2e bc 42 31 9b f2 eb 7b 58 63 91 28 6f 43 |)0..B1...{Xc.(oC| -000001c0 6b c1 4e 00 b2 4b 9d 0c ef 18 5b 61 ec 77 84 e1 |k.N..K....[a.w..| -000001d0 88 49 f9 e2 71 2e 35 23 b8 73 6d c2 52 d1 2f ad |.I..q.5#.sm.R./.| -000001e0 55 40 4e a2 b0 14 1b 50 d7 9d 12 80 89 ab 88 a5 |U@N....P........| -000001f0 01 16 88 d5 4f 95 0c ce 79 c7 49 27 4b 44 4d fe |....O...y.I'KDM.| -00000200 f5 cd 95 08 b9 26 8d 52 ff d7 bc 47 11 16 d5 d0 |.....&.R...G....| -00000210 7d 4c 3c 04 74 92 5b 85 d2 2c 95 b8 4b 02 0b 66 |}L<.t.[..,..K..f| -00000220 60 7d b9 12 6e d3 06 73 cc c2 69 b9 fe ad f9 4c |`}..n..s..i....L| -00000230 f6 24 a0 eb 96 f0 b8 7c 32 dc 4c 67 04 83 15 84 |.$.....|2.Lg....| -00000240 f9 ef 70 e7 55 85 0e 8f b3 78 20 2c ed 69 29 89 |..p.U....x ,.i).| -00000250 d4 d8 5e 97 16 59 90 0f 79 41 6e cf 02 d3 9d 08 |..^..Y..yAn.....| -00000260 e4 0c 27 0c 74 97 c6 d6 89 6b c9 65 37 7b ae 6b |..'.t....k.e7{.k| -00000270 b7 0f e8 70 57 a3 1c 95 8d 66 da 4e 34 51 c8 e0 |...pW....f.N4Q..| -00000280 0e 83 e3 24 64 17 03 03 00 99 e3 31 2c ae ae 1c |...$d......1,...| -00000290 64 6c fc 36 c8 9f c2 88 16 c7 b2 ae 4a ef 3a 90 |dl.6........J.:.| -000002a0 f4 ad f2 91 58 37 7c 94 c2 e3 ed 76 c5 90 fb e6 |....X7|....v....| -000002b0 88 08 a6 a2 53 5a 78 cb bd f2 3c 6e 36 b4 cd 87 |....SZx...XCK.......N..ZR..| +000000c0 bd fa f0 a7 88 d5 9e 76 9b 2b 23 fb 37 c0 f1 0a |.......v.+#.7...| +000000d0 d2 df d4 2c 5d 8c 64 f0 98 3c 85 3f bb ed 30 44 |...,].d..<.?..0D| +000000e0 eb cb fc 47 e5 8a 57 ff 37 23 6d e2 75 a7 15 e4 |...G..W.7#m.u...| +000000f0 dc f9 02 8f c4 af d8 e8 bb 07 43 90 5b c2 86 f3 |..........C.[...| +00000100 40 22 a7 bb b6 f1 f6 4c 2e d6 fd d8 02 f0 3d 27 |@".....L......='| +00000110 89 38 97 7d 6e d3 6c b1 4c 87 ca 30 e9 ec fe b3 |.8.}n.l.L..0....| +00000120 db 62 ea 2f 3a 83 95 18 4e 44 4f 97 c4 ff f6 bb |.b./:...NDO.....| +00000130 0b b0 98 c7 c6 c7 94 0a 8b c9 c0 d9 51 d3 6a e1 |............Q.j.| +00000140 36 55 79 c4 37 75 6f e7 14 53 60 9e 22 00 fe d7 |6Uy.7uo..S`."...| +00000150 ef e4 ca 60 38 12 25 8c c6 c9 7e 5f 1a 7c f1 c1 |...`8.%...~_.|..| +00000160 a7 15 b2 f4 32 31 de c8 a2 d4 59 46 1e 68 a6 94 |....21....YF.h..| +00000170 b8 18 52 df 44 01 0b a0 a0 02 60 83 84 fc ad 99 |..R.D.....`.....| +00000180 fc 60 0b 23 0a 7a f9 73 bf d8 a5 af 9b ea dd a3 |.`.#.z.s........| +00000190 fb 5b 41 17 95 0a 57 4a 94 7e 24 9f 31 74 06 65 |.[A...WJ.~$.1t.e| +000001a0 95 90 40 20 17 0b 95 22 b8 49 4e a6 a4 be e1 74 |..@ ...".IN....t| +000001b0 01 a2 7e cd 60 50 46 5c fd 2a 88 90 ef 7f 6c b8 |..~.`PF\.*....l.| +000001c0 3e a1 40 8e 91 cd 8d db ad 81 d0 08 b0 d0 d7 ae |>.@.............| +000001d0 18 4f 47 9b 1a 66 8b a5 d2 fb 01 d3 67 79 46 71 |.OG..f......gyFq| +000001e0 5a 49 dd df 06 c6 57 c7 e0 b1 60 39 d4 a9 37 88 |ZI....W...`9..7.| +000001f0 31 0d c0 92 4e c7 2a 25 c4 df b0 d8 df bb 31 1b |1...N.*%......1.| +00000200 ff 0a 34 46 46 88 0b 11 7d 20 32 cd 01 d0 3f 11 |..4FF...} 2...?.| +00000210 e1 6e 63 42 d7 4a 83 ab ad f7 51 bd c3 37 2b 76 |.ncB.J....Q..7+v| +00000220 9e bb 45 3b 81 d8 47 71 02 b9 fe 7c 56 46 78 3e |..E;..Gq...|VFx>| +00000230 9e 94 00 1b 98 17 72 37 c0 e5 36 a9 f0 02 b7 cf |......r7..6.....| +00000240 f0 b4 66 10 1b 91 07 5f bb 22 e8 12 d9 e3 33 dd |..f...._."....3.| +00000250 87 66 e4 f6 00 f6 3a dc 19 59 af ce 8e ae c4 d3 |.f....:..Y......| +00000260 03 d8 25 02 40 7e 95 70 31 85 53 bc 9e 96 11 69 |..%.@~.p1.S....i| +00000270 5b 2f b9 17 48 f4 ae c5 a1 c5 d1 7f 4a 10 06 b6 |[/..H.......J...| +00000280 2e 34 6c 09 12 17 03 03 00 99 16 4c 04 64 97 e0 |.4l........L.d..| +00000290 26 e1 66 e9 34 05 d7 d3 75 e3 b9 de 56 15 51 67 |&.f.4...u...V.Qg| +000002a0 fb fe 9a c6 9a 3c 38 08 2c c8 8c dd fe 49 c5 ed |.....<8.,....I..| +000002b0 a8 54 86 90 2c f6 7c d1 12 02 99 94 5e 2e 4b 4e |.T..,.|.....^.KN| +000002c0 84 e9 b4 96 5c dc 56 28 3d ea a9 4f 8f ad 51 ff |....\.V(=..O..Q.| +000002d0 02 b1 b9 7a 29 e5 32 7c 2a 8b 60 5d e2 fc b4 8f |...z).2|*.`]....| +000002e0 06 32 4a ea 37 ed 03 f0 68 72 b7 83 1f 04 10 2b |.2J.7...hr.....+| +000002f0 24 db 5b 10 6c 41 55 40 54 69 07 39 d4 db ac 10 |$.[.lAU@Ti.9....| +00000300 77 9f 04 f4 b9 3f 35 7e 04 af ab 7a a0 47 b9 d9 |w....?5~...z.G..| +00000310 4c 6e 25 00 ce ef 93 3f 28 2c 2d f6 42 e4 5f 3e |Ln%....?(,-.B._>| +00000320 26 92 13 17 03 03 00 35 fb 14 eb 5f 18 61 75 ba |&......5..._.au.| +00000330 e4 dc d2 95 fe 93 bb 54 29 e3 38 e3 59 54 81 9f |.......T).8.YT..| +00000340 4e 29 be c6 e6 cd ad 8c 9d 6a ad 28 ec d3 a6 e4 |N).......j.(....| +00000350 bc 5e 8c df a8 7e 14 d8 69 3c 30 7c 0a 17 03 03 |.^...~..i<0|....| +00000360 00 17 10 73 c0 75 88 af 51 90 ff 3f b2 83 47 27 |...s.u..Q..?..G'| +00000370 19 c0 e6 cd 14 a4 c7 8d a0 17 03 03 00 13 fb 1f |................| +00000380 ed 8e 47 c8 79 f9 53 df 6d 97 a7 1d 53 8d 80 85 |..G.y.S.m...S...| +00000390 dd |.| diff --git a/testdata/Client-TLSv13-ECDSA b/testdata/Client-TLSv13-ECDSA index b6a3b2addbe..eeab8711723 100644 --- a/testdata/Client-TLSv13-ECDSA +++ b/testdata/Client-TLSv13-ECDSA @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,81 +7,82 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 24 80 76 3d db |....z...v..$.v=.| -00000010 cf 32 53 04 de ce 2e 74 95 bb 30 a8 d5 5e ab ed |.2S....t..0..^..| -00000020 3c 1e 1a ae 92 63 8f 40 0b ce a4 20 00 00 00 00 |<....c.@... ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 a5 7b 07 50 bc |....z...v...{.P.| +00000010 01 11 74 76 99 fb 85 e5 40 6b 02 14 d9 64 b1 8a |..tv....@k...d..| +00000020 8b 78 a3 ee 2e 4d b0 96 14 3a fb 20 00 00 00 00 |.x...M...:. ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 d2 |..+.....3.$... .| -00000060 b3 86 f1 35 22 26 89 f4 07 ab b8 f5 27 a6 d5 c9 |...5"&......'...| -00000070 87 00 59 43 b8 df da 92 f6 f5 ed f4 8d 04 26 14 |..YC..........&.| -00000080 03 03 00 01 01 17 03 03 00 17 ed 6b 14 3a 82 c5 |...........k.:..| -00000090 88 9d a4 96 c7 c4 c7 73 63 c6 58 65 d0 d4 a6 cb |.......sc.Xe....| -000000a0 dc 17 03 03 02 22 e8 c5 15 54 3c 26 7b 87 8c d3 |....."...T<&{...| -000000b0 99 b0 af 98 21 1b 8f be f5 d8 40 c9 05 97 39 fd |....!.....@...9.| -000000c0 3d b2 da 2d 80 26 c9 24 cd 14 0b 48 2e d7 c4 dc |=..-.&.$...H....| -000000d0 4c 61 1e 5d 46 ce 66 cd 94 50 a4 e8 c4 d7 f0 48 |La.]F.f..P.....H| -000000e0 20 16 52 fb 12 04 17 48 7d 65 49 50 c5 b8 e6 9c | .R....H}eIP....| -000000f0 be f6 58 09 ea 8b 94 51 93 cf 0d 7a 76 88 78 cb |..X....Q...zv.x.| -00000100 37 83 43 fa 37 d5 5b 3f 10 1d 07 b1 bb 9b ac 3a |7.C.7.[?.......:| -00000110 43 e0 62 b1 fe 64 43 83 53 49 96 9e 81 1c 05 64 |C.b..dC.SI.....d| -00000120 40 2a 1b 98 5f ed 8d 47 52 2c db 84 8b 6a 1e 3b |@*.._..GR,...j.;| -00000130 de bb 7d 20 e6 cf 2a 79 2e c4 54 71 56 2f 79 45 |..} ..*y..TqV/yE| -00000140 07 3f 05 6c 82 e8 ab f7 62 0a 28 e0 db 83 6b bd |.?.l....b.(...k.| -00000150 55 81 8f 3f b6 1f d0 83 cd 97 67 71 56 f5 13 aa |U..?......gqV...| -00000160 45 95 65 ce 1e 42 bf 6a 83 6e bc 2e 41 28 79 b7 |E.e..B.j.n..A(y.| -00000170 b8 3f 6e 64 14 8d ed 3a a4 02 06 46 17 e5 c7 f8 |.?nd...:...F....| -00000180 72 f1 5f 9b 14 96 c9 c6 53 e6 32 b2 0b cc d5 d7 |r._.....S.2.....| -00000190 89 1e d9 52 fb 8f 48 8b 41 6e c6 f3 55 57 41 5d |...R..H.An..UWA]| -000001a0 95 03 9c 34 ea 3c a8 58 8d b7 89 82 e1 40 e0 60 |...4.<.X.....@.`| -000001b0 22 ab 23 30 e8 f0 4e 21 a1 11 0a 7f 18 80 ad de |".#0..N!........| -000001c0 41 ba a1 12 60 31 60 0f 84 f6 91 b1 ae ca f5 81 |A...`1`.........| -000001d0 3e d6 4e 3a 89 b6 b0 fe 3f 27 18 20 65 a9 d4 6c |>.N:....?'. e..l| -000001e0 ac 8a 46 08 e2 7d 06 6d 52 8c 69 9e 24 9b 8d f9 |..F..}.mR.i.$...| -000001f0 b7 a7 74 87 bd f9 84 ca 18 7d 5b 50 1d 8e 64 e1 |..t......}[P..d.| -00000200 39 6f f7 56 5a ef 08 6b e2 a1 87 e4 7a 5e ea b6 |9o.VZ..k....z^..| -00000210 12 75 2d ee e9 af a4 36 99 91 88 11 97 f3 d5 fb |.u-....6........| -00000220 8b 52 59 bc 9c 18 03 5b b1 59 47 ae d4 bb a1 65 |.RY....[.YG....e| -00000230 cf bf 40 54 e5 e7 6e e0 0c 26 0e a1 d2 4d 41 19 |..@T..n..&...MA.| -00000240 36 b5 b6 48 33 96 8a e3 a5 56 9b 34 16 ae 36 48 |6..H3....V.4..6H| -00000250 c5 ff 12 a7 33 f4 76 40 de d1 4b 41 ed 18 3b 04 |....3.v@..KA..;.| -00000260 06 32 6e f3 57 c6 be 72 58 7f 78 b7 91 65 00 a8 |.2n.W..rX.x..e..| -00000270 8d 5c 7f ff 0a 62 d4 99 82 b2 6b c8 80 3e 89 30 |.\...b....k..>.0| -00000280 dd 31 60 7a 00 6e a2 13 c7 58 08 b0 d5 32 03 2e |.1`z.n...X...2..| -00000290 08 86 a2 97 7a f0 a1 95 10 5f a2 d6 fc e7 a3 93 |....z...._......| -000002a0 16 a2 3d 33 04 e7 aa 3b 99 a5 ce c7 2c 28 71 bb |..=3...;....,(q.| -000002b0 ed e6 b9 5a a5 ec d1 44 54 e0 ff 41 cf 1a cb ff |...Z...DT..A....| -000002c0 67 43 6b af 87 19 40 74 17 03 03 00 a4 bc ef 32 |gCk...@t.......2| -000002d0 22 da e9 d5 93 ce 06 bd 3d 6c 2e f0 0c de ec b8 |".......=l......| -000002e0 12 d6 28 17 c6 64 aa 8d 4b 04 76 9e 41 3c 4a 94 |..(..d..K.v.Aru@.0.| -000003a0 fd 46 9d 5e 79 39 e1 a8 f9 27 2b |.F.^y9...'+| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 67 |..+.....3.$... g| +00000060 b0 dc 13 4f 2b 92 43 27 38 b5 2c 7a 3a 87 83 6f |...O+.C'8.,z:..o| +00000070 a1 cc 43 fa 90 9e 2e 4d 88 f6 60 d4 20 32 6a 14 |..C....M..`. 2j.| +00000080 03 03 00 01 01 17 03 03 00 17 9b 51 d0 81 30 4b |...........Q..0K| +00000090 52 65 8b b5 fe 1a cc 44 c9 7a 10 83 41 0b 1a 00 |Re.....D.z..A...| +000000a0 76 17 03 03 02 22 4e 55 d0 64 9c 41 c8 22 2c 9c |v...."NU.d.A.",.| +000000b0 0e 0a 0c 2b 2b 2e 6e 08 d5 54 75 61 99 bf ea f5 |...++.n..Tua....| +000000c0 ca 12 3e 44 7f 81 a8 40 d1 7c 4d a0 a3 d2 f3 07 |..>D...@.|M.....| +000000d0 40 af 68 81 69 dd 7c 77 24 26 87 73 73 5e d2 0c |@.h.i.|w$&.ss^..| +000000e0 2a 32 c5 34 50 ef a8 0f 63 12 3a 47 34 8f f2 c6 |*2.4P...c.:G4...| +000000f0 9f bd 81 bf ea 69 47 04 8b 87 64 4e 67 81 10 a5 |.....iG...dNg...| +00000100 f1 76 92 5e d6 11 a5 48 5b cc ef a8 43 dd cf f5 |.v.^...H[...C...| +00000110 20 9d b8 2f f4 0d 92 10 55 af d1 fa ab 64 5f 99 | ../....U....d_.| +00000120 3e 6b e9 70 70 f1 22 d9 05 04 89 3a fa 65 ae 91 |>k.pp."....:.e..| +00000130 9d 07 ea 54 93 2d 02 0c c0 70 d9 e9 f0 9a 5a 81 |...T.-...p....Z.| +00000140 c6 c6 79 e0 e1 90 ad 34 78 bf d3 c8 9c 68 2e ac |..y....4x....h..| +00000150 e6 2d c0 e5 c8 3c 77 80 d7 dd e5 a4 ac b8 36 4f |.-...@..I<..FW.Ye.| +00000170 4e db 21 ea ab 72 47 79 e6 c1 4f ea 17 e3 b4 73 |N.!..rGy..O....s| +00000180 9d e2 e5 72 be 88 0a 60 1e 35 02 67 33 a0 7a 05 |...r...`.5.g3.z.| +00000190 b8 ae 05 b2 53 6c cd c5 e3 a5 16 56 2b b0 0e 8e |....Sl.....V+...| +000001a0 a0 ca 54 c0 34 6b 00 22 69 de e1 57 81 48 c6 1a |..T.4k."i..W.H..| +000001b0 cc 88 f6 15 1c 7e b6 1f b0 48 82 75 6b ff 42 78 |.....~...H.uk.Bx| +000001c0 f9 85 10 86 5b af 31 62 f6 7b d4 8a a6 86 3f 99 |....[.1b.{....?.| +000001d0 9b ce 91 c0 4d 44 5b 3f 16 81 d0 a9 4a e0 2d 85 |....MD[?....J.-.| +000001e0 a4 80 91 64 13 20 33 dc 84 48 da 79 2e 73 cb 78 |...d. 3..H.y.s.x| +000001f0 9c 05 8a 6c 42 ce b0 b0 45 3c 05 47 47 f7 92 3b |...lB...E<.GG..;| +00000200 d2 fb 65 f0 40 a3 52 b7 aa 04 ae 71 84 35 12 7a |..e.@.R....q.5.z| +00000210 33 f8 8b 0d 21 a3 29 ad 78 de df 7f 53 71 fb 5f |3...!.).x...Sq._| +00000220 a5 ab 07 89 3a 1f e9 ca 6d 8d bb 04 39 8d b3 50 |....:...m...9..P| +00000230 7e 2e bd 0f b8 ff 4f 3f d1 a5 23 b9 80 33 da b0 |~.....O?..#..3..| +00000240 2c dc 0f c2 26 b2 cf 59 d9 10 ef 66 52 40 e4 54 |,...&..Y...fR@.T| +00000250 28 5e 7f c1 94 62 8f 4f 9b 94 fc c9 32 af f5 17 |(^...b.O....2...| +00000260 5d 04 32 08 83 f4 90 68 68 01 d3 00 ed 82 f3 da |].2....hh.......| +00000270 81 2e d5 df 1e 13 c3 c3 76 83 c4 67 23 c4 32 c0 |........v..g#.2.| +00000280 59 5d dd 56 78 d9 74 ef 7b d5 c9 13 4d 62 29 85 |Y].Vx.t.{...Mb).| +00000290 ca 24 53 1a b1 2b 09 a1 a6 26 db 13 cf 2a 2b 92 |.$S..+...&...*+.| +000002a0 85 a3 51 2b 24 e1 90 2a fe 0c 74 ee 86 cc 3b 6a |..Q+$..*..t...;j| +000002b0 07 21 a6 b6 97 a4 e0 9f 3d 75 9a 2b 9e 91 ef d8 |.!......=u.+....| +000002c0 c9 94 28 ba 40 e4 cc 6a 17 03 03 00 a4 ab c3 c1 |..(.@..j........| +000002d0 32 1d 44 0d f7 85 e3 85 df 9e bb 0c 82 18 a2 9f |2.D.............| +000002e0 27 de 78 4f 06 9b 43 59 27 b5 8e 34 4d 96 b3 96 |'.xO..CY'..4M...| +000002f0 af 8b 98 d0 36 91 52 df 9c aa c2 fe e7 0f ed ca |....6.R.........| +00000300 ef 57 73 97 cc c8 dc 7c c8 15 73 ad a6 3e 54 93 |.Ws....|..s..>T.| +00000310 1a ab 72 f6 e0 e3 cb bb fe a5 d1 45 47 f3 1a 89 |..r........EG...| +00000320 40 f7 9d f5 e4 61 16 fa 12 0a 62 24 a7 34 ab 6f |@....a....b$.4.o| +00000330 08 85 b2 fe b2 5c 49 59 7b cb 05 b2 e3 1a 37 79 |.....\IY{.....7y| +00000340 b1 27 28 a5 ab ee ae 72 11 19 61 c0 3b ed 32 ec |.'(....r..a.;.2.| +00000350 57 26 76 8e 42 3c 98 4a ec 10 4e e0 eb e2 19 3d |W&v.B<.J..N....=| +00000360 67 47 99 9c e5 97 a4 07 ff 7a b5 15 65 0e b9 e4 |gG.......z..e...| +00000370 e3 17 03 03 00 35 61 d9 d8 36 a0 1e 83 b0 f8 1f |.....5a..6......| +00000380 74 61 a0 4b 93 7f 98 8b 63 1c 63 82 f4 cd 57 8d |ta.K....c.c...W.| +00000390 1f 75 7a 6d a9 1d e2 35 0b 2b 9a 5f 5f 71 cd 46 |.uzm...5.+.__q.F| +000003a0 48 7f 27 af a5 da 8b 35 b1 18 39 |H.'....5..9| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 09 35 dd b0 97 |..........5.5...| -00000010 7b a4 5b ef 16 90 e4 15 aa 19 e4 5b e8 f1 11 c0 |{.[........[....| -00000020 e0 fa 4b 0e df a3 4a 7c cd 9a 0a c4 05 65 e9 5b |..K...J|.....e.[| -00000030 8b 0b e0 3c b2 5a cc eb 87 2b 67 0d 9f 19 d0 ec |...<.Z...+g.....| -00000040 17 03 03 00 17 68 1f ad 70 7c 49 62 6b 2f 67 15 |.....h..p|Ibk/g.| -00000050 d1 bf bb 35 b3 b3 2b f3 12 27 b6 0e 17 03 03 00 |...5..+..'......| -00000060 13 23 39 42 9f 8a 9e 68 41 39 fa 3b 50 bc 56 59 |.#9B...hA9.;P.VY| -00000070 d0 3a 5a 9a |.:Z.| +00000000 14 03 03 00 01 01 17 03 03 00 35 3d 13 d4 8c 88 |..........5=....| +00000010 73 62 97 8b 18 04 f7 05 8d c8 56 d2 f4 0a 86 93 |sb........V.....| +00000020 d4 6f 08 1c d8 7f 57 be 50 03 a7 4a c8 37 80 04 |.o....W.P..J.7..| +00000030 43 1b 2a 86 21 25 ae 84 53 80 0c f6 4f 2e 73 67 |C.*.!%..S...O.sg| +00000040 17 03 03 00 17 43 99 86 f2 2f a2 22 05 36 d8 47 |.....C.../.".6.G| +00000050 c5 57 92 93 c7 79 d9 fd 13 70 8f 75 17 03 03 00 |.W...y...p.u....| +00000060 13 15 90 47 ea af 57 89 d4 19 70 e7 e1 ce 68 8a |...G..W...p...h.| +00000070 7b 83 8c a5 |{...| diff --git a/testdata/Client-TLSv13-Ed25519 b/testdata/Client-TLSv13-Ed25519 index 3a2915d613e..274620a2576 100644 --- a/testdata/Client-TLSv13-Ed25519 +++ b/testdata/Client-TLSv13-Ed25519 @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,63 +7,64 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 b2 4d aa 76 5b |....z...v...M.v[| -00000010 b7 38 95 18 e6 81 66 f8 27 82 26 2c b3 44 50 b0 |.8....f.'.&,.DP.| -00000020 f4 a8 f5 f2 87 f0 9d 85 4f ac 60 20 00 00 00 00 |........O.` ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 5a e2 b6 f0 cf |....z...v..Z....| +00000010 f2 85 49 e0 28 8c d7 89 41 39 5f a4 e8 41 9b f6 |..I.(...A9_..A..| +00000020 1d 2b 3a 8a 3e a3 40 29 76 17 22 20 00 00 00 00 |.+:.>.@)v." ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 e7 |..+.....3.$... .| -00000060 c2 3e 68 73 d9 fd 6e 69 16 15 85 84 24 45 36 47 |.>hs..ni....$E6G| -00000070 1b ad d9 c4 dc 4a 61 c6 12 5c 22 bf 1e 2f 59 14 |.....Ja..\"../Y.| -00000080 03 03 00 01 01 17 03 03 00 17 0f a4 05 81 10 48 |...............H| -00000090 c7 b7 78 9b 56 14 6c 9f 55 28 e3 4c 42 80 cc 1c |..x.V.l.U(.LB...| -000000a0 31 17 03 03 01 50 0d af 3b 08 02 84 89 42 b5 75 |1....P..;....B.u| -000000b0 c5 8f 9f c2 b1 dc cb 7c 6a d5 31 41 9a 16 8f fa |.......|j.1A....| -000000c0 74 40 21 5d f9 cc b0 1d 30 80 87 9a b2 57 58 53 |t@!]....0....WXS| -000000d0 2c 9e 5c 97 20 9c 81 77 16 25 62 9b fc a4 e1 9a |,.\. ..w.%b.....| -000000e0 80 c8 9a 4c f6 fc ae 79 a5 c2 26 4b 55 41 ff d0 |...L...y..&KUA..| -000000f0 25 4b 70 c9 ad b6 04 80 65 19 e0 fe 05 e7 b4 dc |%Kp.....e.......| -00000100 53 8f f8 3b ed 2c df b9 08 c2 da 60 b9 23 17 50 |S..;.,.....`.#.P| -00000110 da 0f 24 76 15 21 e6 e9 a8 f5 3e 08 cc 1b ee 92 |..$v.!....>.....| -00000120 2b 01 92 8d f9 4f 5a 3a 53 11 fc 32 52 cc af cd |+....OZ:S..2R...| -00000130 7b 94 0e 76 10 c2 16 36 2d a4 64 69 1c 05 70 20 |{..v...6-.di..p | -00000140 0d 23 cd 4a 33 c5 c7 db db 0f f8 b6 42 0c 83 0a |.#.J3.......B...| -00000150 a1 73 68 fb 87 2c 9d d2 d3 cf d7 3a bb 36 7e 83 |.sh..,.....:.6~.| -00000160 c3 3f bc e2 61 d9 c2 8b 15 a2 cc bf 14 a0 69 f4 |.?..a.........i.| -00000170 22 02 a9 ff 5e 55 37 6e 61 86 71 73 94 2f 7e 50 |"...^U7na.qs./~P| -00000180 45 96 cf 23 dd 39 90 5d 57 04 a3 d0 9f 97 f8 56 |E..#.9.]W......V| -00000190 fa cf 7a a9 e6 57 1f cb 33 a0 82 7a 84 94 1f 6d |..z..W..3..z...m| -000001a0 d8 0b c7 fb bc 62 94 36 4a d6 96 ce f6 f2 7f 06 |.....b.6J.......| -000001b0 18 59 66 77 77 12 8c 74 06 61 8f b6 37 35 65 fd |.Yfww..t.a..75e.| -000001c0 f1 0b fe e6 cc a9 64 f5 b5 0d 06 4e 38 4b 4b 78 |......d....N8KKx| -000001d0 be 6a cc 67 9e 39 f8 f2 27 33 a9 2d bc 9c 5e 06 |.j.g.9..'3.-..^.| -000001e0 b9 fb 76 0c be 8d 2a a5 6d cf 83 55 4f c5 6e 6e |..v...*.m..UO.nn| -000001f0 d0 08 8b f6 5a 61 17 03 03 00 59 c1 cc 58 14 33 |....Za....Y..X.3| -00000200 5a 39 b5 40 46 e8 b1 28 06 08 22 d3 27 b4 e6 ef |Z9.@F..(..".'...| -00000210 10 79 08 d4 ce 9e e2 cb 0b 86 a4 b1 80 e4 1b ac |.y..............| -00000220 71 15 fd 16 5b aa 01 c2 7b e3 c2 84 01 c0 f6 04 |q...[...{.......| -00000230 a7 31 2b ec f2 50 bf 5a 07 6f b8 03 9f d2 c6 ad |.1+..P.Z.o......| -00000240 73 18 81 f5 fd 9a 5a b2 bc 9f 85 94 9f f6 da da |s.....Z.........| -00000250 dd 56 bc 66 17 03 03 00 35 9f 7e 2e 02 66 bb ac |.V.f....5.~..f..| -00000260 3d d8 92 70 c9 35 c6 df ff 0f 81 b5 ca d4 56 4a |=..p.5........VJ| -00000270 24 06 06 57 28 e9 9d 82 0e 40 06 a7 f8 cc bc 6c |$..W(....@.....l| -00000280 a2 ea 2b 0e 88 77 05 de 3d 30 a0 6f bc 98 |..+..w..=0.o..| +00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 d1 |..+.....3.$... .| +00000060 41 fa 43 c4 c8 0a 98 e0 da 88 c8 58 36 ab 12 61 |A.C........X6..a| +00000070 d5 2d 9a 5b 10 fd 1f 10 bf d4 df 23 d0 de 2c 14 |.-.[.......#..,.| +00000080 03 03 00 01 01 17 03 03 00 17 bf 64 74 65 06 48 |...........dte.H| +00000090 41 72 b9 9f 41 24 a9 d0 05 00 4e 8c 93 a8 bd 91 |Ar..A$....N.....| +000000a0 ce 17 03 03 01 50 20 58 c1 4f 42 ed e9 e6 50 86 |.....P X.OB...P.| +000000b0 5f 49 88 ac 8b b8 3d 25 1d 87 b5 7f 9f 1a a2 cd |_I....=%........| +000000c0 f2 90 d0 6d 13 ed a6 6c f9 1e af c8 73 dd 68 d4 |...m...l....s.h.| +000000d0 46 1f ce d4 74 87 57 0f c1 b7 dd bd 5a 44 7c 08 |F...t.W.....ZD|.| +000000e0 2d 60 ca 34 1f 94 ee 4a cd e7 4a 69 1c 8d 4c 64 |-`.4...J..Ji..Ld| +000000f0 e8 a1 90 89 75 e2 3b 5b 0e 58 f8 7a 0a fe 2d 6d |....u.;[.X.z..-m| +00000100 ee 82 ab 07 e3 09 ae 37 d5 d6 31 9f 47 a5 eb ca |.......7..1.G...| +00000110 fd d9 5e b3 f1 ab 8a 64 8f 66 7d e7 a5 66 b4 46 |..^....d.f}..f.F| +00000120 3c 3c 2c 2f f7 5a 46 b3 e7 8b a4 3e 5f 21 ab 66 |<<,/.ZF....>_!.f| +00000130 60 4d ca 20 4b 7b 75 5a 88 a5 65 97 1b 70 5b 69 |`M. K{uZ..e..p[i| +00000140 7b 22 87 48 e4 a2 a8 32 06 65 00 91 e6 ac 6c 9b |{".H...2.e....l.| +00000150 42 04 53 f5 e5 46 72 d6 3a 7d d8 c1 e4 f1 79 dc |B.S..Fr.:}....y.| +00000160 de 7b 21 83 d0 98 90 99 2d 9d 78 67 89 31 2a 7d |.{!.....-.xg.1*}| +00000170 6a 97 c7 80 a9 2a 91 4e e2 30 29 96 25 97 e9 94 |j....*.N.0).%...| +00000180 2d 0a e0 30 8c e3 54 00 2a 29 e9 60 ef 4c 60 1c |-..0..T.*).`.L`.| +00000190 76 51 db 5d d7 7c 0c ae f3 a8 9e 3b 49 c6 a7 ce |vQ.].|.....;I...| +000001a0 a3 e8 e6 8c 13 ea fa bd 7f 59 36 06 1e 0c 54 2d |.........Y6...T-| +000001b0 d2 75 8a 75 94 f3 5c 77 0a 8e a0 23 9f 21 d8 ed |.u.u..\w...#.!..| +000001c0 65 87 fa f0 65 e1 81 2b 45 50 91 9e 48 8f 4c 80 |e...e..+EP..H.L.| +000001d0 7a c7 32 07 9a d9 d4 59 7a 7c 11 01 c2 75 fd 25 |z.2....Yz|...u.%| +000001e0 15 7b de b1 72 54 42 9e 02 41 a8 1a 04 6a 64 ba |.{..rTB..A...jd.| +000001f0 97 48 48 48 24 3d 17 03 03 00 59 d7 53 12 64 01 |.HHH$=....Y.S.d.| +00000200 d4 b7 e4 bf e1 33 f6 49 24 cf e8 6f 48 56 d6 1b |.....3.I$..oHV..| +00000210 e3 11 e9 a5 fb 7d f7 f5 b7 06 6c ce 4d e7 3c ca |.....}....l.M.<.| +00000220 bc 30 27 2e 02 4a 50 ec 7e 8c d4 cd 7a 78 43 3f |.0'..JP.~...zxC?| +00000230 5d 17 d7 bd 3e 78 68 21 ad 98 93 ad 90 de f7 c9 |]...>xh!........| +00000240 ab 7d 36 59 7e 7b e8 10 92 de ee 44 a2 e3 df 41 |.}6Y~{.....D...A| +00000250 6c a8 6c 9b 17 03 03 00 35 3a 9b 88 fc 4d 78 aa |l.l.....5:...Mx.| +00000260 a3 96 c7 f9 80 87 75 88 41 e6 58 9c f7 f6 88 0c |......u.A.X.....| +00000270 8f 57 8f 41 b7 49 a9 c2 db d6 44 51 a6 cb eb c3 |.W.A.I....DQ....| +00000280 8d e5 32 19 4b e5 dd 4e 19 6b f4 38 cd 3d |..2.K..N.k.8.=| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 1c 60 8f 01 6b |..........5.`..k| -00000010 7c e3 d4 28 24 d8 7c 85 7f 63 44 23 97 7c a0 de ||..($.|..cD#.|..| -00000020 70 61 9e d9 ce 35 d9 3b 81 68 09 12 c1 b9 5e f5 |pa...5.;.h....^.| -00000030 32 23 9b 47 fc be 74 3c e6 1b 3f cd e8 c1 f1 4f |2#.G..t<..?....O| -00000040 17 03 03 00 17 1a 16 bc fe 99 30 d8 97 c1 00 d9 |..........0.....| -00000050 fd 1a 44 bd 84 35 dc 66 62 eb 28 3d 17 03 03 00 |..D..5.fb.(=....| -00000060 13 b4 8a 54 df ae 97 ce 2e ae fa 38 ca 02 a1 d6 |...T.......8....| -00000070 f5 40 64 2b |.@d+| +00000000 14 03 03 00 01 01 17 03 03 00 35 64 73 84 51 69 |..........5ds.Qi| +00000010 81 4c a7 ce 8b 39 08 0e 0f 25 d2 24 49 3c 9d 98 |.L...9...%.$I<..| +00000020 c7 46 f5 7e ba bd d1 9d 79 d3 f6 cb 29 00 95 90 |.F.~....y...)...| +00000030 c2 fa c6 65 01 f2 9d 12 a7 db 14 49 e6 0b 40 c9 |...e.......I..@.| +00000040 17 03 03 00 17 df ad 2a 5f f7 bd 94 90 dd 11 24 |.......*_......$| +00000050 b8 97 6e fc d3 93 91 47 36 26 2d e1 17 03 03 00 |..n....G6&-.....| +00000060 13 40 ad 3c c3 49 76 47 c0 02 f0 bc 80 66 3c e4 |.@.<.IvG.....f<.| +00000070 35 28 eb b5 |5(..| diff --git a/testdata/Client-TLSv13-ExportKeyingMaterial b/testdata/Client-TLSv13-ExportKeyingMaterial index 13ae97153af..13fb6048748 100644 --- a/testdata/Client-TLSv13-ExportKeyingMaterial +++ b/testdata/Client-TLSv13-ExportKeyingMaterial @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,85 +7,86 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 48 e6 a7 a9 4c |....z...v..H...L| -00000010 c3 a7 cc 18 b7 71 7d ed c5 6a cb ca b5 9f 00 fd |.....q}..j......| -00000020 f8 2c ac 9c 1f 24 27 b9 c6 55 8e 20 00 00 00 00 |.,...$'..U. ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 67 c5 21 e2 8b |....z...v..g.!..| +00000010 b6 6a cc 42 40 24 b2 4f 55 61 d9 20 78 e2 e3 40 |.j.B@$.OUa. x..@| +00000020 83 62 3d 08 e3 0a 31 0b 55 f5 b6 20 00 00 00 00 |.b=...1.U.. ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 dd |..+.....3.$... .| -00000060 be 27 eb a0 9c b1 22 6a 8c 29 9a d4 47 c2 ee 14 |.'...."j.)..G...| -00000070 39 0c 60 81 c9 06 3f dc e5 e0 24 9a c4 88 35 14 |9.`...?...$...5.| -00000080 03 03 00 01 01 17 03 03 00 17 25 70 5a e5 6b 9e |..........%pZ.k.| -00000090 56 b9 cf 83 48 b0 bc 99 6a 86 e1 cb 4e ce b5 10 |V...H...j...N...| -000000a0 e0 17 03 03 02 6d c7 a6 79 ef b0 81 d6 e4 0e 02 |.....m..y.......| -000000b0 59 32 88 cc b1 0d 53 f6 33 9b d2 e8 74 a9 0a a7 |Y2....S.3...t...| -000000c0 f9 76 e9 6e 0d 16 75 0b e0 8f 5c b5 31 47 6b 68 |.v.n..u...\.1Gkh| -000000d0 52 c7 c2 84 cb 48 81 a3 da bd a1 50 5c ec 5c a7 |R....H.....P\.\.| -000000e0 10 01 58 cc 03 c3 53 04 03 69 80 f4 ad 4d ce 72 |..X...S..i...M.r| -000000f0 26 4e 6c c7 2c 31 69 2b fd 97 67 5e 7d e0 05 b3 |&Nl.,1i+..g^}...| -00000100 f4 40 64 a1 bd a3 fd a8 f9 7b 18 82 89 8f 25 f9 |.@d......{....%.| -00000110 ca ca c4 8f e4 90 7b 26 7a d5 b2 1e fa 05 db ad |......{&z.......| -00000120 8a 9f 93 e9 13 5b 28 cc cb 8b 30 f2 4c 1d 73 09 |.....[(...0.L.s.| -00000130 7f 6b 63 5c 29 36 2f fc a5 6e eb 24 79 f8 7c 63 |.kc\)6/..n.$y.|c| -00000140 1f ef 41 72 98 69 7c d6 8d f9 76 d4 4d af b0 71 |..Ar.i|...v.M..q| -00000150 2e f7 f8 b5 73 45 05 52 fa 25 46 02 28 0d d9 7a |....sE.R.%F.(..z| -00000160 60 13 b9 6c 6d fb f3 be e3 04 74 76 72 d6 a4 91 |`..lm.....tvr...| -00000170 d1 2c 0d 1e fa 23 ef c7 80 ff 1e aa 1b af 50 58 |.,...#........PX| -00000180 77 ea 49 d9 22 4d ed bc bf a6 0a 41 8e e7 5b 31 |w.I."M.....A..[1| -00000190 de 33 05 10 46 a5 54 aa 5e 90 5c 15 64 2d 1b e9 |.3..F.T.^.\.d-..| -000001a0 5c fc 93 8d 2f b2 af 74 d7 d2 c6 7f 27 68 fd 44 |\.../..t....'h.D| -000001b0 13 60 70 87 e8 08 e1 e2 af 7f 1a 2c 29 5f 45 fe |.`p........,)_E.| -000001c0 49 9a d0 42 c9 51 ef f7 5b ae 02 df 27 1c 29 20 |I..B.Q..[...'.) | -000001d0 35 4f 3d 7d 74 97 0c 20 be f8 a3 c9 b7 ff 65 69 |5O=}t.. ......ei| -000001e0 08 89 92 fe 85 65 9f 8a 00 4b 9f 39 8d 6f 29 7c |.....e...K.9.o)|| -000001f0 7c e9 16 e4 bd 06 a3 b0 5b 7f cf f0 74 14 56 a2 ||.......[...t.V.| -00000200 76 61 b8 79 10 44 55 4f 25 55 a7 be a4 eb 2e 7d |va.y.DUO%U.....}| -00000210 9a b8 7a d8 d7 34 b6 ef 6c f7 fb ef fd 16 c2 61 |..z..4..l......a| -00000220 89 bb 98 22 c6 80 9e 33 7f e9 35 7a 58 b6 33 1c |..."...3..5zX.3.| -00000230 d6 87 68 b7 62 21 3b 26 9b f1 b1 f2 92 d5 4b 19 |..h.b!;&......K.| -00000240 02 58 05 3c 81 cf 00 5a 54 86 a5 61 8f 71 ae 32 |.X.<...ZT..a.q.2| -00000250 f2 0f 08 3b 13 4d f3 e6 03 2e 73 9c 50 4a b7 6c |...;.M....s.PJ.l| -00000260 d8 0a 04 fc b5 44 a5 45 c8 86 c9 9f 29 b4 00 90 |.....D.E....)...| -00000270 d8 8b e0 c8 ba 63 9f 42 65 ef ba 5b dc b2 61 53 |.....c.Be..[..aS| -00000280 e6 4b 29 72 51 c9 21 d4 d7 2d 14 56 82 80 32 36 |.K)rQ.!..-.V..26| -00000290 fd 72 b6 16 6f 06 71 f9 60 4f 32 ce f6 83 94 75 |.r..o.q.`O2....u| -000002a0 d9 23 d3 41 f8 e7 90 60 80 a8 a5 95 c0 a2 dd 2e |.#.A...`........| -000002b0 e7 60 73 5b c0 a5 a0 bd 8b bc cc 32 8a 9e 30 6a |.`s[.......2..0j| -000002c0 72 2f 61 24 56 0b 1e 3e 52 92 d2 e0 11 cd 52 69 |r/a$V..>R.....Ri| -000002d0 c4 73 7f 72 95 fd f5 c4 72 d7 77 73 85 bf be e0 |.s.r....r.ws....| -000002e0 cd 3c 3b 3d 92 63 91 ba c8 a8 d2 32 40 6a 33 91 |.<;=.c.....2@j3.| -000002f0 c0 71 fe ea 76 9f a9 96 dc c0 a9 bd 67 b6 23 42 |.q..v.......g.#B| -00000300 d9 1b 3d 8d d4 5f 81 38 74 1c db 36 9e bd 79 fd |..=.._.8t..6..y.| -00000310 30 c5 db 17 03 03 00 99 61 1e 25 cb 11 26 61 72 |0.......a.%..&ar| -00000320 a0 9a de 5b ad 5b ad 8a 29 43 eb 76 5a 16 a4 d3 |...[.[..)C.vZ...| -00000330 d4 a1 84 e4 7e a1 2b 76 75 b6 a5 a6 36 da d3 bf |....~.+vu...6...| -00000340 0c 3a 39 ca ef 3f 02 22 63 3d 5d c1 30 94 ba 32 |.:9..?."c=].0..2| -00000350 fe c0 20 c1 ba c8 fa 29 e8 1c c6 ab f0 c9 53 a4 |.. ....)......S.| -00000360 73 d0 9a 2d 50 d8 b4 0c db e5 4a 9f 98 38 34 c9 |s..-P.....J..84.| -00000370 9f ff 63 a9 50 7b 26 00 64 26 4d 0d 20 d5 e5 27 |..c.P{&.d&M. ..'| -00000380 e1 41 7b 5a 03 97 0a 14 8c 55 3c 45 4b 72 ce de |.A{Z.....U...,..N.....| +000001e0 6b 24 30 5d f8 a0 52 ca 02 9a 50 58 43 b6 22 04 |k$0]..R...PXC.".| +000001f0 47 c6 ba 1c e1 aa c2 2c ca 50 13 de 2b 2b 34 ec |G......,.P..++4.| +00000200 80 8c 34 77 20 ab f3 f3 42 d2 9a 2b 9d 38 32 f9 |..4w ...B..+.82.| +00000210 de 9c 7b ee 22 4f 41 9e ea 35 88 8c e7 74 f6 ac |..{."OA..5...t..| +00000220 a5 fe af d9 c4 b1 a4 87 aa 9f d9 02 3b 4b 92 2b |............;K.+| +00000230 f4 ea 6f 81 b8 54 ca 77 3d a2 37 f0 60 d8 26 e4 |..o..T.w=.7.`.&.| +00000240 27 04 c8 5b bf bc 5e 9c 8b a9 f6 c1 58 31 de 48 |'..[..^.....X1.H| +00000250 67 5b c5 d7 ae 35 cc d8 8d 01 9b e0 d0 c7 33 f8 |g[...5........3.| +00000260 36 c1 e8 50 32 27 87 6c 64 71 27 3f 66 82 fa 92 |6..P2'.ldq'?f...| +00000270 d3 fe b9 9e d3 e2 63 43 64 13 73 4b e9 34 d9 ae |......cCd.sK.4..| +00000280 49 dd 9c 17 f3 a6 34 27 3e 07 68 ed 6b 98 0a 69 |I.....4'>.h.k..i| +00000290 9c f5 4f 1e fc ac 72 08 7e bb bd 97 fe f9 c1 09 |..O...r.~.......| +000002a0 a2 69 75 c4 e7 a1 83 df 03 0f 74 21 e8 4c 4c d7 |.iu.......t!.LL.| +000002b0 a2 90 5a 4d d9 a2 fa f1 e4 dc ff 75 e8 fe a1 91 |..ZM.......u....| +000002c0 46 a4 c2 0b c3 9e 83 45 40 b4 ba fe ed 9e 3a 81 |F......E@.....:.| +000002d0 a9 27 b9 fa 6f 9e 38 10 2f e6 05 9a 00 43 e9 fb |.'..o.8./....C..| +000002e0 60 b8 26 2e 18 4a 0c 14 6a 9f aa 26 1d 53 9e 4f |`.&..J..j..&.S.O| +000002f0 fc 7e e1 90 60 28 b1 89 db b6 68 58 5d 2a fa 43 |.~..`(....hX]*.C| +00000300 91 99 c1 94 74 77 a9 30 cf 1e 9d 49 fc cd be 6c |....tw.0...I...l| +00000310 5a 72 90 17 03 03 00 99 1b 1f 16 9b 8e 85 5a 8a |Zr............Z.| +00000320 3c c7 d8 e5 86 20 eb 71 83 12 e7 3b 02 ca a1 18 |<.... .q...;....| +00000330 aa b7 ef 67 9d bf 57 46 14 3b ed b2 9b 2e f1 96 |...g..WF.;......| +00000340 67 b0 cc 20 ab 67 63 5c a9 96 d8 22 8e fa f0 94 |g.. .gc\..."....| +00000350 1e 83 6c 53 8a 75 a5 37 1d f1 de 1f a7 22 13 08 |..lS.u.7....."..| +00000360 b7 13 dd 25 26 eb 7a 85 72 33 ed a8 27 be cc ff |...%&.z.r3..'...| +00000370 8d 42 fa 6a f8 0a 59 44 6f 48 4d 58 27 d5 28 fb |.B.j..YDoHMX'.(.| +00000380 37 b0 85 25 49 d0 32 7c dd b8 46 1a aa dc 16 b7 |7..%I.2|..F.....| +00000390 f2 fd 99 17 67 41 c0 2d 75 0d 66 ef 65 e2 5f af |....gA.-u.f.e._.| +000003a0 d8 b4 aa 15 1c 24 40 0d 0d 4f a8 bc c9 92 1c ab |.....$@..O......| +000003b0 91 17 03 03 00 35 f9 69 7e 2a d6 fa 6e 42 25 6c |.....5.i~*..nB%l| +000003c0 da 96 f7 79 5f 02 44 1f d8 1c a2 41 fc eb a5 12 |...y_.D....A....| +000003d0 bf 37 ab b0 40 92 55 50 64 8e 7b e9 e5 f3 04 b5 |.7..@.UPd.{.....| +000003e0 0f 04 93 98 fa ca 24 69 a1 73 26 |......$i.s&| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 a6 7f ef 71 68 |..........5...qh| -00000010 8b 86 84 20 a6 e7 65 3f 3f f8 c6 8b 62 40 31 e2 |... ..e??...b@1.| -00000020 1a ee 8d 0a 64 88 ea 4b 83 5f c5 ff 1b 9d aa 5f |....d..K._....._| -00000030 ce a4 31 76 06 90 da ad b9 17 49 0b a6 b5 37 80 |..1v......I...7.| -00000040 17 03 03 00 17 2b be e8 98 11 37 0d db 46 69 0d |.....+....7..Fi.| -00000050 51 34 ee 13 00 c3 f1 12 8a 13 21 b7 17 03 03 00 |Q4........!.....| -00000060 13 8d ec 94 6f 55 b1 d5 c0 d6 a3 6e a2 8d 67 76 |....oU.....n..gv| -00000070 7b c7 b8 1d |{...| +00000000 14 03 03 00 01 01 17 03 03 00 35 80 f8 9b f1 1d |..........5.....| +00000010 89 31 a8 ea b8 cc 44 a7 6c c3 f7 ea 0f fd f4 a3 |.1....D.l.......| +00000020 4c c2 15 06 bd 79 16 90 a1 bf 44 df e5 21 03 ff |L....y....D..!..| +00000030 e5 83 08 67 70 09 11 21 8e 96 47 e6 f4 e3 36 6e |...gp..!..G...6n| +00000040 17 03 03 00 17 7b 87 be 4e f8 ce 6f 30 b8 5b 95 |.....{..N..o0.[.| +00000050 20 79 23 f7 50 6b 17 b8 13 a2 38 6a 17 03 03 00 | y#.Pk....8j....| +00000060 13 2a d5 e0 a4 17 7d 4f 3b 5a 6c bc 9d 5a 79 5b |.*....}O;Zl..Zy[| +00000070 a8 f6 b2 4a |...J| diff --git a/testdata/Client-TLSv13-HelloRetryRequest b/testdata/Client-TLSv13-HelloRetryRequest index a669920d938..4d58f8d440d 100644 --- a/testdata/Client-TLSv13-HelloRetryRequest +++ b/testdata/Client-TLSv13-HelloRetryRequest @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fa 01 00 00 f6 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 14 01 00 01 10 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,14 +7,16 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7b 00 0b 00 02 01 00 ff 01 00 01 00 00 |...{............| +00000080 01 00 00 95 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| -000000a0 00 0a 00 06 00 04 00 1d 00 17 00 0d 00 1a 00 18 |................| +000000a0 00 0a 00 06 00 04 00 1d 00 17 00 0d 00 16 00 14 |................| 000000b0 08 04 04 03 08 07 08 05 08 06 04 01 05 01 06 01 |................| -000000c0 05 03 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 |.........+......| -000000d0 03 03 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f |......3.&.$... /| -000000e0 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| -000000f0 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |.........._X.;t| +000000c0 05 03 06 03 00 32 00 1a 00 18 08 04 04 03 08 07 |.....2..........| +000000d0 08 05 08 06 04 01 05 01 06 01 05 03 06 03 02 01 |................| +000000e0 02 03 00 2b 00 09 08 03 04 03 03 03 02 03 01 00 |...+............| +000000f0 33 00 26 00 24 00 1d 00 20 2f e5 7d a3 47 cd 62 |3.&.$... /.}.G.b| +00000100 43 15 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf |C.(.._.).0......| +00000110 c2 ed 90 99 5f 58 cb 3b 74 |...._X.;t| >>> 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| @@ -24,7 +26,7 @@ 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 1b 01 00 01 17 03 |................| +00000000 14 03 03 00 01 01 16 03 03 01 35 01 00 01 31 03 |..........5...1.| 00000010 03 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 00 00 00 00 00 |................| 00000030 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |. ..............| @@ -32,88 +34,89 @@ 00000050 00 00 00 32 cc a9 cc a8 c0 2b c0 2f c0 2c c0 30 |...2.....+./.,.0| 00000060 c0 09 c0 13 c0 0a c0 14 00 9c 00 9d 00 2f 00 35 |............./.5| 00000070 c0 12 00 0a c0 23 c0 27 00 3c c0 07 c0 11 00 05 |.....#.'.<......| -00000080 13 03 13 01 13 02 01 00 00 9c 00 0b 00 02 01 00 |................| +00000080 13 03 13 01 13 02 01 00 00 b6 00 0b 00 02 01 00 |................| 00000090 ff 01 00 01 00 00 17 00 00 00 12 00 00 00 05 00 |................| 000000a0 05 01 00 00 00 00 00 0a 00 06 00 04 00 1d 00 17 |................| -000000b0 00 0d 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 |................| -000000c0 04 01 05 01 06 01 05 03 06 03 02 01 02 03 00 2b |...............+| -000000d0 00 09 08 03 04 03 03 03 02 03 01 00 33 00 47 00 |............3.G.| -000000e0 45 00 17 00 41 04 1e 18 37 ef 0d 19 51 88 35 75 |E...A...7...Q.5u| -000000f0 71 b5 e5 54 5b 12 2e 8f 09 67 fd a7 24 20 3e b2 |q..T[....g..$ >.| -00000100 56 1c ce 97 28 5e f8 2b 2d 4f 9e f1 07 9f 6c 4b |V...(^.+-O....lK| -00000110 5b 83 56 e2 32 42 e9 58 b6 d7 49 a6 b5 68 1a 41 |[.V.2B.X..I..h.A| -00000120 03 56 6b dc 5a 89 |.Vk.Z.| +000000b0 00 0d 00 16 00 14 08 04 04 03 08 07 08 05 08 06 |................| +000000c0 04 01 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 |...........2....| +000000d0 08 04 04 03 08 07 08 05 08 06 04 01 05 01 06 01 |................| +000000e0 05 03 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 |.........+......| +000000f0 03 03 02 03 01 00 33 00 47 00 45 00 17 00 41 04 |......3.G.E...A.| +00000100 1e 18 37 ef 0d 19 51 88 35 75 71 b5 e5 54 5b 12 |..7...Q.5uq..T[.| +00000110 2e 8f 09 67 fd a7 24 20 3e b2 56 1c ce 97 28 5e |...g..$ >.V...(^| +00000120 f8 2b 2d 4f 9e f1 07 9f 6c 4b 5b 83 56 e2 32 42 |.+-O....lK[.V.2B| +00000130 e9 58 b6 d7 49 a6 b5 68 1a 41 03 56 6b dc 5a 89 |.X..I..h.A.Vk.Z.| >>> Flow 4 (server to client) -00000000 16 03 03 00 9b 02 00 00 97 03 03 9a 1f 7a fa 06 |.............z..| -00000010 c4 5f 92 61 62 d2 a5 f3 ae b9 a6 d8 6b eb 13 a7 |._.ab.......k...| -00000020 2f 17 62 79 3a ca 42 8b 18 06 15 20 00 00 00 00 |/.by:.B.... ....| +00000000 16 03 03 00 9b 02 00 00 97 03 03 3e b5 60 d1 cd |...........>.`..| +00000010 f5 a6 76 2c bd 49 f6 0f c2 ff ff 6b c9 f6 45 19 |..v,.I.....k..E.| +00000020 f6 e3 e7 fc 31 8b 49 4e 88 29 55 20 00 00 00 00 |....1.IN.)U ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| 00000050 4f 00 2b 00 02 03 04 00 33 00 45 00 17 00 41 04 |O.+.....3.E...A.| -00000060 d1 56 18 67 59 a5 e1 ed 99 0f ca e5 6b 5f e3 d9 |.V.gY.......k_..| -00000070 e3 fd e6 a2 50 93 bf 87 85 60 e7 7f 0b a0 96 c4 |....P....`......| -00000080 29 55 63 de fe 6b 75 99 b2 a6 75 92 61 d0 96 19 |)Uc..ku...u.a...| -00000090 f5 60 8f ec e9 d3 98 4a b9 6b 98 26 c1 3e 27 7e |.`.....J.k.&.>'~| -000000a0 17 03 03 00 17 5a aa bb 35 67 ec 83 da 8e 85 bd |.....Z..5g......| -000000b0 ae a5 0d c9 8b cd 03 bf 96 2b 35 61 17 03 03 02 |.........+5a....| -000000c0 6d 85 0c 7c d5 ff 0f 77 0a a4 b7 97 aa d3 f7 af |m..|...w........| -000000d0 4b 58 cb 24 4d 9f a6 d8 e2 c3 10 ce 3a 5d e4 cc |KX.$M.......:]..| -000000e0 84 7d 1f 71 bd b6 25 0c 10 75 d3 8d b6 12 04 56 |.}.q..%..u.....V| -000000f0 63 af 53 e5 cc 29 ce f7 18 7a 93 91 73 ae ff c1 |c.S..)...z..s...| -00000100 2e 2b 3d 76 ab 99 c8 e0 fd 69 b3 67 39 e9 58 40 |.+=v.....i.g9.X@| -00000110 4a 63 e8 71 c5 8d de 44 fb ef 4d 0a dc ae 51 12 |Jc.q...D..M...Q.| -00000120 7e ea 6a 25 32 8e 5b 08 6e c7 b2 87 00 4e 35 d8 |~.j%2.[.n....N5.| -00000130 cd 3b bd 8c dc e8 55 a9 2f 65 d1 7f c1 28 33 f9 |.;....U./e...(3.| -00000140 70 e1 af d8 2d 64 4c ac 5a 3a 16 6d 3e 97 a7 0e |p...-dL.Z:.m>...| -00000150 cd 28 05 1c ea 28 8d 63 a3 41 e2 3a 24 27 f4 43 |.(...(.c.A.:$'.C| -00000160 97 c8 89 09 ed 8b 96 74 b3 dc 98 f4 0c c2 6f 25 |.......t......o%| -00000170 fc 30 8a f8 25 49 e1 91 fb c6 39 23 ca d5 16 08 |.0..%I....9#....| -00000180 5f bf 10 88 71 a4 c5 ac e7 ad 9e 5a 4d e8 d3 1f |_...q......ZM...| -00000190 f0 5d 83 9d c9 e2 b3 f8 e4 a3 a5 57 5d ca 30 74 |.].........W].0t| -000001a0 a6 1b c7 51 50 05 5f 7e 93 71 1a 8d fc 04 d6 fe |...QP._~.q......| -000001b0 4e 4b 95 54 18 43 19 4d d2 dc 81 a8 94 76 7e 23 |NK.T.C.M.....v~#| -000001c0 56 8c 86 f9 15 d2 a8 0c 48 4e 0e 81 df e0 31 52 |V.......HN....1R| -000001d0 c9 2e b4 39 f3 cf ae e2 29 72 01 ed 34 4f 09 ce |...9....)r..4O..| -000001e0 64 de a9 9b 84 61 3a bb 0b ac 4e b1 6d 37 41 10 |d....a:...N.m7A.| -000001f0 5b cf 99 b1 3e e6 f5 7b 1c d4 d0 d5 34 fc ab c6 |[...>..{....4...| -00000200 29 8e 0b 53 e4 7b 35 33 e4 e3 f6 77 9b f6 c6 ae |)..S.{53...w....| -00000210 73 3c c5 80 c8 72 f7 56 6c 4c ce e5 a7 05 63 ee |s<...r.VlL....c.| -00000220 07 e0 1d 3e 73 3e 55 73 ba 63 a8 d7 99 6a 48 57 |...>s>Us.c...jHW| -00000230 0c 55 51 42 4b 27 91 4b 75 b3 3b 4c 29 f1 52 e8 |.UQBK'.Ku.;L).R.| -00000240 85 f9 49 53 ed 87 6d 9e 8f 5c 29 7c 5c 9c 4e 9a |..IS..m..\)|\.N.| -00000250 90 a8 99 2a 53 65 f7 d9 61 ef 6a 56 2a da 76 ed |...*Se..a.jV*.v.| -00000260 04 84 11 f5 1c 40 82 52 7d fa 00 79 43 12 42 b4 |.....@.R}..yC.B.| -00000270 ca 7a 86 d5 8d d6 c5 7b 04 13 79 08 72 0c ce d7 |.z.....{..y.r...| -00000280 88 9a f2 2c b5 9a 18 a4 d2 87 48 ce ab 17 33 fd |...,......H...3.| -00000290 cf 22 3c 72 03 86 af 35 2a b3 fe 24 0e 86 d8 82 |."......D..| -000002c0 14 12 cd 16 e5 6a 58 1b 3f f8 70 d6 47 e6 1b 98 |.....jX.?.p.G...| -000002d0 74 9c 21 2b 6d f8 8a 47 05 86 b1 fa 63 9d cc 19 |t.!+m..G....c...| -000002e0 da 9a a0 ea 5a 26 98 e6 b7 d0 da 03 b3 1d 33 e8 |....Z&........3.| -000002f0 55 74 ee 4b 6a 06 0f f1 45 35 72 81 bb c9 61 4e |Ut.Kj...E5r...aN| -00000300 60 d6 83 e6 ab 08 77 a4 f9 73 e5 d8 cb 66 9f 41 |`.....w..s...f.A| -00000310 00 15 2c 09 0e ad 16 02 6c 06 5f bc bf 47 f1 5a |..,.....l._..G.Z| -00000320 85 97 ab 88 e8 45 b0 31 96 ad 56 00 97 59 17 03 |.....E.1..V..Y..| -00000330 03 00 99 5e 77 80 46 1d 2f 47 9f b3 43 4d a6 2b |...^w.F./G..CM.+| -00000340 e9 f7 72 a2 d0 c6 69 7c df 5d ce a0 3b 89 e2 69 |..r...i|.]..;..i| -00000350 e7 35 5e 00 fb 87 10 4a a8 41 02 b7 89 fa 88 fc |.5^....J.A......| -00000360 72 63 ce bf 41 61 16 91 55 06 cd b6 fa 78 09 bc |rc..Aa..U....x..| -00000370 f6 21 a0 c2 1f f3 fa 34 2a 9e b9 8a 0c 72 81 02 |.!.....4*....r..| -00000380 66 a7 da 6b d6 e2 aa 99 6d 4b 42 f5 19 83 52 89 |f..k....mKB...R.| -00000390 9a 26 56 5d d5 a4 a7 bd ad b4 10 db ee 87 1d 15 |.&V]............| -000003a0 15 df 30 95 d8 61 e2 c4 88 47 e1 91 e3 85 33 fe |..0..a...G....3.| -000003b0 7d 02 0c 22 6b 52 22 a7 cf bf bf f0 9d 25 65 e0 |}.."kR"......%e.| -000003c0 6b da a2 8c 9a 00 3d 68 78 55 38 69 17 03 03 00 |k.....=hxU8i....| -000003d0 35 c8 ca 51 96 aa c1 4b a0 09 d3 bc d9 ea 35 db |5..Q...K......5.| -000003e0 f2 8d bb ab b3 23 09 a1 d1 9c 40 3e e4 84 d3 1c |.....#....@>....| -000003f0 60 64 5c ff 01 c7 78 69 c2 4a fb e1 c3 d6 f0 57 |`d\...xi.J.....W| -00000400 fa 3a 5f 7a 8b 70 |.:_z.p| +00000060 f8 a5 4d 81 0a 05 43 42 0b d6 ca 3b 3e 02 44 20 |..M...CB...;>.D | +00000070 56 89 80 d3 03 50 1a b4 70 50 78 aa 81 2b 5b 03 |V....P..pPx..+[.| +00000080 6c 38 22 c1 17 4f e5 b9 57 ab 58 33 76 8e ae c9 |l8"..O..W.X3v...| +00000090 a0 74 47 a0 10 c0 5c a7 8c 77 24 c8 90 bb f4 2a |.tG...\..w$....*| +000000a0 17 03 03 00 17 0c 2a 67 cb 9f a8 e8 5b 97 4a 75 |......*g....[.Ju| +000000b0 24 80 65 28 15 a7 d4 71 eb 24 74 7e 17 03 03 02 |$.e(...q.$t~....| +000000c0 6d 89 a3 fa 0f a6 dd dc b5 5a f9 03 93 5a 2a a6 |m........Z...Z*.| +000000d0 2f 65 81 9e 0d 2c 21 25 0b 7c 04 41 40 3e 95 a4 |/e...,!%.|.A@>..| +000000e0 31 21 2a 08 db 35 bc 5a 93 aa b4 8f 30 28 0c e5 |1!*..5.Z....0(..| +000000f0 11 f6 31 d6 7a b0 df 9c f3 76 30 72 e2 27 1c d3 |..1.z....v0r.'..| +00000100 75 68 3d 63 71 27 da 72 7a 18 19 da 25 94 ee e3 |uh=cq'.rz...%...| +00000110 62 6f 45 c5 38 67 ba 4a 1f 6f f3 ea 46 c6 09 ad |boE.8g.J.o..F...| +00000120 db 3c 42 3c d7 8d 9c 49 8d 2c 22 15 74 98 60 5b |...| +00000190 c6 b2 c3 eb ec 03 7d d2 85 2b c3 7f e7 07 c1 50 |......}..+.....P| +000001a0 c9 b6 6f ab 7a 86 7b b3 fd 8b 9a 6a 3c ea 18 06 |..o.z.{....j<...| +000001b0 13 e4 a4 9b d0 2c ef 8c 3f ea 8e d8 c4 d4 54 33 |.....,..?.....T3| +000001c0 2e e5 b6 40 85 a8 4b 5d 9b 3c f2 9e 70 5a 23 d7 |...@..K].<..pZ#.| +000001d0 c1 e1 b4 7a 42 69 fb b1 49 99 cf 60 5c 8a c0 7f |...zBi..I..`\...| +000001e0 c2 8c 8c 26 4f 0f 6c 10 bd e4 51 ab 19 4d 2a 63 |...&O.l...Q..M*c| +000001f0 b3 39 1e d6 55 00 c9 89 3a c0 5a 2b 5b 0a e9 10 |.9..U...:.Z+[...| +00000200 56 4c 8a 88 2d 37 27 50 07 2a 77 19 92 6a a0 67 |VL..-7'P.*w..j.g| +00000210 c9 34 e7 b2 e4 f8 f8 fc e0 24 c1 8e 6a 04 b0 6a |.4.......$..j..j| +00000220 35 1b 5a 74 78 34 81 09 d5 ed bc 61 55 bd bf 6f |5.Ztx4.....aU..o| +00000230 e4 a1 13 e9 b1 9a de de 54 3b 99 19 f7 90 74 be |........T;....t.| +00000240 48 b0 80 92 e7 19 91 17 12 12 9a 08 77 bf 2c 21 |H...........w.,!| +00000250 33 51 9a 02 fc 8c c5 7b 90 52 89 61 df 64 1f af |3Q.....{.R.a.d..| +00000260 1e 49 2a 7b 33 1b 47 df 34 7f aa ca e3 16 2d 28 |.I*{3.G.4.....-(| +00000270 94 cc 07 d1 0d 1a 07 80 a4 c6 cc 10 a7 72 58 bc |.............rX.| +00000280 65 92 de a1 c7 8b e5 63 9a 83 85 eb ee e8 8d e9 |e......c........| +00000290 63 06 f0 6d 14 81 5a d5 a6 1b 84 d3 a2 5d f1 94 |c..m..Z......]..| +000002a0 a4 af f7 eb 85 d3 00 41 12 b3 bc bf 4a 1a c1 c0 |.......A....J...| +000002b0 b0 46 38 63 f4 05 de e0 c2 b7 ee 5b f8 c8 6c e7 |.F8c.......[..l.| +000002c0 fe a4 3d a2 52 e8 25 4c d0 b4 dd 1a aa e4 9c 5b |..=.R.%L.......[| +000002d0 3c 5c 9b 0f e2 ca 18 a8 59 1d 22 d8 2d cb ca 0d |<\......Y.".-...| +000002e0 61 f0 8e be 55 5e 0b b4 72 2f 32 f1 47 fe b8 94 |a...U^..r/2.G...| +000002f0 ec 14 af c4 59 dd f9 b1 1b 18 84 44 54 c0 16 f0 |....Y......DT...| +00000300 f4 e6 19 82 fb 00 84 6e c0 87 05 82 33 7b 62 d8 |.......n....3{b.| +00000310 e3 83 86 55 d6 06 bd e5 a3 1c c0 f1 ef b3 ae 2c |...U...........,| +00000320 f7 6e fa 9a 3d 6c cf de 5d 77 54 08 03 0c 17 03 |.n..=l..]wT.....| +00000330 03 00 99 03 00 b3 cc ca 76 27 18 16 0a 8e d0 81 |........v'......| +00000340 32 5d 9e 32 75 5e bb b4 c5 5c 6b 61 62 38 3d 2e |2].2u^...\kab8=.| +00000350 21 1a 93 c9 fc b7 90 74 17 78 ae 18 78 86 fc 6d |!......t.x..x..m| +00000360 0b 0c 50 d3 a6 5a 98 a8 76 6f ff 3b 98 f5 2f 11 |..P..Z..vo.;../.| +00000370 3d af 84 92 04 42 93 33 33 5c 9a f2 fc 5f 05 dd |=....B.33\..._..| +00000380 89 a8 c3 c1 e7 92 0f 76 3a ed da 7c 25 e0 96 89 |.......v:..|%...| +00000390 27 97 c1 3e 27 70 3f a4 15 f3 24 6a 47 43 7f d7 |'..>'p?...$jGC..| +000003a0 70 b9 7b 2d 3d 53 c0 f6 53 85 fb f7 62 4a 01 8e |p.{-=S..S...bJ..| +000003b0 3e 30 3b b4 79 17 af 2e 73 56 e5 de ba 48 0e 0c |>0;.y...sV...H..| +000003c0 e0 d3 0a 80 07 b9 53 f1 1d a6 cf 29 17 03 03 00 |......S....)....| +000003d0 35 f8 8f 94 ec 0a b9 d9 b1 2c d3 02 c9 0b ef 19 |5........,......| +000003e0 89 ee a9 c0 b1 f3 9c 87 09 0e fb 9a e2 ad 4a 1e |..............J.| +000003f0 16 6d 84 af b3 fa b9 af 98 79 54 7d 45 29 99 85 |.m.......yT}E)..| +00000400 8c a9 69 b6 ee 4e |..i..N| >>> Flow 5 (client to server) -00000000 17 03 03 00 35 24 4a 53 55 49 92 7a 21 a2 db 69 |....5$JSUI.z!..i| -00000010 e5 2b 00 29 83 cb 91 32 17 48 73 96 89 d1 b2 11 |.+.)...2.Hs.....| -00000020 c4 23 48 41 eb df eb 5a 10 c2 78 4e a2 e4 f0 38 |.#HA...Z..xN...8| -00000030 4a 1c b6 d3 bb 52 bc 7e f6 94 17 03 03 00 17 74 |J....R.~.......t| -00000040 04 34 8d 27 19 da f3 d8 14 30 1b 85 ad 1e 99 cd |.4.'.....0......| -00000050 06 f0 a3 50 94 48 17 03 03 00 13 ac 8f 7e 2e 9c |...P.H.......~..| -00000060 90 96 db 33 e2 e9 94 c1 c9 95 f2 7a d1 8f |...3.......z..| +00000000 17 03 03 00 35 4c c3 af 0b 49 46 e0 51 3a 73 a8 |....5L...IF.Q:s.| +00000010 28 46 95 22 ef d7 05 8a fc 4f 12 98 2f 09 ca a9 |(F.".....O../...| +00000020 4d b8 17 e4 15 15 b5 13 3f 1a cb 8e 3d 19 00 d6 |M.......?...=...| +00000030 19 af 90 66 0e 93 d4 22 4d 54 17 03 03 00 17 56 |...f..."MT.....V| +00000040 31 7c 05 02 1d 84 64 d0 32 21 8d c1 61 7e 7f ce |1|....d.2!..a~..| +00000050 d3 45 b2 df ba df 17 03 03 00 13 3a 57 b6 2e 79 |.E.........:W..y| +00000060 96 09 e9 66 f2 85 7a 21 88 45 cc b4 ff 12 |...f..z!.E....| diff --git a/testdata/Client-TLSv13-KeyUpdate b/testdata/Client-TLSv13-KeyUpdate index 1b8004ad0a0..7d04d95a272 100644 --- a/testdata/Client-TLSv13-KeyUpdate +++ b/testdata/Client-TLSv13-KeyUpdate @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 fe 01 00 00 fa 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 18 01 00 01 14 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,97 +7,98 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 7f 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 99 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| 000000a0 00 0a 00 0a 00 08 00 1d 00 17 00 18 00 19 00 0d |................| -000000b0 00 1a 00 18 08 04 04 03 08 07 08 05 08 06 04 01 |................| -000000c0 05 01 06 01 05 03 06 03 02 01 02 03 00 2b 00 09 |.............+..| -000000d0 08 03 04 03 03 03 02 03 01 00 33 00 26 00 24 00 |..........3.&.$.| -000000e0 1d 00 20 2f e5 7d a3 47 cd 62 43 15 28 da ac 5f |.. /.}.G.bC.(.._| -000000f0 bb 29 07 30 ff f6 84 af c4 cf c2 ed 90 99 5f 58 |.).0.........._X| -00000100 cb 3b 74 |.;t| +000000b0 00 16 00 14 08 04 04 03 08 07 08 05 08 06 04 01 |................| +000000c0 05 01 06 01 05 03 06 03 00 32 00 1a 00 18 08 04 |.........2......| +000000d0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| +000000e0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| +000000f0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| +00000100 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| +00000110 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 dc 81 c4 82 2e |....z...v.......| -00000010 a2 4f c4 c2 53 c2 bc 6a bd f3 46 84 b5 ba 66 b5 |.O..S..j..F...f.| -00000020 8b 67 7c 90 51 40 12 39 18 e1 bf 20 00 00 00 00 |.g|.Q@.9... ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 b2 4e f2 da 8b |....z...v...N...| +00000010 79 31 33 74 d5 37 8e 44 9d ad 6f 91 c4 bb 5d d4 |y13t.7.D..o...].| +00000020 fd f1 e2 42 50 43 f5 3c 7f cf 92 20 00 00 00 00 |...BPC.<... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 3b |..+.....3.$... ;| -00000060 6b 2a e6 c2 7e b6 59 68 e4 e3 f2 f3 14 e5 72 bc |k*..~.Yh......r.| -00000070 c9 61 b4 b0 0a c6 41 0d a9 8e d9 9b 7d 2a 11 14 |.a....A.....}*..| -00000080 03 03 00 01 01 17 03 03 00 17 43 af 38 b9 56 06 |..........C.8.V.| -00000090 2d 10 e3 e5 1d 1b 1e a9 5f 90 ca 0d a9 52 33 86 |-......._....R3.| -000000a0 85 17 03 03 02 6d ac 6a a1 8f 42 27 74 80 25 f9 |.....m.j..B't.%.| -000000b0 1f 48 49 2d c2 33 38 e7 93 7e b0 b2 50 b8 6a ea |.HI-.38..~..P.j.| -000000c0 a6 81 ef 9b 55 83 4e 93 df 92 97 6f 00 f5 c4 fc |....U.N....o....| -000000d0 ec b1 19 dd 68 b5 bd c4 bb ba 63 9a e4 c9 24 af |....h.....c...$.| -000000e0 88 13 65 11 bf ea d9 07 e9 46 fd 5b 60 ce 57 46 |..e......F.[`.WF| -000000f0 8b a9 bd c6 58 1a 3b bd 5e fb 0f 46 ec fc 8b 2c |....X.;.^..F...,| -00000100 ea a7 19 06 6a e5 6f 10 7a 27 04 6b aa a4 2c f4 |....j.o.z'.k..,.| -00000110 ef 3b e8 8a 51 88 fd e0 ae 33 b1 4c b3 04 5e 91 |.;..Q....3.L..^.| -00000120 b0 98 0b 9f 38 a3 3c fb 9f d5 d2 36 e4 09 19 18 |....8.<....6....| -00000130 a5 b3 12 aa c9 03 ac b5 ab bb f1 7a 02 d2 dd 75 |...........z...u| -00000140 0e cb 60 09 39 23 c3 b2 c1 8e e0 18 57 72 54 61 |..`.9#......WrTa| -00000150 4c 99 35 1d ba 31 01 0c 48 d2 f2 88 22 9c 91 7d |L.5..1..H..."..}| -00000160 e3 74 f9 b3 52 bf 0e 0b e1 31 7c 2c cb fd f2 8c |.t..R....1|,....| -00000170 bf 27 40 6d 26 b7 62 47 56 91 22 00 67 9a df 4f |.'@m&.bGV.".g..O| -00000180 f0 47 57 3c a6 46 4d 16 f6 8d fc 2d 91 c4 1a bf |.GW<.FM....-....| -00000190 38 63 ec 63 fe 97 14 80 aa 5b 60 ff c8 77 57 9c |8c.c.....[`..wW.| -000001a0 d5 86 a6 76 96 b3 e9 db c9 eb dd 94 84 2a 46 f5 |...v.........*F.| -000001b0 6a c1 10 66 59 f1 13 b9 41 f3 89 26 ba 52 69 95 |j..fY...A..&.Ri.| -000001c0 b1 f3 66 30 f8 aa 90 f7 90 49 19 48 4c 25 4a 1f |..f0.....I.HL%J.| -000001d0 12 9d 67 32 79 bb 53 d8 c5 d1 b4 6e 89 75 49 c0 |..g2y.S....n.uI.| -000001e0 65 86 ac 72 23 2f 97 d3 ae e2 64 79 5e e2 10 4e |e..r#/....dy^..N| -000001f0 55 0c c6 70 d3 2e 4a 6c b0 73 0a 11 eb ae f7 a1 |U..p..Jl.s......| -00000200 a1 f0 5f 67 45 46 d3 8c 11 ff 21 62 7d ed f9 0e |.._gEF....!b}...| -00000210 2a ba b3 82 f5 6b c1 4a 4e cc 11 90 48 81 96 7a |*....k.JN...H..z| -00000220 df f9 22 ae 53 31 14 9d c9 5c 85 e7 db a2 dd 02 |..".S1...\......| -00000230 56 eb d0 fe 20 35 21 c9 33 63 b5 b7 a8 93 30 7f |V... 5!.3c....0.| -00000240 86 1f d1 af b1 ff 3e 9a d1 a8 90 d9 9c 86 55 e8 |......>.......U.| -00000250 d0 4c c4 6d a3 ce c6 c0 df f8 a8 b6 43 03 ae fc |.L.m........C...| -00000260 7d 94 7b fe be 85 46 d8 42 9d b6 15 b9 a3 27 3d |}.{...F.B.....'=| -00000270 80 64 54 c8 53 c4 a7 94 52 8f 9d 4c 58 54 a5 c4 |.dT.S...R..LXT..| -00000280 e0 e7 2e cb f3 8c d0 82 3f 95 76 c9 ea ea 80 41 |........?.v....A| -00000290 21 5d 3e a3 1e be 4e 0b ce 10 ab 61 a5 76 ef 62 |!]>...N....a.v.b| -000002a0 50 1b 52 a8 75 23 fd eb ea 76 f9 d8 41 3c a2 e4 |P.R.u#...v..A<..| -000002b0 21 cb 56 f7 40 81 78 56 22 06 2a 38 fc 1f d8 9f |!.V.@.xV".*8....| -000002c0 38 b0 7a 93 f0 8c ad 3e 54 27 a2 d7 8b 2c 79 46 |8.z....>T'...,yF| -000002d0 15 65 f1 55 b2 2a 06 a1 97 9b 47 23 f8 9a 3f 88 |.e.U.*....G#..?.| -000002e0 8e 26 7e 13 cd 6e 8b cb d5 a5 78 48 f7 ba ad d8 |.&~..n....xH....| -000002f0 08 3b 34 5b 52 cd e3 2d 12 ac 81 00 c0 d0 4d df |.;4[R..-......M.| -00000300 56 d6 40 86 91 31 3d ba 6b 41 bc 51 6f ac b2 df |V.@..1=.kA.Qo...| -00000310 90 4b 78 17 03 03 00 99 21 0f 5b 18 54 84 98 0c |.Kx.....!.[.T...| -00000320 3a 7b 0b db 99 0e 09 f6 b7 4f a9 cc da bf 4c ac |:{.......O....L.| -00000330 5f 44 fc ba 9d 5d 52 d5 ec 2e 08 0c cc 3c e1 72 |_D...]R......<.r| -00000340 10 77 5b 7b 55 f7 c1 44 a3 25 e0 48 20 9a 3a de |.w[{U..D.%.H .:.| -00000350 2f ae 30 a9 e9 5b 75 84 e3 59 f0 6b 23 a6 d8 20 |/.0..[u..Y.k#.. | -00000360 16 51 2a 19 61 60 35 28 74 41 32 fa 97 8d 3b ed |.Q*.a`5(tA2...;.| -00000370 ff 64 94 d7 27 4c 9b 1e 5e b8 89 43 e3 ae 2a b6 |.d..'L..^..C..*.| -00000380 60 a8 bb f0 d1 75 85 15 bb 95 3c 82 f1 62 da b1 |`....u....<..b..| -00000390 25 d2 58 7d 67 7f 02 5b b4 91 68 3c 70 10 09 94 |%.X}g..[..h...-2.| +000003c0 cd 16 ab da cd e7 93 0d c2 90 a2 62 7b 3c 54 bb |...........b{>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 c9 09 ac f5 44 |..........5....D| -00000010 40 83 88 5a b9 46 70 b9 ff 9b 2e bb b4 7e 72 b0 |@..Z.Fp......~r.| -00000020 85 26 d6 37 33 ec d1 ac ce f4 db 72 8c e1 07 b5 |.&.73......r....| -00000030 d0 ce ee 2f 19 77 62 ec 97 ae 1b e1 5f 85 bf c4 |.../.wb....._...| -00000040 17 03 03 00 17 1c ae 0f 1d 50 be 4b d0 64 4f 23 |.........P.K.dO#| -00000050 41 60 d9 c7 f5 60 a6 5c 38 14 fd d5 |A`...`.\8...| +00000000 14 03 03 00 01 01 17 03 03 00 35 a8 d6 93 8f 7e |..........5....~| +00000010 65 3a ee 6f c8 37 2a 27 14 dc b7 19 0e aa 14 b6 |e:.o.7*'........| +00000020 22 21 2d ea f4 00 d1 60 55 c0 f1 56 db 43 7a f0 |"!-....`U..V.Cz.| +00000030 1a 47 ce 93 d9 07 7e 61 43 92 3a 95 a9 54 7b c6 |.G....~aC.:..T{.| +00000040 17 03 03 00 17 e6 e4 52 74 15 e2 18 d7 14 59 29 |.......Rt.....Y)| +00000050 59 d8 ce 49 68 3a a8 79 9e f4 ee f1 |Y..Ih:.y....| >>> Flow 4 (server to client) -00000000 17 03 03 00 16 ad 61 13 66 9c 3c dd 88 42 2c 6c |......a.f.<..B,l| -00000010 d1 22 5d b4 b2 6f f0 68 4f 37 4d |."]..o.hO7M| +00000000 17 03 03 00 16 e6 cd 54 e3 31 d9 70 20 25 f4 aa |.......T.1.p %..| +00000010 cd 8f fe e7 88 6b 7f 62 9b 7b de |.....k.b.{.| >>> Flow 5 (client to server) -00000000 17 03 03 00 16 e5 b5 ff ad d4 f5 e5 55 04 83 a7 |............U...| -00000010 59 43 9a 3e 68 4d 38 6f b1 1c 30 |YC.>hM8o..0| +00000000 17 03 03 00 16 bd e9 c4 24 4a 6d 76 aa 83 bb da |........$Jmv....| +00000010 ec 9e d0 c9 38 cc 6b 3c 65 38 91 |....8.k>> Flow 6 (server to client) -00000000 17 03 03 00 1a 64 0c f4 8e 8f 2b 04 e2 36 28 77 |.....d....+..6(w| -00000010 a2 28 97 4b 15 ba 1b b2 10 31 b3 4d 87 09 af |.(.K.....1.M...| +00000000 17 03 03 00 1a 6a e1 ea df 76 a9 fc 4a 80 7b 49 |.....j...v..J.{I| +00000010 dd fa c3 87 e9 e7 c9 b3 ab bf bc a7 d8 cd 36 |..............6| >>> Flow 7 (client to server) -00000000 17 03 03 00 1d 90 c9 33 bf fc 76 12 3d af 9e c8 |.......3..v.=...| -00000010 8c ca e7 a1 63 6e 80 91 b1 7f 5e e4 dc c2 e6 1c |....cn....^.....| -00000020 b6 2b 17 03 03 00 13 ef a8 30 91 b1 20 fe 82 79 |.+.......0.. ..y| -00000030 44 31 a8 af 99 bb 5e 97 75 a3 |D1....^.u.| +00000000 17 03 03 00 1d 1e c5 6f 93 48 41 07 03 e5 8c 6f |.......o.HA....o| +00000010 09 8e 2f 8e da cb 6e 01 e9 b8 6e f6 3f 59 5c 17 |../...n...n.?Y\.| +00000020 91 46 17 03 03 00 13 35 33 12 5e d3 97 0a 1c 54 |.F.....53.^....T| +00000030 cf 54 bb 7d 78 2e 57 a2 5b 39 |.T.}x.W.[9| diff --git a/testdata/Client-TLSv13-P256-ECDHE b/testdata/Client-TLSv13-P256-ECDHE index fa8d312384f..410f0dd189a 100644 --- a/testdata/Client-TLSv13-P256-ECDHE +++ b/testdata/Client-TLSv13-P256-ECDHE @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 01 19 01 00 01 15 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 33 01 00 01 2f 03 03 00 00 00 00 00 |....3.../.......| 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,88 +7,90 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 9a 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| +00000080 01 00 00 b4 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| -000000a0 00 0a 00 04 00 02 00 17 00 0d 00 1a 00 18 08 04 |................| +000000a0 00 0a 00 04 00 02 00 17 00 0d 00 16 00 14 08 04 |................| 000000b0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| -000000c0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| -000000d0 02 03 01 00 33 00 47 00 45 00 17 00 41 04 1e 18 |....3.G.E...A...| -000000e0 37 ef 0d 19 51 88 35 75 71 b5 e5 54 5b 12 2e 8f |7...Q.5uq..T[...| -000000f0 09 67 fd a7 24 20 3e b2 56 1c ce 97 28 5e f8 2b |.g..$ >.V...(^.+| -00000100 2d 4f 9e f1 07 9f 6c 4b 5b 83 56 e2 32 42 e9 58 |-O....lK[.V.2B.X| -00000110 b6 d7 49 a6 b5 68 1a 41 03 56 6b dc 5a 89 |..I..h.A.Vk.Z.| +000000c0 06 03 00 32 00 1a 00 18 08 04 04 03 08 07 08 05 |...2............| +000000d0 08 06 04 01 05 01 06 01 05 03 06 03 02 01 02 03 |................| +000000e0 00 2b 00 09 08 03 04 03 03 03 02 03 01 00 33 00 |.+............3.| +000000f0 47 00 45 00 17 00 41 04 1e 18 37 ef 0d 19 51 88 |G.E...A...7...Q.| +00000100 35 75 71 b5 e5 54 5b 12 2e 8f 09 67 fd a7 24 20 |5uq..T[....g..$ | +00000110 3e b2 56 1c ce 97 28 5e f8 2b 2d 4f 9e f1 07 9f |>.V...(^.+-O....| +00000120 6c 4b 5b 83 56 e2 32 42 e9 58 b6 d7 49 a6 b5 68 |lK[.V.2B.X..I..h| +00000130 1a 41 03 56 6b dc 5a 89 |.A.Vk.Z.| >>> Flow 2 (server to client) -00000000 16 03 03 00 9b 02 00 00 97 03 03 1c 1a ee 30 2f |..............0/| -00000010 02 10 0c 84 ee 6a 2c d1 67 76 00 8a 16 e5 15 c5 |.....j,.gv......| -00000020 4c d7 a9 26 33 43 9a 9a d6 f8 e7 20 00 00 00 00 |L..&3C..... ....| +00000000 16 03 03 00 9b 02 00 00 97 03 03 1f 9f 7f 3f 27 |..............?'| +00000010 c5 5c f2 f1 bb cc a2 89 0d 7f 66 6a ff 85 7e 55 |.\........fj..~U| +00000020 ec 47 a6 5e 9c 09 00 ec 96 e2 a7 20 00 00 00 00 |.G.^....... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| 00000050 4f 00 2b 00 02 03 04 00 33 00 45 00 17 00 41 04 |O.+.....3.E...A.| -00000060 f0 2e aa 75 ea 32 f4 3c ea b7 61 13 0f 22 8d 39 |...u.2.<..a..".9| -00000070 9e 0a 53 c8 d6 92 ea 5e 87 5b 46 d3 71 2d d1 df |..S....^.[F.q-..| -00000080 fa 1e 9a 6a 0e b2 bc d7 91 6e 26 56 17 24 11 d8 |...j.....n&V.$..| -00000090 0f be c0 1d f5 fd c7 9d 2d 3c a0 0f ee 03 70 1f |........-<....p.| -000000a0 14 03 03 00 01 01 17 03 03 00 17 8e 76 66 0d 44 |............vf.D| -000000b0 aa a2 d9 80 84 7c 6d 42 f0 ee 9f a3 6c b8 83 21 |.....|mB....l..!| -000000c0 5d 7b 17 03 03 02 6d 18 d3 53 cc 09 6a 23 fc c5 |]{....m..S..j#..| -000000d0 a9 2e 73 b4 3d ea 54 56 42 f5 1f 71 3e 8f 8e 7b |..s.=.TVB..q>..{| -000000e0 12 18 d7 d6 ab ed 24 5f 16 c8 18 5e e0 28 84 40 |......$_...^.(.@| -000000f0 89 49 a7 91 57 d6 2b a0 9c ab 5d 85 ac 4f 6b 70 |.I..W.+...]..Okp| -00000100 c3 31 e0 57 87 d7 7c 45 27 34 54 eb 85 02 14 2c |.1.W..|E'4T....,| -00000110 a0 53 4f ec 21 9f 04 91 38 b8 df 2c 5d 0b 79 0a |.SO.!...8..,].y.| -00000120 4f 96 79 15 72 de b5 fb 43 1f d8 71 62 d8 e0 69 |O.y.r...C..qb..i| -00000130 21 13 87 ab e5 b8 e5 86 01 74 25 b7 39 fc 86 e2 |!........t%.9...| -00000140 2f de 0b 1f 8c db b2 98 b3 47 c1 4e dd db 36 d3 |/........G.N..6.| -00000150 28 de cf 4c 4d 54 8e a3 e5 d3 38 19 1f 4b 05 7f |(..LMT....8..K..| -00000160 9a e1 59 4c a3 4e 42 b6 71 0d 9c 96 e4 d8 29 73 |..YL.NB.q.....)s| -00000170 4e e6 f5 87 56 04 99 c2 56 15 6c 8b 04 7c e5 83 |N...V...V.l..|..| -00000180 8b f3 42 e8 97 7a b0 cc 7d 15 b8 84 d3 08 dd c1 |..B..z..}.......| -00000190 89 f5 d4 19 d2 f6 fd 32 b4 37 6e 6a cc 0c 7a 69 |.......2.7nj..zi| -000001a0 09 57 78 36 d4 5b 8c 23 0f e6 39 08 4c 58 3e 3f |.Wx6.[.#..9.LX>?| -000001b0 b1 a0 ae 2e 85 b7 64 45 dd e1 ae c4 91 53 8c 6f |......dE.....S.o| -000001c0 02 70 45 f0 97 7b c8 90 88 0e 95 ed 1e 81 fc 86 |.pE..{..........| -000001d0 27 83 3d 32 43 d6 e4 f3 84 c6 c4 c1 b2 1c 0d 4a |'.=2C..........J| -000001e0 22 78 cd 1c f8 0a aa 19 1a 96 cc 46 6d a0 7f c7 |"x.........Fm...| -000001f0 2f d8 68 de 48 7d ae 42 b3 75 2a d5 ab cf e7 a7 |/.h.H}.B.u*.....| -00000200 a1 e6 66 e0 88 d8 14 25 81 21 4a 6f f7 7c 84 57 |..f....%.!Jo.|.W| -00000210 9c cd 45 8a c0 2d 5f 97 b6 66 96 f1 be d8 02 d2 |..E..-_..f......| -00000220 a4 8e fb 0d c4 cc 02 12 1d b7 76 73 8d 73 8e 71 |..........vs.s.q| -00000230 ec 62 4b ba d1 94 98 e5 de 45 f4 92 22 79 9a 2e |.bK......E.."y..| -00000240 b4 12 a6 f8 ab 8a 52 c3 df f8 77 a9 71 8b ff d6 |......R...w.q...| -00000250 2b bc 47 0b 63 5b 0f cf f8 f1 86 7a 72 91 78 7b |+.G.c[.....zr.x{| -00000260 b8 52 74 96 40 4c 08 f3 ca 46 ef d9 b9 6d 7a dc |.Rt.@L...F...mz.| -00000270 2c da f1 c2 c4 1f 19 38 84 cf 7d b7 5d f2 19 a7 |,......8..}.]...| -00000280 bc 81 70 48 1c 5d da e7 e1 8f 94 33 fa b9 44 97 |..pH.].....3..D.| -00000290 52 7a 22 75 f3 3e 08 f5 d3 66 be 63 8e e6 fc 7b |Rz"u.>...f.c...{| -000002a0 54 6d 14 2e 88 09 c7 a1 a6 b7 8e f3 9f 66 dd a4 |Tm...........f..| -000002b0 ec 81 e9 4b 44 69 29 78 95 dd 44 80 f5 f9 41 23 |...KDi)x..D...A#| -000002c0 97 53 71 63 2d cc d0 47 d6 f7 3f 6b 61 5f 44 33 |.Sqc-..G..?ka_D3| -000002d0 61 d1 35 94 42 7b 88 b9 af 6f e2 c1 71 7b d9 12 |a.5.B{...o..q{..| -000002e0 2c b6 57 fa 42 98 27 6d 8a da f8 dd de 6f b2 ea |,.W.B.'m.....o..| -000002f0 c8 de 5c 09 cd 47 36 10 0f 52 72 39 b2 e5 92 19 |..\..G6..Rr9....| -00000300 81 2a e0 ae aa cc b5 d1 68 98 c4 69 02 fc 86 1a |.*......h..i....| -00000310 79 9c 11 54 fc 43 8a ed 63 50 83 49 ac bf 4c ad |y..T.C..cP.I..L.| -00000320 80 04 98 fd 33 19 76 49 8f fe 5a 0f 22 69 3e eb |....3.vI..Z."i>.| -00000330 d8 eb 51 71 17 03 03 00 99 42 4d 4b db 37 6c c3 |..Qq.....BMK.7l.| -00000340 fb 93 1f a6 7a 86 3c 5e 88 e5 75 d4 a1 73 4a b3 |....z.<^..u..sJ.| -00000350 0b 99 f1 a6 98 5f 6d 0f 00 0e 4f fa a3 5e 7d f0 |....._m...O..^}.| -00000360 41 dd dd 5c 71 3b 10 f9 75 07 d5 6c f2 83 83 5c |A..\q;..u..l...\| -00000370 60 32 d9 d2 b3 13 1b 6c 84 2b 02 58 da b6 18 4e |`2.....l.+.X...N| -00000380 ea 7d b3 46 2b a9 ec e7 65 3a 8e 2f 77 48 92 72 |.}.F+...e:./wH.r| -00000390 6a 82 47 bd 82 2b f7 01 6b c4 22 e2 43 78 78 03 |j.G..+..k.".Cxx.| -000003a0 3c 40 d9 6c d1 b3 5e 21 4d 52 74 e4 07 70 56 21 |<@.l..^!MRt..pV!| -000003b0 05 37 37 82 13 cd e6 ce 3f 93 61 74 b4 9a 42 7d |.77.....?.at..B}| -000003c0 26 fa 15 4f ed b7 63 22 3c 92 f3 72 9c d2 80 17 |&..O..c"<..r....| -000003d0 30 f0 17 03 03 00 35 8c f6 08 33 76 5a a4 7b ef |0.....5...3vZ.{.| -000003e0 0d 91 b6 bf fa 9e 39 19 6f 79 77 4c 4d 74 95 71 |......9.oywLMt.q| -000003f0 00 73 37 17 50 ef 55 fb 71 04 36 87 2e 16 5e 25 |.s7.P.U.q.6...^%| -00000400 9b d4 9c 52 f9 ec c5 26 7e 58 ed 9f |...R...&~X..| +00000060 f0 c5 09 c6 22 3f 23 06 65 c7 e2 1c f8 e7 c2 59 |...."?#.e......Y| +00000070 a9 9f 00 3d 1a 48 fb b5 7f e4 ad 3d 4f 2d 91 d8 |...=.H.....=O-..| +00000080 f4 2f d5 31 5c dc 2b 53 63 2b 25 1b 60 47 31 3a |./.1\.+Sc+%.`G1:| +00000090 30 72 d8 5d a4 60 9d 68 51 48 45 69 32 73 58 a5 |0r.].`.hQHEi2sX.| +000000a0 14 03 03 00 01 01 17 03 03 00 17 e9 38 fa fe 25 |............8..%| +000000b0 89 ba 85 3b 0e 66 1e 3f b9 52 55 20 e0 3c 07 6f |...;.f.?.RU .<.o| +000000c0 2c 2f 17 03 03 02 6d cf 73 3f de 91 5b 86 ff 90 |,/....m.s?..[...| +000000d0 ca a3 c9 ba e2 9e 56 53 fc 72 28 e5 98 1f 08 ca |......VS.r(.....| +000000e0 6d 0e 80 96 d2 45 74 33 3b 45 ee 2b ab 12 94 57 |m....Et3;E.+...W| +000000f0 be 00 7e f6 14 93 64 62 7b 0d 81 0e 79 8b 63 49 |..~...db{...y.cI| +00000100 36 8a 67 5c bb 33 72 fa 73 0d e1 ab 66 58 fa a3 |6.g\.3r.s...fX..| +00000110 dd 66 c2 bb 0e 64 82 39 59 e1 a0 e1 5c 84 b1 b6 |.f...d.9Y...\...| +00000120 0d 60 94 f2 ff 94 39 72 62 45 cd f6 d8 f3 33 b5 |.`....9rbE....3.| +00000130 20 99 29 c8 d5 ba 8c 49 cb 29 54 e9 cf 7e 26 1f | .)....I.)T..~&.| +00000140 25 96 41 93 82 4c 38 15 0d 0c 6d 7f 89 51 7f 43 |%.A..L8...m..Q.C| +00000150 9d 04 3a 1a 58 86 97 4e 0c 29 c0 2e f0 e7 78 42 |..:.X..N.)....xB| +00000160 f0 b4 11 cb 50 ec 45 62 c5 0a 42 11 cc aa c4 d4 |....P.Eb..B.....| +00000170 33 15 ee 43 e1 80 6f 46 16 ea 30 27 09 d1 34 e6 |3..C..oF..0'..4.| +00000180 59 f7 b0 e0 6f ea 51 bd 02 79 17 06 3f 84 75 08 |Y...o.Q..y..?.u.| +00000190 63 91 b3 58 d3 1c 61 47 bf d9 2a 9e 11 75 b2 5e |c..X..aG..*..u.^| +000001a0 7e 09 62 f2 3c ba 63 4b 2b 09 c4 90 b5 78 9a c4 |~.b.<.cK+....x..| +000001b0 be 35 9b 7f e3 11 5a 82 d8 50 b3 67 20 7a 53 ec |.5....Z..P.g zS.| +000001c0 cb f9 1a b3 b3 b6 b6 39 1b f1 fe 7a 28 27 9c ed |.......9...z('..| +000001d0 25 35 f4 f1 21 11 eb 33 61 64 1d 54 eb ef c3 d0 |%5..!..3ad.T....| +000001e0 2c 0d 76 0d 7e 90 3f 8d a4 d0 b5 d9 27 49 c7 fc |,.v.~.?.....'I..| +000001f0 cc 59 8c c5 af 59 fc 09 98 63 9c fb 63 d8 09 6f |.Y...Y...c..c..o| +00000200 55 2d 1f d2 c7 83 5f 3d ae 00 ef ca 27 03 9d b9 |U-...._=....'...| +00000210 00 03 c5 c7 e5 2d 91 47 b0 6c 67 2a 09 3e bc 57 |.....-.G.lg*.>.W| +00000220 a3 02 3f cf b2 88 d8 3d 25 c5 e1 0e 2b a2 b7 5f |..?....=%...+.._| +00000230 57 18 5c eb 8e ae 5f d6 5f 11 1b 5c 48 3b f5 84 |W.\..._._..\H;..| +00000240 b0 6e 29 3e 58 71 36 6e 66 6e e0 d0 98 b0 1b 84 |.n)>Xq6nfn......| +00000250 ca 8c 53 83 86 ca 26 7a 15 6b 6a 7c 61 91 55 45 |..S...&z.kj|a.UE| +00000260 58 cb bd b2 df df 78 22 83 36 8e 4f b6 40 70 ea |X.....x".6.O.@p.| +00000270 d1 72 33 7d 85 00 01 48 f1 75 73 db b3 aa 1d da |.r3}...H.us.....| +00000280 78 c9 e3 37 7c 1c 52 74 62 6c f6 eb af af 0b 2d |x..7|.Rtbl.....-| +00000290 ef d4 85 3d 9f 48 de 5c 4a 6e 24 69 b9 7b 87 e7 |...=.H.\Jn$i.{..| +000002a0 62 3c 26 67 8a 52 b2 73 66 90 56 07 6f ec 14 62 |b<&g.R.sf.V.o..b| +000002b0 88 15 20 e6 27 59 d4 cf 0e f0 59 cd cb 8e bd e5 |.. .'Y....Y.....| +000002c0 ca 10 39 40 54 a5 57 4e 99 70 93 b4 86 60 5f f1 |..9@T.WN.p...`_.| +000002d0 70 f5 d7 21 ef f2 11 b2 da 7a 7f 27 a8 6b fe 7f |p..!.....z.'.k..| +000002e0 e4 eb 35 9c d5 24 ef 70 4b 3c ed bd 9b b9 b9 f3 |..5..$.pK<......| +000002f0 50 a4 61 7f 24 d0 8c 7f 4f 48 09 4f 1e 26 fb 46 |P.a.$...OH.O.&.F| +00000300 ec c2 84 12 a5 6a 5f 19 f0 03 cc 50 cc 07 26 23 |.....j_....P..&#| +00000310 58 6e 68 d8 20 ae eb db 2f be a6 7b a8 ed 86 20 |Xnh. .../..{... | +00000320 61 07 03 47 e5 19 9b a7 0d 27 e0 56 9f 2a d5 19 |a..G.....'.V.*..| +00000330 e7 b3 39 07 17 03 03 00 99 3a 9b b2 61 6a 40 3a |..9......:..aj@:| +00000340 46 a8 0b 50 e3 95 d2 80 5f 5a 08 c3 54 2e 47 ac |F..P...._Z..T.G.| +00000350 f1 83 07 13 21 7f 5e 4e 1b 67 66 cc 38 a7 f3 91 |....!.^N.gf.8...| +00000360 f0 5f ac 9a 39 55 de bf 02 30 2a 87 35 85 f8 1d |._..9U...0*.5...| +00000370 32 3a 8c f8 90 6a 22 21 b2 e8 87 5e 54 6a 45 de |2:...j"!...^TjE.| +00000380 74 ff 6d 37 00 92 07 6c 09 13 c1 5e 68 bc 28 80 |t.m7...l...^h.(.| +00000390 d6 24 e5 32 fc 13 ee 68 68 91 9a e6 15 74 21 7d |.$.2...hh....t!}| +000003a0 2d b2 c8 f5 1d 05 69 5c 80 ee 8b 7c 3e 23 be 35 |-.....i\...|>#.5| +000003b0 d4 54 3c 52 66 2a f1 12 98 5d 3a 3f 44 26 84 d8 |.T>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 f5 7f 27 09 c2 |..........5..'..| -00000010 54 9d e7 a7 3b 14 b3 f2 a6 6d 27 5f 9b 79 04 17 |T...;....m'_.y..| -00000020 28 5c de 4f 67 cf a5 24 e4 d3 c5 e1 38 fa 7e e8 |(\.Og..$....8.~.| -00000030 97 03 7e 66 3b d0 6b e7 f8 7e 97 e0 db 6a da 79 |..~f;.k..~...j.y| -00000040 17 03 03 00 17 30 1a e2 fe 4a 7a 03 03 82 f6 05 |.....0...Jz.....| -00000050 e8 18 67 1d 14 ab 4f 3c 22 c6 45 f5 17 03 03 00 |..g...O<".E.....| -00000060 13 f8 8f 43 e7 74 3c a0 28 b2 71 5a 85 69 e5 86 |...C.t<.(.qZ.i..| -00000070 06 e3 4c 91 |..L.| +00000000 14 03 03 00 01 01 17 03 03 00 35 70 3d 2c 7e 6a |..........5p=,~j| +00000010 d9 c5 58 7b 1d b5 d8 af 9e ca b8 30 2a 9b c3 c8 |..X{.......0*...| +00000020 fa 1c 76 f0 64 f8 4c 01 24 19 18 b2 2e 70 b9 e1 |..v.d.L.$....p..| +00000030 d3 45 96 e7 08 7e 7b c8 7d 1a c8 b7 87 13 9d 1d |.E...~{.}.......| +00000040 17 03 03 00 17 3f 62 68 a3 27 6c c3 12 33 ed e6 |.....?bh.'l..3..| +00000050 0e 87 e6 c4 3e 63 55 2a 15 11 aa 35 17 03 03 00 |....>cU*...5....| +00000060 13 f8 81 0f 72 73 8b d0 14 af fe f2 9d b7 c7 fd |....rs..........| +00000070 16 17 b9 60 |...`| diff --git a/testdata/Client-TLSv13-X25519-ECDHE b/testdata/Client-TLSv13-X25519-ECDHE index 855f63de210..9e53626d5dc 100644 --- a/testdata/Client-TLSv13-X25519-ECDHE +++ b/testdata/Client-TLSv13-X25519-ECDHE @@ -1,5 +1,5 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 f8 01 00 00 f4 03 03 00 00 00 00 00 |................| +00000000 16 03 01 01 12 01 00 01 0e 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 00 00 00 00 |........... ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -7,84 +7,86 @@ 00000050 cc a8 c0 2b c0 2f c0 2c c0 30 c0 09 c0 13 c0 0a |...+./.,.0......| 00000060 c0 14 00 9c 00 9d 00 2f 00 35 c0 12 00 0a c0 23 |......./.5.....#| 00000070 c0 27 00 3c c0 07 c0 11 00 05 13 03 13 01 13 02 |.'.<............| -00000080 01 00 00 79 00 0b 00 02 01 00 ff 01 00 01 00 00 |...y............| +00000080 01 00 00 93 00 0b 00 02 01 00 ff 01 00 01 00 00 |................| 00000090 17 00 00 00 12 00 00 00 05 00 05 01 00 00 00 00 |................| -000000a0 00 0a 00 04 00 02 00 1d 00 0d 00 1a 00 18 08 04 |................| +000000a0 00 0a 00 04 00 02 00 1d 00 0d 00 16 00 14 08 04 |................| 000000b0 04 03 08 07 08 05 08 06 04 01 05 01 06 01 05 03 |................| -000000c0 06 03 02 01 02 03 00 2b 00 09 08 03 04 03 03 03 |.......+........| -000000d0 02 03 01 00 33 00 26 00 24 00 1d 00 20 2f e5 7d |....3.&.$... /.}| -000000e0 a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 |.G.bC.(.._.).0..| -000000f0 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 |........_X.;t| +000000c0 06 03 00 32 00 1a 00 18 08 04 04 03 08 07 08 05 |...2............| +000000d0 08 06 04 01 05 01 06 01 05 03 06 03 02 01 02 03 |................| +000000e0 00 2b 00 09 08 03 04 03 03 03 02 03 01 00 33 00 |.+............3.| +000000f0 26 00 24 00 1d 00 20 2f e5 7d a3 47 cd 62 43 15 |&.$... /.}.G.bC.| +00000100 28 da ac 5f bb 29 07 30 ff f6 84 af c4 cf c2 ed |(.._.).0........| +00000110 90 99 5f 58 cb 3b 74 |.._X.;t| >>> Flow 2 (server to client) -00000000 16 03 03 00 7a 02 00 00 76 03 03 6c f6 24 8a 4a |....z...v..l.$.J| -00000010 82 87 8f c9 9a a3 5a d2 4a 24 d3 52 c8 5d 52 95 |......Z.J$.R.]R.| -00000020 0f 12 e8 8e e6 0c a6 5d 60 de 3c 20 00 00 00 00 |.......]`.< ....| +00000000 16 03 03 00 7a 02 00 00 76 03 03 5a 42 7b 30 69 |....z...v..ZB{0i| +00000010 87 6c 87 6a 9c c4 4f 41 b5 18 58 d5 7a 1d 7d da |.l.j..OA..X.z.}.| +00000020 92 29 4c dd 57 6b 4d 0c f9 7c 74 20 00 00 00 00 |.)L.WkM..|t ....| 00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000040 00 00 00 00 00 00 00 00 00 00 00 00 13 03 00 00 |................| -00000050 2e 00 2b 00 02 03 04 00 33 00 24 00 1d 00 20 1b |..+.....3.$... .| -00000060 e6 5f 3d 83 17 1c a6 90 45 f9 00 d9 96 be 4a 58 |._=.....E.....JX| -00000070 ec 82 73 4d e6 8c 74 e9 80 bc 3a 48 1b 93 71 14 |..sM..t...:H..q.| -00000080 03 03 00 01 01 17 03 03 00 17 71 c1 fc 68 5e 33 |..........q..h^3| -00000090 54 8f 43 df 20 55 ac 3b e8 a4 ee 68 ff 88 7c 71 |T.C. U.;...h..|q| -000000a0 92 17 03 03 02 6d 2a 26 5c 45 13 5f 75 46 56 41 |.....m*&\E._uFVA| -000000b0 25 92 a1 6f cd 7b 01 e2 cb 76 81 4d 33 f0 9d d1 |%..o.{...v.M3...| -000000c0 0d db b1 90 1a a7 d9 a8 4a 79 b1 12 59 62 0d c8 |........Jy..Yb..| -000000d0 cc 92 16 26 27 3e 07 b6 8a 15 77 a8 f6 c3 02 e7 |...&'>....w.....| -000000e0 44 0d b5 d3 11 57 6b 81 15 7d 23 b3 91 82 21 3c |D....Wk..}#...!<| -000000f0 0a 0c ef d5 5b 96 5d 85 aa 3a 1e a6 7b fc 3a eb |....[.]..:..{.:.| -00000100 24 af 13 fa 7f 90 0a 83 b5 0a 0b d0 f7 0c 2d 99 |$.............-.| -00000110 75 9b 84 0c d8 dc 60 a3 62 ed 64 55 02 73 a1 74 |u.....`.b.dU.s.t| -00000120 c1 53 c6 97 a5 23 7c 19 c8 f7 1c 97 e9 e9 f8 ee |.S...#|.........| -00000130 4c 47 7e c4 5e 0f 03 fc 60 9e ba 47 ea a9 9b ef |LG~.^...`..G....| -00000140 9a 04 62 e3 db bf 30 d7 5a 1f 20 c9 4c 37 ff 0e |..b...0.Z. .L7..| -00000150 46 d9 ce 85 c5 47 16 43 9a 89 0b 97 44 7a be 09 |F....G.C....Dz..| -00000160 5d 03 a0 b1 1f a6 ca 78 0d fb f4 1a 6d 3a ec 40 |]......x....m:.@| -00000170 1e 58 fc 67 5e bb 69 a1 ae 1d 6d bc b4 80 b9 71 |.X.g^.i...m....q| -00000180 1a 11 12 35 6a 2a 0c dc b3 b5 4b 0a 06 a7 8b be |...5j*....K.....| -00000190 38 4b 70 32 d4 51 e3 99 5b 60 28 e7 9a 60 90 6b |8Kp2.Q..[`(..`.k| -000001a0 1f 3a 9b 4b 66 fd e6 76 b5 8c 29 c3 36 ae a8 81 |.:.Kf..v..).6...| -000001b0 7e 7c bf e7 46 7d 13 27 0d 38 75 f0 15 e1 64 93 |~|..F}.'.8u...d.| -000001c0 1e 26 bc a8 5d 95 60 a2 e5 42 7f 2f 08 a1 e8 d3 |.&..].`..B./....| -000001d0 79 e8 5e 1f 02 45 cc 05 ca 63 7b f2 d9 ad af ab |y.^..E...c{.....| -000001e0 5a 94 f0 16 e7 60 14 c2 3d 05 3f 8d bb 33 c1 ca |Z....`..=.?..3..| -000001f0 79 28 04 c7 20 07 c8 13 89 7a 11 a2 54 6d b8 d5 |y(.. ....z..Tm..| -00000200 e1 b7 b1 43 48 9b a9 b9 e8 e0 40 7e 5a 36 24 70 |...CH.....@~Z6$p| -00000210 42 9a 51 70 6e 22 8a 2b 4b 9d b0 58 ff ae a9 45 |B.Qpn".+K..X...E| -00000220 34 b2 8b c1 35 d8 65 a5 7e 1f 32 fd 51 21 79 00 |4...5.e.~.2.Q!y.| -00000230 79 20 f7 5f 8a e2 e0 b3 4a 78 3b 03 a8 03 b6 ef |y ._....Jx;.....| -00000240 b2 25 37 e9 f3 ce 22 f0 2b fc f8 dd be 50 10 22 |.%7...".+....P."| -00000250 0b fa fb 04 ab a7 33 07 48 2f ca ec 0d fe 19 75 |......3.H/.....u| -00000260 cc c5 3d 17 36 06 5c 07 08 15 df 36 6c 4f f4 73 |..=.6.\....6lO.s| -00000270 50 49 ff 47 ba 47 6d e1 bb 2d 8f 77 d5 44 a9 87 |PI.G.Gm..-.w.D..| -00000280 2a 05 12 52 bf 2b e2 4b 64 94 9c 89 bb 2c 65 cb |*..R.+.Kd....,e.| -00000290 59 2a f0 1a 15 b2 e3 6e 5a cc 48 b4 44 6c 44 07 |Y*.....nZ.H.DlD.| -000002a0 80 01 93 25 86 83 f2 8f 01 e6 ef 5e 9a 36 4e 7f |...%.......^.6N.| -000002b0 bc 27 0e 4d f0 67 3a de 29 b5 e9 6a 7f 4b b4 77 |.'.M.g:.)..j.K.w| -000002c0 9b e2 3b 73 c9 51 e5 a6 df 97 a7 02 fa f2 f7 db |..;s.Q..........| -000002d0 df 71 fb d1 ad 64 37 46 3e de 57 de 1d fc 8f 6e |.q...d7F>.W....n| -000002e0 bb 6f 58 3f 87 00 d1 a3 52 a5 35 12 17 83 19 a4 |.oX?....R.5.....| -000002f0 2b be 31 bd dc a6 62 ca c3 09 39 e1 cd 0b 64 44 |+.1...b...9...dD| -00000300 1a ef 65 26 f3 e5 31 fb 61 56 df d3 11 d9 cc 65 |..e&..1.aV.....e| -00000310 7f 8f ab 17 03 03 00 99 94 ce 37 3c e1 7f b1 f5 |..........7<....| -00000320 7e 2b 04 17 45 3d 38 40 1b 82 0e f7 22 ef 28 ce |~+..E=8@....".(.| -00000330 1a 69 33 a6 ad c6 1f ab 08 12 31 b4 c7 41 ac c5 |.i3.......1..A..| -00000340 b3 e5 4b 84 56 d9 0c 53 58 4c 8f 40 3a 34 66 d0 |..K.V..SXL.@:4f.| -00000350 c7 8f 9b b3 26 25 1f 68 fc 97 ba a7 de ac cf c5 |....&%.h........| -00000360 8b b3 26 99 68 6e ca e9 65 47 07 bd 38 15 f3 0c |..&.hn..eG..8...| -00000370 d0 14 8e 6d 89 a2 ad cd ad ef 00 54 07 5a 4b ef |...m.......T.ZK.| -00000380 02 ce b9 a1 b0 d0 d6 f7 bb e0 91 51 72 87 99 50 |...........Qr..P| -00000390 f4 68 4c 0e d8 fa 00 d4 dd bd 1d 2e 7b f6 e2 61 |.hL.........{..a| -000003a0 d3 a8 46 9c f7 dc 2a 04 be 3c 42 85 4f ad 59 20 |..F...*..'.........| +000000f0 14 3c a1 5b 2e 60 55 34 73 f2 1d c2 24 df 09 55 |.<.[.`U4s...$..U| +00000100 e5 5b b6 43 de d7 48 6b cd 15 da 06 f1 b6 56 0b |.[.C..Hk......V.| +00000110 fb 7e 97 f4 40 2f 6b c9 5b 4d 0c 70 8d d5 1c 21 |.~..@/k.[M.p...!| +00000120 d6 a2 4f ab e9 c7 cb 69 0e d0 86 d0 b8 1e c5 6b |..O....i.......k| +00000130 3d 2f 78 f7 ab fd db 06 5c 59 69 fe 74 69 2f c9 |=/x.....\Yi.ti/.| +00000140 a0 36 e2 08 2e 42 23 05 da 89 33 e7 b5 c3 b2 5a |.6...B#...3....Z| +00000150 d4 7e 4c 99 1c 24 a8 62 9b 92 7d bb c0 e1 4a 90 |.~L..$.b..}...J.| +00000160 72 83 4d b2 74 13 45 3f ef 91 7c b0 c4 6b 4e f5 |r.M.t.E?..|..kN.| +00000170 5c 3d 56 6f fe 96 63 c2 fe 2c 88 23 ab 92 08 bf |\=Vo..c..,.#....| +00000180 c5 08 25 81 a5 49 a6 5c 95 da 09 b2 c9 4b e0 f2 |..%..I.\.....K..| +00000190 59 4e 5a 67 6b 71 c7 ba 69 ff a8 f5 6d 21 52 68 |YNZgkq..i...m!Rh| +000001a0 05 d6 61 0e d6 67 d9 64 3d 26 a3 65 3c 55 11 42 |..a..g.d=&.e.}..E0L-rC.| +00000260 4f a3 08 d2 7f 70 e9 31 7b c8 cd 77 fc 3e 82 70 |O....p.1{..w.>.p| +00000270 48 ed 83 55 79 16 c1 8c 69 50 60 53 48 08 5b 66 |H..Uy...iP`SH.[f| +00000280 fe 78 02 06 16 ba 02 90 85 11 7b 49 36 71 58 35 |.x........{I6qX5| +00000290 46 7f fd 0f de dc 11 ae 3a bd df 79 93 f9 e3 8d |F.......:..y....| +000002a0 4c d8 c5 55 74 34 7f 01 dd 4d d5 ef ef 4e 3d d3 |L..Ut4...M...N=.| +000002b0 31 94 3f 1c 9b 6c 44 d0 3b 73 d1 5f b4 b6 48 5d |1.?..lD.;s._..H]| +000002c0 16 ba 17 0b d0 f5 b4 16 18 1f 85 be dc f1 75 71 |..............uq| +000002d0 17 f8 b0 8a f3 d2 80 24 d5 3b cd 58 f4 9b 03 e5 |.......$.;.X....| +000002e0 64 c5 ae 5e 9a 25 d2 bb a2 28 91 4b 2e 81 4d e4 |d..^.%...(.K..M.| +000002f0 4e 25 57 12 fc 7a 87 36 66 0b 76 21 66 17 a0 e5 |N%W..z.6f.v!f...| +00000300 0a f7 00 31 48 62 a9 70 f1 75 1b e0 78 c9 fa de |...1Hb.p.u..x...| +00000310 11 6f 3d 17 03 03 00 99 72 f9 ad 67 80 2a 9f 04 |.o=.....r..g.*..| +00000320 a9 0a fb 6f 03 90 88 35 7f cb 97 5f 4e a2 1e a8 |...o...5..._N...| +00000330 34 80 96 d1 60 b4 b4 12 ec c3 2b 15 c9 a0 f9 28 |4...`.....+....(| +00000340 50 1c 53 1d fc 32 a2 c7 c0 03 58 1b 83 a6 ee 94 |P.S..2....X.....| +00000350 2d 98 99 83 62 6a 52 a0 c5 42 94 4f 3a 26 2e 44 |-...bjR..B.O:&.D| +00000360 7b 03 f5 2a 0e 9e 48 e4 2a 18 2e 9b 42 7f 34 d2 |{..*..H.*...B.4.| +00000370 3c b2 92 52 cc 51 0e f0 fd c7 4d e6 d7 1b b2 44 |<..R.Q....M....D| +00000380 99 48 e7 da 1e 43 37 d1 ac 80 c5 34 21 1b d8 0c |.H...C7....4!...| +00000390 9c 92 0d b4 27 b0 78 43 06 a2 90 42 c4 99 5e 5f |....'.xC...B..^_| +000003a0 a4 36 69 a5 a1 92 12 5e 51 47 7f ff 50 07 ac 8a |.6i....^QG..P...| +000003b0 35 17 03 03 00 35 86 65 34 2f d0 12 2a 0b 7c 50 |5....5.e4/..*.|P| +000003c0 b4 c5 67 30 cc 4d cf 4f f7 be a5 0d 2c b2 96 ae |..g0.M.O....,...| +000003d0 da 70 a3 74 c2 e7 9a 18 61 17 95 da 00 ac cc 89 |.p.t....a.......| +000003e0 66 a1 e8 aa ca 8f 02 3c b5 16 3d |f......<..=| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 35 19 50 85 5d 08 |..........5.P.].| -00000010 c9 5e 25 05 37 ed cc 54 fe ba 86 3e 8a d4 e9 fd |.^%.7..T...>....| -00000020 66 54 6e a3 1f 8b 4f 95 cf 04 51 db 60 96 ae 78 |fTn...O...Q.`..x| -00000030 6b 7d 19 63 03 2a b6 e5 97 37 26 79 98 3f 85 52 |k}.c.*...7&y.?.R| -00000040 17 03 03 00 17 c9 80 91 3e 92 1e a7 9b 00 a3 01 |........>.......| -00000050 19 31 d0 6f 2e 69 0c 15 03 73 20 36 17 03 03 00 |.1.o.i...s 6....| -00000060 13 97 85 32 6f a2 9c 72 be ca 43 db 18 a7 98 b7 |...2o..r..C.....| -00000070 67 44 71 ce |gDq.| +00000000 14 03 03 00 01 01 17 03 03 00 35 a0 a0 1c ae a9 |..........5.....| +00000010 1a 1f 74 01 92 fe bf 91 c4 aa 8b f2 84 7e 39 c1 |..t..........~9.| +00000020 cb f4 ae a8 76 0c de 9e 54 7f ca 4a a2 d3 07 ef |....v...T..J....| +00000030 8e ed 8a be 54 ad 76 fe b6 62 24 4d a7 88 d5 7a |....T.v..b$M...z| +00000040 17 03 03 00 17 a2 d4 e7 78 ef 4a 2e 66 52 6f 2a |........x.J.fRo*| +00000050 e3 07 e0 9c fc 19 f6 f8 96 88 bb be 17 03 03 00 |................| +00000060 13 43 01 14 16 42 27 8a b9 a9 98 5f c7 06 4d 20 |.C...B'...._..M | +00000070 8b c3 cb 33 |...3| diff --git a/testdata/Server-TLSv10-ExportKeyingMaterial b/testdata/Server-TLSv10-ExportKeyingMaterial index b3d0f7d05b8..114ec3708ee 100644 --- a/testdata/Server-TLSv10-ExportKeyingMaterial +++ b/testdata/Server-TLSv10-ExportKeyingMaterial @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 55 01 00 00 51 03 01 e0 8d 7b f2 8d |....U...Q....{..| -00000010 45 9f c5 40 1b be 81 05 a1 83 82 c1 54 4a c7 1c |E..@........TJ..| -00000020 f1 f8 d5 6c 7a ff 93 81 e2 a2 ba 00 00 04 c0 14 |...lz...........| +00000000 16 03 01 00 55 01 00 00 51 03 01 fb 2f 2f 8e 61 |....U...Q...//.a| +00000010 23 39 d1 13 76 62 4e f8 d5 40 82 a3 89 78 bf fe |#9..vbN..@...x..| +00000020 31 e9 60 d5 e1 e2 1c 54 7a bc 0b 00 00 04 c0 14 |1.`....Tz.......| 00000030 00 ff 01 00 00 24 00 0b 00 04 03 00 01 02 00 0a |.....$..........| 00000040 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 00 23 |...............#| 00000050 00 00 00 16 00 00 00 17 00 00 |..........| @@ -51,42 +51,42 @@ 000002a0 fa e7 16 03 01 00 aa 0c 00 00 a6 03 00 1d 20 2f |.............. /| 000002b0 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 000002c0 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 00 |.........._X.;t.| -000002d0 80 3d ff b7 ad d5 15 4f 10 6e 8a d2 ad 8a 6b 1b |.=.....O.n....k.| -000002e0 9d 6c f2 92 99 c7 d7 d8 07 d5 c7 77 09 22 41 4f |.l.........w."AO| -000002f0 7f ca 3e 8c 22 ba 2b f2 75 5f 47 c9 7e 0c 03 5d |..>.".+.u_G.~..]| -00000300 1a 66 c3 c8 f3 76 f0 f6 fa 03 40 3a 9b e7 2b 35 |.f...v....@:..+5| -00000310 bc c7 5e 62 a6 97 8a 1a 17 e3 13 4c 1f 88 39 2a |..^b.......L..9*| -00000320 5b cc 9c 65 df 27 1e b3 26 d7 46 3e 76 a9 ae 71 |[..e.'..&.F>v..q| -00000330 11 4d d6 10 b4 2e 30 37 a1 b4 ff 46 91 77 c7 4c |.M....07...F.w.L| -00000340 f9 8e e3 96 88 d2 1e c5 9d fb a1 be c6 ef 5d f0 |..............].| -00000350 52 16 03 01 00 04 0e 00 00 00 |R.........| +000002d0 80 ca 44 f4 0f ef d9 cb a9 88 61 a3 b4 f2 1b 9c |..D.......a.....| +000002e0 e9 a1 c2 c7 84 58 0e 3e ee 95 21 52 61 be 80 64 |.....X.>..!Ra..d| +000002f0 46 17 d5 c7 71 7c 43 41 70 2d 84 9a 49 1c bf 34 |F...q|CAp-..I..4| +00000300 f4 05 1a 0f 9c 00 c5 2d 64 37 84 34 5e d7 5c 06 |.......-d7.4^.\.| +00000310 50 99 f9 d5 a0 19 4b 2d aa 67 e4 17 c7 b4 23 26 |P.....K-.g....#&| +00000320 94 a1 cd e0 cb b1 33 9b e6 c6 a3 a7 25 93 87 7e |......3.....%..~| +00000330 37 ee 9c a0 42 b6 fd 60 59 02 4b 17 4a 4d f3 f2 |7...B..`Y.K.JM..| +00000340 2d 2a e7 8d 96 41 86 43 0a 7b 4e fc c0 7d 38 f6 |-*...A.C.{N..}8.| +00000350 f6 16 03 01 00 04 0e 00 00 00 |..........| >>> Flow 3 (client to server) -00000000 16 03 01 00 25 10 00 00 21 20 01 39 8b 2b 21 99 |....%...! .9.+!.| -00000010 fd fc b8 20 f1 51 97 c7 85 13 05 64 55 41 6b c4 |... .Q.....dUAk.| -00000020 1a 5e d5 b2 7c 8b 31 08 0f 78 14 03 01 00 01 01 |.^..|.1..x......| -00000030 16 03 01 00 30 d8 3b e6 9f f8 a8 b2 6b 8b fb 89 |....0.;.....k...| -00000040 71 3b 55 cd c3 c9 78 3c 45 1b 8d 5f 70 4f bd 64 |q;U...x>> Flow 4 (server to client) -00000000 16 03 01 00 83 04 00 00 7f 00 00 00 00 00 79 00 |..............y.| +00000000 16 03 01 00 85 04 00 00 81 00 00 00 00 00 7b 00 |..............{.| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 |................| -00000020 6d 2d 70 97 51 ed 14 ef 68 ca 42 c5 4c 71 8e 74 |m-p.Q...h.B.Lq.t| -00000030 d4 83 d6 4a 5b 69 f8 af 61 3a 98 83 19 d5 7c 60 |...J[i..a:....|`| -00000040 4a 1e f4 b7 26 b8 99 b5 45 6f a3 8d 97 63 5f 1b |J...&...Eo...c_.| -00000050 ab f4 84 59 db ce 99 ce b8 6a 23 d5 15 49 38 16 |...Y.....j#..I8.| -00000060 7e 51 5c e5 15 c0 58 7d c0 ee 59 1b e4 6e 1f c8 |~Q\...X}..Y..n..| -00000070 fc d4 2c 33 ed 0a 2b e0 78 04 64 4b 56 e4 af 61 |..,3..+.x.dKV..a| -00000080 c6 b5 7d f5 a0 86 9f e3 14 03 01 00 01 01 16 03 |..}.............| -00000090 01 00 30 73 2b f0 16 d3 a8 02 b3 73 98 5e 4e a0 |..0s+......s.^N.| -000000a0 ca 5b c4 50 fb 5a 92 11 43 97 e9 e3 16 9f 08 0a |.[.P.Z..C.......| -000000b0 56 73 e6 44 67 70 aa 3d bb c1 36 c8 63 1c 2b 51 |Vs.Dgp.=..6.c.+Q| -000000c0 1f 3b 81 17 03 01 00 20 4c 93 10 5c 01 e2 63 12 |.;..... L..\..c.| -000000d0 97 6b e1 89 fb e7 14 cf ec 70 d1 fe 6f ea 8b 09 |.k.......p..o...| -000000e0 63 5f 8c 8a 9e b5 ac b8 17 03 01 00 30 a1 ad dd |c_..........0...| -000000f0 92 ac a8 6e 77 ed c2 ed 59 b6 a8 41 ad 45 59 8c |...nw...Y..A.EY.| -00000100 4e 1d 16 36 57 e6 2f 47 3d 10 0f 36 04 00 b0 c1 |N..6W./G=..6....| -00000110 a7 94 25 8e 77 1e 69 20 41 6c c0 9d 26 15 03 01 |..%.w.i Al..&...| -00000120 00 20 c5 83 26 5d 20 cb 16 7e 27 63 d7 96 aa 96 |. ..&] ..~'c....| -00000130 37 19 2a 7a 18 d4 85 08 25 32 85 d5 b5 e3 4e 9b |7.*z....%2....N.| -00000140 98 f5 |..| +00000020 6d 2d 70 97 51 ed 14 ef 68 ca 42 c5 4c ed db 91 |m-p.Q...h.B.L...| +00000030 26 40 46 a4 da 9a 13 33 d7 75 7c e0 2f 98 9f 5a |&@F....3.u|./..Z| +00000040 9c a9 12 db 59 ba 75 b2 a1 cb cf f9 75 05 c3 55 |....Y.u.....u..U| +00000050 04 ee 2a 61 94 99 df 73 b3 0b 81 68 f3 49 38 16 |..*a...s...h.I8.| +00000060 7e 51 5c e5 15 c0 58 7d 52 07 a3 db 42 00 b3 4c |~Q\...X}R...B..L| +00000070 77 09 cd 17 5f c1 da 85 f3 09 46 d6 e9 ae 7c e8 |w..._.....F...|.| +00000080 3f 6a 74 38 f9 e7 de 23 0d 90 14 03 01 00 01 01 |?jt8...#........| +00000090 16 03 01 00 30 fa 7e 6e 18 87 06 c8 26 ae a0 34 |....0.~n....&..4| +000000a0 1a 58 05 9e 0c 47 60 93 8c 83 15 98 ad ee de 62 |.X...G`........b| +000000b0 53 6f 1b 44 90 45 d9 22 0b e3 d8 25 32 75 68 ae |So.D.E."...%2uh.| +000000c0 c4 39 b9 05 93 17 03 01 00 20 ac 7a ac 04 59 6a |.9....... .z..Yj| +000000d0 75 a3 26 96 49 c8 f3 ef 39 a6 1f 07 20 d2 e6 bf |u.&.I...9... ...| +000000e0 b8 06 69 55 97 6c c4 68 01 b9 17 03 01 00 30 8b |..iU.l.h......0.| +000000f0 67 6e 9a ea 62 2c dc eb aa 9b 57 e4 5f 82 14 c6 |gn..b,....W._...| +00000100 11 d2 44 e7 5a 9d 13 c0 3e 38 de a7 82 33 44 8e |..D.Z...>8...3D.| +00000110 10 c2 20 c8 6b d2 af 12 b5 44 84 17 a9 2a ec 15 |.. .k....D...*..| +00000120 03 01 00 20 56 39 68 ce 01 c1 52 dd 21 cb 65 a0 |... V9h...R.!.e.| +00000130 5d 28 00 d6 7f f0 c1 38 51 51 98 4f cb 13 5a 41 |](.....8QQ.O..ZA| +00000140 7b 34 be f8 |{4..| diff --git a/testdata/Server-TLSv12-ALPN b/testdata/Server-TLSv12-ALPN index ccd4a086a6e..6ee4bc8086d 100644 --- a/testdata/Server-TLSv12-ALPN +++ b/testdata/Server-TLSv12-ALPN @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 9d 01 00 00 99 03 03 f7 12 13 92 75 |...............u| -00000010 34 ab f3 e8 a2 19 2d 3c 0c 8b 9e c3 e8 22 7e d8 |4.....-<....."~.| -00000020 66 f9 08 88 70 9b cc 37 95 43 a7 00 00 04 cc a8 |f...p..7.C......| +00000000 16 03 01 00 9d 01 00 00 99 03 03 4c 3c dd 9a 33 |...........L<..3| +00000010 a3 3d c3 9d 54 4c a8 e7 d4 2d 20 59 11 bc 48 71 |.=..TL...- Y..Hq| +00000020 bc 5d 6b 24 fd 97 a2 30 4a 2f c8 00 00 04 cc a8 |.]k$...0J/......| 00000030 00 ff 01 00 00 6c 00 0b 00 04 03 00 01 02 00 0a |.....l..........| 00000040 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 00 23 |...............#| 00000050 00 00 00 10 00 10 00 0e 06 70 72 6f 74 6f 32 06 |.........proto2.| @@ -57,35 +57,35 @@ 000002b0 03 03 00 ac 0c 00 00 a8 03 00 1d 20 2f e5 7d a3 |........... /.}.| 000002c0 47 cd 62 43 15 28 da ac 5f bb 29 07 30 ff f6 84 |G.bC.(.._.).0...| 000002d0 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 08 04 00 80 |......._X.;t....| -000002e0 2a 3d 85 27 96 fe 41 e2 5a cc 39 dd 8a 8e 64 73 |*=.'..A.Z.9...ds| -000002f0 ef 98 04 5c ac d2 8f 5e 55 b8 37 da 10 68 33 b8 |...\...^U.7..h3.| -00000300 63 83 e1 c9 9a e6 3a e9 c9 20 cc 57 58 e2 ba bc |c.....:.. .WX...| -00000310 e3 ac ab aa 08 e2 1e 6f 66 90 d7 66 c5 73 60 0d |.......of..f.s`.| -00000320 19 4f eb 99 9d d1 b1 91 36 80 b9 20 aa f5 d9 c8 |.O......6.. ....| -00000330 44 a7 99 c9 a6 4d 2c ff ca 4d 84 f2 a5 bf 02 c5 |D....M,..M......| -00000340 61 77 7e 4a e6 7c dd bf 48 fc a6 53 fb c4 d3 dd |aw~J.|..H..S....| -00000350 e6 20 b9 74 90 82 4a 3a 73 0a 81 74 07 a3 23 fe |. .t..J:s..t..#.| +000002e0 82 9a 38 98 24 59 07 8b a9 7e d3 9f c3 70 8d 87 |..8.$Y...~...p..| +000002f0 2d 1b 53 f3 36 96 4a 07 83 80 1e 62 23 b4 79 c9 |-.S.6.J....b#.y.| +00000300 93 48 0a 54 ad 03 5e 71 c3 69 d9 b7 be 93 c0 e8 |.H.T..^q.i......| +00000310 13 bd 10 67 b1 ea 8f f0 72 ed e1 54 b1 e5 a8 ca |...g....r..T....| +00000320 c7 b2 ac 2e 14 ab 6a 84 2b 97 e6 8f 68 1c e9 83 |......j.+...h...| +00000330 73 70 24 40 99 f7 86 2a c7 08 1f bc bd df a2 24 |sp$@...*.......$| +00000340 75 33 81 29 18 69 d5 5e 93 91 63 62 ee e9 8f b6 |u3.).i.^..cb....| +00000350 fc d1 00 5d b2 b5 cc 5f c9 83 8d fd f8 dd 7a cd |...]..._......z.| 00000360 16 03 03 00 04 0e 00 00 00 |.........| >>> Flow 3 (client to server) -00000000 16 03 03 00 25 10 00 00 21 20 d1 bb f1 17 6c 41 |....%...! ....lA| -00000010 8f 14 84 d2 98 99 30 0c 8a 00 4c 39 37 15 f5 be |......0...L97...| -00000020 81 8d 08 e0 11 c1 f7 65 43 0b 14 03 03 00 01 01 |.......eC.......| -00000030 16 03 03 00 20 ab 15 bb 47 30 42 c9 7d 45 f8 5d |.... ...G0B.}E.]| -00000040 21 79 3b 4d 5e a9 99 f5 7d f3 4e 7e ba b9 9b 30 |!y;M^...}.N~...0| -00000050 b6 14 4d ba f9 |..M..| +00000000 16 03 03 00 25 10 00 00 21 20 61 d8 61 58 30 ba |....%...! a.aX0.| +00000010 44 5b 31 35 e3 4e 92 87 d0 10 0c 83 96 98 b5 73 |D[15.N.........s| +00000020 31 40 7a fd 78 8a cf b4 af 53 14 03 03 00 01 01 |1@z.x....S......| +00000030 16 03 03 00 20 14 80 2b 46 28 9e a8 1b d5 9a bd |.... ..+F(......| +00000040 6c da 22 62 a9 7d d8 c1 e5 d7 63 6f 26 3f ca 1c |l."b.}....co&?..| +00000050 5e 53 8b 3c f3 |^S.<.| >>> Flow 4 (server to client) -00000000 16 03 03 00 83 04 00 00 7f 00 00 00 00 00 79 00 |..............y.| +00000000 16 03 03 00 85 04 00 00 81 00 00 00 00 00 7b 00 |..............{.| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 |................| -00000020 6f 2d 7c 2b 51 ed 14 ef 68 ca 42 c5 4c f3 5c b9 |o-|+Q...h.B.L.\.| -00000030 84 7d 30 9e 2f 9d 4d 0e 59 b4 28 fd 17 10 cd 1e |.}0./.M.Y.(.....| -00000040 1c d3 2c 5e d9 dc db 26 d0 b9 00 4b 0a 13 54 90 |..,^...&...K..T.| -00000050 f2 7b 68 75 6b 00 34 66 9e 43 29 06 16 49 38 16 |.{huk.4f.C)..I8.| -00000060 7e 51 5c e5 15 c0 58 7d 52 0b 16 21 d8 2c e8 c8 |~Q\...X}R..!.,..| -00000070 8e 3a f6 aa fa 21 45 4a 17 02 67 7d 93 1c 95 88 |.:...!EJ..g}....| -00000080 36 a5 19 53 74 74 81 e1 14 03 03 00 01 01 16 03 |6..Stt..........| -00000090 03 00 20 3d 66 04 37 0c 40 cc 20 2c 1c 16 ba 05 |.. =f.7.@. ,....| -000000a0 d6 7b 40 04 27 40 6f cc d7 af 68 fb 32 49 6c 4f |.{@.'@o...h.2IlO| -000000b0 f3 01 bf 17 03 03 00 1d 99 10 78 bc fa 7e 8a 86 |..........x..~..| -000000c0 4c b8 e4 7c e2 79 70 eb ad 33 44 e1 ab 7a c9 ae |L..|.yp..3D..z..| -000000d0 47 fe 39 50 d1 15 03 03 00 12 9e 9a be b0 55 c3 |G.9P..........U.| -000000e0 3a 5f 5c e0 4b 8f 4f 81 52 d3 89 09 |:_\.K.O.R...| +00000020 6f 2d 7c 2b 51 ed 14 ef 68 ca 42 c5 4c a3 4e 47 |o-|+Q...h.B.L.NG| +00000030 75 8d 90 24 a8 60 43 a8 3b 00 81 b1 1d 41 ce bf |u..$.`C.;....A..| +00000040 ec 75 e9 32 6b 9b 21 9f 0f 56 27 b2 e5 9e 9a 01 |.u.2k.!..V'.....| +00000050 aa c7 63 81 8b 90 45 fa 64 75 96 e3 c8 49 38 16 |..c...E.du...I8.| +00000060 7e 51 5c e5 15 c0 58 7d 52 07 32 1b 54 23 7f 75 |~Q\...X}R.2.T#.u| +00000070 8a 30 1c 6a 94 57 27 7d 06 25 05 b7 ae ce 5c a4 |.0.j.W'}.%....\.| +00000080 58 21 47 f2 04 bc 3a f1 6d 20 14 03 03 00 01 01 |X!G...:.m ......| +00000090 16 03 03 00 20 94 0c cf 54 2b fb 49 26 19 d4 06 |.... ...T+.I&...| +000000a0 0e b6 71 b5 d9 24 f6 d1 99 36 78 1c 96 b4 12 e0 |..q..$...6x.....| +000000b0 20 5a 2a a7 ad 17 03 03 00 1d 19 36 ef 7d 53 24 | Z*........6.}S$| +000000c0 0c 5e 48 24 c6 ad 91 ca 44 0d 2e fb 10 fd 58 2f |.^H$....D.....X/| +000000d0 86 5c be c6 64 01 c6 15 03 03 00 12 26 94 16 38 |.\..d.......&..8| +000000e0 6c 23 4e 29 03 96 c6 6a a8 af 32 0b 2e 9e |l#N)...j..2...| diff --git a/testdata/Server-TLSv12-ALPN-Fallback b/testdata/Server-TLSv12-ALPN-Fallback index 070201253d2..a453fcc5227 100644 --- a/testdata/Server-TLSv12-ALPN-Fallback +++ b/testdata/Server-TLSv12-ALPN-Fallback @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 a6 01 00 00 a2 03 03 ea e2 1b 90 0e |................| -00000010 91 d5 9f b2 c6 ee 72 37 19 f5 14 cd ca a9 ca 03 |......r7........| -00000020 98 c4 2e d4 85 05 4a a5 02 e1 4b 00 00 04 cc a8 |......J...K.....| +00000000 16 03 01 00 a6 01 00 00 a2 03 03 74 b9 ce 14 2f |...........t.../| +00000010 85 a9 93 bf 60 4e 5c 5c 6e 47 34 cf b8 27 f8 dc |....`N\\nG4..'..| +00000020 b1 5b a8 eb e0 fa da a0 1b b6 9c 00 00 04 cc a8 |.[..............| 00000030 00 ff 01 00 00 75 00 0b 00 04 03 00 01 02 00 0a |.....u..........| 00000040 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 00 23 |...............#| 00000050 00 00 00 10 00 19 00 17 06 70 72 6f 74 6f 33 08 |.........proto3.| @@ -56,35 +56,35 @@ 000002a0 fa e7 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 2f |.............. /| 000002b0 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 000002c0 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 08 |.........._X.;t.| -000002d0 04 00 80 85 e9 a6 5c 79 bc db ed 97 fb 30 ca fd |......\y.....0..| -000002e0 32 13 19 3f da 6f fd c1 11 74 fe e9 6f 60 ec 7e |2..?.o...t..o`.~| -000002f0 48 7e 17 33 9b 8d 2a c2 82 e0 18 38 f3 0f 20 27 |H~.3..*....8.. '| -00000300 81 0f c9 47 bf 5f 2b 2f 65 1c 6b e3 b7 72 85 46 |...G._+/e.k..r.F| -00000310 5c 15 dc fd e6 be cf 50 51 62 f5 d9 17 e2 e8 bf |\......PQb......| -00000320 08 7f 37 71 91 88 83 7f e3 90 66 66 c4 d8 60 25 |..7q......ff..`%| -00000330 53 f7 9f 44 20 89 48 ff c2 3b 6d 21 e5 8c dc e5 |S..D .H..;m!....| -00000340 42 ea d8 14 93 96 2f 53 24 66 e7 bb e7 2c 1f 92 |B...../S$f...,..| -00000350 90 80 23 16 03 03 00 04 0e 00 00 00 |..#.........| +000002d0 04 00 80 22 97 55 0d 4c fe 5e 4e 45 b7 9b b2 f8 |...".U.L.^NE....| +000002e0 29 c7 7a 33 b5 e0 06 92 4f b3 6e 67 ad 4e 69 20 |).z3....O.ng.Ni | +000002f0 e5 82 b6 93 84 52 05 fd 99 d1 94 67 e4 7d bc 1d |.....R.....g.}..| +00000300 f7 16 d7 24 95 61 db ed 92 16 11 ee c1 c5 6f 82 |...$.a........o.| +00000310 8e 6b 10 69 31 d2 17 1a 6f 25 a0 d5 4b 7e c9 ba |.k.i1...o%..K~..| +00000320 13 3e c4 94 46 63 e2 6e c6 ca d0 e4 09 5a 2a 39 |.>..Fc.n.....Z*9| +00000330 12 c0 fc 37 14 4e a8 1f 74 4e 44 86 1a 29 d4 a0 |...7.N..tND..)..| +00000340 5f e5 0a 22 6c 09 78 29 be 33 a5 2c d9 b3 5f ec |_.."l.x).3.,.._.| +00000350 f1 5e 87 16 03 03 00 04 0e 00 00 00 |.^..........| >>> Flow 3 (client to server) -00000000 16 03 03 00 25 10 00 00 21 20 e8 d1 46 5e 70 b5 |....%...! ..F^p.| -00000010 34 1c 6f cd be f0 86 24 2a d6 55 ae 97 de 52 0c |4.o....$*.U...R.| -00000020 67 10 a0 02 ed ae f8 47 aa 52 14 03 03 00 01 01 |g......G.R......| -00000030 16 03 03 00 20 52 cf 5d 07 bb bc e8 86 d4 f4 3e |.... R.].......>| -00000040 49 51 a7 1d f5 df 10 c4 5a 77 37 ba 68 3d 4e c5 |IQ......Zw7.h=N.| -00000050 11 ac 67 b7 e2 |..g..| +00000000 16 03 03 00 25 10 00 00 21 20 a4 f2 f3 f8 81 68 |....%...! .....h| +00000010 6f 8d d5 2c 93 fe ee cf f6 28 ae 06 9f 81 fa 0d |o..,.....(......| +00000020 ac 31 2b cf 05 4e cb a0 b3 14 14 03 03 00 01 01 |.1+..N..........| +00000030 16 03 03 00 20 ca 3e f2 cd 68 42 34 26 61 40 29 |.... .>..hB4&a@)| +00000040 dd 71 e1 52 b7 0e ec 1f 77 8e 1d 1b 95 dd 07 4f |.q.R....w......O| +00000050 c4 4d d8 02 83 |.M...| >>> Flow 4 (server to client) -00000000 16 03 03 00 83 04 00 00 7f 00 00 00 00 00 79 00 |..............y.| +00000000 16 03 03 00 85 04 00 00 81 00 00 00 00 00 7b 00 |..............{.| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 |................| -00000020 6f 2d 7c 2b 51 ed 14 ef 68 ca 42 c5 4c 26 1d 23 |o-|+Q...h.B.L&.#| -00000030 c4 90 54 85 8b 21 f5 0d e8 48 f2 5f 4e 6b f1 25 |..T..!...H._Nk.%| -00000040 e8 46 8a e5 3c 09 57 df dd 37 a7 57 c5 a5 28 5a |.F..<.W..7.W..(Z| -00000050 21 83 2a 98 4b a5 44 aa 5b cc 30 e9 62 49 38 16 |!.*.K.D.[.0.bI8.| -00000060 7e 51 5c e5 15 c0 58 7d a4 aa c5 93 39 bb e2 b6 |~Q\...X}....9...| -00000070 4f c4 3e 1e 03 dc 46 b1 f3 0d d2 61 6c 1e c5 e1 |O.>...F....al...| -00000080 8f 18 2a 3c 85 83 c4 33 14 03 03 00 01 01 16 03 |..*<...3........| -00000090 03 00 20 63 76 4f b3 77 4d 63 6c eb 73 f3 b2 ec |.. cvO.wMcl.s...| -000000a0 b8 49 3e c5 81 d5 53 0c 96 77 2f 3f 52 d0 e1 5b |.I>...S..w/?R..[| -000000b0 62 fa 0b 17 03 03 00 1d 2f 60 09 31 db e9 c5 23 |b......./`.1...#| -000000c0 98 5c 46 23 a6 58 80 66 7d 50 84 f1 42 b8 65 65 |.\F#.X.f}P..B.ee| -000000d0 77 2d d2 e4 be 15 03 03 00 12 b7 e8 e1 13 04 68 |w-.............h| -000000e0 d5 21 c8 98 db 1b 1c 6e 4f b5 0b 9c |.!.....nO...| +00000020 6f 2d 7c 2b 51 ed 14 ef 68 ca 42 c5 4c 23 bb 4f |o-|+Q...h.B.L#.O| +00000030 57 15 7b bb 5c 23 ff bd b0 3b c9 ce d7 8e b9 d8 |W.{.\#...;......| +00000040 b6 35 dd 0b 5b fd 3f bf c6 c9 74 86 d4 4e 1c 22 |.5..[.?...t..N."| +00000050 fb 4e ea 39 16 d3 9d 08 c8 08 c8 94 c7 49 38 16 |.N.9.........I8.| +00000060 7e 51 5c e5 15 c0 58 7d 52 07 e6 23 d9 47 91 c4 |~Q\...X}R..#.G..| +00000070 55 a3 14 46 22 5a 68 ec 70 f1 cd 8b e0 36 5d 20 |U..F"Zh.p....6] | +00000080 bb 33 6b d2 cc e0 bc 81 f6 ba 14 03 03 00 01 01 |.3k.............| +00000090 16 03 03 00 20 06 6c 46 46 01 02 e9 42 de 4a dc |.... .lFF...B.J.| +000000a0 4b 55 15 6d e4 2c da 02 67 af 08 f1 15 f6 5a 72 |KU.m.,..g.....Zr| +000000b0 0b 70 d3 28 ba 17 03 03 00 1d 5b 4f 16 d3 78 dd |.p.(......[O..x.| +000000c0 fb cb 38 70 cc dc 26 36 99 ad 67 e3 dc 2b c8 62 |..8p..&6..g..+.b| +000000d0 1f a1 ad 3b e2 fd d7 15 03 03 00 12 e4 ca da 87 |...;............| +000000e0 78 97 b2 b3 27 0f 3e 1a 97 8d ab fc 7c b9 |x...'.>.....|.| diff --git a/testdata/Server-TLSv12-ALPN-NotConfigured b/testdata/Server-TLSv12-ALPN-NotConfigured index 79f0748af40..97d300d76b9 100644 --- a/testdata/Server-TLSv12-ALPN-NotConfigured +++ b/testdata/Server-TLSv12-ALPN-NotConfigured @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 9d 01 00 00 99 03 03 19 26 ad 3f c0 |............&.?.| -00000010 d6 a0 cc ac 9b 2a 91 d3 1a d5 96 78 5f 7c 3f e0 |.....*.....x_|?.| -00000020 23 08 75 a1 ca cb aa da d7 c8 0b 00 00 04 cc a8 |#.u.............| +00000000 16 03 01 00 9d 01 00 00 99 03 03 23 13 3f 28 85 |...........#.?(.| +00000010 56 f7 0f d1 b4 ee 5f 18 a0 58 8c c5 83 a4 13 24 |V....._..X.....$| +00000020 9b 53 29 6e 28 35 a8 8c 0e 07 2a 00 00 04 cc a8 |.S)n(5....*.....| 00000030 00 ff 01 00 00 6c 00 0b 00 04 03 00 01 02 00 0a |.....l..........| 00000040 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 00 23 |...............#| 00000050 00 00 00 10 00 10 00 0e 06 70 72 6f 74 6f 32 06 |.........proto2.| @@ -56,35 +56,35 @@ 000002a0 fa e7 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 2f |.............. /| 000002b0 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 000002c0 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 08 |.........._X.;t.| -000002d0 04 00 80 4f 9e 64 41 a6 8a 41 ab 9c c8 09 3e 94 |...O.dA..A....>.| -000002e0 ee d2 9b ad 1b 3e a9 3c 7b 43 96 95 eb 4d b5 04 |.....>.<{C...M..| -000002f0 1a 5f 0c b2 b3 a6 2c a4 e6 78 a8 b8 d5 6c 7f d0 |._....,..x...l..| -00000300 16 e8 56 31 e0 4a 69 d3 6b 27 18 a3 4e f5 d1 6a |..V1.Ji.k'..N..j| -00000310 36 15 b5 fc 4d 15 50 90 a0 30 b9 49 3d ac 8c 84 |6...M.P..0.I=...| -00000320 d2 15 31 70 df e5 a6 97 d0 64 f7 1d 8a a1 87 4d |..1p.....d.....M| -00000330 3c ee da 69 20 e4 31 67 ca f2 c0 09 ee 13 7c 78 |<..i .1g......|x| -00000340 d6 c2 c0 39 e0 b8 00 52 a9 bf d0 99 e0 b0 66 70 |...9...R......fp| -00000350 46 ae 62 16 03 03 00 04 0e 00 00 00 |F.b.........| +000002d0 04 00 80 66 f8 99 59 3a 3a 64 36 75 11 53 eb 34 |...f..Y::d6u.S.4| +000002e0 1d d7 56 1b fb 73 58 63 69 2d 3d b5 d0 05 ce 4d |..V..sXci-=....M| +000002f0 6d 6e 49 46 c2 ad 91 43 de b3 63 12 4b e6 e2 c8 |mnIF...C..c.K...| +00000300 59 09 09 45 f2 b8 1e 95 71 b2 38 60 78 36 c5 46 |Y..E....q.8`x6.F| +00000310 15 85 66 4b 83 e2 6f 07 df 3e 87 60 eb 85 2d 01 |..fK..o..>.`..-.| +00000320 c4 ae 50 b8 0e e5 19 b4 1d a4 90 af 97 b7 87 9e |..P.............| +00000330 cb 3a 13 1f ec 78 6c d9 5d 14 03 b7 4b 8b 8d 92 |.:...xl.]...K...| +00000340 06 cf a3 dc 59 30 36 0f 7f 24 11 ca b8 ff 46 4b |....Y06..$....FK| +00000350 0c 4e c2 16 03 03 00 04 0e 00 00 00 |.N..........| >>> Flow 3 (client to server) -00000000 16 03 03 00 25 10 00 00 21 20 b0 1a 5b c3 55 5f |....%...! ..[.U_| -00000010 0b b8 f3 69 ba 4f 49 93 05 0f b1 f1 d7 6b 6c 0c |...i.OI......kl.| -00000020 98 d0 22 78 0c ad 15 6b 24 5b 14 03 03 00 01 01 |.."x...k$[......| -00000030 16 03 03 00 20 9d aa 3f 17 b3 16 88 d5 44 3d 03 |.... ..?.....D=.| -00000040 3c 3c 8d 92 f1 2f e4 38 cc 42 20 2f ef 6a 29 c6 |<<.../.8.B /.j).| -00000050 5c ca 44 81 f6 |\.D..| +00000000 16 03 03 00 25 10 00 00 21 20 16 8d 5b 4a f7 e1 |....%...! ..[J..| +00000010 c0 dd 5d e2 82 7d 4e c6 ef 66 ef 87 50 85 bf 0d |..]..}N..f..P...| +00000020 b5 3f 03 cc 64 f4 48 93 79 27 14 03 03 00 01 01 |.?..d.H.y'......| +00000030 16 03 03 00 20 2c 69 26 7b 1b 84 2b 1d 33 43 cf |.... ,i&{..+.3C.| +00000040 95 c5 72 d6 7a 88 8f f9 aa 82 72 f4 02 c5 6e aa |..r.z.....r...n.| +00000050 a9 f7 f0 b9 44 |....D| >>> Flow 4 (server to client) -00000000 16 03 03 00 83 04 00 00 7f 00 00 00 00 00 79 00 |..............y.| +00000000 16 03 03 00 85 04 00 00 81 00 00 00 00 00 7b 00 |..............{.| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 |................| -00000020 6f 2d 7c 2b 51 ed 14 ef 68 ca 42 c5 4c 9a f3 2b |o-|+Q...h.B.L..+| -00000030 7a 66 76 26 4f 73 12 14 ef a1 f4 8c c2 08 03 42 |zfv&Os.........B| -00000040 4d d5 f9 d7 ab 31 78 51 f3 f4 94 49 5f 9d bf 23 |M....1xQ...I_..#| -00000050 b2 11 7b ac 42 df 71 1a 37 db 64 99 a0 49 38 16 |..{.B.q.7.d..I8.| -00000060 7e 51 5c e5 15 c0 58 7d 2d 89 ac 0d 05 31 27 ae |~Q\...X}-....1'.| -00000070 85 ff 27 56 24 4c 26 b3 bc 6c f6 20 80 dd bd ba |..'V$L&..l. ....| -00000080 a3 34 c2 32 a8 58 1b b9 14 03 03 00 01 01 16 03 |.4.2.X..........| -00000090 03 00 20 74 e1 8a e6 a6 02 0d f7 e1 28 3a f4 c4 |.. t........(:..| -000000a0 a6 8c 32 81 84 85 ec 58 6a 10 8a 6d c4 cc 10 3a |..2....Xj..m...:| -000000b0 32 3e df 17 03 03 00 1d fd a8 94 23 3e 5d 96 b1 |2>.........#>]..| -000000c0 68 a6 24 55 bf 29 08 93 c7 7b 9b 05 fc 0b 97 ff |h.$U.)...{......| -000000d0 7c 93 b0 34 82 15 03 03 00 12 43 9f 44 e4 63 e7 ||..4......C.D.c.| -000000e0 3c 30 a5 da 9f 58 ac 01 e4 e2 a7 30 |<0...X.....0| +00000020 6f 2d 7c 2b 51 ed 14 ef 68 ca 42 c5 4c 2e ba 80 |o-|+Q...h.B.L...| +00000030 92 a2 2f 66 80 b9 56 b8 7b be 8f 7f 3e f1 92 8d |../f..V.{...>...| +00000040 bf a9 6d 23 58 04 c5 70 85 af a7 db e4 0f e5 87 |..m#X..p........| +00000050 6e aa a1 58 2a 7c 3f 9b 15 36 ac a3 00 49 38 16 |n..X*|?..6...I8.| +00000060 7e 51 5c e5 15 c0 58 7d 52 07 ff f3 10 e5 6f 3a |~Q\...X}R.....o:| +00000070 6f e9 dd 79 00 6d 46 a8 9d a3 6c 3b 1b 39 da 98 |o..y.mF...l;.9..| +00000080 5a 36 f1 64 1f a6 4b f8 2b ff 14 03 03 00 01 01 |Z6.d..K.+.......| +00000090 16 03 03 00 20 d1 e3 4a cc 06 f0 a9 b6 f7 66 2d |.... ..J......f-| +000000a0 3d 07 70 e2 93 39 a1 2a c2 72 f3 e7 b3 ca a0 77 |=.p..9.*.r.....w| +000000b0 ff cf 9b 0f 2f 17 03 03 00 1d 4b e5 61 b4 4c 6b |..../.....K.a.Lk| +000000c0 b0 ca 5e e4 96 7b f2 18 9a c2 19 b2 be c2 39 8b |..^..{........9.| +000000d0 ee 88 e7 53 27 3a 8d 15 03 03 00 12 2a 21 52 fc |...S':......*!R.| +000000e0 3b ae 6e fb ac 9c 42 bc 1a 7d 6b 8d 84 5d |;.n...B..}k..]| diff --git a/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven b/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven index 41ed6c4e1b0..73d54e65790 100644 --- a/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven +++ b/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 6d 01 00 00 69 03 03 5e 92 9d 30 27 |....m...i..^..0'| -00000010 23 da fa a0 07 30 03 c8 bd 60 f2 db e9 5e b3 fc |#....0...`...^..| -00000020 65 d3 c5 e1 49 35 63 86 53 ec 87 00 00 04 00 2f |e...I5c.S....../| +00000000 16 03 01 00 6d 01 00 00 69 03 03 5e 1c 8d af f1 |....m...i..^....| +00000010 4a ab 9d e1 c7 9c 85 c3 ab b8 84 84 ee 39 66 0b |J............9f.| +00000020 6d d7 b2 3b 7b bf 4e d1 90 a4 92 00 00 04 00 2f |m..;{.N......../| 00000030 00 ff 01 00 00 3c 00 16 00 00 00 17 00 00 00 0d |.....<..........| 00000040 00 30 00 2e 04 03 05 03 06 03 08 07 08 08 08 09 |.0..............| 00000050 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 06 01 |................| @@ -49,10 +49,10 @@ 00000260 ee b1 87 82 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c |.....l..s..Cw...| 00000270 f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d ae db 46 06 |....@.a.Lr+...F.| 00000280 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 |.M...>...B...=.`| -00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 23 0d 00 00 |.\!.;.......#...| -000002a0 1f 02 01 40 00 18 08 04 04 03 08 07 08 05 08 06 |...@............| -000002b0 04 01 05 01 06 01 05 03 06 03 02 01 02 03 00 00 |................| -000002c0 16 03 03 00 04 0e 00 00 00 |.........| +00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 1f 0d 00 00 |.\!.;...........| +000002a0 1b 02 01 40 00 14 08 04 04 03 08 07 08 05 08 06 |...@............| +000002b0 04 01 05 01 06 01 05 03 06 03 00 00 16 03 03 00 |................| +000002c0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) 00000000 16 03 03 02 0a 0b 00 02 06 00 02 03 00 02 00 30 |...............0| 00000010 82 01 fc 30 82 01 5e 02 09 00 9a 30 84 6c 26 35 |...0..^....0.l&5| @@ -87,40 +87,40 @@ 000001e0 be e8 91 b3 da 1a f5 5d a3 23 f5 26 8b 45 70 8d |.......].#.&.Ep.| 000001f0 65 62 9b 7e 01 99 3d 18 f6 10 9a 38 61 9b 2e 57 |eb.~..=....8a..W| 00000200 e4 fa cc b1 8a ce e2 23 a0 87 f0 e1 67 51 eb 16 |.......#....gQ..| -00000210 03 03 00 86 10 00 00 82 00 80 02 50 e4 cc a3 ad |...........P....| -00000220 fb 33 24 a1 b3 0a 7c 0f 00 e6 1a 06 2b 9f 1e 1f |.3$...|.....+...| -00000230 cc b8 b2 80 90 e7 86 20 32 40 06 ac 1b b0 41 b7 |....... 2@....A.| -00000240 0d 9c 4c 41 90 01 0b 7a 7e b2 b2 46 39 dc 51 25 |..LA...z~..F9.Q%| -00000250 98 e0 b9 ec 36 fc 08 64 f0 51 2a 41 e1 e5 61 3d |....6..d.Q*A..a=| -00000260 fc 07 c1 9b 1f 6f 48 d4 1f 46 bf 14 e6 92 61 1a |.....oH..F....a.| -00000270 bd 5f 25 1f 5e b1 3c ac c7 58 63 02 0d 3a e0 d6 |._%.^.<..Xc..:..| -00000280 e9 39 fc ec 59 66 2e 91 b2 65 37 eb a8 b5 60 d9 |.9..Yf...e7...`.| -00000290 49 05 9f 6f cc 71 79 bb f7 68 16 03 03 00 93 0f |I..o.qy..h......| -000002a0 00 00 8f 04 03 00 8b 30 81 88 02 42 00 bd 6a 29 |.......0...B..j)| -000002b0 21 06 1a e2 67 a1 7f 10 ab ca 3f 74 5a bc 2f 5d |!...g.....?tZ./]| -000002c0 53 d0 59 90 f2 d0 b4 2d 75 47 67 0b 67 55 b6 4f |S.Y....-uGg.gU.O| -000002d0 75 7d 32 d8 a7 25 c8 4c 90 0b 56 65 be 60 5d ee |u}2..%.L..Ve.`].| -000002e0 f7 b3 80 79 26 e5 25 1d 17 cc d8 36 fc 39 02 42 |...y&.%....6.9.B| -000002f0 01 c3 32 d6 f2 59 9e 10 c8 bf 7f 74 27 a1 00 df |..2..Y.....t'...| -00000300 55 05 f0 b3 81 a1 6e 10 a6 fb 0b e4 1c 3f 62 02 |U.....n......?b.| -00000310 c9 cc c2 4b 97 ad 0c 88 98 07 6c 98 6d db 9d 9f |...K......l.m...| -00000320 68 a0 56 ab 5f f9 a2 21 33 86 64 53 de 37 ff 68 |h.V._..!3.dS.7.h| -00000330 04 9d 14 03 03 00 01 01 16 03 03 00 40 85 14 34 |............@..4| -00000340 d6 74 a9 d0 0b e9 1f 34 a9 e9 6c cf 5a ac 88 22 |.t.....4..l.Z.."| -00000350 51 4d ae 16 05 dd 9e c1 36 5e e3 cf b1 5a b5 48 |QM......6^...Z.H| -00000360 6c 24 b1 d6 fb 7f 03 6a 98 41 90 de 6d c7 b2 49 |l$.....j.A..m..I| -00000370 d9 a3 c7 45 ff 18 7c f7 a4 cf 05 59 87 |...E..|....Y.| +00000210 03 03 00 86 10 00 00 82 00 80 b1 e6 1d 71 51 c1 |.............qQ.| +00000220 3a bd 0a 32 95 14 0c 83 7a 2b ec 89 24 f2 29 d8 |:..2....z+..$.).| +00000230 72 84 ae 13 33 90 58 93 b6 46 6c 54 11 54 5b d3 |r...3.X..FlT.T[.| +00000240 59 da 02 4a de 2a 56 67 04 32 3b 44 6b ac 6d 6c |Y..J.*Vg.2;Dk.ml| +00000250 c5 de 9d b2 9e 7b ec 27 05 9d 47 6d a1 0b 50 71 |.....{.'..Gm..Pq| +00000260 ea 19 cc 60 5e db 6c 2f 06 b7 6e ce 51 bf 93 a9 |...`^.l/..n.Q...| +00000270 0e c7 85 c1 83 d2 ac fe 6a d2 a9 bd b3 54 4f 45 |........j....TOE| +00000280 4b e4 40 68 fb 30 21 ec 1c fc 76 a6 db 8b e1 46 |K.@h.0!...v....F| +00000290 8c 0c 56 1f c0 e5 9b 2c 54 eb 16 03 03 00 93 0f |..V....,T.......| +000002a0 00 00 8f 04 03 00 8b 30 81 88 02 42 01 11 9a de |.......0...B....| +000002b0 07 19 df 8b d0 56 e7 b5 b0 d2 d4 c1 32 58 93 88 |.....V......2X..| +000002c0 ea a6 73 86 f9 e6 be b5 c5 1f d6 0d da 28 59 89 |..s..........(Y.| +000002d0 21 73 fe e8 30 b9 f0 d1 01 d3 e0 54 79 a6 67 0d |!s..0......Ty.g.| +000002e0 84 88 94 2c b9 b6 0e 19 06 34 cc f1 5f 01 02 42 |...,.....4.._..B| +000002f0 00 fe 02 83 e8 46 a8 5f ef 5a f0 e1 6f 3f 73 b9 |.....F._.Z..o?s.| +00000300 0f a1 64 db a7 c4 fb 1e 9f ac da 33 ac a2 7f ff |..d........3....| +00000310 64 c1 26 37 17 41 c0 5e f4 37 5c 76 23 7d 92 3a |d.&7.A.^.7\v#}.:| +00000320 ea 35 7f 83 03 7b a4 65 44 5d fb 84 08 39 c7 90 |.5...{.eD]...9..| +00000330 cc 4a 14 03 03 00 01 01 16 03 03 00 40 7b 06 98 |.J..........@{..| +00000340 ff f7 d5 a1 68 60 23 25 bc df 12 27 7f 64 1e c8 |....h`#%...'.d..| +00000350 bc 6d 26 28 29 d0 9f 56 6a f1 5b cd 4e 17 6c 32 |.m&()..Vj.[.N.l2| +00000360 15 b9 7a 55 02 9b 66 1c e3 97 40 26 69 7b e7 02 |..zU..f...@&i{..| +00000370 b0 37 d1 ec ed 96 2e 92 5a 5f 90 c1 be |.7......Z_...| >>> Flow 4 (server to client) 00000000 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 00 |..........@.....| -00000010 00 00 00 00 00 00 00 00 00 00 00 63 1a 77 66 2a |...........c.wf*| -00000020 49 3a b2 17 83 74 e1 d9 70 96 de 01 84 09 f4 88 |I:...t..p.......| -00000030 c3 e7 3b 65 11 6f 13 32 b8 b4 f4 41 ca 6a d6 d7 |..;e.o.2...A.j..| -00000040 51 a3 a1 f0 2d 5b b4 55 29 f9 d3 17 03 03 00 40 |Q...-[.U)......@| +00000010 00 00 00 00 00 00 00 00 00 00 00 0f e2 df ef c7 |................| +00000020 0e 11 83 70 ba a8 fa 90 e3 d5 df 76 dd 7a f1 63 |...p.......v.z.c| +00000030 ca a3 12 c7 42 45 ae 1a a3 0f 3b 4c 46 52 91 8e |....BE....;LFR..| +00000040 bf df 21 be cb ed 93 12 8a ba 88 17 03 03 00 40 |..!............@| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000060 d7 30 0f 03 89 22 4c 19 5f 06 a7 4b 95 59 91 52 |.0..."L._..K.Y.R| -00000070 2a 65 ab 99 cb 71 99 8b 13 82 44 92 6b ff 59 07 |*e...q....D.k.Y.| -00000080 28 ca 01 68 ab ad ba ee 6c 6a 19 0b e5 6d 82 24 |(..h....lj...m.$| +00000060 12 fd 68 02 2d 6e aa 2f df e4 0b a1 2c 13 e1 23 |..h.-n./....,..#| +00000070 f9 78 4b 18 a3 1f 28 78 4d f6 25 83 4c 0c 8c df |.xK...(xM.%.L...| +00000080 8b ed a9 b2 87 8c 95 e3 87 8e 71 ad d9 23 05 91 |..........q..#..| 00000090 15 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -000000a0 00 00 00 00 00 fc 07 f4 d4 bb 24 a3 f1 cf dc 3c |..........$....<| -000000b0 ac 14 63 50 32 34 fd 73 c0 eb f2 78 7b 3b ea 58 |..cP24.s...x{;.X| -000000c0 cc 3e ff 7f e5 |.>...| +000000a0 00 00 00 00 00 80 9a 8c 0e 27 b9 7a f9 61 a4 a6 |.........'.z.a..| +000000b0 4e c9 24 02 ce 1c 93 5c 5a 7a c9 1e 5f b2 a1 9b |N.$....\Zz.._...| +000000c0 e3 0d 47 85 ab |..G..| diff --git a/testdata/Server-TLSv12-ClientAuthRequestedAndEd25519Given b/testdata/Server-TLSv12-ClientAuthRequestedAndEd25519Given index f8cc96058df..4ca8a034ed2 100644 --- a/testdata/Server-TLSv12-ClientAuthRequestedAndEd25519Given +++ b/testdata/Server-TLSv12-ClientAuthRequestedAndEd25519Given @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 6d 01 00 00 69 03 03 8a fe ad ad 75 |....m...i......u| -00000010 e4 8c bf bf b7 b6 66 14 92 eb 84 85 9c c8 a7 66 |......f........f| -00000020 04 2a d0 63 5e a6 bf 85 e9 4f 49 00 00 04 00 2f |.*.c^....OI..../| +00000000 16 03 01 00 6d 01 00 00 69 03 03 73 b2 f2 a9 ed |....m...i..s....| +00000010 88 e0 79 65 b4 3b 58 0d b2 d8 ab cf d7 12 12 c6 |..ye.;X.........| +00000020 99 f9 36 75 d3 f8 3e 94 cf 39 25 00 00 04 00 2f |..6u..>..9%..../| 00000030 00 ff 01 00 00 3c 00 16 00 00 00 17 00 00 00 0d |.....<..........| 00000040 00 30 00 2e 04 03 05 03 06 03 08 07 08 08 08 09 |.0..............| 00000050 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 06 01 |................| @@ -49,10 +49,10 @@ 00000260 ee b1 87 82 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c |.....l..s..Cw...| 00000270 f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d ae db 46 06 |....@.a.Lr+...F.| 00000280 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 |.M...>...B...=.`| -00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 23 0d 00 00 |.\!.;.......#...| -000002a0 1f 02 01 40 00 18 08 04 04 03 08 07 08 05 08 06 |...@............| -000002b0 04 01 05 01 06 01 05 03 06 03 02 01 02 03 00 00 |................| -000002c0 16 03 03 00 04 0e 00 00 00 |.........| +00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 1f 0d 00 00 |.\!.;...........| +000002a0 1b 02 01 40 00 14 08 04 04 03 08 07 08 05 08 06 |...@............| +000002b0 04 01 05 01 06 01 05 03 06 03 00 00 16 03 03 00 |................| +000002c0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) 00000000 16 03 03 01 3c 0b 00 01 38 00 01 35 00 01 32 30 |....<...8..5..20| 00000010 82 01 2e 30 81 e1 a0 03 02 01 02 02 10 17 d1 81 |...0............| @@ -74,36 +74,36 @@ 00000110 8a 4e 34 40 39 d6 b3 10 dc 19 fe a0 22 71 b3 f5 |.N4@9......."q..| 00000120 8f a1 58 0d cd f4 f1 85 24 bf e6 3d 14 df df ed |..X.....$..=....| 00000130 0e e1 17 d8 11 a2 60 d0 8a 37 23 2a c2 46 aa 3a |......`..7#*.F.:| -00000140 08 16 03 03 00 86 10 00 00 82 00 80 77 8b 9f 34 |............w..4| -00000150 b4 db a7 0d 5b ed 1b 2f 4a 41 64 f5 ce 4a 00 7c |....[../JAd..J.|| -00000160 91 32 b3 cf 61 18 41 04 ae fa 3b 14 de 19 0e 64 |.2..a.A...;....d| -00000170 f9 ec 75 a6 48 7e 28 57 26 f5 1c 75 1d 42 73 fc |..u.H~(W&..u.Bs.| -00000180 11 51 2b ef e5 08 83 ac 17 ec 78 b8 5b 14 84 c9 |.Q+.......x.[...| -00000190 bc 7f 22 fd 54 69 7a 82 36 c7 21 bc d6 04 c4 e7 |..".Tiz.6.!.....| -000001a0 bc 48 c8 72 56 5d 1e 65 41 21 0a 26 85 a0 d8 c3 |.H.rV].eA!.&....| -000001b0 50 f0 b6 07 25 ee 79 b8 f5 e6 17 85 d4 09 e7 d7 |P...%.y.........| -000001c0 ab 8f 17 cb c2 13 a0 5a 50 cb e4 a7 16 03 03 00 |.......ZP.......| -000001d0 48 0f 00 00 44 08 07 00 40 b7 24 50 46 db d4 8c |H...D...@.$PF...| -000001e0 68 17 f5 5e 79 a9 80 8c 40 23 92 33 4e 1e cc ee |h..^y...@#.3N...| -000001f0 d5 35 4d b8 2a 52 f0 7f 50 8e c6 d5 5f bc 08 35 |.5M.*R..P..._..5| -00000200 a2 6d db cb 96 52 ec 92 c7 62 c7 59 ab d8 6f 9d |.m...R...b.Y..o.| -00000210 d7 46 35 71 28 41 89 59 02 14 03 03 00 01 01 16 |.F5q(A.Y........| -00000220 03 03 00 40 3e 12 44 bc c6 3d 88 71 ba d3 0c 26 |...@>.D..=.q...&| -00000230 20 72 b0 7f 25 83 9f fd 77 c1 f5 1e 47 28 2e 60 | r..%...w...G(.`| -00000240 53 e0 ac 52 e8 94 e4 87 90 3f af f3 a4 c0 d3 ba |S..R.....?......| -00000250 fe b7 06 54 f7 13 33 36 47 8f 5e 45 22 84 18 3a |...T..36G.^E"..:| -00000260 1f 14 21 85 |..!.| +00000140 08 16 03 03 00 86 10 00 00 82 00 80 1c aa 0a c6 |................| +00000150 76 22 2b bc 67 c7 db 5a 59 0c 2b 1d 1a 66 9b c5 |v"+.g..ZY.+..f..| +00000160 55 ac 80 bf 23 11 68 96 82 df 44 cf bc 44 4f 54 |U...#.h...D..DOT| +00000170 ce 0c 32 01 59 5e 3e a8 28 e1 33 7d 7d fb 2a 87 |..2.Y^>.(.3}}.*.| +00000180 53 d1 32 25 b8 29 5a 5e 45 24 4d a8 47 58 bc 9c |S.2%.)Z^E$M.GX..| +00000190 6f f3 61 a9 ca e0 ad 32 88 04 1a da 83 ff fd 31 |o.a....2.......1| +000001a0 84 65 9e 33 bb 79 d4 71 55 52 bc 57 fd 2e d5 98 |.e.3.y.qUR.W....| +000001b0 46 b9 dc 74 58 7c c9 25 44 3c 07 97 5d bc 65 b5 |F..tX|.%D<..].e.| +000001c0 b5 46 50 fa 52 f9 45 d7 0f f5 d2 4e 16 03 03 00 |.FP.R.E....N....| +000001d0 48 0f 00 00 44 08 07 00 40 e2 1c ab 11 6c 52 e6 |H...D...@....lR.| +000001e0 e8 7f 67 f0 6e 6a e4 a8 4f 25 89 31 d7 f8 dd 6f |..g.nj..O%.1...o| +000001f0 fd c7 84 e9 59 6b 77 b6 3b fb bc b3 d6 a7 96 4c |....Ykw.;......L| +00000200 2f 54 d2 cf 6b 06 5f a5 69 b6 85 0e a9 a2 90 aa |/T..k._.i.......| +00000210 c4 b2 89 17 b3 c7 b9 73 00 14 03 03 00 01 01 16 |.......s........| +00000220 03 03 00 40 45 8d 48 5b 23 74 21 05 ae 22 ce c0 |...@E.H[#t!.."..| +00000230 8a 05 9a 15 7e fb 61 73 dd 45 fd d0 97 a4 ca f5 |....~.as.E......| +00000240 84 f0 01 c4 e4 44 78 c2 14 4f b6 27 0f e8 5a 9d |.....Dx..O.'..Z.| +00000250 69 7c 9b c4 c5 a3 4d 42 bf 2b 89 c6 a3 c2 ca 7a |i|....MB.+.....z| +00000260 d3 6c 5e 51 |.l^Q| >>> Flow 4 (server to client) 00000000 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 00 |..........@.....| -00000010 00 00 00 00 00 00 00 00 00 00 00 d4 e6 b8 6f 53 |..............oS| -00000020 6a d9 37 2b a4 95 9f 04 e5 99 2f f9 9a 16 fd a7 |j.7+....../.....| -00000030 2d 39 d9 aa 7c 26 9e 44 4b 7f 8f d5 c6 24 4d ac |-9..|&.DK....$M.| -00000040 13 ca 8a 45 1e 66 dc 9a bf 76 22 17 03 03 00 40 |...E.f...v"....@| +00000010 00 00 00 00 00 00 00 00 00 00 00 d0 d7 ea c0 57 |...............W| +00000020 b8 c4 0e ad 2b ba 7e f7 40 0e 92 42 0b c1 55 38 |....+.~.@..B..U8| +00000030 89 ac d8 9f 46 96 89 c8 a0 06 e7 84 ac 42 6f a8 |....F........Bo.| +00000040 e2 67 49 fe 5b 2f 66 3e 47 c3 14 17 03 03 00 40 |.gI.[/f>G......@| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000060 3f 5c 60 f8 22 7b aa 82 38 c4 4a 2e 07 50 cb 6c |?\`."{..8.J..P.l| -00000070 3f 6f a9 39 bf 21 ce 7a 30 72 03 90 ec bc 9c 18 |?o.9.!.z0r......| -00000080 1f a9 7f 82 3a d9 46 d9 d8 b8 77 65 e8 b3 e7 f5 |....:.F...we....| +00000060 95 78 c4 75 cf 05 a9 ce aa 85 0b 8e 4e fc 4b dc |.x.u........N.K.| +00000070 59 70 3e 68 85 68 97 9a eb 22 22 3a 8c 61 91 a4 |Yp>h.h..."":.a..| +00000080 89 06 bd 9e fc 8d 1d 4b ed fe 4b d6 e7 0a 6e 2b |.......K..K...n+| 00000090 15 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -000000a0 00 00 00 00 00 6d 29 d4 87 0a b4 1d b4 9d f4 12 |.....m).........| -000000b0 bc 3d a3 1b 79 21 85 0d e7 10 64 92 40 39 05 99 |.=..y!....d.@9..| -000000c0 c8 a7 dd ef 0e |.....| +000000a0 00 00 00 00 00 92 d4 46 1f 6b d5 63 a7 95 0d c2 |.......F.k.c....| +000000b0 2f a9 a2 5f 0d 70 8f a5 31 e3 5c 1d fa ac f6 2e |/.._.p..1.\.....| +000000c0 02 6d e8 9f 95 |.m...| diff --git a/testdata/Server-TLSv12-ClientAuthRequestedAndGiven b/testdata/Server-TLSv12-ClientAuthRequestedAndGiven index cc6450a4ce8..585e6af6579 100644 --- a/testdata/Server-TLSv12-ClientAuthRequestedAndGiven +++ b/testdata/Server-TLSv12-ClientAuthRequestedAndGiven @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 6d 01 00 00 69 03 03 e9 31 0f d0 25 |....m...i...1..%| -00000010 ef 25 a7 1a 9b 8c 4b a3 ca 2b a6 54 89 1c e1 68 |.%....K..+.T...h| -00000020 6f b2 b2 60 6f 8a dc 87 24 8c 7b 00 00 04 00 2f |o..`o...$.{..../| +00000000 16 03 01 00 6d 01 00 00 69 03 03 0e c0 95 b1 0b |....m...i.......| +00000010 7b b5 57 cc 04 e7 03 d0 66 8d ee 9d da 65 dc 74 |{.W.....f....e.t| +00000020 0d de 11 47 38 cd 19 12 f4 06 17 00 00 04 00 2f |...G8........../| 00000030 00 ff 01 00 00 3c 00 16 00 00 00 17 00 00 00 0d |.....<..........| 00000040 00 30 00 2e 04 03 05 03 06 03 08 07 08 08 08 09 |.0..............| 00000050 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 06 01 |................| @@ -49,10 +49,10 @@ 00000260 ee b1 87 82 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c |.....l..s..Cw...| 00000270 f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d ae db 46 06 |....@.a.Lr+...F.| 00000280 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 |.M...>...B...=.`| -00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 23 0d 00 00 |.\!.;.......#...| -000002a0 1f 02 01 40 00 18 08 04 04 03 08 07 08 05 08 06 |...@............| -000002b0 04 01 05 01 06 01 05 03 06 03 02 01 02 03 00 00 |................| -000002c0 16 03 03 00 04 0e 00 00 00 |.........| +00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 1f 0d 00 00 |.\!.;...........| +000002a0 1b 02 01 40 00 14 08 04 04 03 08 07 08 05 08 06 |...@............| +000002b0 04 01 05 01 06 01 05 03 06 03 00 00 16 03 03 00 |................| +000002c0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) 00000000 16 03 03 01 fd 0b 00 01 f9 00 01 f6 00 01 f3 30 |...............0| 00000010 82 01 ef 30 82 01 58 a0 03 02 01 02 02 10 5c 19 |...0..X.......\.| @@ -86,40 +86,40 @@ 000001d0 ac 11 b1 28 56 be 1d cd 61 62 84 09 bf d6 80 c6 |...(V...ab......| 000001e0 45 8d 82 2c b4 d8 83 9b db c9 22 b7 2a 12 11 7b |E..,......".*..{| 000001f0 fa 02 3b c1 c9 ff ea c9 9d a8 49 d3 95 d7 d5 0e |..;.......I.....| -00000200 e5 35 16 03 03 00 86 10 00 00 82 00 80 29 51 da |.5...........)Q.| -00000210 8e 5c 3e fb 44 8a 0f 97 42 23 8b e2 73 cc e2 90 |.\>.D...B#..s...| -00000220 11 c4 98 01 e9 60 96 9e a9 96 30 c5 95 f8 56 0e |.....`....0...V.| -00000230 4a 2e 77 e7 7e 23 b7 49 31 c4 87 c5 69 c6 ca 6f |J.w.~#.I1...i..o| -00000240 ea 53 41 b4 2e 1e f6 0b 33 f5 e1 40 69 c0 91 6f |.SA.....3..@i..o| -00000250 88 c1 68 c8 18 99 6e fe b3 5f 9b ee f1 4a 76 41 |..h...n.._...JvA| -00000260 1f d1 05 f5 39 76 61 e6 a6 ea 75 0e 50 32 a1 19 |....9va...u.P2..| -00000270 20 6a 4c 5d 62 6e 2a 6e af f9 9c 38 b6 3a bc 86 | jL]bn*n...8.:..| -00000280 eb ac 6d d3 b5 48 30 11 4d 98 2e 61 34 16 03 03 |..m..H0.M..a4...| -00000290 00 88 0f 00 00 84 08 04 00 80 82 ed 3f da b5 50 |............?..P| -000002a0 d2 50 51 14 cf ee f7 b9 7b a9 0c 77 2f 88 42 0a |.PQ.....{..w/.B.| -000002b0 34 a9 5d e7 32 26 3a 28 87 49 fb c4 83 31 68 c6 |4.].2&:(.I...1h.| -000002c0 0d 32 d4 31 0a d1 d6 1e 6f 7f 89 93 bf b7 7c c7 |.2.1....o.....|.| -000002d0 95 f8 c3 69 d8 58 4e e4 76 07 36 84 b7 c3 e7 22 |...i.XN.v.6...."| -000002e0 01 4c 59 ae 89 95 bb e0 07 e0 31 6a e2 95 4c d4 |.LY.......1j..L.| -000002f0 01 54 9d 27 82 60 31 13 39 07 47 c2 0c 08 5c d4 |.T.'.`1.9.G...\.| -00000300 03 5a 6f d7 89 a0 67 5e 2d a0 11 03 bf 0e 35 d8 |.Zo...g^-.....5.| -00000310 d0 78 2f 1e d8 15 47 ce c9 d3 14 03 03 00 01 01 |.x/...G.........| -00000320 16 03 03 00 40 d0 0a 0e 93 dd 9a 51 4f a9 7f 5f |....@......QO.._| -00000330 93 a6 60 a6 f2 10 f1 bd bd ae 13 5d 11 b7 0d 1a |..`........]....| -00000340 3d 1e f3 0c b7 53 7c 10 ed fa 8c d7 3f 20 ec f2 |=....S|.....? ..| -00000350 7d e9 15 87 3d d3 05 21 3a bc a5 54 fa 40 3b 53 |}...=..!:..T.@;S| -00000360 41 7c ea c6 28 |A|..(| +00000200 e5 35 16 03 03 00 86 10 00 00 82 00 80 cc d2 66 |.5.............f| +00000210 37 df f1 5d cb 6f 1d 6b 64 ea 62 45 97 dd 47 f8 |7..].o.kd.bE..G.| +00000220 e5 a0 f6 84 46 9b 6c 5b c9 79 60 07 b0 d1 5a e6 |....F.l[.y`...Z.| +00000230 5c 1a 43 b1 04 9f f2 3d 7a 09 da e0 45 ea 30 8a |\.C....=z...E.0.| +00000240 5c 08 07 67 17 2e 55 f5 0a 13 96 5c 92 e5 61 66 |\..g..U....\..af| +00000250 92 fe c6 44 9c 4f 62 54 10 12 df f7 e4 11 74 f6 |...D.ObT......t.| +00000260 35 81 bb 55 4f ce 43 dc 7f 4d bc 4f 8b 0c ef 13 |5..UO.C..M.O....| +00000270 43 8a e5 80 dc 38 3e 8a f5 7b 5c 5d 1c 76 10 06 |C....8>..{\].v..| +00000280 3d c5 05 5b cb 9a 17 20 13 29 a5 36 5d 16 03 03 |=..[... .).6]...| +00000290 00 88 0f 00 00 84 08 04 00 80 a7 7f 2c 3b d1 82 |............,;..| +000002a0 8a 17 50 2a f6 c4 ac ce 47 1b 25 23 4b 0c d0 17 |..P*....G.%#K...| +000002b0 89 18 98 a6 e4 b8 51 70 6a 59 72 1a aa 68 e8 25 |......QpjYr..h.%| +000002c0 f5 4d 72 66 be bb 25 61 9b 36 e0 24 a5 34 e4 36 |.Mrf..%a.6.$.4.6| +000002d0 23 0a 36 a8 81 f4 19 62 98 2b af 1b f5 c4 55 d2 |#.6....b.+....U.| +000002e0 d5 65 58 b8 31 21 f4 fe ce 44 cc ea 77 8e 1d f7 |.eX.1!...D..w...| +000002f0 bc a4 4c e5 cc 90 10 f3 a0 8d 10 72 08 d4 50 1c |..L........r..P.| +00000300 88 82 a7 61 da cb 35 ba 26 3c 18 11 6c 14 d6 1a |...a..5.&<..l...| +00000310 7f 65 3d 2c 74 f0 92 a3 aa fd 14 03 03 00 01 01 |.e=,t...........| +00000320 16 03 03 00 40 f3 3a f0 23 48 35 41 7f d0 ed 22 |....@.:.#H5A..."| +00000330 5b 1a 47 71 60 08 b0 6b cd 32 56 c0 d0 05 90 b3 |[.Gq`..k.2V.....| +00000340 0b 35 3c 03 49 ec 06 5d b4 ce 1d 10 4e bc 75 bf |.5<.I..]....N.u.| +00000350 23 3b f1 d6 8f f6 f0 70 b6 94 8f 51 fd 4f 47 0b |#;.....p...Q.OG.| +00000360 e1 c9 ad c8 14 |.....| >>> Flow 4 (server to client) 00000000 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 00 |..........@.....| -00000010 00 00 00 00 00 00 00 00 00 00 00 a8 8e 30 08 f0 |.............0..| -00000020 87 7b 13 31 99 6d 7e 9a 9b 03 d3 6f 84 d8 d9 31 |.{.1.m~....o...1| -00000030 2b d2 aa d4 0e ae 6e 72 03 ac e7 7e 5c 22 cc ac |+.....nr...~\"..| -00000040 33 b5 df 04 b2 4a 2b 6f bb a1 6f 17 03 03 00 40 |3....J+o..o....@| +00000010 00 00 00 00 00 00 00 00 00 00 00 6e d3 79 f1 02 |...........n.y..| +00000020 4d 8e ad 3b 33 5a 92 10 55 79 94 b7 43 ed 08 c1 |M..;3Z..Uy..C...| +00000030 e1 5f 04 c6 01 82 ce 96 70 c7 97 8d cc 0a ca d3 |._......p.......| +00000040 46 d4 2f 9f b8 78 57 27 ee 14 aa 17 03 03 00 40 |F./..xW'.......@| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000060 50 9c 81 04 9b 1d 61 8a 30 9c 18 68 c7 e1 c9 f3 |P.....a.0..h....| -00000070 70 f0 1b b6 4a dd fc c7 e3 e3 20 e2 4d 6f 9f bf |p...J..... .Mo..| -00000080 17 b0 5e 5b 45 73 29 1e d4 30 b4 03 ca 8e 69 63 |..^[Es)..0....ic| +00000060 ed 9f 38 f6 99 84 f5 cf 5e ee 27 64 f7 29 3c 18 |..8.....^.'d.)<.| +00000070 a0 55 23 b7 db 4a 6d 2d 80 c9 75 a5 a3 1f 38 24 |.U#..Jm-..u...8$| +00000080 0a 99 18 0d 0b 5d 7d 03 f7 8d d2 55 fd 98 7f 69 |.....]}....U...i| 00000090 15 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -000000a0 00 00 00 00 00 28 ca 6a 4c 1b 3c 11 61 ce b2 58 |.....(.jL.<.a..X| -000000b0 94 e7 e4 7d c5 ce 51 03 c4 ae b5 4c 33 0b 3c 95 |...}..Q....L3.<.| -000000c0 ec b1 65 ea da |..e..| +000000a0 00 00 00 00 00 aa 43 ca 95 7d 1a 47 d5 0b 0e c7 |......C..}.G....| +000000b0 cc 61 3d 43 5b 69 05 a1 39 eb 03 52 41 05 54 e9 |.a=C[i..9..RA.T.| +000000c0 5d b6 ca 56 2c |]..V,| diff --git a/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given b/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given index 875fe1becb1..10949e5e3ba 100644 --- a/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given +++ b/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 6d 01 00 00 69 03 03 dc f3 c6 52 a4 |....m...i.....R.| -00000010 9a 9c 53 e0 5a 3c cc 4c 4f 09 32 7f f1 7c 86 6b |..S.Z<.LO.2..|.k| -00000020 75 59 68 a5 81 72 45 46 fb 94 a8 00 00 04 00 2f |uYh..rEF......./| +00000000 16 03 01 00 6d 01 00 00 69 03 03 c2 c7 15 c0 0f |....m...i.......| +00000010 0d fc 44 60 25 22 6c 4a ec f1 b0 66 5d c4 f3 bc |..D`%"lJ...f]...| +00000020 fe da b2 9a af 24 04 b7 bb 74 79 00 00 04 00 2f |.....$...ty..../| 00000030 00 ff 01 00 00 3c 00 16 00 00 00 17 00 00 00 0d |.....<..........| 00000040 00 30 00 2e 04 03 05 03 06 03 08 07 08 08 08 09 |.0..............| 00000050 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 06 01 |................| @@ -49,10 +49,10 @@ 00000260 ee b1 87 82 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c |.....l..s..Cw...| 00000270 f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d ae db 46 06 |....@.a.Lr+...F.| 00000280 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 |.M...>...B...=.`| -00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 23 0d 00 00 |.\!.;.......#...| -000002a0 1f 02 01 40 00 18 08 04 04 03 08 07 08 05 08 06 |...@............| -000002b0 04 01 05 01 06 01 05 03 06 03 02 01 02 03 00 00 |................| -000002c0 16 03 03 00 04 0e 00 00 00 |.........| +00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 1f 0d 00 00 |.\!.;...........| +000002a0 1b 02 01 40 00 14 08 04 04 03 08 07 08 05 08 06 |...@............| +000002b0 04 01 05 01 06 01 05 03 06 03 00 00 16 03 03 00 |................| +000002c0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) 00000000 16 03 03 01 fd 0b 00 01 f9 00 01 f6 00 01 f3 30 |...............0| 00000010 82 01 ef 30 82 01 58 a0 03 02 01 02 02 10 5c 19 |...0..X.......\.| @@ -86,40 +86,40 @@ 000001d0 ac 11 b1 28 56 be 1d cd 61 62 84 09 bf d6 80 c6 |...(V...ab......| 000001e0 45 8d 82 2c b4 d8 83 9b db c9 22 b7 2a 12 11 7b |E..,......".*..{| 000001f0 fa 02 3b c1 c9 ff ea c9 9d a8 49 d3 95 d7 d5 0e |..;.......I.....| -00000200 e5 35 16 03 03 00 86 10 00 00 82 00 80 b5 77 6b |.5............wk| -00000210 fa 10 fb df 48 8f e7 51 b4 cb 14 c5 48 bd 63 d6 |....H..Q....H.c.| -00000220 0e 19 d0 81 a8 5a d7 b5 43 84 35 85 37 b7 8d 2e |.....Z..C.5.7...| -00000230 c7 c8 70 4c f4 45 bf be 17 86 e7 40 1d 6f 88 2a |..pL.E.....@.o.*| -00000240 91 b5 aa aa 34 f7 9a f3 96 e4 dd 51 15 88 be f1 |....4......Q....| -00000250 80 a9 6f 94 ed c7 5d 28 66 b4 37 e8 22 4f 42 c3 |..o...](f.7."OB.| -00000260 b5 f0 2f dd 57 dc 8d e5 5a c0 9d fa ce 3c 7a 2d |../.W...Z....>> Flow 4 (server to client) 00000000 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 00 |..........@.....| -00000010 00 00 00 00 00 00 00 00 00 00 00 a2 b0 ad 7e 71 |..............~q| -00000020 0c 2c db df 4c b1 4f 19 e6 00 4f 11 ff 5e 4a c5 |.,..L.O...O..^J.| -00000030 c2 9d 8c 6c 03 50 12 3d 81 ec 44 5a 75 ba 2d 48 |...l.P.=..DZu.-H| -00000040 7a 74 c3 a3 68 5a 26 ee 7e f5 a2 17 03 03 00 40 |zt..hZ&.~......@| +00000010 00 00 00 00 00 00 00 00 00 00 00 0c 22 6e 84 b2 |............"n..| +00000020 a1 f9 18 62 3a 86 16 7e e6 17 3b 8e e5 88 b8 8e |...b:..~..;.....| +00000030 3c c5 08 11 8e 0a df df d4 69 bc 01 7d c8 63 33 |<........i..}.c3| +00000040 b5 15 bf 03 5e df 50 29 c5 c4 c2 17 03 03 00 40 |....^.P).......@| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000060 ad 1b 16 8e 39 99 64 7c c5 49 24 83 c4 4e f6 86 |....9.d|.I$..N..| -00000070 6b 5d 68 ae f4 0b 58 23 83 eb ab 01 52 4d 07 a1 |k]h...X#....RM..| -00000080 59 00 e8 dc a5 a1 6f 76 e2 e9 f2 e1 21 58 6b a0 |Y.....ov....!Xk.| +00000060 45 76 91 63 fa 48 9b c9 47 6a f6 7b fa 72 ab 78 |Ev.c.H..Gj.{.r.x| +00000070 4f cb c4 bb 68 78 7c 71 13 f9 47 32 33 59 d4 16 |O...hx|q..G23Y..| +00000080 83 fa 8e db 37 b6 cb d5 a1 1a e5 21 1b 50 a6 d3 |....7......!.P..| 00000090 15 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -000000a0 00 00 00 00 00 3c 6e a7 81 36 d0 8c 99 d8 f3 55 |.....>> Flow 1 (client to server) -00000000 16 03 01 00 6d 01 00 00 69 03 03 ac ea d9 49 98 |....m...i.....I.| -00000010 9a 0c 7c 86 64 7c 73 72 6d 79 3f 7b e9 11 8b 1d |..|.d|srmy?{....| -00000020 79 95 f5 f5 23 9f b2 f1 9c f4 b5 00 00 04 00 2f |y...#........../| +00000000 16 03 01 00 6d 01 00 00 69 03 03 f2 1b 6e dc ce |....m...i....n..| +00000010 fe af a8 4b 44 88 5f ba eb c5 d7 92 7e 69 d7 19 |...KD._.....~i..| +00000020 b3 32 d3 99 e6 be 1f 4f 94 04 e6 00 00 04 00 2f |.2.....O......./| 00000030 00 ff 01 00 00 3c 00 16 00 00 00 17 00 00 00 0d |.....<..........| 00000040 00 30 00 2e 04 03 05 03 06 03 08 07 08 08 08 09 |.0..............| 00000050 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01 06 01 |................| @@ -49,37 +49,37 @@ 00000260 ee b1 87 82 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c |.....l..s..Cw...| 00000270 f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d ae db 46 06 |....@.a.Lr+...F.| 00000280 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 |.M...>...B...=.`| -00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 23 0d 00 00 |.\!.;.......#...| -000002a0 1f 02 01 40 00 18 08 04 04 03 08 07 08 05 08 06 |...@............| -000002b0 04 01 05 01 06 01 05 03 06 03 02 01 02 03 00 00 |................| -000002c0 16 03 03 00 04 0e 00 00 00 |.........| +00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 1f 0d 00 00 |.\!.;...........| +000002a0 1b 02 01 40 00 14 08 04 04 03 08 07 08 05 08 06 |...@............| +000002b0 04 01 05 01 06 01 05 03 06 03 00 00 16 03 03 00 |................| +000002c0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) 00000000 16 03 03 00 07 0b 00 00 03 00 00 00 16 03 03 00 |................| -00000010 86 10 00 00 82 00 80 2e 37 44 fb d7 1d 2f 3d a5 |........7D.../=.| -00000020 1b 43 cf f4 1c cf 9d 95 fa be 9f 9d 96 8a 27 5d |.C............']| -00000030 7b be 19 10 bd 5e 9a 3e 49 49 d2 af 85 07 70 f8 |{....^.>II....p.| -00000040 c8 4f 69 02 ff 4e 9d ee f4 0d 4d 54 a1 aa 61 a3 |.Oi..N....MT..a.| -00000050 e0 cc db a7 2c 46 80 6e eb 10 fb cd 2e 3b c5 50 |....,F.n.....;.P| -00000060 2b a5 d9 a0 bf 01 d2 f8 d8 51 2b ad 40 6f c6 6f |+........Q+.@o.o| -00000070 0e 30 53 27 73 89 b7 1b c1 28 ff ff 18 4c fa 6f |.0S's....(...L.o| -00000080 fa 5f 16 b3 38 36 9f f4 07 74 ca bb bb c2 3f aa |._..86...t....?.| -00000090 0d e7 42 24 fb f8 4c 14 03 03 00 01 01 16 03 03 |..B$..L.........| -000000a0 00 40 19 02 9e 3a ce b9 38 40 ce d6 3b 87 b2 f6 |.@...:..8@..;...| -000000b0 1b 7d ee 76 62 f8 6e 04 80 8f cb 1b f7 1e 1d a6 |.}.vb.n.........| -000000c0 50 8a 59 b1 ad 7d c5 9d 2f 2d 14 56 2e e5 3b b3 |P.Y..}../-.V..;.| -000000d0 db da 7e 37 10 97 71 91 d3 7b 93 f6 64 a4 d7 8b |..~7..q..{..d...| -000000e0 d2 f0 |..| +00000010 86 10 00 00 82 00 80 36 1c ba 9d 08 27 52 8b f7 |.......6....'R..| +00000020 24 d9 e6 18 d7 21 75 1d 76 e0 13 a0 35 d5 08 7d |$....!u.v...5..}| +00000030 c1 8e 3f b2 aa 10 b4 f9 d4 77 e6 cd b3 92 94 0e |..?......w......| +00000040 7a c9 0b 5f e2 34 88 ad fc 02 1b 84 10 ff e8 2a |z.._.4.........*| +00000050 dd 2d 82 5c bb ca 15 f8 73 74 ad dd 9f 9d e7 38 |.-.\....st.....8| +00000060 7c cd 74 8e 37 0f 87 62 cf 30 68 8a e2 15 9d d2 ||.t.7..b.0h.....| +00000070 43 4b e3 29 69 e4 db 94 9b 5a 7c c6 9b e8 7d 26 |CK.)i....Z|...}&| +00000080 4b a8 4a 28 c1 47 cf 15 7b 22 a2 1d 6b ac 16 e4 |K.J(.G..{"..k...| +00000090 e1 62 6e be 9a 05 67 14 03 03 00 01 01 16 03 03 |.bn...g.........| +000000a0 00 40 98 4e 3d 6c 72 d8 7f 81 b6 b8 ed 32 2e 98 |.@.N=lr......2..| +000000b0 8d fc c1 1d 56 97 82 ef 3f 7c 86 79 e3 27 06 ed |....V...?|.y.'..| +000000c0 87 c4 28 2d 6b f1 b1 88 d0 67 34 64 ba e1 d9 34 |..(-k....g4d...4| +000000d0 a4 2c ff e0 b2 38 21 5d 04 64 99 a4 34 62 aa 81 |.,...8!].d..4b..| +000000e0 cf 21 |.!| >>> Flow 4 (server to client) 00000000 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 00 |..........@.....| -00000010 00 00 00 00 00 00 00 00 00 00 00 46 c8 31 06 11 |...........F.1..| -00000020 01 8e df b0 e7 cc 16 d3 97 2e a2 68 e7 a4 d1 0f |...........h....| -00000030 91 71 dd ba db 97 20 45 60 c2 47 c7 ee 56 c4 68 |.q.... E`.G..V.h| -00000040 a4 b1 05 09 e2 68 4d 54 fa ff 01 17 03 03 00 40 |.....hMT.......@| +00000010 00 00 00 00 00 00 00 00 00 00 00 66 31 30 4e 0f |...........f10N.| +00000020 de bd de 72 65 0c 74 ab 64 d8 59 47 fc 6b ad d8 |...re.t.d.YG.k..| +00000030 73 24 da 77 62 ba 0a 8c 69 d3 c4 6f 89 ef 5b 92 |s$.wb...i..o..[.| +00000040 d3 ca 3b e8 67 2b 7c bf 39 7c 8b 17 03 03 00 40 |..;.g+|.9|.....@| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000060 79 bf ad 63 e3 11 2b d0 41 0e 24 85 92 c4 9b b5 |y..c..+.A.$.....| -00000070 b2 d3 2e fc aa 46 84 85 a7 37 90 fc f0 2b 5a 7e |.....F...7...+Z~| -00000080 28 9f 2e 57 1d 8f c3 ca eb 40 32 79 af 4b b8 28 |(..W.....@2y.K.(| +00000060 5c a8 b1 1c 7e e1 76 b8 d0 0c 4d 3d 3f 36 a8 26 |\...~.v...M=?6.&| +00000070 66 00 dd 47 3c ae 1c 8b 6f b0 6b 80 75 c4 0b 7e |f..G<...o.k.u..~| +00000080 ee fb 8c fe 2f 2f 65 1b 9b e1 72 a9 ac 8f cf da |....//e...r.....| 00000090 15 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -000000a0 00 00 00 00 00 8b 6c 27 b8 ff f9 ea ca 68 75 54 |......l'.....huT| -000000b0 bf bf a7 f4 b1 58 a5 b3 31 01 4d c7 85 58 31 d4 |.....X..1.M..X1.| -000000c0 e7 da 7e 77 68 |..~wh| +000000a0 00 00 00 00 00 9d 96 95 12 3b 42 41 a8 30 b2 8c |.........;BA.0..| +000000b0 3d 18 f6 27 b7 77 30 d9 29 0c 68 ec 2b 09 26 91 |=..'.w0.).h.+.&.| +000000c0 23 0c e2 10 07 |#....| diff --git a/testdata/Server-TLSv12-ExportKeyingMaterial b/testdata/Server-TLSv12-ExportKeyingMaterial index ff8d63568d7..a670f05d58c 100644 --- a/testdata/Server-TLSv12-ExportKeyingMaterial +++ b/testdata/Server-TLSv12-ExportKeyingMaterial @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 89 01 00 00 85 03 03 ad 13 87 9e b3 |................| -00000010 c7 71 bb bf be e3 b9 80 3f 17 bf 41 37 95 22 e6 |.q......?..A7.".| -00000020 f2 98 a9 15 62 1d 65 06 69 ea 53 00 00 04 c0 14 |....b.e.i.S.....| +00000000 16 03 01 00 89 01 00 00 85 03 03 ba bc af a2 f7 |................| +00000010 a2 a0 19 81 f0 3b c0 76 56 10 e6 95 ce ab 89 82 |.....;.vV.......| +00000020 d5 27 b3 78 69 f2 d3 5b 2d 97 77 00 00 04 c0 14 |.'.xi..[-.w.....| 00000030 00 ff 01 00 00 58 00 0b 00 04 03 00 01 02 00 0a |.....X..........| 00000040 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 00 23 |...............#| 00000050 00 00 00 16 00 00 00 17 00 00 00 0d 00 30 00 2e |.............0..| @@ -54,43 +54,43 @@ 000002a0 fa e7 16 03 03 00 ac 0c 00 00 a8 03 00 1d 20 2f |.............. /| 000002b0 e5 7d a3 47 cd 62 43 15 28 da ac 5f bb 29 07 30 |.}.G.bC.(.._.).0| 000002c0 ff f6 84 af c4 cf c2 ed 90 99 5f 58 cb 3b 74 08 |.........._X.;t.| -000002d0 04 00 80 41 24 c2 f9 e8 40 21 47 3c ab 8e 99 5e |...A$...@!G<...^| -000002e0 0e 08 27 86 6c 29 ae 36 ed 21 18 23 67 cc f7 d5 |..'.l).6.!.#g...| -000002f0 3f e2 2c 48 2f 3d 47 e5 af d5 61 86 0f 91 69 30 |?.,H/=G...a...i0| -00000300 cf 84 56 f2 d3 c1 9a a3 a1 a2 c8 ef 4d 33 de 12 |..V.........M3..| -00000310 d6 46 55 5b c6 6a 65 a5 36 b5 51 5b db 04 25 aa |.FU[.je.6.Q[..%.| -00000320 1c af a0 b0 2d ee db 00 c5 ad 1b 94 d3 90 11 86 |....-...........| -00000330 10 83 35 41 65 9e a4 2c a9 ee 37 ac d4 cc 05 76 |..5Ae..,..7....v| -00000340 92 59 f9 51 68 79 6d 9e 5f eb 80 47 3a 7c e0 74 |.Y.Qhym._..G:|.t| -00000350 ac f5 36 16 03 03 00 04 0e 00 00 00 |..6.........| +000002d0 04 00 80 59 86 4b 13 6a 34 c5 bd 82 a9 ae d8 bf |...Y.K.j4.......| +000002e0 7b 9b f2 c2 0a aa 81 99 25 d8 14 68 32 49 00 ab |{.......%..h2I..| +000002f0 b0 18 4e 05 50 31 0e 25 f3 db 5f 93 45 13 a4 3e |..N.P1.%.._.E..>| +00000300 38 76 a1 0d d8 87 0f 85 81 0c af cb cd e8 43 cd |8v............C.| +00000310 67 01 f2 15 e0 7e 11 44 2a 8d ba 12 33 94 01 c9 |g....~.D*...3...| +00000320 81 bd 99 0d 9f 84 04 a0 7c 0f 24 dd 79 34 53 ba |........|.$.y4S.| +00000330 fa ae 32 16 0c 30 6c f0 76 5d 75 c1 ba d9 35 86 |..2..0l.v]u...5.| +00000340 b0 94 2f 1f 35 7f 1c 1f 92 10 c5 88 55 cc 2c 5b |../.5.......U.,[| +00000350 89 b3 58 16 03 03 00 04 0e 00 00 00 |..X.........| >>> Flow 3 (client to server) -00000000 16 03 03 00 25 10 00 00 21 20 d2 ed 26 ce 1f 5d |....%...! ..&..]| -00000010 50 b8 f4 19 fc 63 e2 b6 3d 7d 39 54 c2 c1 61 a9 |P....c..=}9T..a.| -00000020 2a 82 d8 e3 a9 2f 22 8c b2 18 14 03 03 00 01 01 |*..../".........| -00000030 16 03 03 00 40 82 78 f0 1e e6 03 20 67 66 4e d6 |....@.x.... gfN.| -00000040 93 25 69 9e 38 c6 dd 17 92 02 18 7f 5f 9c 9c f0 |.%i.8......._...| -00000050 a3 f7 45 d3 ba 82 e3 01 38 e5 4f cf 8b 0e 77 6e |..E.....8.O...wn| -00000060 91 99 83 e0 f1 3d e8 a1 39 d4 ea b3 2e 1c 67 59 |.....=..9.....gY| -00000070 c5 5d 83 30 dc |.].0.| +00000000 16 03 03 00 25 10 00 00 21 20 7b e4 41 19 92 fc |....%...! {.A...| +00000010 73 0d 4b 88 2d bd e2 a1 f3 6a ad 5b 8c 10 9b 9e |s.K.-....j.[....| +00000020 46 7a c0 81 96 03 0b 4c 03 7d 14 03 03 00 01 01 |Fz.....L.}......| +00000030 16 03 03 00 40 e5 e4 11 bd 7c 54 b8 be 80 44 82 |....@....|T...D.| +00000040 03 22 51 7f f5 de 92 20 7d 34 b0 9a 7b 17 ce 12 |."Q.... }4..{...| +00000050 b4 75 44 9b 37 b1 cd 1f 0c f8 86 4c 75 d9 1e 75 |.uD.7......Lu..u| +00000060 d3 7e bf 6e 3e 9d be 3b c1 47 11 6d f1 09 10 2e |.~.n>..;.G.m....| +00000070 d0 0d cd 1f 26 |....&| >>> Flow 4 (server to client) -00000000 16 03 03 00 83 04 00 00 7f 00 00 00 00 00 79 00 |..............y.| +00000000 16 03 03 00 85 04 00 00 81 00 00 00 00 00 7b 00 |..............{.| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 |................| -00000020 6f 2d 70 97 51 ed 14 ef 68 ca 42 c5 4c ff 6b a2 |o-p.Q...h.B.L.k.| -00000030 3e f9 07 a9 91 ad 0d c7 23 bd 7f 04 cf 4d a0 eb |>.......#....M..| -00000040 58 e0 e1 37 73 d3 cc 4b e2 7f 6d 3a 2e 47 b5 b4 |X..7s..K..m:.G..| -00000050 60 dd e6 9a ea 30 1e 6e 7a e7 8e 84 ca 49 38 16 |`....0.nz....I8.| -00000060 7e 51 5c e5 15 c0 58 7d a2 ba e2 ca 90 24 11 ea |~Q\...X}.....$..| -00000070 53 9c 7d cb 47 13 91 cf f6 05 f0 2f db 57 1a 40 |S.}.G....../.W.@| -00000080 57 b0 d4 97 8e 23 7e f5 14 03 03 00 01 01 16 03 |W....#~.........| -00000090 03 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| -000000a0 00 00 00 72 43 0e f2 f3 bb e8 6d 3b f2 ff 96 53 |...rC.....m;...S| -000000b0 12 36 07 e0 f0 17 35 e7 52 87 a3 12 7b 53 d4 83 |.6....5.R...{S..| -000000c0 cc d2 d3 06 4b e2 3a fc 38 4f a7 75 d8 3c 6a a4 |....K.:.8O.u..u.L| +00000040 72 93 e7 50 f9 17 7b 90 0d 70 e7 b8 5c 7b 93 81 |r..P..{..p..\{..| +00000050 66 e1 64 b0 a9 25 34 84 bc 49 42 f5 13 49 38 16 |f.d..%4..IB..I8.| +00000060 7e 51 5c e5 15 c0 58 7d 52 07 da 2f 56 e0 05 62 |~Q\...X}R../V..b| +00000070 16 1e 0c 62 76 cc b5 ff 25 a1 c3 2e 1f 28 71 29 |...bv...%....(q)| +00000080 9c d0 c1 0a 05 dd 22 57 7a 19 14 03 03 00 01 01 |......"Wz.......| +00000090 16 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| +000000a0 00 00 00 00 00 9a 9d 01 bc db e5 21 c2 d2 f8 d8 |...........!....| +000000b0 b8 c1 86 87 fc b6 79 df 69 be d2 97 cd 69 76 9d |......y.i....iv.| +000000c0 04 95 7f d4 e8 c7 78 52 c0 d1 ac bc 55 08 57 a7 |......xR....U.W.| +000000d0 9c 28 d4 7b df 17 03 03 00 40 00 00 00 00 00 00 |.(.{.....@......| +000000e0 00 00 00 00 00 00 00 00 00 00 81 f0 80 62 50 04 |.............bP.| +000000f0 7f 86 ee f1 73 46 b0 c3 c1 0d 92 ab dd 4f b9 2a |....sF.......O.*| +00000100 58 4f 17 9f be 60 ff 8b 1a d6 e3 94 aa dc 8b 60 |XO...`.........`| +00000110 d8 2b 4c c8 5a 69 18 74 65 49 15 03 03 00 30 00 |.+L.Zi.teI....0.| +00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 18 |................| +00000130 36 4f 05 fe ab 47 92 6e 48 42 4f 06 c4 f3 e1 70 |6O...G.nHBO....p| +00000140 c6 66 00 1d aa 84 6b 2b d4 23 37 c9 42 fb 6d |.f....k+.#7.B.m| diff --git a/testdata/Server-TLSv12-IssueTicket b/testdata/Server-TLSv12-IssueTicket index ee293586102..b05669d073b 100644 --- a/testdata/Server-TLSv12-IssueTicket +++ b/testdata/Server-TLSv12-IssueTicket @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 71 01 00 00 6d 03 03 bf f8 80 5d 1b |....q...m.....].| -00000010 ea 95 cb 32 3b 8f ff 5e f9 4d 58 7d dc a4 50 cc |...2;..^.MX}..P.| -00000020 68 4d 40 98 11 af f3 e4 d7 31 43 00 00 04 00 2f |hM@......1C..../| +00000000 16 03 01 00 71 01 00 00 6d 03 03 ae 71 d4 07 74 |....q...m...q..t| +00000010 03 93 b0 1f 88 72 ef d2 54 61 44 34 5f 3f ea 16 |.....r..TaD4_?..| +00000020 32 41 11 a9 00 9b 59 ba 50 a8 ab 00 00 04 00 2f |2A....Y.P....../| 00000030 00 ff 01 00 00 40 00 23 00 00 00 16 00 00 00 17 |.....@.#........| 00000040 00 00 00 0d 00 30 00 2e 04 03 05 03 06 03 08 07 |.....0..........| 00000050 08 08 08 09 08 0a 08 0b 08 04 08 05 08 06 04 01 |................| @@ -52,39 +52,39 @@ 00000290 fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 16 03 03 00 |.=.`.\!.;.......| 000002a0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) -00000000 16 03 03 00 86 10 00 00 82 00 80 35 d7 dd 48 68 |...........5..Hh| -00000010 17 8c 9b 02 75 0c 6b 76 17 0a e1 f8 06 c0 d7 1d |....u.kv........| -00000020 bf a5 97 d2 59 0f c9 90 4a f0 6f 40 dc e7 30 c4 |....Y...J.o@..0.| -00000030 75 ab 74 9c 32 48 a4 84 3c 40 a0 bd 03 aa 09 2b |u.t.2H..<@.....+| -00000040 b2 4c 80 82 17 b8 3d 27 16 9a b7 90 66 f2 10 4e |.L....='....f..N| -00000050 41 7e 78 24 de 27 91 f9 e9 bc bf 15 3a 35 1b ae |A~x$.'......:5..| -00000060 28 9e e1 09 f0 7a 4d 66 7e de d1 43 bf f5 e4 09 |(....zMf~..C....| -00000070 a7 21 cb 0e 1d 59 6d a0 a6 41 44 58 f4 ab ac 6a |.!...Ym..ADX...j| -00000080 98 db 25 e3 57 ee 94 87 85 51 ea 14 03 03 00 01 |..%.W....Q......| -00000090 01 16 03 03 00 40 c9 64 79 e7 15 1d 30 15 95 89 |.....@.dy...0...| -000000a0 b1 9b 12 42 69 4b 22 20 54 5a aa b6 71 02 1c 3f |...BiK" TZ..q..?| -000000b0 7c b5 66 07 b5 1f 55 96 3f ce 47 1f 66 52 d8 6b ||.f...U.?.G.fR.k| -000000c0 65 71 c0 4e 0b 7e 55 e0 f5 af 42 29 af 2b 1d 0e |eq.N.~U...B).+..| -000000d0 e6 96 cd 7b fc d3 |...{..| +00000000 16 03 03 00 86 10 00 00 82 00 80 1a 4a c4 37 68 |............J.7h| +00000010 6a c0 28 f1 ea ea 14 20 fe c3 b6 61 28 67 75 7b |j.(.... ...a(gu{| +00000020 74 e0 6b ab 2c dd c8 13 0a be d6 71 a1 13 96 5a |t.k.,......q...Z| +00000030 bf 89 2e 6e 6a 61 24 ca d4 88 3f f8 20 ed 20 1f |...nja$...?. . .| +00000040 0a 9c 11 9b 96 e1 cd d8 38 42 05 be b8 6e e5 fe |........8B...n..| +00000050 54 c8 93 b8 56 67 01 97 a0 bc 37 33 7c 40 f7 77 |T...Vg....73|@.w| +00000060 5d 8b 63 bc 3f 7b e3 e9 0a b0 13 06 12 6e 8e 1c |].c.?{.......n..| +00000070 7c e7 ed 99 6d c3 5a 93 92 d2 4a fe fa d9 10 1c ||...m.Z...J.....| +00000080 76 e2 9e d7 d4 cd c7 b9 7a 40 54 14 03 03 00 01 |v.......z@T.....| +00000090 01 16 03 03 00 40 ac 11 71 60 db b6 db b9 db fb |.....@..q`......| +000000a0 09 20 8d 00 e9 69 25 15 f9 14 8f 08 7a 6c 8c 29 |. ...i%.....zl.)| +000000b0 0d f4 9b d3 ca c8 c8 f3 11 0a 85 d6 c2 cc 60 a7 |..............`.| +000000c0 8c a3 32 06 08 15 bd 84 a0 4f 17 b9 6b 9b 6a 7c |..2......O..k.j|| +000000d0 23 9d 74 22 7f fd |#.t"..| >>> Flow 4 (server to client) -00000000 16 03 03 00 83 04 00 00 7f 00 00 00 00 00 79 00 |..............y.| +00000000 16 03 03 00 85 04 00 00 81 00 00 00 00 00 7b 00 |..............{.| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 |................| -00000020 6f 2d b0 ac 51 ed 14 ef 68 ca 42 c5 4c 85 f6 26 |o-..Q...h.B.L..&| -00000030 0d a4 ad a8 f5 14 64 4f b9 c3 fb 1e 55 c1 1f c7 |......dO....U...| -00000040 31 57 72 68 db 03 37 a8 c9 07 f4 ca 62 6c 5c f3 |1Wrh..7.....bl\.| -00000050 8b 5a 3d 76 dd 63 ea 68 61 6b a1 2d 95 49 38 16 |.Z=v.c.hak.-.I8.| -00000060 7e 51 5c e5 15 c0 58 7d c5 67 4a 6f 64 b6 79 1a |~Q\...X}.gJod.y.| -00000070 41 9b b1 33 15 38 74 92 5c a5 48 c3 f2 94 bb 33 |A..3.8t.\.H....3| -00000080 ec af cf d7 e7 c9 3e 35 14 03 03 00 01 01 16 03 |......>5........| -00000090 03 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| -000000a0 00 00 00 19 51 7c 1c a3 80 34 e1 81 30 3f f9 a4 |....Q|...4..0?..| -000000b0 a0 97 97 fd 94 fb ab e8 80 48 25 7b 83 ca 38 61 |.........H%{..8a| -000000c0 34 95 d0 52 6f 09 ad 4f 74 35 c5 3d e8 bb aa 5d |4..Ro..Ot5.=...]| -000000d0 d0 fc 85 17 03 03 00 40 00 00 00 00 00 00 00 00 |.......@........| -000000e0 00 00 00 00 00 00 00 00 e7 19 f9 fd 10 7c 17 04 |.............|..| -000000f0 2d ce 5f a6 41 33 3d 05 b0 29 91 ff a0 a5 76 52 |-._.A3=..)....vR| -00000100 e1 b9 ba 6a ca d3 79 60 11 ac 43 b5 30 f7 15 dc |...j..y`..C.0...| -00000110 6f b1 d2 b2 00 85 43 40 15 03 03 00 30 00 00 00 |o.....C@....0...| -00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 19 99 8a |................| -00000130 4c 18 e0 03 cc 27 7a be 2c e5 d2 16 95 f6 a4 6e |L....'z.,......n| -00000140 11 d3 1d f4 01 52 2b fc 98 04 b1 0b 31 |.....R+.....1| +00000020 6f 2d b0 ac 51 ed 14 ef 68 ca 42 c5 4c 52 2e 96 |o-..Q...h.B.LR..| +00000030 6b e5 cc b4 0c ee 82 5b c1 57 52 8e dd 26 c8 58 |k......[.WR..&.X| +00000040 27 01 5f ec 58 a0 5c ad 74 e8 82 b7 ab 86 71 25 |'._.X.\.t.....q%| +00000050 aa ed ec ef 69 5f 7e 1d f2 58 30 13 75 49 38 16 |....i_~..X0.uI8.| +00000060 7e 51 5c e5 15 c0 58 7d 52 1a 43 47 27 99 9d 0f |~Q\...X}R.CG'...| +00000070 e0 4c f4 3b e0 b0 76 ae e6 5d a4 a0 34 38 8b b0 |.L.;..v..]..48..| +00000080 3a ba 26 90 a3 dd c2 dc 26 98 14 03 03 00 01 01 |:.&.....&.......| +00000090 16 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| +000000a0 00 00 00 00 00 55 e7 9a 32 83 32 d1 01 6e 0e 5a |.....U..2.2..n.Z| +000000b0 dd 72 c5 f9 90 24 6b da 73 d9 ed 39 b8 d5 f6 93 |.r...$k.s..9....| +000000c0 e0 f0 3e 20 db d0 0c 8a b0 10 78 1e 08 fb 47 44 |..> ......x...GD| +000000d0 27 74 30 c4 73 17 03 03 00 40 00 00 00 00 00 00 |'t0.s....@......| +000000e0 00 00 00 00 00 00 00 00 00 00 0a ae 7e 4e c4 37 |............~N.7| +000000f0 65 b9 bf 66 a5 c5 5d a2 bc 76 7a db c9 cd 0b 85 |e..f..]..vz.....| +00000100 de 86 e4 94 2c f2 87 1f 7a 4b 31 b7 4d 77 18 8a |....,...zK1.Mw..| +00000110 6d 5e af d0 eb 87 bf d9 c5 e3 15 03 03 00 30 00 |m^............0.| +00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9f |................| +00000130 8a 39 93 10 94 78 d1 dc 81 07 b6 1a 1a c3 96 c1 |.9...x..........| +00000140 28 d3 30 eb 3d 1a d3 d6 d8 3a d2 33 ec ed 6c |(.0.=....:.3..l| diff --git a/testdata/Server-TLSv12-IssueTicketPreDisable b/testdata/Server-TLSv12-IssueTicketPreDisable index 20ce3c3cc8c..a86d19c35a8 100644 --- a/testdata/Server-TLSv12-IssueTicketPreDisable +++ b/testdata/Server-TLSv12-IssueTicketPreDisable @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 71 01 00 00 6d 03 03 a1 ba 69 29 39 |....q...m....i)9| -00000010 b5 fc c7 90 90 54 35 be 5a ad 4a e2 b2 3d b9 01 |.....T5.Z.J..=..| -00000020 f0 48 fd 77 b5 9e bc 89 f5 d4 df 00 00 04 00 2f |.H.w.........../| +00000000 16 03 01 00 71 01 00 00 6d 03 03 9d 49 68 d2 e5 |....q...m...Ih..| +00000010 4a 77 05 39 fb b6 c2 e8 79 b8 cd e7 42 dd f5 29 |Jw.9....y...B..)| +00000020 4f 24 92 27 bf 94 95 89 8a 0c 5f 00 00 04 00 2f |O$.'......_..../| 00000030 00 ff 01 00 00 40 00 23 00 00 00 16 00 00 00 17 |.....@.#........| 00000040 00 00 00 0d 00 30 00 2e 04 03 05 03 06 03 08 07 |.....0..........| 00000050 08 08 08 09 08 0a 08 0b 08 04 08 05 08 06 04 01 |................| @@ -52,39 +52,39 @@ 00000290 fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 16 03 03 00 |.=.`.\!.;.......| 000002a0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) -00000000 16 03 03 00 86 10 00 00 82 00 80 cc 4e 62 e0 bf |............Nb..| -00000010 21 65 dc f2 57 fb fe 6e e4 cc de b4 1f aa af 52 |!e..W..n.......R| -00000020 a4 e0 0e 1b fa 8b 23 4b d9 e2 4b 62 6a 26 80 f7 |......#K..Kbj&..| -00000030 15 82 ba 44 4a 18 b8 97 ca a1 79 4b 11 59 90 7d |...DJ.....yK.Y.}| -00000040 ea 89 7c f9 6b 5f 29 c7 ca 32 bf 3b 53 b2 bb bb |..|.k_)..2.;S...| -00000050 77 0a 5c 1f c2 d8 20 cf 59 19 4e a0 ff ef ca ca |w.\... .Y.N.....| -00000060 25 39 ac c7 64 b9 e8 68 09 f2 49 96 8e 49 c7 4c |%9..d..h..I..I.L| -00000070 cd ff 28 6f d8 0d d3 7a ae 7a 51 9e 04 70 8a 59 |..(o...z.zQ..p.Y| -00000080 8c 05 61 c9 2b bd e1 05 5a 12 63 14 03 03 00 01 |..a.+...Z.c.....| -00000090 01 16 03 03 00 40 ac 30 bb 83 2f e2 a1 98 a3 c5 |.....@.0../.....| -000000a0 9c e3 55 36 70 a0 10 fc 53 7e 2d ae f1 02 d7 04 |..U6p...S~-.....| -000000b0 1f 4e 5d ed 33 29 99 04 54 8e 51 74 d5 2a 73 21 |.N].3)..T.Qt.*s!| -000000c0 4f bf 8b 0c 04 b2 f2 d4 3e a7 f6 ee 8b fb 3a 0b |O.......>.....:.| -000000d0 86 27 7c a7 bb 32 |.'|..2| +00000000 16 03 03 00 86 10 00 00 82 00 80 2b 09 f3 6c 39 |...........+..l9| +00000010 25 51 ab 73 c9 5d e4 de bb b3 7d 8e 40 96 df f9 |%Q.s.]....}.@...| +00000020 28 24 82 47 21 40 2d cb bd 7d a5 2a 89 91 7d e0 |($.G!@-..}.*..}.| +00000030 4c 92 ca 8f 2c 2d be 93 d1 a2 00 ef 3a 4b 6b de |L...,-......:Kk.| +00000040 e9 ab 38 0b 19 21 35 5d fb 06 b1 1f dd 75 db d6 |..8..!5].....u..| +00000050 6b 16 7e 1e 32 ef 58 11 78 ef 6e 7f cc 1f cd 8e |k.~.2.X.x.n.....| +00000060 57 01 96 eb 06 bf 09 10 99 ed 3c 35 94 9f 03 66 |W.........<5...f| +00000070 a4 e1 96 22 eb f5 cd 28 1f 4e 2c b9 2c 48 29 bf |..."...(.N,.,H).| +00000080 b3 43 c1 b9 f0 aa 2b 29 47 a4 38 14 03 03 00 01 |.C....+)G.8.....| +00000090 01 16 03 03 00 40 75 ac e5 40 a2 19 82 90 ef 25 |.....@u..@.....%| +000000a0 9c 3b c2 95 fb 58 b9 c8 72 2c b3 94 d5 23 e9 f6 |.;...X..r,...#..| +000000b0 0d 03 2e 24 54 73 c3 5b 0d 84 2d 5b 12 f6 f9 5a |...$Ts.[..-[...Z| +000000c0 59 6d ea 80 5e b6 ab 34 5f 57 98 fb 2c c8 e2 d0 |Ym..^..4_W..,...| +000000d0 3e fb 32 4c b1 93 |>.2L..| >>> Flow 4 (server to client) -00000000 16 03 03 00 83 04 00 00 7f 00 00 00 00 00 79 00 |..............y.| +00000000 16 03 03 00 85 04 00 00 81 00 00 00 00 00 7b 00 |..............{.| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 94 |................| -00000020 6f 2d b0 ac 51 ed 14 ef 68 ca 42 c5 4c fa 53 68 |o-..Q...h.B.L.Sh| -00000030 d9 20 e9 d9 c1 9c 90 3b f2 e6 57 af 04 e5 db 6b |. .....;..W....k| -00000040 36 0b b5 b8 e2 a5 a4 bf 52 31 80 32 b9 da d9 32 |6.......R1.2...2| -00000050 36 e7 31 d3 22 78 12 ae 7a 80 ac fa 6d 49 38 16 |6.1."x..z...mI8.| -00000060 7e 51 5c e5 15 c0 58 7d d6 77 d5 17 1b d9 a8 74 |~Q\...X}.w.....t| -00000070 be 93 25 54 84 a7 1a 93 1f 20 a4 49 eb 26 e7 8e |..%T..... .I.&..| -00000080 d3 0f cf 9c 75 cc 6f 36 14 03 03 00 01 01 16 03 |....u.o6........| -00000090 03 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| -000000a0 00 00 00 eb f1 52 79 ff b8 6c 9c 23 f3 22 bc 96 |.....Ry..l.#."..| -000000b0 2a bc e7 73 05 32 4b 2e e4 5e 31 97 62 86 cc 12 |*..s.2K..^1.b...| -000000c0 ae 22 77 92 37 5d 82 41 57 48 aa f4 0a f3 94 30 |."w.7].AWH.....0| -000000d0 5d 06 7b 17 03 03 00 40 00 00 00 00 00 00 00 00 |].{....@........| -000000e0 00 00 00 00 00 00 00 00 8f 8d a7 06 a7 d6 52 5a |..............RZ| -000000f0 b9 66 5e ef e3 8d 1d 91 d0 6d 30 29 92 4e 6a 81 |.f^......m0).Nj.| -00000100 f4 77 97 06 de a8 c8 d1 4c 6b 15 07 1f 9b 59 6d |.w......Lk....Ym| -00000110 cb 4f 23 20 58 aa 22 21 15 03 03 00 30 00 00 00 |.O# X."!....0...| -00000120 00 00 00 00 00 00 00 00 00 00 00 00 00 06 55 3d |..............U=| -00000130 42 f5 12 b2 66 aa af 00 91 5e b8 31 ae 19 0e 35 |B...f....^.1...5| -00000140 a2 d7 a6 e7 0c 3c 2b 95 62 69 d7 a0 81 |.....<+.bi...| +00000020 6f 2d b0 ac 51 ed 14 ef 68 ca 42 c5 4c ba fa 12 |o-..Q...h.B.L...| +00000030 47 15 bc 82 f4 35 e2 0f 0f 2b d3 02 30 a7 c3 bb |G....5...+..0...| +00000040 48 06 b7 80 c5 21 70 95 bf fd e5 fa d8 aa ee 9c |H....!p.........| +00000050 d6 10 79 3b f9 e6 9e 21 21 bd e9 50 ba 49 38 16 |..y;...!!..P.I8.| +00000060 7e 51 5c e5 15 c0 58 7d 52 1a 2e ee ae e1 df 6c |~Q\...X}R......l| +00000070 d2 82 e8 11 4b d9 3a b4 ed 46 56 6a 8e cd 4b 70 |....K.:..FVj..Kp| +00000080 37 5c 82 fc ef d7 ff 38 65 e6 14 03 03 00 01 01 |7\.....8e.......| +00000090 16 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| +000000a0 00 00 00 00 00 8a 27 b1 df e3 23 8d 5e a8 06 e0 |......'...#.^...| +000000b0 3b 70 3a 8a f2 36 09 e5 0b 91 03 0c ab c7 6b 2c |;p:..6........k,| +000000c0 ee 8d fd b3 d1 3b 0b d6 08 45 af 26 40 ad c7 fd |.....;...E.&@...| +000000d0 8f fa fa f6 c0 17 03 03 00 40 00 00 00 00 00 00 |.........@......| +000000e0 00 00 00 00 00 00 00 00 00 00 c0 62 b3 b3 3d 17 |...........b..=.| +000000f0 5d 7f a6 7d 7b eb ea 35 f5 46 3c 69 94 a0 37 ca |]..}{..5.F>> Flow 1 (client to server) -00000000 16 03 01 01 0a 01 00 01 06 03 03 2d b6 ca ea 39 |...........-...9| -00000010 59 17 86 df 90 2f 73 e0 a0 5c 6e 28 09 78 69 d6 |Y..../s..\n(.xi.| -00000020 30 06 b7 7b 17 a9 79 30 2a d8 57 20 c5 5c ed 86 |0..{..y0*.W .\..| -00000030 15 f4 3b c8 d2 5f 7a 80 2a 6a cd 40 c2 da 6f a8 |..;.._z.*j.@..o.| -00000040 cd d7 e7 bf 48 bd fb a1 e9 4b 9b a9 00 04 00 2f |....H....K...../| -00000050 00 ff 01 00 00 b9 00 23 00 79 00 00 00 00 00 00 |.......#.y......| +00000000 16 03 01 01 0c 01 00 01 08 03 03 a6 8e 75 2d a5 |.............u-.| +00000010 52 ef 15 c3 e3 42 53 88 55 21 76 a9 8c 44 e8 df |R....BS.U!v..D..| +00000020 f4 1c 40 08 1a 35 46 4b 6d 4f ff 20 e3 91 5e 82 |..@..5FKmO. ..^.| +00000030 58 5e 5a 37 a7 16 d8 fe 96 0e 2c 45 13 ac 4f 30 |X^Z7......,E..O0| +00000040 96 a3 17 a2 16 49 00 d6 8e b6 6a 4d 00 04 00 2f |.....I....jM.../| +00000050 00 ff 01 00 00 bb 00 23 00 7b 00 00 00 00 00 00 |.......#.{......| 00000060 00 00 00 00 00 00 00 00 00 00 94 6f 2d b0 ac 51 |...........o-..Q| -00000070 ed 14 ef 68 ca 42 c5 4c 85 f6 26 0d a4 ad a8 f5 |...h.B.L..&.....| -00000080 14 64 4f b9 c3 fb 1e 55 c1 1f c7 31 57 72 68 db |.dO....U...1Wrh.| -00000090 03 37 a8 c9 07 f4 ca 62 6c 5c f3 8b 5a 3d 76 dd |.7.....bl\..Z=v.| -000000a0 63 ea 68 61 6b a1 2d 95 49 38 16 7e 51 5c e5 15 |c.hak.-.I8.~Q\..| -000000b0 c0 58 7d c5 67 4a 6f 64 b6 79 1a 41 9b b1 33 15 |.X}.gJod.y.A..3.| -000000c0 38 74 92 5c a5 48 c3 f2 94 bb 33 ec af cf d7 e7 |8t.\.H....3.....| -000000d0 c9 3e 35 00 16 00 00 00 17 00 00 00 0d 00 30 00 |.>5...........0.| -000000e0 2e 04 03 05 03 06 03 08 07 08 08 08 09 08 0a 08 |................| -000000f0 0b 08 04 08 05 08 06 04 01 05 01 06 01 03 03 02 |................| -00000100 03 03 01 02 01 03 02 02 02 04 02 05 02 06 02 |...............| +00000070 ed 14 ef 68 ca 42 c5 4c 52 2e 96 6b e5 cc b4 0c |...h.B.LR..k....| +00000080 ee 82 5b c1 57 52 8e dd 26 c8 58 27 01 5f ec 58 |..[.WR..&.X'._.X| +00000090 a0 5c ad 74 e8 82 b7 ab 86 71 25 aa ed ec ef 69 |.\.t.....q%....i| +000000a0 5f 7e 1d f2 58 30 13 75 49 38 16 7e 51 5c e5 15 |_~..X0.uI8.~Q\..| +000000b0 c0 58 7d 52 1a 43 47 27 99 9d 0f e0 4c f4 3b e0 |.X}R.CG'....L.;.| +000000c0 b0 76 ae e6 5d a4 a0 34 38 8b b0 3a ba 26 90 a3 |.v..]..48..:.&..| +000000d0 dd c2 dc 26 98 00 16 00 00 00 17 00 00 00 0d 00 |...&............| +000000e0 30 00 2e 04 03 05 03 06 03 08 07 08 08 08 09 08 |0...............| +000000f0 0a 08 0b 08 04 08 05 08 06 04 01 05 01 06 01 03 |................| +00000100 03 02 03 03 01 02 01 03 02 02 02 04 02 05 02 06 |................| +00000110 02 |.| >>> Flow 2 (server to client) 00000000 16 03 03 00 59 02 00 00 55 03 03 00 00 00 00 00 |....Y...U.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000020 00 00 00 44 4f 57 4e 47 52 44 01 20 c5 5c ed 86 |...DOWNGRD. .\..| -00000030 15 f4 3b c8 d2 5f 7a 80 2a 6a cd 40 c2 da 6f a8 |..;.._z.*j.@..o.| -00000040 cd d7 e7 bf 48 bd fb a1 e9 4b 9b a9 00 2f 00 00 |....H....K.../..| +00000020 00 00 00 44 4f 57 4e 47 52 44 01 20 e3 91 5e 82 |...DOWNGRD. ..^.| +00000030 58 5e 5a 37 a7 16 d8 fe 96 0e 2c 45 13 ac 4f 30 |X^Z7......,E..O0| +00000040 96 a3 17 a2 16 49 00 d6 8e b6 6a 4d 00 2f 00 00 |.....I....jM./..| 00000050 0d 00 23 00 00 ff 01 00 01 00 00 17 00 00 16 03 |..#.............| -00000060 03 00 83 04 00 00 7f 00 00 00 00 00 79 00 00 00 |............y...| +00000060 03 00 85 04 00 00 81 00 00 00 00 00 7b 00 00 00 |............{...| 00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 94 6f 2d |..............o-| -00000080 b0 ac 51 ed 14 ef 68 ca 42 c5 4c 85 f6 26 0d a4 |..Q...h.B.L..&..| -00000090 ad a8 f5 14 64 4f b9 c3 fb 1e 55 c1 1f c7 31 57 |....dO....U...1W| -000000a0 72 68 db 03 37 a8 c9 07 f4 ca 62 6c 5c f3 8b 5a |rh..7.....bl\..Z| -000000b0 3d 76 dd 63 ea 68 61 6b a1 2d 95 49 38 16 7e 51 |=v.c.hak.-.I8.~Q| -000000c0 5c e5 15 c0 58 7d c5 67 4a 6f 64 b6 79 1a 41 9b |\...X}.gJod.y.A.| -000000d0 b1 33 15 38 74 92 5c a5 48 c3 f2 94 bb 33 ec af |.3.8t.\.H....3..| -000000e0 cf d7 e7 c9 3e 35 14 03 03 00 01 01 16 03 03 00 |....>5..........| -000000f0 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |@...............| -00000100 00 47 68 3a 66 5b d6 ed b7 60 a9 fb e8 37 d6 9d |.Gh:f[...`...7..| -00000110 a6 b9 4d d5 f3 9f 0f c6 3c 21 6e d5 80 08 a8 34 |..M.......k| -00000130 40 |@| +00000080 b0 ac 51 ed 14 ef 68 ca 42 c5 4c 52 2e 96 6b e5 |..Q...h.B.LR..k.| +00000090 cc b4 0c ee 82 5b c1 57 52 8e dd 26 c8 58 27 01 |.....[.WR..&.X'.| +000000a0 5f ec 58 a0 5c ad 74 e8 82 b7 ab 86 71 25 aa ed |_.X.\.t.....q%..| +000000b0 ec ef 69 5f 7e 1d f2 58 30 13 75 49 38 16 7e 51 |..i_~..X0.uI8.~Q| +000000c0 5c e5 15 c0 58 7d 52 1a 43 47 27 99 9d 0f e0 4c |\...X}R.CG'....L| +000000d0 f4 3b e0 b0 76 ae e6 5d a4 a0 34 38 8b b0 3a ba |.;..v..]..48..:.| +000000e0 26 90 a3 dd c2 dc 26 98 14 03 03 00 01 01 16 03 |&.....&.........| +000000f0 03 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 |..@.............| +00000100 00 00 00 fb 6c 2b 7d a1 a6 a1 aa 6f 38 3f e2 8a |....l+}....o8?..| +00000110 09 da 48 94 ce 2a 70 70 8c d3 5d bd 8c e5 74 fc |..H..*pp..]...t.| +00000120 91 05 dc 9e f1 2d a6 db 3c d6 06 50 b7 9d 4d 8b |.....-..<..P..M.| +00000130 b7 d4 06 |...| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 16 03 03 00 40 46 34 b3 97 54 |..........@F4..T| -00000010 20 5b 95 f3 22 f8 a1 89 c8 95 93 ba 7b a4 a8 8f | [..".......{...| -00000020 46 a8 d6 c1 b3 ac f0 e0 49 3d 8d e4 1c ac b8 a4 |F.......I=......| -00000030 01 21 5e d8 f0 f5 10 10 f7 de 8b 33 9d 94 cf f6 |.!^........3....| -00000040 f2 9b 39 22 5c e6 c0 5e b4 1d cd |..9"\..^...| +00000000 14 03 03 00 01 01 16 03 03 00 40 b0 47 45 3b 24 |..........@.GE;$| +00000010 ae 4b 98 d6 cc 37 28 ab 3b ea 7e 6b bc 1f ed a5 |.K...7(.;.~k....| +00000020 bb 67 e2 5e 72 bf d5 28 90 dc 1b 98 87 2c 49 c6 |.g.^r..(.....,I.| +00000030 90 73 45 3f 1b 8c a2 c5 50 84 48 09 41 e1 ea 52 |.sE?....P.H.A..R| +00000040 9e 17 ad 8f d6 cd cd 16 7a 90 64 |........z.d| >>> Flow 4 (server to client) 00000000 17 03 03 00 40 00 00 00 00 00 00 00 00 00 00 00 |....@...........| -00000010 00 00 00 00 00 5c bc 45 06 2e d3 7b 30 99 a6 af |.....\.E...{0...| -00000020 64 0e 63 93 73 6f 0a e7 a4 1d ac 94 25 11 a5 63 |d.c.so......%..c| -00000030 8d b2 44 aa 98 44 f8 b5 51 ea 2c fb 26 99 f6 a4 |..D..D..Q.,.&...| -00000040 2c f8 15 c3 90 15 03 03 00 30 00 00 00 00 00 00 |,........0......| -00000050 00 00 00 00 00 00 00 00 00 00 c6 58 8e 7c 97 de |...........X.|..| -00000060 3b b8 39 cd 7b 1d 67 77 27 da 93 39 52 a7 81 9b |;.9.{.gw'..9R...| -00000070 ab 5a bc e9 00 1a 64 3a ca f5 |.Z....d:..| +00000010 00 00 00 00 00 a6 e7 61 5a 2b 01 ce 94 48 d2 09 |.......aZ+...H..| +00000020 13 a5 90 a8 58 47 8d fd ab 69 85 fa 42 00 3d 99 |....XG...i..B.=.| +00000030 d1 fd 16 88 0b 2a 43 92 54 e7 55 2e dd 70 86 e1 |.....*C.T.U..p..| +00000040 f1 c5 5c c8 1e 15 03 03 00 30 00 00 00 00 00 00 |..\......0......| +00000050 00 00 00 00 00 00 00 00 00 00 ba 42 cf 74 9f 00 |...........B.t..| +00000060 4a 76 d5 cf 48 23 ed 4a 42 62 be 1a 35 d2 8c d2 |Jv..H#.JBb..5...| +00000070 ee 86 2f 3a f5 4d 96 64 f7 b8 |../:.M.d..| diff --git a/testdata/Server-TLSv12-SNI b/testdata/Server-TLSv12-SNI index c3dc1b6e52d..b7889def656 100644 --- a/testdata/Server-TLSv12-SNI +++ b/testdata/Server-TLSv12-SNI @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 81 01 00 00 7d 03 03 cc a1 7b c4 56 |........}....{.V| -00000010 9f 65 31 01 b0 23 09 18 10 50 7c 1e 14 7b b5 dd |.e1..#...P|..{..| -00000020 d4 70 07 3e 0b 19 19 31 6b f7 4d 00 00 04 00 2f |.p.>...1k.M..../| +00000000 16 03 01 00 81 01 00 00 7d 03 03 5b 8e 50 b3 0e |........}..[.P..| +00000010 1f d7 4f a4 0f 53 de 37 1a c6 86 2f 01 c0 0b 15 |..O..S.7.../....| +00000020 cf a9 f4 f5 30 c0 aa 7e cc 5b 4e 00 00 04 00 2f |....0..~.[N..../| 00000030 00 ff 01 00 00 50 00 00 00 10 00 0e 00 00 0b 73 |.....P.........s| 00000040 6e 69 74 65 73 74 2e 63 6f 6d 00 16 00 00 00 17 |nitest.com......| 00000050 00 00 00 0d 00 30 00 2e 04 03 05 03 06 03 08 07 |.....0..........| @@ -9,75 +9,75 @@ 00000070 05 01 06 01 03 03 02 03 03 01 02 01 03 02 02 02 |................| 00000080 04 02 05 02 06 02 |......| >>> Flow 2 (server to client) -00000000 16 03 03 00 35 02 00 00 31 03 03 00 00 00 00 00 |....5...1.......| +00000000 16 03 03 00 39 02 00 00 35 03 03 00 00 00 00 00 |....9...5.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 00 00 00 44 4f 57 4e 47 52 44 01 00 00 2f 00 00 |...DOWNGRD.../..| -00000030 09 ff 01 00 01 00 00 17 00 00 16 03 03 02 59 0b |..............Y.| -00000040 00 02 55 00 02 52 00 02 4f 30 82 02 4b 30 82 01 |..U..R..O0..K0..| -00000050 b4 a0 03 02 01 02 02 09 00 e8 f0 9d 3f e2 5b ea |............?.[.| -00000060 a6 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 |.0...*.H........| -00000070 30 1f 31 0b 30 09 06 03 55 04 0a 13 02 47 6f 31 |0.1.0...U....Go1| -00000080 10 30 0e 06 03 55 04 03 13 07 47 6f 20 52 6f 6f |.0...U....Go Roo| -00000090 74 30 1e 17 0d 31 36 30 31 30 31 30 30 30 30 30 |t0...16010100000| -000000a0 30 5a 17 0d 32 35 30 31 30 31 30 30 30 30 30 30 |0Z..250101000000| -000000b0 5a 30 1a 31 0b 30 09 06 03 55 04 0a 13 02 47 6f |Z0.1.0...U....Go| -000000c0 31 0b 30 09 06 03 55 04 03 13 02 47 6f 30 81 9f |1.0...U....Go0..| -000000d0 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 |0...*.H.........| -000000e0 81 8d 00 30 81 89 02 81 81 00 db 46 7d 93 2e 12 |...0.......F}...| -000000f0 27 06 48 bc 06 28 21 ab 7e c4 b6 a2 5d fe 1e 52 |'.H..(!.~...]..R| -00000100 45 88 7a 36 47 a5 08 0d 92 42 5b c2 81 c0 be 97 |E.z6G....B[.....| -00000110 79 98 40 fb 4f 6d 14 fd 2b 13 8b c2 a5 2e 67 d8 |y.@.Om..+.....g.| -00000120 d4 09 9e d6 22 38 b7 4a 0b 74 73 2b c2 34 f1 d1 |...."8.J.ts+.4..| -00000130 93 e5 96 d9 74 7b f3 58 9f 6c 61 3c c0 b0 41 d4 |....t{.X.la<..A.| -00000140 d9 2b 2b 24 23 77 5b 1c 3b bd 75 5d ce 20 54 cf |.++$#w[.;.u]. T.| -00000150 a1 63 87 1d 1e 24 c4 f3 1d 1a 50 8b aa b6 14 43 |.c...$....P....C| -00000160 ed 97 a7 75 62 f4 14 c8 52 d7 02 03 01 00 01 a3 |...ub...R.......| -00000170 81 93 30 81 90 30 0e 06 03 55 1d 0f 01 01 ff 04 |..0..0...U......| -00000180 04 03 02 05 a0 30 1d 06 03 55 1d 25 04 16 30 14 |.....0...U.%..0.| -00000190 06 08 2b 06 01 05 05 07 03 01 06 08 2b 06 01 05 |..+.........+...| -000001a0 05 07 03 02 30 0c 06 03 55 1d 13 01 01 ff 04 02 |....0...U.......| -000001b0 30 00 30 19 06 03 55 1d 0e 04 12 04 10 9f 91 16 |0.0...U.........| -000001c0 1f 43 43 3e 49 a6 de 6d b6 80 d7 9f 60 30 1b 06 |.CC>I..m....`0..| -000001d0 03 55 1d 23 04 14 30 12 80 10 48 13 49 4d 13 7e |.U.#..0...H.IM.~| -000001e0 16 31 bb a3 01 d5 ac ab 6e 7b 30 19 06 03 55 1d |.1......n{0...U.| -000001f0 11 04 12 30 10 82 0e 65 78 61 6d 70 6c 65 2e 67 |...0...example.g| -00000200 6f 6c 61 6e 67 30 0d 06 09 2a 86 48 86 f7 0d 01 |olang0...*.H....| -00000210 01 0b 05 00 03 81 81 00 9d 30 cc 40 2b 5b 50 a0 |.........0.@+[P.| -00000220 61 cb ba e5 53 58 e1 ed 83 28 a9 58 1a a9 38 a4 |a...SX...(.X..8.| -00000230 95 a1 ac 31 5a 1a 84 66 3d 43 d3 2d d9 0b f2 97 |...1Z..f=C.-....| -00000240 df d3 20 64 38 92 24 3a 00 bc cf 9c 7d b7 40 20 |.. d8.$:....}.@ | -00000250 01 5f aa d3 16 61 09 a2 76 fd 13 c3 cc e1 0c 5c |._...a..v......\| -00000260 ee b1 87 82 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c |.....l..s..Cw...| -00000270 f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d ae db 46 06 |....@.a.Lr+...F.| -00000280 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 |.M...>...B...=.`| -00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 04 0e 00 00 |.\!.;...........| -000002a0 00 |.| +00000030 0d ff 01 00 01 00 00 17 00 00 00 00 00 00 16 03 |................| +00000040 03 02 59 0b 00 02 55 00 02 52 00 02 4f 30 82 02 |..Y...U..R..O0..| +00000050 4b 30 82 01 b4 a0 03 02 01 02 02 09 00 e8 f0 9d |K0..............| +00000060 3f e2 5b ea a6 30 0d 06 09 2a 86 48 86 f7 0d 01 |?.[..0...*.H....| +00000070 01 0b 05 00 30 1f 31 0b 30 09 06 03 55 04 0a 13 |....0.1.0...U...| +00000080 02 47 6f 31 10 30 0e 06 03 55 04 03 13 07 47 6f |.Go1.0...U....Go| +00000090 20 52 6f 6f 74 30 1e 17 0d 31 36 30 31 30 31 30 | Root0...1601010| +000000a0 30 30 30 30 30 5a 17 0d 32 35 30 31 30 31 30 30 |00000Z..25010100| +000000b0 30 30 30 30 5a 30 1a 31 0b 30 09 06 03 55 04 0a |0000Z0.1.0...U..| +000000c0 13 02 47 6f 31 0b 30 09 06 03 55 04 03 13 02 47 |..Go1.0...U....G| +000000d0 6f 30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01 01 |o0..0...*.H.....| +000000e0 01 05 00 03 81 8d 00 30 81 89 02 81 81 00 db 46 |.......0.......F| +000000f0 7d 93 2e 12 27 06 48 bc 06 28 21 ab 7e c4 b6 a2 |}...'.H..(!.~...| +00000100 5d fe 1e 52 45 88 7a 36 47 a5 08 0d 92 42 5b c2 |]..RE.z6G....B[.| +00000110 81 c0 be 97 79 98 40 fb 4f 6d 14 fd 2b 13 8b c2 |....y.@.Om..+...| +00000120 a5 2e 67 d8 d4 09 9e d6 22 38 b7 4a 0b 74 73 2b |..g....."8.J.ts+| +00000130 c2 34 f1 d1 93 e5 96 d9 74 7b f3 58 9f 6c 61 3c |.4......t{.X.la<| +00000140 c0 b0 41 d4 d9 2b 2b 24 23 77 5b 1c 3b bd 75 5d |..A..++$#w[.;.u]| +00000150 ce 20 54 cf a1 63 87 1d 1e 24 c4 f3 1d 1a 50 8b |. T..c...$....P.| +00000160 aa b6 14 43 ed 97 a7 75 62 f4 14 c8 52 d7 02 03 |...C...ub...R...| +00000170 01 00 01 a3 81 93 30 81 90 30 0e 06 03 55 1d 0f |......0..0...U..| +00000180 01 01 ff 04 04 03 02 05 a0 30 1d 06 03 55 1d 25 |.........0...U.%| +00000190 04 16 30 14 06 08 2b 06 01 05 05 07 03 01 06 08 |..0...+.........| +000001a0 2b 06 01 05 05 07 03 02 30 0c 06 03 55 1d 13 01 |+.......0...U...| +000001b0 01 ff 04 02 30 00 30 19 06 03 55 1d 0e 04 12 04 |....0.0...U.....| +000001c0 10 9f 91 16 1f 43 43 3e 49 a6 de 6d b6 80 d7 9f |.....CC>I..m....| +000001d0 60 30 1b 06 03 55 1d 23 04 14 30 12 80 10 48 13 |`0...U.#..0...H.| +000001e0 49 4d 13 7e 16 31 bb a3 01 d5 ac ab 6e 7b 30 19 |IM.~.1......n{0.| +000001f0 06 03 55 1d 11 04 12 30 10 82 0e 65 78 61 6d 70 |..U....0...examp| +00000200 6c 65 2e 67 6f 6c 61 6e 67 30 0d 06 09 2a 86 48 |le.golang0...*.H| +00000210 86 f7 0d 01 01 0b 05 00 03 81 81 00 9d 30 cc 40 |.............0.@| +00000220 2b 5b 50 a0 61 cb ba e5 53 58 e1 ed 83 28 a9 58 |+[P.a...SX...(.X| +00000230 1a a9 38 a4 95 a1 ac 31 5a 1a 84 66 3d 43 d3 2d |..8....1Z..f=C.-| +00000240 d9 0b f2 97 df d3 20 64 38 92 24 3a 00 bc cf 9c |...... d8.$:....| +00000250 7d b7 40 20 01 5f aa d3 16 61 09 a2 76 fd 13 c3 |}.@ ._...a..v...| +00000260 cc e1 0c 5c ee b1 87 82 f1 6c 04 ed 73 bb b3 43 |...\.....l..s..C| +00000270 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d |w.......@.a.Lr+.| +00000280 ae db 46 06 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db |..F..M...>...B..| +00000290 fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 16 03 03 00 |.=.`.\!.;.......| +000002a0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) -00000000 16 03 03 00 86 10 00 00 82 00 80 04 36 4c 25 96 |............6L%.| -00000010 b0 1a 33 80 88 98 4f 2a c8 93 24 81 0a 78 6c 85 |..3...O*..$..xl.| -00000020 06 4d f1 cf 25 18 e0 f0 61 50 c5 45 c1 24 1b b3 |.M..%...aP.E.$..| -00000030 d6 3c d3 49 a6 40 81 2c bb ef 49 76 c0 10 4c ad |.<.I.@.,..Iv..L.| -00000040 2e 7d 4d f4 0b 96 bc 1c eb 3d 1d 7d 18 25 34 14 |.}M......=.}.%4.| -00000050 ed 76 f2 a1 17 aa 87 1b ef ff 11 93 a7 44 0c 33 |.v...........D.3| -00000060 86 27 38 3d 5d 3f bb f1 8d a9 f5 44 28 d1 28 41 |.'8=]?.....D(.(A| -00000070 bb b7 9a fb 83 81 91 92 4e 7d 71 55 43 ed 42 12 |........N}qUC.B.| -00000080 86 5f de 02 13 1f c4 63 08 87 db 14 03 03 00 01 |._.....c........| -00000090 01 16 03 03 00 40 32 01 5f a2 e1 08 cf 6b ce 11 |.....@2._....k..| -000000a0 db 82 94 c5 f1 12 9a ac 68 dc f9 c8 2c 00 a5 dd |........h...,...| -000000b0 6b 49 c8 8b b7 9f e3 90 27 a5 c2 45 fc 75 e5 ac |kI......'..E.u..| -000000c0 77 0c 80 bd 43 41 d4 00 c0 fb 8d 08 a6 f4 f7 63 |w...CA.........c| -000000d0 07 01 09 06 e5 fc |......| +00000000 16 03 03 00 86 10 00 00 82 00 80 25 3d 8b d1 c0 |...........%=...| +00000010 ef 86 34 20 a5 4b 4b 94 d9 c8 04 ff 02 13 24 57 |..4 .KK.......$W| +00000020 21 7f f1 c1 06 0b ea 1f b1 06 e8 fa 9b 5c 34 96 |!............\4.| +00000030 23 2a 4b ef cb d7 47 75 05 74 f3 7f ed fb 28 6a |#*K...Gu.t....(j| +00000040 cd b8 16 12 96 4b b7 cf 0c c3 b0 93 c3 ea b0 78 |.....K.........x| +00000050 65 93 9d 6d a9 d5 b7 ed be 8b 3a f6 12 bb 5d ae |e..m......:...].| +00000060 2b 17 2f 62 ca 21 68 7d 12 52 e3 2c cc 32 4b 94 |+./b.!h}.R.,.2K.| +00000070 4b 1d 73 9a 2e 60 60 da e6 32 dd d3 4d 39 69 c8 |K.s..``..2..M9i.| +00000080 b7 9d 8a 1d d8 57 90 13 4c 2a a9 14 03 03 00 01 |.....W..L*......| +00000090 01 16 03 03 00 40 c4 71 f6 06 63 08 15 02 63 0a |.....@.q..c...c.| +000000a0 59 40 55 52 28 17 3f 16 c8 48 93 af 80 87 e6 a8 |Y@UR(.?..H......| +000000b0 37 a4 4f 20 f0 37 88 5b 55 f3 32 60 c7 c4 1d ce |7.O .7.[U.2`....| +000000c0 b2 b8 d1 2d 8b fb a6 87 39 c8 75 31 22 77 33 82 |...-....9.u1"w3.| +000000d0 64 0f f2 10 9d ee |d.....| >>> Flow 4 (server to client) 00000000 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 00 |..........@.....| -00000010 00 00 00 00 00 00 00 00 00 00 00 6d 31 fe 01 3d |...........m1..=| -00000020 2a c3 97 67 9f 08 f8 c9 ce 57 5c 4a e6 da 17 f2 |*..g.....W\J....| -00000030 f8 47 2b d9 9d 7e af 59 b8 a9 23 9d 7e d5 ed 77 |.G+..~.Y..#.~..w| -00000040 3b cd d4 b7 76 5b 6f 6d 09 bd 0c 17 03 03 00 40 |;...v[om.......@| +00000010 00 00 00 00 00 00 00 00 00 00 00 f2 12 bf 38 31 |..............81| +00000020 ee c9 9a 6a 8d fb 1c 53 41 f1 06 3a 44 9c 31 31 |...j...SA..:D.11| +00000030 25 7b 28 08 f5 3a 85 84 f1 83 61 9b 8c e3 cf 79 |%{(..:....a....y| +00000040 3a c2 ce e2 9c b8 52 ca 4f 5c b1 17 03 03 00 40 |:.....R.O\.....@| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000060 d2 8c 47 46 36 47 fa d8 f8 1c b4 fc f6 fd fb 4b |..GF6G.........K| -00000070 79 e1 a3 39 df ac 6c 94 61 dd 20 1a e7 c0 4c 9c |y..9..l.a. ...L.| -00000080 45 69 69 cf 73 cb b1 6c fc 71 49 de 41 ca 4d 4f |Eii.s..l.qI.A.MO| +00000060 56 57 a0 ee c3 3e 4a 13 70 d5 05 2a 7d ed 49 81 |VW...>J.p..*}.I.| +00000070 52 37 e0 dc bd d0 e3 de f8 8e 18 a2 8b f8 62 71 |R7............bq| +00000080 7f a9 35 50 91 81 6f 33 63 e3 c5 ec cf fa 1b 05 |..5P..o3c.......| 00000090 15 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -000000a0 00 00 00 00 00 d1 66 64 ce 59 eb 23 13 e9 92 28 |......fd.Y.#...(| -000000b0 a4 2a 7a b0 e1 79 ce 92 34 77 6e b3 8d d3 bb e6 |.*z..y..4wn.....| -000000c0 ad 90 e8 a2 1a |.....| +000000a0 00 00 00 00 00 e5 05 33 38 e8 33 35 a3 f0 aa f8 |.......38.35....| +000000b0 8c b7 c5 2b 8c d0 9e 40 57 c5 c9 52 61 ae 5e c7 |...+...@W..Ra.^.| +000000c0 50 f1 5a 28 50 |P.Z(P| diff --git a/testdata/Server-TLSv12-SNI-GetCertificate b/testdata/Server-TLSv12-SNI-GetCertificate index 474ab1ab10a..b7756a3d10a 100644 --- a/testdata/Server-TLSv12-SNI-GetCertificate +++ b/testdata/Server-TLSv12-SNI-GetCertificate @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 81 01 00 00 7d 03 03 02 34 82 a7 1a |........}...4...| -00000010 fe 81 b0 1c 2e df cc 04 2d f7 22 39 34 95 c7 c1 |........-."94...| -00000020 b2 92 a2 d2 aa ca 57 0f 9c be b4 00 00 04 00 2f |......W......../| +00000000 16 03 01 00 81 01 00 00 7d 03 03 37 94 a0 f3 65 |........}..7...e| +00000010 7b 07 88 ab 9f 29 dd 9a 56 a8 27 84 75 29 4f 24 |{....)..V.'.u)O$| +00000020 ce a2 ef 9b 34 ff 69 06 4c c8 e5 00 00 04 00 2f |....4.i.L....../| 00000030 00 ff 01 00 00 50 00 00 00 10 00 0e 00 00 0b 73 |.....P.........s| 00000040 6e 69 74 65 73 74 2e 63 6f 6d 00 16 00 00 00 17 |nitest.com......| 00000050 00 00 00 0d 00 30 00 2e 04 03 05 03 06 03 08 07 |.....0..........| @@ -9,75 +9,75 @@ 00000070 05 01 06 01 03 03 02 03 03 01 02 01 03 02 02 02 |................| 00000080 04 02 05 02 06 02 |......| >>> Flow 2 (server to client) -00000000 16 03 03 00 35 02 00 00 31 03 03 00 00 00 00 00 |....5...1.......| +00000000 16 03 03 00 39 02 00 00 35 03 03 00 00 00 00 00 |....9...5.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 00 00 00 44 4f 57 4e 47 52 44 01 00 00 2f 00 00 |...DOWNGRD.../..| -00000030 09 ff 01 00 01 00 00 17 00 00 16 03 03 02 59 0b |..............Y.| -00000040 00 02 55 00 02 52 00 02 4f 30 82 02 4b 30 82 01 |..U..R..O0..K0..| -00000050 b4 a0 03 02 01 02 02 09 00 e8 f0 9d 3f e2 5b ea |............?.[.| -00000060 a6 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 |.0...*.H........| -00000070 30 1f 31 0b 30 09 06 03 55 04 0a 13 02 47 6f 31 |0.1.0...U....Go1| -00000080 10 30 0e 06 03 55 04 03 13 07 47 6f 20 52 6f 6f |.0...U....Go Roo| -00000090 74 30 1e 17 0d 31 36 30 31 30 31 30 30 30 30 30 |t0...16010100000| -000000a0 30 5a 17 0d 32 35 30 31 30 31 30 30 30 30 30 30 |0Z..250101000000| -000000b0 5a 30 1a 31 0b 30 09 06 03 55 04 0a 13 02 47 6f |Z0.1.0...U....Go| -000000c0 31 0b 30 09 06 03 55 04 03 13 02 47 6f 30 81 9f |1.0...U....Go0..| -000000d0 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 |0...*.H.........| -000000e0 81 8d 00 30 81 89 02 81 81 00 db 46 7d 93 2e 12 |...0.......F}...| -000000f0 27 06 48 bc 06 28 21 ab 7e c4 b6 a2 5d fe 1e 52 |'.H..(!.~...]..R| -00000100 45 88 7a 36 47 a5 08 0d 92 42 5b c2 81 c0 be 97 |E.z6G....B[.....| -00000110 79 98 40 fb 4f 6d 14 fd 2b 13 8b c2 a5 2e 67 d8 |y.@.Om..+.....g.| -00000120 d4 09 9e d6 22 38 b7 4a 0b 74 73 2b c2 34 f1 d1 |...."8.J.ts+.4..| -00000130 93 e5 96 d9 74 7b f3 58 9f 6c 61 3c c0 b0 41 d4 |....t{.X.la<..A.| -00000140 d9 2b 2b 24 23 77 5b 1c 3b bd 75 5d ce 20 54 cf |.++$#w[.;.u]. T.| -00000150 a1 63 87 1d 1e 24 c4 f3 1d 1a 50 8b aa b6 14 43 |.c...$....P....C| -00000160 ed 97 a7 75 62 f4 14 c8 52 d7 02 03 01 00 01 a3 |...ub...R.......| -00000170 81 93 30 81 90 30 0e 06 03 55 1d 0f 01 01 ff 04 |..0..0...U......| -00000180 04 03 02 05 a0 30 1d 06 03 55 1d 25 04 16 30 14 |.....0...U.%..0.| -00000190 06 08 2b 06 01 05 05 07 03 01 06 08 2b 06 01 05 |..+.........+...| -000001a0 05 07 03 02 30 0c 06 03 55 1d 13 01 01 ff 04 02 |....0...U.......| -000001b0 30 00 30 19 06 03 55 1d 0e 04 12 04 10 9f 91 16 |0.0...U.........| -000001c0 1f 43 43 3e 49 a6 de 6d b6 80 d7 9f 60 30 1b 06 |.CC>I..m....`0..| -000001d0 03 55 1d 23 04 14 30 12 80 10 48 13 49 4d 13 7e |.U.#..0...H.IM.~| -000001e0 16 31 bb a3 01 d5 ac ab 6e 7b 30 19 06 03 55 1d |.1......n{0...U.| -000001f0 11 04 12 30 10 82 0e 65 78 61 6d 70 6c 65 2e 67 |...0...example.g| -00000200 6f 6c 61 6e 67 30 0d 06 09 2a 86 48 86 f7 0d 01 |olang0...*.H....| -00000210 01 0b 05 00 03 81 81 00 9d 30 cc 40 2b 5b 50 a0 |.........0.@+[P.| -00000220 61 cb ba e5 53 58 e1 ed 83 28 a9 58 1a a9 38 a4 |a...SX...(.X..8.| -00000230 95 a1 ac 31 5a 1a 84 66 3d 43 d3 2d d9 0b f2 97 |...1Z..f=C.-....| -00000240 df d3 20 64 38 92 24 3a 00 bc cf 9c 7d b7 40 20 |.. d8.$:....}.@ | -00000250 01 5f aa d3 16 61 09 a2 76 fd 13 c3 cc e1 0c 5c |._...a..v......\| -00000260 ee b1 87 82 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c |.....l..s..Cw...| -00000270 f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d ae db 46 06 |....@.a.Lr+...F.| -00000280 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 |.M...>...B...=.`| -00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 04 0e 00 00 |.\!.;...........| -000002a0 00 |.| +00000030 0d ff 01 00 01 00 00 17 00 00 00 00 00 00 16 03 |................| +00000040 03 02 59 0b 00 02 55 00 02 52 00 02 4f 30 82 02 |..Y...U..R..O0..| +00000050 4b 30 82 01 b4 a0 03 02 01 02 02 09 00 e8 f0 9d |K0..............| +00000060 3f e2 5b ea a6 30 0d 06 09 2a 86 48 86 f7 0d 01 |?.[..0...*.H....| +00000070 01 0b 05 00 30 1f 31 0b 30 09 06 03 55 04 0a 13 |....0.1.0...U...| +00000080 02 47 6f 31 10 30 0e 06 03 55 04 03 13 07 47 6f |.Go1.0...U....Go| +00000090 20 52 6f 6f 74 30 1e 17 0d 31 36 30 31 30 31 30 | Root0...1601010| +000000a0 30 30 30 30 30 5a 17 0d 32 35 30 31 30 31 30 30 |00000Z..25010100| +000000b0 30 30 30 30 5a 30 1a 31 0b 30 09 06 03 55 04 0a |0000Z0.1.0...U..| +000000c0 13 02 47 6f 31 0b 30 09 06 03 55 04 03 13 02 47 |..Go1.0...U....G| +000000d0 6f 30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01 01 |o0..0...*.H.....| +000000e0 01 05 00 03 81 8d 00 30 81 89 02 81 81 00 db 46 |.......0.......F| +000000f0 7d 93 2e 12 27 06 48 bc 06 28 21 ab 7e c4 b6 a2 |}...'.H..(!.~...| +00000100 5d fe 1e 52 45 88 7a 36 47 a5 08 0d 92 42 5b c2 |]..RE.z6G....B[.| +00000110 81 c0 be 97 79 98 40 fb 4f 6d 14 fd 2b 13 8b c2 |....y.@.Om..+...| +00000120 a5 2e 67 d8 d4 09 9e d6 22 38 b7 4a 0b 74 73 2b |..g....."8.J.ts+| +00000130 c2 34 f1 d1 93 e5 96 d9 74 7b f3 58 9f 6c 61 3c |.4......t{.X.la<| +00000140 c0 b0 41 d4 d9 2b 2b 24 23 77 5b 1c 3b bd 75 5d |..A..++$#w[.;.u]| +00000150 ce 20 54 cf a1 63 87 1d 1e 24 c4 f3 1d 1a 50 8b |. T..c...$....P.| +00000160 aa b6 14 43 ed 97 a7 75 62 f4 14 c8 52 d7 02 03 |...C...ub...R...| +00000170 01 00 01 a3 81 93 30 81 90 30 0e 06 03 55 1d 0f |......0..0...U..| +00000180 01 01 ff 04 04 03 02 05 a0 30 1d 06 03 55 1d 25 |.........0...U.%| +00000190 04 16 30 14 06 08 2b 06 01 05 05 07 03 01 06 08 |..0...+.........| +000001a0 2b 06 01 05 05 07 03 02 30 0c 06 03 55 1d 13 01 |+.......0...U...| +000001b0 01 ff 04 02 30 00 30 19 06 03 55 1d 0e 04 12 04 |....0.0...U.....| +000001c0 10 9f 91 16 1f 43 43 3e 49 a6 de 6d b6 80 d7 9f |.....CC>I..m....| +000001d0 60 30 1b 06 03 55 1d 23 04 14 30 12 80 10 48 13 |`0...U.#..0...H.| +000001e0 49 4d 13 7e 16 31 bb a3 01 d5 ac ab 6e 7b 30 19 |IM.~.1......n{0.| +000001f0 06 03 55 1d 11 04 12 30 10 82 0e 65 78 61 6d 70 |..U....0...examp| +00000200 6c 65 2e 67 6f 6c 61 6e 67 30 0d 06 09 2a 86 48 |le.golang0...*.H| +00000210 86 f7 0d 01 01 0b 05 00 03 81 81 00 9d 30 cc 40 |.............0.@| +00000220 2b 5b 50 a0 61 cb ba e5 53 58 e1 ed 83 28 a9 58 |+[P.a...SX...(.X| +00000230 1a a9 38 a4 95 a1 ac 31 5a 1a 84 66 3d 43 d3 2d |..8....1Z..f=C.-| +00000240 d9 0b f2 97 df d3 20 64 38 92 24 3a 00 bc cf 9c |...... d8.$:....| +00000250 7d b7 40 20 01 5f aa d3 16 61 09 a2 76 fd 13 c3 |}.@ ._...a..v...| +00000260 cc e1 0c 5c ee b1 87 82 f1 6c 04 ed 73 bb b3 43 |...\.....l..s..C| +00000270 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d |w.......@.a.Lr+.| +00000280 ae db 46 06 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db |..F..M...>...B..| +00000290 fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 16 03 03 00 |.=.`.\!.;.......| +000002a0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) -00000000 16 03 03 00 86 10 00 00 82 00 80 d9 90 3c 11 be |.............<..| -00000010 f3 48 de f0 8f 9e 12 ca e0 ab 86 e0 7e e7 8b ea |.H..........~...| -00000020 1a 76 3e 65 8d 7a d6 1c 72 2a f7 1e aa 0a 12 8f |.v>e.z..r*......| -00000030 54 ac 33 95 9d 00 a9 a6 94 54 7b 6a d9 e3 f4 67 |T.3......T{j...g| -00000040 a6 d3 b1 c1 5d 86 51 aa 63 67 6b 6e cb 3b 5e 59 |....].Q.cgkn.;^Y| -00000050 02 c2 57 fd 37 39 1b 73 9a 61 b0 78 de e8 cc f8 |..W.79.s.a.x....| -00000060 b3 01 11 e5 e9 31 85 4d fe 60 d4 12 70 71 64 45 |.....1.M.`..pqdE| -00000070 e8 7d fb be 5b 82 c0 c4 e1 57 09 2c f2 d7 a3 79 |.}..[....W.,...y| -00000080 1c 40 08 e1 e6 cd e2 3e e7 55 da 14 03 03 00 01 |.@.....>.U......| -00000090 01 16 03 03 00 40 29 9e b7 cf 5e 7c e9 40 91 5f |.....@)...^|.@._| -000000a0 b6 12 d4 42 ec 6a bc 03 d9 fa e4 d8 bf c7 2c c5 |...B.j........,.| -000000b0 52 74 17 77 b1 aa 13 87 f0 81 da 0d ca 7f d9 ca |Rt.w............| -000000c0 18 46 55 62 3f 90 21 60 fa 85 8c 80 6b 23 45 e7 |.FUb?.!`....k#E.| -000000d0 0b 6e 8c e2 c3 f6 |.n....| +00000000 16 03 03 00 86 10 00 00 82 00 80 1f fb a2 ec cf |................| +00000010 39 a3 cd db ee 86 8e 22 91 e1 47 5b ac 3b c0 f6 |9......"..G[.;..| +00000020 37 0f d0 b6 19 c5 a4 4c 1a 8f 8b 67 8a 20 0e 06 |7......L...g. ..| +00000030 6a 25 d9 13 58 37 cb dc 9b 3a 0f 9d 12 02 45 3f |j%..X7...:....E?| +00000040 2d 51 f5 cd 9f 45 be 5e f9 af 13 53 c2 15 a6 ca |-Q...E.^...S....| +00000050 8a cb 27 e0 d1 23 7a 19 06 26 d6 86 de 76 e7 9c |..'..#z..&...v..| +00000060 eb f8 15 1d 85 3f be 38 c4 bc 48 c3 74 d4 10 9b |.....?.8..H.t...| +00000070 9e 97 4c 1c 56 18 9d 65 1c be 33 3c 4c 90 e0 e4 |..L.V..e..3.]| +000000b0 3e c1 c2 0c c5 20 eb 76 e1 14 16 95 9c 56 10 67 |>.... .v.....V.g| +000000c0 02 61 2f a6 af 01 b3 64 73 4a 80 53 4a 94 b3 a0 |.a/....dsJ.SJ...| +000000d0 ee b5 95 b6 6a 20 |....j | >>> Flow 4 (server to client) 00000000 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 00 |..........@.....| -00000010 00 00 00 00 00 00 00 00 00 00 00 ee 8d 0f cd 15 |................| -00000020 db b4 cd 25 27 b6 7e 9b 82 91 2f 01 e1 4f f9 0c |...%'.~.../..O..| -00000030 68 4c bf 26 2b 4b 49 f5 0a 67 8a 4f 12 35 37 75 |hL.&+KI..g.O.57u| -00000040 16 fe cc 26 35 66 60 8c ed 42 40 17 03 03 00 40 |...&5f`..B@....@| +00000010 00 00 00 00 00 00 00 00 00 00 00 0e 0d f6 1c 84 |................| +00000020 d7 1a 4b 45 a1 9b e1 22 78 31 89 0c 4d f3 5b b8 |..KE..."x1..M.[.| +00000030 41 22 4f b2 aa 99 9e 5c 7c ff 2d ca db 32 01 eb |A"O....\|.-..2..| +00000040 55 2a f4 66 58 4a c2 fd 9f e5 7e 17 03 03 00 40 |U*.fXJ....~....@| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000060 f5 7a ee 53 aa 85 bb 81 c4 57 68 12 f1 40 4c 20 |.z.S.....Wh..@L | -00000070 2a ff fc 6c dd 73 65 fc 41 e6 5b 96 6b 35 2f 8a |*..l.se.A.[.k5/.| -00000080 62 49 4a da f4 df 93 a0 ab e1 12 4d 8d 34 2c 6a |bIJ........M.4,j| +00000060 6c e0 c3 a0 c9 bd 12 83 58 56 e7 f4 cf 31 8f 1d |l.......XV...1..| +00000070 02 17 ce 2b 24 1c 2f 04 11 cc b2 15 38 62 d2 7d |...+$./.....8b.}| +00000080 1b 75 bc 20 a6 3a 65 48 2e 47 14 17 19 51 aa 71 |.u. .:eH.G...Q.q| 00000090 15 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -000000a0 00 00 00 00 00 1c 08 e5 52 29 79 d6 15 07 10 44 |........R)y....D| -000000b0 95 07 07 cb 3b 2b 37 2f e3 dc 17 f9 27 b6 5d 44 |....;+7/....'.]D| -000000c0 d0 30 4b 2e 21 |.0K.!| +000000a0 00 00 00 00 00 34 81 ed 3f e0 b9 5d 01 6e d7 e8 |.....4..?..].n..| +000000b0 45 9f 2c 93 27 28 11 34 b4 a9 32 d5 97 9f ea 05 |E.,.'(.4..2.....| +000000c0 39 90 90 dc e5 |9....| diff --git a/testdata/Server-TLSv12-SNI-GetCertificateNotFound b/testdata/Server-TLSv12-SNI-GetCertificateNotFound index 0c06ce98d75..975b9fbe599 100644 --- a/testdata/Server-TLSv12-SNI-GetCertificateNotFound +++ b/testdata/Server-TLSv12-SNI-GetCertificateNotFound @@ -1,7 +1,7 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 81 01 00 00 7d 03 03 77 e7 c3 97 fa |........}..w....| -00000010 59 80 de d1 f5 9f ce e5 a5 38 60 2c 30 b2 64 5b |Y........8`,0.d[| -00000020 6c 0a 56 49 1d 6f 19 57 5a ac 05 00 00 04 00 2f |l.VI.o.WZ....../| +00000000 16 03 01 00 81 01 00 00 7d 03 03 7a 13 72 a9 8d |........}..z.r..| +00000010 6d 7e 8e 9c ba c1 9d 5c 09 87 9e 2f 7b e1 ba 39 |m~.....\.../{..9| +00000020 f8 ee fd 1c a7 08 61 73 b9 d7 be 00 00 04 00 2f |......as......./| 00000030 00 ff 01 00 00 50 00 00 00 10 00 0e 00 00 0b 73 |.....P.........s| 00000040 6e 69 74 65 73 74 2e 63 6f 6d 00 16 00 00 00 17 |nitest.com......| 00000050 00 00 00 0d 00 30 00 2e 04 03 05 03 06 03 08 07 |.....0..........| @@ -9,75 +9,75 @@ 00000070 05 01 06 01 03 03 02 03 03 01 02 01 03 02 02 02 |................| 00000080 04 02 05 02 06 02 |......| >>> Flow 2 (server to client) -00000000 16 03 03 00 35 02 00 00 31 03 03 00 00 00 00 00 |....5...1.......| +00000000 16 03 03 00 39 02 00 00 35 03 03 00 00 00 00 00 |....9...5.......| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 00 00 00 44 4f 57 4e 47 52 44 01 00 00 2f 00 00 |...DOWNGRD.../..| -00000030 09 ff 01 00 01 00 00 17 00 00 16 03 03 02 59 0b |..............Y.| -00000040 00 02 55 00 02 52 00 02 4f 30 82 02 4b 30 82 01 |..U..R..O0..K0..| -00000050 b4 a0 03 02 01 02 02 09 00 e8 f0 9d 3f e2 5b ea |............?.[.| -00000060 a6 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00 |.0...*.H........| -00000070 30 1f 31 0b 30 09 06 03 55 04 0a 13 02 47 6f 31 |0.1.0...U....Go1| -00000080 10 30 0e 06 03 55 04 03 13 07 47 6f 20 52 6f 6f |.0...U....Go Roo| -00000090 74 30 1e 17 0d 31 36 30 31 30 31 30 30 30 30 30 |t0...16010100000| -000000a0 30 5a 17 0d 32 35 30 31 30 31 30 30 30 30 30 30 |0Z..250101000000| -000000b0 5a 30 1a 31 0b 30 09 06 03 55 04 0a 13 02 47 6f |Z0.1.0...U....Go| -000000c0 31 0b 30 09 06 03 55 04 03 13 02 47 6f 30 81 9f |1.0...U....Go0..| -000000d0 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00 03 |0...*.H.........| -000000e0 81 8d 00 30 81 89 02 81 81 00 db 46 7d 93 2e 12 |...0.......F}...| -000000f0 27 06 48 bc 06 28 21 ab 7e c4 b6 a2 5d fe 1e 52 |'.H..(!.~...]..R| -00000100 45 88 7a 36 47 a5 08 0d 92 42 5b c2 81 c0 be 97 |E.z6G....B[.....| -00000110 79 98 40 fb 4f 6d 14 fd 2b 13 8b c2 a5 2e 67 d8 |y.@.Om..+.....g.| -00000120 d4 09 9e d6 22 38 b7 4a 0b 74 73 2b c2 34 f1 d1 |...."8.J.ts+.4..| -00000130 93 e5 96 d9 74 7b f3 58 9f 6c 61 3c c0 b0 41 d4 |....t{.X.la<..A.| -00000140 d9 2b 2b 24 23 77 5b 1c 3b bd 75 5d ce 20 54 cf |.++$#w[.;.u]. T.| -00000150 a1 63 87 1d 1e 24 c4 f3 1d 1a 50 8b aa b6 14 43 |.c...$....P....C| -00000160 ed 97 a7 75 62 f4 14 c8 52 d7 02 03 01 00 01 a3 |...ub...R.......| -00000170 81 93 30 81 90 30 0e 06 03 55 1d 0f 01 01 ff 04 |..0..0...U......| -00000180 04 03 02 05 a0 30 1d 06 03 55 1d 25 04 16 30 14 |.....0...U.%..0.| -00000190 06 08 2b 06 01 05 05 07 03 01 06 08 2b 06 01 05 |..+.........+...| -000001a0 05 07 03 02 30 0c 06 03 55 1d 13 01 01 ff 04 02 |....0...U.......| -000001b0 30 00 30 19 06 03 55 1d 0e 04 12 04 10 9f 91 16 |0.0...U.........| -000001c0 1f 43 43 3e 49 a6 de 6d b6 80 d7 9f 60 30 1b 06 |.CC>I..m....`0..| -000001d0 03 55 1d 23 04 14 30 12 80 10 48 13 49 4d 13 7e |.U.#..0...H.IM.~| -000001e0 16 31 bb a3 01 d5 ac ab 6e 7b 30 19 06 03 55 1d |.1......n{0...U.| -000001f0 11 04 12 30 10 82 0e 65 78 61 6d 70 6c 65 2e 67 |...0...example.g| -00000200 6f 6c 61 6e 67 30 0d 06 09 2a 86 48 86 f7 0d 01 |olang0...*.H....| -00000210 01 0b 05 00 03 81 81 00 9d 30 cc 40 2b 5b 50 a0 |.........0.@+[P.| -00000220 61 cb ba e5 53 58 e1 ed 83 28 a9 58 1a a9 38 a4 |a...SX...(.X..8.| -00000230 95 a1 ac 31 5a 1a 84 66 3d 43 d3 2d d9 0b f2 97 |...1Z..f=C.-....| -00000240 df d3 20 64 38 92 24 3a 00 bc cf 9c 7d b7 40 20 |.. d8.$:....}.@ | -00000250 01 5f aa d3 16 61 09 a2 76 fd 13 c3 cc e1 0c 5c |._...a..v......\| -00000260 ee b1 87 82 f1 6c 04 ed 73 bb b3 43 77 8d 0c 1c |.....l..s..Cw...| -00000270 f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d ae db 46 06 |....@.a.Lr+...F.| -00000280 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db fe 3d 13 60 |.M...>...B...=.`| -00000290 84 5c 21 d3 3b e9 fa e7 16 03 03 00 04 0e 00 00 |.\!.;...........| -000002a0 00 |.| +00000030 0d ff 01 00 01 00 00 17 00 00 00 00 00 00 16 03 |................| +00000040 03 02 59 0b 00 02 55 00 02 52 00 02 4f 30 82 02 |..Y...U..R..O0..| +00000050 4b 30 82 01 b4 a0 03 02 01 02 02 09 00 e8 f0 9d |K0..............| +00000060 3f e2 5b ea a6 30 0d 06 09 2a 86 48 86 f7 0d 01 |?.[..0...*.H....| +00000070 01 0b 05 00 30 1f 31 0b 30 09 06 03 55 04 0a 13 |....0.1.0...U...| +00000080 02 47 6f 31 10 30 0e 06 03 55 04 03 13 07 47 6f |.Go1.0...U....Go| +00000090 20 52 6f 6f 74 30 1e 17 0d 31 36 30 31 30 31 30 | Root0...1601010| +000000a0 30 30 30 30 30 5a 17 0d 32 35 30 31 30 31 30 30 |00000Z..25010100| +000000b0 30 30 30 30 5a 30 1a 31 0b 30 09 06 03 55 04 0a |0000Z0.1.0...U..| +000000c0 13 02 47 6f 31 0b 30 09 06 03 55 04 03 13 02 47 |..Go1.0...U....G| +000000d0 6f 30 81 9f 30 0d 06 09 2a 86 48 86 f7 0d 01 01 |o0..0...*.H.....| +000000e0 01 05 00 03 81 8d 00 30 81 89 02 81 81 00 db 46 |.......0.......F| +000000f0 7d 93 2e 12 27 06 48 bc 06 28 21 ab 7e c4 b6 a2 |}...'.H..(!.~...| +00000100 5d fe 1e 52 45 88 7a 36 47 a5 08 0d 92 42 5b c2 |]..RE.z6G....B[.| +00000110 81 c0 be 97 79 98 40 fb 4f 6d 14 fd 2b 13 8b c2 |....y.@.Om..+...| +00000120 a5 2e 67 d8 d4 09 9e d6 22 38 b7 4a 0b 74 73 2b |..g....."8.J.ts+| +00000130 c2 34 f1 d1 93 e5 96 d9 74 7b f3 58 9f 6c 61 3c |.4......t{.X.la<| +00000140 c0 b0 41 d4 d9 2b 2b 24 23 77 5b 1c 3b bd 75 5d |..A..++$#w[.;.u]| +00000150 ce 20 54 cf a1 63 87 1d 1e 24 c4 f3 1d 1a 50 8b |. T..c...$....P.| +00000160 aa b6 14 43 ed 97 a7 75 62 f4 14 c8 52 d7 02 03 |...C...ub...R...| +00000170 01 00 01 a3 81 93 30 81 90 30 0e 06 03 55 1d 0f |......0..0...U..| +00000180 01 01 ff 04 04 03 02 05 a0 30 1d 06 03 55 1d 25 |.........0...U.%| +00000190 04 16 30 14 06 08 2b 06 01 05 05 07 03 01 06 08 |..0...+.........| +000001a0 2b 06 01 05 05 07 03 02 30 0c 06 03 55 1d 13 01 |+.......0...U...| +000001b0 01 ff 04 02 30 00 30 19 06 03 55 1d 0e 04 12 04 |....0.0...U.....| +000001c0 10 9f 91 16 1f 43 43 3e 49 a6 de 6d b6 80 d7 9f |.....CC>I..m....| +000001d0 60 30 1b 06 03 55 1d 23 04 14 30 12 80 10 48 13 |`0...U.#..0...H.| +000001e0 49 4d 13 7e 16 31 bb a3 01 d5 ac ab 6e 7b 30 19 |IM.~.1......n{0.| +000001f0 06 03 55 1d 11 04 12 30 10 82 0e 65 78 61 6d 70 |..U....0...examp| +00000200 6c 65 2e 67 6f 6c 61 6e 67 30 0d 06 09 2a 86 48 |le.golang0...*.H| +00000210 86 f7 0d 01 01 0b 05 00 03 81 81 00 9d 30 cc 40 |.............0.@| +00000220 2b 5b 50 a0 61 cb ba e5 53 58 e1 ed 83 28 a9 58 |+[P.a...SX...(.X| +00000230 1a a9 38 a4 95 a1 ac 31 5a 1a 84 66 3d 43 d3 2d |..8....1Z..f=C.-| +00000240 d9 0b f2 97 df d3 20 64 38 92 24 3a 00 bc cf 9c |...... d8.$:....| +00000250 7d b7 40 20 01 5f aa d3 16 61 09 a2 76 fd 13 c3 |}.@ ._...a..v...| +00000260 cc e1 0c 5c ee b1 87 82 f1 6c 04 ed 73 bb b3 43 |...\.....l..s..C| +00000270 77 8d 0c 1c f1 0f a1 d8 40 83 61 c9 4c 72 2b 9d |w.......@.a.Lr+.| +00000280 ae db 46 06 06 4d f4 c1 b3 3e c0 d1 bd 42 d4 db |..F..M...>...B..| +00000290 fe 3d 13 60 84 5c 21 d3 3b e9 fa e7 16 03 03 00 |.=.`.\!.;.......| +000002a0 04 0e 00 00 00 |.....| >>> Flow 3 (client to server) -00000000 16 03 03 00 86 10 00 00 82 00 80 67 0c a0 f8 da |...........g....| -00000010 2e d9 9e 9d ef c8 9b 77 f5 fe 25 32 74 49 1d a7 |.......w..%2tI..| -00000020 7d 69 37 2a 94 07 5a 15 e8 f1 1d 36 25 ae 32 e4 |}i7*..Z....6%.2.| -00000030 9c f5 35 fb 54 81 f2 19 4f 8d 6b 64 1a b2 a2 2e |..5.T...O.kd....| -00000040 c4 cb 5b 73 9d 46 97 01 33 d3 b8 a9 18 39 2c ad |..[s.F..3....9,.| -00000050 f2 eb 6b 02 38 44 f8 cf ae ac a6 e6 54 92 29 ae |..k.8D......T.).| -00000060 a6 8a 4e 82 99 f3 77 8c b6 3a a1 5c 4f 25 3b 7f |..N...w..:.\O%;.| -00000070 39 2f cd 51 dc e3 fc 7c 5a 5a 33 e4 af 43 d0 d3 |9/.Q...|ZZ3..C..| -00000080 eb 3b 86 71 af 92 53 6e 02 b9 59 14 03 03 00 01 |.;.q..Sn..Y.....| -00000090 01 16 03 03 00 40 8b e4 6f d3 88 e7 6a e9 aa f2 |.....@..o...j...| -000000a0 4f 67 69 80 bc f1 78 ca a9 f9 29 ce 44 93 81 46 |Ogi...x...).D..F| -000000b0 0e 18 d1 2a 14 8b 3b b5 15 e4 b5 2a bb 88 d4 80 |...*..;....*....| -000000c0 7b 2f 03 c7 83 7c 61 24 29 fe dd bc 49 8a b1 88 |{/...|a$)...I...| -000000d0 41 ac 8a 12 f8 d6 |A.....| +00000000 16 03 03 00 86 10 00 00 82 00 80 6a be 75 35 e3 |...........j.u5.| +00000010 38 f9 8e b5 c3 64 bb 5f 95 95 5e 2c 6a 61 84 8d |8....d._..^,ja..| +00000020 aa 41 88 de 30 55 ba ae 38 48 e5 d9 19 fa ad 09 |.A..0U..8H......| +00000030 94 16 93 df 08 4a a6 0b 0b 53 2a 2a 37 65 cb ed |.....J...S**7e..| +00000040 2c 07 6b 7d 99 6e 14 1d 9b de 60 e8 25 da 0d c5 |,.k}.n....`.%...| +00000050 73 e5 a9 87 25 ce c7 8f 68 88 c5 68 14 ee ac 91 |s...%...h..h....| +00000060 ab 44 fe 31 e0 b5 e1 cd 9b 56 b7 0a 5a d6 b3 54 |.D.1.....V..Z..T| +00000070 9c aa 30 17 ea e2 8c b5 61 89 a7 b1 96 d6 25 0f |..0.....a.....%.| +00000080 30 91 ba 95 2e a8 c0 53 ad 18 e4 14 03 03 00 01 |0......S........| +00000090 01 16 03 03 00 40 b1 5f 16 fb 6e 9d 3b 05 20 be |.....@._..n.;. .| +000000a0 19 0e 6d 74 c1 4a aa 00 db af 58 92 4a 83 f3 23 |..mt.J....X.J..#| +000000b0 e2 6c 0f f2 00 08 0f fd f4 f8 71 b3 c3 8e 8c 57 |.l........q....W| +000000c0 db 98 ff d6 7c f9 26 0b 13 8c 83 36 32 9a 5a 58 |....|.&....62.ZX| +000000d0 0a 41 7d 3f 30 c0 |.A}?0.| >>> Flow 4 (server to client) 00000000 14 03 03 00 01 01 16 03 03 00 40 00 00 00 00 00 |..........@.....| -00000010 00 00 00 00 00 00 00 00 00 00 00 e7 d3 34 46 88 |.............4F.| -00000020 0e 7f ae 5b d6 e5 70 d2 7d 99 25 1b 27 89 8a a4 |...[..p.}.%.'...| -00000030 02 03 01 a4 e1 d6 72 af c3 5a 55 f7 56 69 60 91 |......r..ZU.Vi`.| -00000040 49 29 68 36 99 e5 09 ac 7a e3 4f 17 03 03 00 40 |I)h6....z.O....@| +00000010 00 00 00 00 00 00 00 00 00 00 00 88 5b 28 f3 14 |............[(..| +00000020 18 d4 cd f1 1b b8 4b 47 50 0c 76 07 8a f9 ad 9d |......KGP.v.....| +00000030 ba 87 e7 69 cf 47 d7 79 2f 45 55 74 e8 2a 8f d3 |...i.G.y/EUt.*..| +00000040 02 10 ee d8 80 a0 36 9a 5b 70 4d 17 03 03 00 40 |......6.[pM....@| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00000060 71 d0 36 7d 2c 3b 40 e3 a9 3f c1 d0 5e 3a ee d2 |q.6},;@..?..^:..| -00000070 4d 0d b7 f4 83 3e 75 e0 ed 8a fc b2 9b ed 98 a8 |M....>u.........| -00000080 ec 49 65 83 53 e0 79 52 03 2b 78 8a 64 3e 4c 5e |.Ie.S.yR.+x.d>L^| +00000060 43 e0 95 80 4c ce 68 fb 8c ad a8 77 99 d7 53 7f |C...L.h....w..S.| +00000070 b7 bf 03 59 23 f1 b4 3c d8 db 38 f4 b5 9b f5 3f |...Y#..<..8....?| +00000080 12 b6 f3 2a f5 f8 66 57 0c 03 7b 00 16 01 8a 70 |...*..fW..{....p| 00000090 15 03 03 00 30 00 00 00 00 00 00 00 00 00 00 00 |....0...........| -000000a0 00 00 00 00 00 76 38 c3 3d 86 d8 58 f2 16 48 94 |.....v8.=..X..H.| -000000b0 46 65 ea 80 46 74 fe 66 7c 72 99 30 b3 05 08 14 |Fe..Ft.f|r.0....| -000000c0 19 e3 ee 6f cf |...o.| +000000a0 00 00 00 00 00 3a fa 64 7c f3 25 08 c6 06 fb 02 |.....:.d|.%.....| +000000b0 ce a0 97 81 c9 ea 53 fc cf 39 b9 8a f7 0c df 2f |......S..9...../| +000000c0 5f 56 62 78 86 |_Vbx.| diff --git a/testdata/Server-TLSv13-ClientAuthRequestedAndECDSAGiven b/testdata/Server-TLSv13-ClientAuthRequestedAndECDSAGiven index a957c26399e..686011b0fa9 100644 --- a/testdata/Server-TLSv13-ClientAuthRequestedAndECDSAGiven +++ b/testdata/Server-TLSv13-ClientAuthRequestedAndECDSAGiven @@ -1,180 +1,182 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 ca 01 00 00 c6 03 03 cd 87 c0 5e 7c |..............^|| -00000010 7b d7 c6 77 d9 21 6f 46 00 07 88 61 18 8c b9 d4 |{..w.!oF...a....| -00000020 ad 25 6a 9d 7e 54 cc 70 52 7c 0f 20 67 9b dd 18 |.%j.~T.pR|. g...| -00000030 84 bb 23 7d 53 10 b9 6c 01 ef 30 6f 79 7d 64 5c |..#}S..l..0oy}d\| -00000040 79 3e c1 11 8f 75 cf 83 02 d3 e8 d9 00 04 13 01 |y>...u..........| +00000000 16 03 01 00 ca 01 00 00 c6 03 03 af 29 1d da b2 |............)...| +00000010 1b 14 96 f9 c9 6a 4d 28 cc 1d 9f c4 95 d0 a6 16 |.....jM(........| +00000020 1f 83 3d d6 17 80 5e 4f 9f d9 87 20 cb 34 16 64 |..=...^O... .4.d| +00000030 39 bb 98 16 55 43 38 3a a2 b4 e0 38 02 04 ee 6b |9...UC8:...8...k| +00000040 a6 4e b9 f8 83 09 aa 7b f5 de e0 79 00 04 13 01 |.N.....{...y....| 00000050 00 ff 01 00 00 79 00 0b 00 04 03 00 01 02 00 0a |.....y..........| 00000060 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 00 16 |................| 00000070 00 00 00 17 00 00 00 0d 00 1e 00 1c 04 03 05 03 |................| 00000080 06 03 08 07 08 08 08 09 08 0a 08 0b 08 04 08 05 |................| 00000090 08 06 04 01 05 01 06 01 00 2b 00 03 02 03 04 00 |.........+......| -000000a0 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 20 d7 |-.....3.&.$... .| -000000b0 18 8a c1 a5 4d cb 7c f2 7d e4 cf 7a c6 92 28 ee |....M.|.}..z..(.| -000000c0 a6 b4 79 65 bf 2b fb 71 2e a5 2a 58 da 6f 5e |..ye.+.q..*X.o^| +000000a0 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 20 ee |-.....3.&.$... .| +000000b0 90 71 47 4a 18 b1 78 c4 9a 7d 65 5d 4e b3 88 96 |.qGJ..x..}e]N...| +000000c0 6c b1 bc 2d a3 9d 2d 8e a2 7a 7b eb 94 11 4e |l..-..-..z{...N| >>> 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 67 9b dd 18 |........... g...| -00000030 84 bb 23 7d 53 10 b9 6c 01 ef 30 6f 79 7d 64 5c |..#}S..l..0oy}d\| -00000040 79 3e c1 11 8f 75 cf 83 02 d3 e8 d9 13 01 00 00 |y>...u..........| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 cb 34 16 64 |........... .4.d| +00000030 39 bb 98 16 55 43 38 3a a2 b4 e0 38 02 04 ee 6b |9...UC8:...8...k| +00000040 a6 4e b9 f8 83 09 aa 7b f5 de e0 79 13 01 00 00 |.N.....{...y....| 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 4d 4b 33 12 cb ed |..........MK3...| -00000090 f7 a2 55 e7 a6 ab 5b b1 55 16 30 c3 ee e1 5c 14 |..U...[.U.0...\.| -000000a0 b8 17 03 03 00 3e 30 04 2a e5 e8 b8 f3 25 9b a9 |.....>0.*....%..| -000000b0 92 e6 eb d9 fb b6 62 64 e2 de 9d c0 48 68 b3 d7 |......bd....Hh..| -000000c0 0f 8b ad 21 69 c7 f0 d7 96 ff 6a 24 2f 01 c9 e7 |...!i.....j$/...| -000000d0 e9 06 4b 93 94 67 97 44 46 c4 69 2f 0e aa e0 9b |..K..g.DF.i/....| -000000e0 8d 19 f2 2c 17 03 03 02 6d a1 fb 2b 5f 10 e9 62 |...,....m..+_..b| -000000f0 8b ad c1 33 58 f6 a7 89 78 a6 dd 64 ff c2 c7 57 |...3X...x..d...W| -00000100 80 9f 59 be 2d bd f5 b9 8a 6b d9 22 1c fe 10 ea |..Y.-....k."....| -00000110 c4 a5 3e 45 d9 d7 12 cf 48 d5 26 18 49 50 80 69 |..>E....H.&.IP.i| -00000120 44 28 03 3b b6 f8 0a 0e b4 cb 5e 5b 57 0f c0 2f |D(.;......^[W../| -00000130 59 4f 13 e3 9c 02 18 b1 ce 94 78 05 18 64 73 c6 |YO........x..ds.| -00000140 05 89 d1 54 37 18 ea 09 61 08 c5 6a 54 f6 48 44 |...T7...a..jT.HD| -00000150 40 63 6a 53 b9 41 5f 4f 8e 05 e7 31 7b 08 d0 67 |@cjS.A_O...1{..g| -00000160 8e bf 56 c4 56 0a 82 b2 74 6a 89 dd b4 f7 3c 0b |..V.V...tj....<.| -00000170 3c fd 21 1f 00 72 1d 4f be b1 50 44 9a 14 67 7d |<.!..r.O..PD..g}| -00000180 a9 93 30 a2 4e ea 61 c9 fd 44 de 5c 88 36 59 a2 |..0.N.a..D.\.6Y.| -00000190 e3 63 b1 9c ea dd 47 0a ca 63 9e 50 9d ca 57 12 |.c....G..c.P..W.| -000001a0 05 9b fc f1 26 a2 5e 18 9b 32 00 38 1f ce a6 58 |....&.^..2.8...X| -000001b0 58 0f 61 e2 44 c2 89 34 cc f4 fd 9a dc 1a 67 a6 |X.a.D..4......g.| -000001c0 e8 b1 fc 9f dc bd 0b 21 01 49 0d 9b e1 40 00 f6 |.......!.I...@..| -000001d0 33 1a 57 c5 84 c1 98 3d 7f 53 d3 4d 2e 04 5e 40 |3.W....=.S.M..^@| -000001e0 7d 38 80 66 bc c5 40 d9 14 f6 83 26 82 9b c8 14 |}8.f..@....&....| -000001f0 61 aa 6c 1c a1 53 81 f8 b0 7f 06 92 5c af be 57 |a.l..S......\..W| -00000200 1a 54 97 02 27 31 1f 58 52 cf 39 2f 82 26 ae 6c |.T..'1.XR.9/.&.l| -00000210 86 d9 46 cd 38 16 e2 67 62 82 2e 53 7a 86 15 30 |..F.8..gb..Sz..0| -00000220 08 0c a7 e2 85 18 55 79 16 44 4d 50 9e b5 e7 e1 |......Uy.DMP....| -00000230 2c 1e 1d eb e1 83 f3 9e d0 7b 45 b8 1e 51 d9 79 |,........{E..Q.y| -00000240 91 7a b8 90 bc 18 94 69 ad 94 08 e5 23 de 2b fa |.z.....i....#.+.| -00000250 8d ef 23 4c 40 df e1 43 0d 71 51 ef 88 a9 bb 89 |..#L@..C.qQ.....| -00000260 59 87 9c db e1 d4 31 94 a7 f5 af 7d 51 be e9 d0 |Y.....1....}Q...| -00000270 f2 49 12 72 47 65 a0 5b 7d 9f 91 85 f7 e8 d6 90 |.I.rGe.[}.......| -00000280 b3 4d f3 5d 6a 51 96 a9 81 84 72 95 47 e8 0a f5 |.M.]jQ....r.G...| -00000290 8d d6 2a 64 c2 34 1b d8 f0 f9 62 0c be 17 12 9b |..*d.4....b.....| -000002a0 40 a2 c3 8a eb 30 20 04 e4 69 a3 27 90 a6 1a 4f |@....0 ..i.'...O| -000002b0 3f 95 65 e6 9e c7 ad 03 e1 d2 34 d2 84 d5 f6 8c |?.e.......4.....| -000002c0 1e 8a aa e4 75 c0 7f 1d 79 4e 70 10 4e 18 9c eb |....u...yNp.N...| -000002d0 17 76 0c 66 6c 82 72 41 83 98 fc 41 41 4a 07 03 |.v.fl.rA...AAJ..| -000002e0 a6 16 51 0d 60 96 43 0a 97 27 72 42 31 70 6b 02 |..Q.`.C..'rB1pk.| -000002f0 e4 58 b0 15 4f 2e a3 5a ed dc 82 99 82 47 d5 6c |.X..O..Z.....G.l| -00000300 4b b4 68 70 f5 a3 31 36 52 8d af ab d1 ac f6 28 |K.hp..16R......(| -00000310 2e 18 bc 4f 1b 7c a8 ad c3 1f 2f 70 a6 c4 39 c6 |...O.|..../p..9.| -00000320 ae 0f 2e b7 58 c9 c0 2a 4b 34 c2 42 12 e3 5d ed |....X..*K4.B..].| -00000330 d1 ac e1 f1 14 66 d4 09 1c a0 99 82 d3 04 13 2a |.....f.........*| -00000340 a4 20 c4 e7 38 1e 0a 02 4e 96 02 71 9d f6 f7 86 |. ..8...N..q....| -00000350 f7 30 1a 5d 65 4f 17 03 03 00 99 3f 3d 4a 91 ae |.0.]eO.....?=J..| -00000360 0f 80 52 0f 1c d1 a2 75 83 e5 08 d8 1f 9d c8 24 |..R....u.......$| -00000370 fc 85 ba 76 1f 9e 1e 35 a3 dd 45 83 8e b9 55 a6 |...v...5..E...U.| -00000380 3b 26 ae 82 4f 1f 2e 8f e5 25 fb d6 22 0f 55 d6 |;&..O....%..".U.| -00000390 ac fa 93 6d d1 d3 7c 41 af c0 15 5c 8b e1 64 c1 |...m..|A...\..d.| -000003a0 3f a2 c8 9e 48 f5 63 61 3a df 13 6e f4 e3 60 9d |?...H.ca:..n..`.| -000003b0 bc 52 bd b7 94 e9 4b 7a 65 97 28 ac 39 6a 77 a7 |.R....Kze.(.9jw.| -000003c0 86 1d b4 6b e4 15 c4 bd 2b 41 b6 06 ac ff b5 9f |...k....+A......| -000003d0 17 47 b4 a7 1d 69 8b 6e 82 eb f7 39 03 95 10 dd |.G...i.n...9....| -000003e0 18 78 50 58 c8 78 80 ae 45 dc 54 0f 33 cb 4a d2 |.xPX.x..E.T.3.J.| -000003f0 90 00 12 d4 17 03 03 00 35 76 fa bf ab 3f c3 3d |........5v...?.=| -00000400 dd 78 65 cc 35 1e 24 35 4f 7d 3c e4 bb 73 d8 19 |.xe.5.$5O}<..s..| -00000410 56 94 f4 ce ad bc 1d 6a fb 1b 75 01 93 36 2b 44 |V......j..u..6+D| -00000420 3a 3c a3 9b 7c 57 6f 98 24 a3 64 b1 13 47 |:<..|Wo.$.d..G| +00000080 03 03 00 01 01 17 03 03 00 17 c3 9d 29 f6 f8 18 |............)...| +00000090 b9 39 9f 93 b2 f5 ab 30 41 d6 95 40 21 ba f8 8e |.9.....0A..@!...| +000000a0 25 17 03 03 00 52 08 a9 80 f3 24 c6 a6 b6 aa bc |%....R....$.....| +000000b0 30 c2 f7 dd e6 47 10 88 db 0c dd 43 ab 78 bd 16 |0....G.....C.x..| +000000c0 82 7b 4f 26 9c 0e 47 6b 75 79 4e da 8e 43 8b e6 |.{O&..GkuyN..C..| +000000d0 6a 25 0d 47 50 bf 26 c8 16 70 41 1c b2 b5 cd d1 |j%.GP.&..pA.....| +000000e0 34 9b 26 13 92 45 b5 f5 03 04 cf 55 ee ff c8 e6 |4.&..E.....U....| +000000f0 92 9e 04 d9 c5 f5 fd 0f 17 03 03 02 6d f6 33 26 |............m.3&| +00000100 26 da 41 f2 4e 6e ed 41 23 44 29 5f 43 38 7d 24 |&.A.Nn.A#D)_C8}$| +00000110 f7 a1 01 d4 23 a5 bf 85 db 39 86 27 ff 9c e9 ac |....#....9.'....| +00000120 6c 0e 0e 51 c7 95 8d aa f6 59 53 0a 89 d4 e7 2d |l..Q.....YS....-| +00000130 6e f8 66 7d e5 b2 ac e4 7b b2 91 2b 31 c9 2b 4e |n.f}....{..+1.+N| +00000140 92 8f a9 c8 79 21 9a 8f a2 79 29 47 c4 ef ab 80 |....y!...y)G....| +00000150 25 02 d6 8c ae 32 3b 1a 55 0e f9 4a ba 92 b9 61 |%....2;.U..J...a| +00000160 86 39 04 0a a7 d6 eb 95 50 4f 86 1b c9 d1 1d 1e |.9......PO......| +00000170 61 06 43 00 c2 2a a9 e2 06 ff ce 4a fd 6f d0 19 |a.C..*.....J.o..| +00000180 2a 0e ec 14 86 19 9c bc 1d 96 e1 b1 00 b2 19 c4 |*...............| +00000190 15 64 4c 33 54 89 fc 15 01 90 13 3b ff 99 e6 23 |.dL3T......;...#| +000001a0 19 38 4f 67 97 ee ab b3 9f ca 1f 18 7d 45 ef 87 |.8Og........}E..| +000001b0 42 7b 57 51 d0 c3 43 50 35 a3 33 ff 19 df 54 8e |B{WQ..CP5.3...T.| +000001c0 e9 98 2f 46 93 87 b4 b1 c2 73 04 4f 06 5b 3c 0a |../F.....s.O.[<.| +000001d0 c3 87 6c 68 68 b4 61 a2 33 bd 11 06 93 19 fb 05 |..lhh.a.3.......| +000001e0 c3 e6 3f 14 e5 a6 6d ec 48 56 a6 37 60 81 a4 cd |..?...m.HV.7`...| +000001f0 89 b5 4e c8 dc 99 79 66 5e 40 44 de 4a 22 9a ce |..N...yf^@D.J"..| +00000200 3d c4 a0 17 03 45 e6 28 70 27 f5 24 e1 81 7a 5f |=....E.(p'.$..z_| +00000210 5d 6e 6c bc 28 c3 fb b1 8b 18 fa 3d 9d f3 c3 a5 |]nl.(......=....| +00000220 f0 41 7a 0d 87 c1 70 77 d3 3a fa ef 2b 11 9b 61 |.Az...pw.:..+..a| +00000230 12 f8 d1 25 73 bc 79 bf ee 9a 5e e0 3b fb 06 da |...%s.y...^.;...| +00000240 7e d6 08 aa 13 73 8a 8c 97 d7 5a e4 dc 88 51 60 |~....s....Z...Q`| +00000250 8c 61 51 65 f6 d0 4e 7d b0 b1 23 2c 69 77 20 fe |.aQe..N}..#,iw .| +00000260 d1 ff 13 57 d8 c5 58 1f 3c e9 86 f4 3a 45 1a 9c |...W..X.<...:E..| +00000270 c2 e0 4d da 67 1b 81 62 bf 07 de a6 ea 74 81 e3 |..M.g..b.....t..| +00000280 ba 1b 1f bf b0 d3 d3 08 c0 23 5f 05 d5 1f 41 51 |.........#_...AQ| +00000290 f2 11 2e 36 ed 00 f8 b5 ea f1 4c 0b b8 d0 a3 cc |...6......L.....| +000002a0 c6 a7 2a ee 1f 6c 6b 33 0d 38 5b 5c 6e f4 53 d2 |..*..lk3.8[\n.S.| +000002b0 6e 90 5b ce 44 e7 f1 50 1e 12 21 76 35 d1 2f 49 |n.[.D..P..!v5./I| +000002c0 a1 27 66 00 93 27 27 34 5d e5 ed 4b 6f 7e 3d e3 |.'f..''4]..Ko~=.| +000002d0 78 de 2f 48 9f 4c 36 a7 5d 62 98 1e 2c ee 82 3c |x./H.L6.]b..,..<| +000002e0 18 17 2d 80 f4 a2 ac e9 a6 c8 2c b9 92 d1 9e 2b |..-.......,....+| +000002f0 5f 3e 33 56 03 b5 76 51 ea c7 af 1c 42 8e 0e 65 |_>3V..vQ....B..e| +00000300 f7 0f ad 36 9f fe b5 a0 06 31 f0 89 02 b4 bf c3 |...6.....1......| +00000310 8e 2f 52 4d 97 99 dd 95 0f c4 32 9e 81 55 d1 2a |./RM......2..U.*| +00000320 05 ff b5 7a 02 0f 6f 1b ef f1 de 48 dc a8 f8 44 |...z..o....H...D| +00000330 35 8c eb df 6b 78 cd 89 75 ca ef 31 ba 8f b8 ff |5...kx..u..1....| +00000340 a3 74 39 ce 42 a0 01 8b db 68 34 21 0a bf 84 fd |.t9.B....h4!....| +00000350 5f 28 87 d4 09 b2 91 c2 f3 1f b8 39 da 2b 55 3c |_(.........9.+U<| +00000360 46 a2 fa 3d 65 eb 41 0c 37 c8 17 03 03 00 99 e8 |F..=e.A.7.......| +00000370 25 eb 99 2f 80 e2 09 ed 2f b9 78 90 7c dc e2 4a |%../..../.x.|..J| +00000380 78 19 49 46 a8 e7 82 a0 85 84 71 da 80 fb d2 5d |x.IF......q....]| +00000390 28 c4 69 cf ac 1c bc 1e ba 90 5c 0a ec dd 31 5c |(.i.......\...1\| +000003a0 87 d0 4f 31 3f 62 cd 91 1e 99 a5 08 c6 de 6c 75 |..O1?b........lu| +000003b0 91 be 31 83 12 5b fd 5a eb 96 ae 70 9c 06 c9 ee |..1..[.Z...p....| +000003c0 63 e9 3c a0 5b 9c 55 cb cd 9d a2 31 33 17 92 fa |c.<.[.U....13...| +000003d0 dc 34 20 43 71 92 8b 16 dd 1c 29 f5 ec a2 e4 ad |.4 Cq.....).....| +000003e0 d6 21 27 37 32 0c 7b f1 60 7f 58 aa fc d6 ae f3 |.!'72.{.`.X.....| +000003f0 c9 7b 5f 59 39 cf 79 ab 5b a3 7e ea 13 72 51 9f |.{_Y9.y.[.~..rQ.| +00000400 a9 c5 fc fb c0 da 39 2a 17 03 03 00 35 b7 6d ed |......9*....5.m.| +00000410 8d d3 c6 09 fd 9b 6b be 6e bc 01 64 3b a1 4e 2d |......k.n..d;.N-| +00000420 3d 85 e3 5b 4b 7b 44 49 81 fd c8 d9 07 fe e5 53 |=..[K{DI.......S| +00000430 ab 5f a3 64 f6 be 22 79 80 52 f0 ee 3c 1e 4e 65 |._.d.."y.R..<.Ne| +00000440 0e e3 |..| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 02 1e e0 29 6d d1 38 |............)m.8| -00000010 a6 03 d7 fc 2b df a4 a4 d0 ae 87 01 b8 82 5d eb |....+.........].| -00000020 3c 25 3e a1 33 89 b5 05 eb bc 02 0f ad 84 f0 2b |<%>.3..........+| -00000030 5f 14 af 0d f8 f1 08 e3 ca c1 8e ad 4b a5 a0 09 |_...........K...| -00000040 b8 a0 4f bf e4 0f 93 a9 4a 35 35 26 22 d7 04 03 |..O.....J55&"...| -00000050 70 95 4f 80 df d4 47 5b 21 14 27 d6 17 ea 32 6e |p.O...G[!.'...2n| -00000060 ea 3a ca 31 7c f2 d1 46 a2 ef 47 b9 16 d6 18 d5 |.:.1|..F..G.....| -00000070 17 35 71 9d 14 37 63 cd e1 c6 ff 3d ec a5 d8 53 |.5q..7c....=...S| -00000080 48 d5 d8 0b 75 39 c1 d2 66 ad 97 4e 5f eb c3 c7 |H...u9..f..N_...| -00000090 e0 77 95 fd 16 84 e2 a3 6a f2 a8 88 5e 4c 86 be |.w......j...^L..| -000000a0 81 a5 f2 6b 12 86 63 f1 4f a6 8d 63 7c 07 0f 8d |...k..c.O..c|...| -000000b0 53 d5 d4 00 c7 b7 2a ef b2 1d 07 4e 43 d6 25 35 |S.....*....NC.%5| -000000c0 c9 b1 fa 91 d1 f7 87 c6 98 c7 e7 c2 c3 7d 42 09 |.............}B.| -000000d0 e5 3c 50 83 1b 20 ef ec e4 ac 2e f2 3e 03 73 52 |..sR| -000000e0 2e 1d 20 cf e2 8d 15 c3 c7 a6 2f 68 b5 8e 5f bc |.. ......./h.._.| -000000f0 c5 73 61 ff 52 3c b0 7b 47 82 47 a0 73 f8 1c ab |.sa.R<.{G.G.s...| -00000100 4d ea 15 fa 94 e0 7f 70 c1 c8 9c 55 f0 96 38 42 |M......p...U..8B| -00000110 76 d4 26 6d a7 73 11 59 43 19 2f 49 70 a9 18 1c |v.&m.s.YC./Ip...| -00000120 12 9e ee d3 eb ca 1c c0 3b e1 99 e3 c2 25 de 39 |........;....%.9| -00000130 1a 15 e0 d7 20 9d 1b 95 74 8c ee 96 7b 5e de 13 |.... ...t...{^..| -00000140 99 56 54 a2 31 7b e9 96 02 9e 86 7b 15 9d c6 3e |.VT.1{.....{...>| -00000150 24 a5 19 e5 8e de 85 97 05 68 4f 39 d1 49 05 c9 |$........hO9.I..| -00000160 7a 54 90 29 e7 93 ec 8e 6f cc 73 73 82 7d 72 8d |zT.)....o.ss.}r.| -00000170 4a 85 29 7f a5 53 13 26 16 b2 fa c3 ce 1f 8b ae |J.)..S.&........| -00000180 e6 60 8c 2d b0 64 66 d4 29 7c b5 2d 1d 11 c5 09 |.`.-.df.)|.-....| -00000190 bb a5 44 c6 c8 af e6 f1 d5 f8 d9 45 97 64 7f 03 |..D........E.d..| -000001a0 02 f7 f5 9f cb 31 1e 89 e4 5d a0 e9 34 db be 28 |.....1...]..4..(| -000001b0 51 15 68 54 01 7c e5 1d b4 05 d2 d6 24 ca 10 69 |Q.hT.|......$..i| -000001c0 31 bf 8b 7a ee d9 bf e1 2a d4 7c c8 e8 79 ca dd |1..z....*.|..y..| -000001d0 0f 73 09 c8 cf 97 28 78 04 5b 04 51 44 c4 5f d1 |.s....(x.[.QD._.| -000001e0 dc da 4f f5 d9 5c 9c b1 ea f8 1b f7 43 90 c0 c0 |..O..\......C...| -000001f0 fd 82 56 e3 71 15 18 5e 7e 5c 61 5e b3 80 c1 1c |..V.q..^~\a^....| -00000200 22 92 32 67 23 f6 3b 74 e4 20 4e 1f fb f8 89 55 |".2g#.;t. N....U| -00000210 e7 3c 18 30 24 77 7c 33 5c 89 91 60 65 14 06 9e |.<.0$w|3\..`e...| -00000220 e2 6d f0 07 84 4b b4 14 e8 17 03 03 00 a3 a7 e1 |.m...K..........| -00000230 f7 26 48 56 da 6d ef a5 f4 5f 19 52 37 9e e7 6d |.&HV.m..._.R7..m| -00000240 28 07 70 ee 1e de 85 2b 7a 2d bf eb 48 06 f5 d4 |(.p....+z-..H...| -00000250 ea 4d 83 86 59 d4 14 4f 46 bc 17 89 f1 f5 37 0e |.M..Y..OF.....7.| -00000260 84 60 6e ba 73 d7 c1 bc 6f d7 aa cf f0 36 96 a2 |.`n.s...o....6..| -00000270 83 60 81 6f 48 6c 9d 87 e5 b6 5e 77 ab c5 e3 cb |.`.oHl....^w....| -00000280 8e 55 94 dc 94 f3 8a ce cb f7 b4 d5 33 55 df 88 |.U..........3U..| -00000290 22 44 04 ee 4e f5 30 e7 30 94 dc 95 2d 97 2c e4 |"D..N.0.0...-.,.| -000002a0 34 58 4d 38 9e 25 61 96 c1 37 66 34 2b be ee e6 |4XM8.%a..7f4+...| -000002b0 ee 39 73 89 a3 aa 1b 0a 5a bf 44 23 4e 19 5c c4 |.9s.....Z.D#N.\.| -000002c0 3f 27 47 5c 40 67 6c 50 b8 3f 7c c9 97 f0 55 02 |?'G\@glP.?|...U.| -000002d0 16 17 03 03 00 35 82 8b 0d 4e 87 3c c6 bc 41 8b |.....5...N.<..A.| -000002e0 ec ab 71 9d 57 7b e6 22 e4 87 82 61 5d f8 69 31 |..q.W{."...a].i1| -000002f0 8a 2c be 2c d8 4d 2f dc 9a 91 31 7a ab d8 a4 0e |.,.,.M/...1z....| -00000300 ba cb fc ef 17 a4 7c 87 ca 13 bb 17 03 03 00 13 |......|.........| -00000310 3b d0 da 9f d4 be fa 59 7a 30 8b 7e 8e a0 99 c0 |;......Yz0.~....| -00000320 c2 36 f3 |.6.| +00000000 14 03 03 00 01 01 17 03 03 02 1e a8 48 8d 47 f6 |............H.G.| +00000010 3d d8 59 5b 26 9e bd fc d1 15 7c e1 37 1b db 3c |=.Y[&.....|.7..<| +00000020 e4 02 98 fd aa cc a6 45 97 6e c5 18 4e 45 8e d6 |.......E.n..NE..| +00000030 84 7a b5 e4 da 8b 17 34 e5 fb 21 3c f6 02 c2 5c |.z.....4..!<...\| +00000040 ea 57 ea 16 67 4a 6d b2 0e 5a 39 f8 6b 11 84 bd |.W..gJm..Z9.k...| +00000050 43 80 03 40 5e d2 d2 54 2e d1 38 bc 9a 16 4f 21 |C..@^..T..8...O!| +00000060 0e 07 38 b5 80 21 16 c6 a1 bb 23 79 a6 df ef 27 |..8..!....#y...'| +00000070 dc 30 3c 4a 53 b1 5c 54 a7 fb ff 73 e2 12 ab 90 |.0..*..`.d~q| +000001b0 45 26 b8 91 26 cc d6 bf d5 4d 26 3f 4f c8 73 99 |E&..&....M&?O.s.| +000001c0 a7 50 9d 14 09 b6 07 1a af aa 9b 02 31 b2 c6 22 |.P..........1.."| +000001d0 ca 3e e0 2f 27 87 27 2e 96 f4 b4 ba c6 01 77 d3 |.>./'.'.......w.| +000001e0 52 09 ea 79 9b ee b4 6a 41 29 b1 de de 74 6b b2 |R..y...jA)...tk.| +000001f0 11 b1 58 90 5c 6a 0d b5 51 4b 2e 1b 3e e6 f4 17 |..X.\j..QK..>...| +00000200 8e 8a 1d 1e c8 bd 55 3a fc f4 90 73 14 5f 63 1b |......U:...s._c.| +00000210 22 f0 81 fd 70 05 ca b2 fd 90 3c 9d 2e 73 d3 8c |"...p.....<..s..| +00000220 f0 0a 59 9e 46 fe 8c e2 22 17 03 03 00 a4 78 2b |..Y.F...".....x+| +00000230 ec c5 5e 71 85 c6 e5 5d 75 f3 b5 3d 55 de 1c f9 |..^q...]u..=U...| +00000240 06 92 be df ef 77 31 4b f3 13 b8 c7 7a 68 ec 1b |.....w1K....zh..| +00000250 e2 7c c0 ff b5 6f c2 62 bd 34 23 fd 6a 39 c7 ef |.|...o.b.4#.j9..| +00000260 91 47 77 7e 32 2e a9 b2 85 ae 01 3e 61 43 8a 93 |.Gw~2......>aC..| +00000270 72 14 e1 b7 a5 14 4b ca 6e cb 4d e7 a3 cd 74 98 |r.....K.n.M...t.| +00000280 4e 08 a4 d4 34 ea 73 17 4b 20 8b 40 03 10 a0 33 |N...4.s.K .@...3| +00000290 c9 2f c0 4c 3b a2 2c 61 3c ab ec e3 c0 e8 e2 d6 |./.L;.,a<.......| +000002a0 a0 85 fa 26 26 a9 65 dc 70 5b 8f b7 3f 9e b3 fb |...&&.e.p[..?...| +000002b0 44 36 62 79 75 af ef 94 05 6b d2 44 07 51 ae 91 |D6byu....k.D.Q..| +000002c0 ea e3 e7 d2 f4 2f 19 17 38 aa 1c ae cb 88 db 0b |...../..8.......| +000002d0 66 5a 17 03 03 00 35 6d d9 23 d1 3c c3 25 7b 5d |fZ....5m.#.<.%{]| +000002e0 8a 1a 41 00 00 f8 0c a7 3e 53 4e e5 f6 cb 11 3f |..A.....>SN....?| +000002f0 9c 66 62 80 98 6c 55 19 b1 6f 00 5d 46 93 d2 0b |.fb..lU..o.]F...| +00000300 79 58 1c d6 d7 f9 fc fb 38 c5 32 63 17 03 03 00 |yX......8.2c....| +00000310 13 72 a9 fd 60 5c cf 68 b3 32 15 04 33 1c e1 5f |.r..`\.h.2..3.._| +00000320 11 11 9e 8c |....| >>> Flow 4 (server to client) -00000000 17 03 03 02 90 a2 a0 e4 83 63 ad 8d d5 45 25 dc |.........c...E%.| -00000010 41 02 31 28 8d b0 87 85 66 b8 9c 36 f3 1f 97 87 |A.1(....f..6....| -00000020 8c c9 e6 b4 67 1e 42 ab 84 c4 eb 0a 41 b1 0f 50 |....g.B.....A..P| -00000030 25 c3 7e 69 20 cf 8a d0 56 79 61 e3 e1 5b cc a4 |%.~i ...Vya..[..| -00000040 24 5a c7 2d 3b 17 33 92 59 6c 7e 29 a9 a2 2c 73 |$Z.-;.3.Yl~)..,s| -00000050 3e b1 65 32 3d 6a 2b 61 5d 76 c4 66 0e 4f f1 da |>.e2=j+a]v.f.O..| -00000060 dd d3 7e 29 3d f5 42 99 9e 04 60 a4 9a a1 c0 f7 |..~)=.B...`.....| -00000070 54 4e d5 58 73 85 02 83 38 ba 4e 93 9a 69 68 07 |TN.Xs...8.N..ih.| -00000080 71 c9 a7 e4 83 51 4c 11 21 26 b2 dd ad 4b 2a ef |q....QL.!&...K*.| -00000090 23 9b b0 f6 d6 96 9f 99 1f 69 fe 35 28 86 49 bc |#........i.5(.I.| -000000a0 ec 97 11 4d 4e b7 c1 c2 da 6c ae c7 40 b9 2a 1f |...MN....l..@.*.| -000000b0 ff 9d 9d ea 90 b9 61 6f 76 ae fe 55 70 f6 ee 54 |......aov..Up..T| -000000c0 54 62 6d 19 9a fc 40 16 e5 c2 e2 3e d1 68 c6 09 |Tbm...@....>.h..| -000000d0 be 54 64 25 8a a0 2b e6 b3 14 7e 74 17 91 f0 de |.Td%..+...~t....| -000000e0 87 e8 3c 3e 58 8d 1b b2 4e 2d 7d c1 f8 aa 16 ca |..<>X...N-}.....| -000000f0 2a 3e 8f aa 52 14 e4 f2 2a b9 6e 62 46 ab ed 3a |*>..R...*.nbF..:| -00000100 ff a1 51 53 92 7a 78 c4 ed 9d fd 1f b4 62 2e e7 |..QS.zx......b..| -00000110 cc 9d 09 fa 06 2e 9e 55 e5 98 9e b8 be e9 12 94 |.......U........| -00000120 33 58 6b be 71 a1 4f f8 a0 83 85 f8 7e b4 28 a7 |3Xk.q.O.....~.(.| -00000130 ee 1b ac 3c 46 b6 ac 60 af 5d cc b0 a8 2c 3f 95 |.....Z.| -00000210 6b 5c d2 4d b2 20 35 63 9e 83 c0 7e 83 60 46 57 |k\.M. 5c...~.`FW| -00000220 c0 80 0d d7 b9 9f 14 c0 58 2d 48 2a cc 8c 1d 32 |........X-H*...2| -00000230 2c 34 ec 10 f2 34 b4 28 e1 0e 83 38 c4 2e 5a 09 |,4...4.(...8..Z.| -00000240 ff e6 3f d3 9a 32 8e 33 9e 31 18 e5 1d 6b 97 12 |..?..2.3.1...k..| -00000250 9b 93 84 86 62 8a 0a 8a ab 8d 37 68 af a1 ec 8e |....b.....7h....| -00000260 38 c8 47 ef 10 f8 64 7c e1 13 0a 33 eb c2 4b bf |8.G...d|...3..K.| -00000270 47 49 6d 93 3c c9 44 aa 74 67 a9 93 dd de 66 47 |GIm.<.D.tg....fG| -00000280 1e b3 55 47 b1 16 88 68 82 24 d6 b8 81 b0 5a b6 |..UG...h.$....Z.| -00000290 27 7a f8 0b 5c 17 03 03 00 1e a5 9b 8c d2 3e 96 |'z..\.........>.| -000002a0 f3 49 7a ed d9 fc 33 62 15 12 43 76 11 f9 dc fc |.Iz...3b..Cv....| -000002b0 ea d2 d7 87 22 6f 9e 3d 17 03 03 00 13 e1 30 4e |...."o.=......0N| -000002c0 4c 1d 02 78 57 a5 ee 8f 1c 5f 19 f0 57 3a 8d 7e |L..xW...._..W:.~| +00000000 17 03 03 02 90 2e 71 49 81 51 71 9c 2f da 1e dc |......qI.Qq./...| +00000010 22 c0 a2 59 13 ad 41 ae 7b 18 56 d0 00 7b b5 cf |"..Y..A.{.V..{..| +00000020 47 e7 bc 8e 92 9e dc 88 78 3e 40 8e 8b 01 b0 30 |G.......x>@....0| +00000030 8f 7e 88 95 77 ed de 31 bf c5 78 ba a1 44 55 ec |.~..w..1..x..DU.| +00000040 b6 df 49 a9 df a0 92 b2 be b7 2c 1c 39 1b a0 63 |..I.......,.9..c| +00000050 18 e5 12 b7 5a a5 85 14 97 7d 9e e1 80 b7 15 c5 |....Z....}......| +00000060 2f ca e3 3b 48 91 42 07 f4 49 25 99 2c ee b8 b5 |/..;H.B..I%.,...| +00000070 05 a2 34 7d bb c0 87 4c f3 a8 07 89 fe b7 08 2c |..4}...L.......,| +00000080 e2 0b 27 6f 49 88 80 2f 3b 9c ae a6 3e 38 74 23 |..'oI../;...>8t#| +00000090 53 70 f5 84 0f 77 d4 94 68 f9 86 18 2f dc e1 94 |Sp...w..h.../...| +000000a0 3c e1 2c f2 84 07 f5 3c 88 99 63 ef a1 96 73 f9 |<.,....<..c...s.| +000000b0 46 43 c2 92 be 04 b8 6b 9e db e1 7f 63 b1 d4 15 |FC.....k....c...| +000000c0 36 2c 37 e3 c2 24 b2 4c c5 60 96 15 3b 20 01 67 |6,7..$.L.`..; .g| +000000d0 e5 52 9a 4f 17 6c 0a f1 a0 a3 31 48 e5 31 8e d3 |.R.O.l....1H.1..| +000000e0 b9 49 38 d2 55 4d 40 8e a2 bf dd 0f 19 25 42 55 |.I8.UM@......%BU| +000000f0 06 57 22 c5 06 c9 59 13 f7 c7 56 b1 68 20 f4 62 |.W"...Y...V.h .b| +00000100 19 0a 5d ab 5f 81 c6 50 b7 a2 f8 ce 55 f2 b6 6c |..]._..P....U..l| +00000110 67 39 75 82 1b a1 6b 85 58 37 c0 a5 12 64 a6 ee |g9u...k.X7...d..| +00000120 2e f8 f0 dc d2 50 08 47 0f 15 c8 37 2d ba 69 64 |.....P.G...7-.id| +00000130 e9 ea 7b fa 16 91 ed b6 24 0d fb e8 aa 74 6b 74 |..{.....$....tkt| +00000140 2d 78 2d 1c 2b 98 8e ab 74 6d 06 a3 00 8a e5 be |-x-.+...tm......| +00000150 c0 68 09 05 e0 95 0d c1 27 8a cf 05 09 0a 7c b9 |.h......'.....|.| +00000160 a1 3a 9b 45 3d d4 5d 16 64 5b d5 a3 6c d2 12 78 |.:.E=.].d[..l..x| +00000170 4f 6b ba 3a fe ad 35 9e 5e 0c 5f d4 f3 32 a2 0b |Ok.:..5.^._..2..| +00000180 f1 af d4 e5 f1 91 c6 6c 47 6b 30 a7 2f bf 60 05 |.......lGk0./.`.| +00000190 e3 c0 2d 9c 34 f2 f0 6b f2 ce 7f 19 d0 86 26 b0 |..-.4..k......&.| +000001a0 e1 7e 7b e0 0e 3d e7 f6 3c 7f 42 bc 9f a6 0a 25 |.~{..=..<.B....%| +000001b0 eb cf 1b 4b 44 10 df 7d f1 1f e3 a9 ea 4f 6d 52 |...KD..}.....OmR| +000001c0 70 b2 f0 0b a9 c5 bc 66 46 21 4d 92 c4 c3 f6 71 |p......fF!M....q| +000001d0 eb 46 c0 f3 e7 6f 4a ee 37 ad 8a ea 3b aa 51 79 |.F...oJ.7...;.Qy| +000001e0 d5 d5 18 7e e8 ae 31 1a db 16 04 d8 3c 94 17 f6 |...~..1.....<...| +000001f0 ad 8f 8b 5d 7d 14 fb b4 e9 b4 7e bb 75 f1 df de |...]}.....~.u...| +00000200 6f 0a 0d a8 f9 b5 d8 53 73 36 88 77 db e6 0e 84 |o......Ss6.w....| +00000210 fc 94 6b c9 cc 74 0f 01 40 39 c4 d0 66 2d 23 76 |..k..t..@9..f-#v| +00000220 9f 0d a1 53 94 a2 dd 56 83 9e 62 39 10 13 39 40 |...S...V..b9..9@| +00000230 55 09 b6 77 d2 22 9c 49 ef f9 af 93 ee d1 cf 3d |U..w.".I.......=| +00000240 1f 29 ef 27 94 3c 6d 23 d6 7c 33 e1 f7 cd 70 05 |.).'.Z..~..i7.| +000002b0 b0 90 43 11 e6 76 5e 2d 17 03 03 00 13 4b 69 75 |..C..v^-.....Kiu| +000002c0 3d 46 35 f6 85 4b 0b 6e f4 6b 30 2a 28 37 3c f1 |=F5..K.n.k0*(7<.| diff --git a/testdata/Server-TLSv13-ClientAuthRequestedAndEd25519Given b/testdata/Server-TLSv13-ClientAuthRequestedAndEd25519Given index 6943bf65690..016b7da4dfe 100644 --- a/testdata/Server-TLSv13-ClientAuthRequestedAndEd25519Given +++ b/testdata/Server-TLSv13-ClientAuthRequestedAndEd25519Given @@ -1,149 +1,151 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 ca 01 00 00 c6 03 03 e4 83 a9 75 06 |..............u.| -00000010 0f 8b c9 35 1e 62 89 7f a8 df 7c 93 b6 f0 8f 94 |...5.b....|.....| -00000020 ea 31 dc 66 11 66 bd 77 33 54 bf 20 38 77 15 8d |.1.f.f.w3T. 8w..| -00000030 b4 21 50 72 6f 95 61 6c 15 b8 35 c9 92 10 72 99 |.!Pro.al..5...r.| -00000040 bc 41 03 53 7c 5e 7b b3 a4 2e b4 19 00 04 13 01 |.A.S|^{.........| +00000000 16 03 01 00 ca 01 00 00 c6 03 03 c3 82 3b bf 9c |.............;..| +00000010 31 25 31 c7 8d 18 7f c1 28 22 0f 23 0c 13 b8 81 |1%1.....(".#....| +00000020 a8 e8 35 00 92 0a 13 21 8d 76 43 20 9e 3a 45 91 |..5....!.vC .:E.| +00000030 73 a0 99 70 ab 96 99 2b ae 4a b1 2a 89 3c 74 94 |s..p...+.J.*.>> 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 77 15 8d |........... 8w..| -00000030 b4 21 50 72 6f 95 61 6c 15 b8 35 c9 92 10 72 99 |.!Pro.al..5...r.| -00000040 bc 41 03 53 7c 5e 7b b3 a4 2e b4 19 13 01 00 00 |.A.S|^{.........| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 9e 3a 45 91 |........... .:E.| +00000030 73 a0 99 70 ab 96 99 2b ae 4a b1 2a 89 3c 74 94 |s..p...+.J.*.8..`...1&.| -000000b0 db ef e2 b1 99 55 c8 f9 f3 a0 81 19 12 a7 63 85 |.....U........c.| -000000c0 5a 26 2d d1 1c ad 5d ae d6 4b 66 93 62 d7 fe 08 |Z&-...]..Kf.b...| -000000d0 40 e9 fa 16 8b 89 f8 04 e8 33 67 20 2b 21 91 a0 |@........3g +!..| -000000e0 c6 0a 87 ff 17 03 03 02 6d 79 97 6c 2f f6 01 7b |........my.l/..{| -000000f0 3a 49 0e 1a 00 96 10 fd 7f 77 db 76 b2 d4 e4 68 |:I.......w.v...h| -00000100 46 4e 4f 3c 64 54 ca 27 9a 5c 78 98 f4 96 a4 fe |FNO.....u.(..| -00000120 ff d8 ec 27 2c f2 4c e5 a0 6e 88 ce 67 6e 35 f4 |...',.L..n..gn5.| -00000130 e5 d5 96 2d 40 af fa 88 12 8a 48 24 2c f9 82 f5 |...-@.....H$,...| -00000140 cb a4 6e 95 a6 53 bc 79 f7 6a ef 66 77 bc 46 f0 |..n..S.y.j.fw.F.| -00000150 1b 0d 6b 5c 76 82 15 c4 d0 1c dd ec cc ce 09 93 |..k\v...........| -00000160 ce 21 55 9b d8 8a 11 1b 0c 24 fa 9e 5f 29 4a f1 |.!U......$.._)J.| -00000170 2a 2e ad c0 6d 6d 46 06 5b c9 75 b3 3e 32 45 67 |*...mmF.[.u.>2Eg| -00000180 05 26 cc d8 a8 4a a9 b1 67 71 a6 82 1c dc f0 15 |.&...J..gq......| -00000190 6d 25 f5 6e be a2 5f 45 39 dc d1 2e df fa e1 e9 |m%.n.._E9.......| -000001a0 48 ca 7a 78 fa 0e 53 d1 5c 8f c2 40 91 d5 fa 40 |H.zx..S.\..@...@| -000001b0 7e a1 52 23 c8 56 1f 31 17 91 5c 38 bb 54 56 f3 |~.R#.V.1..\8.TV.| -000001c0 1e 14 90 43 b7 ef fd 56 b5 ae 13 90 97 dc 60 15 |...C...V......`.| -000001d0 67 72 fc c2 0a 32 90 be ec de 69 16 d3 1b 22 2c |gr...2....i...",| -000001e0 25 9f 91 27 a7 6d 8c a4 de 02 fd 0e da bf ca 71 |%..'.m.........q| -000001f0 77 9b 56 b8 07 e8 80 00 9b d9 36 1c 09 4f 9f 54 |w.V.......6..O.T| -00000200 76 d5 76 f4 9a 03 94 bb 9e 93 f0 b5 3c a1 71 ec |v.v.........<.q.| -00000210 b3 83 3a 06 b4 46 97 bf ef bb f0 26 94 4e b0 08 |..:..F.....&.N..| -00000220 3b ec 81 20 66 92 11 85 a0 c2 90 fd c5 bc ae 39 |;.. f..........9| -00000230 2c 87 ec e4 5d 59 ee b4 e9 0d f7 2a e0 3b 2a 94 |,...]Y.....*.;*.| -00000240 1a 79 2f e8 5c 88 d3 61 2e 47 c0 f3 c4 01 84 a9 |.y/.\..a.G......| -00000250 cf f6 36 13 cb 4b 0b f7 9a 14 f1 d5 0e 10 80 fd |..6..K..........| -00000260 11 79 20 20 ae 56 5e de 58 53 19 38 26 e2 ac bc |.y .V^.XS.8&...| -00000270 0c 40 38 8b f9 67 62 4c 42 7d 18 4f 27 e9 53 96 |.@8..gbLB}.O'.S.| -00000280 78 4b fa 44 fe c2 c3 d9 99 f2 2c 59 2b 2b 2c 88 |xK.D......,Y++,.| -00000290 5b dc a8 98 3d 17 14 09 70 ce e4 02 8b 3c 5d 94 |[...=...p....<].| -000002a0 44 ac ba 57 2d a9 bf b8 70 e9 b8 a8 c3 b8 90 da |D..W-...p.......| -000002b0 ec b1 b4 57 d6 e3 0f 41 82 bb 21 4a 57 dc ac 4b |...W...A..!JW..K| -000002c0 89 34 75 fc c4 56 6b 70 3d 83 2b fa be c8 2b cd |.4u..Vkp=.+...+.| -000002d0 f8 4f 9f 9e 9a 0e d2 d0 46 cd 21 a5 f7 07 a6 2a |.O......F.!....*| -000002e0 85 7b 30 92 78 a2 da a5 1d 1c 1c 54 63 4b 66 b2 |.{0.x......TcKf.| -000002f0 f1 a7 c4 43 57 97 7f 28 37 e7 15 62 9b 1c f5 90 |...CW..(7..b....| -00000300 0c 19 36 1a c1 48 48 e5 7d 56 93 3c 13 e3 cd 6a |..6..HH.}V.<...j| -00000310 aa aa ba d5 24 95 c7 df 9c a9 76 6c 07 bf 09 2d |....$.....vl...-| -00000320 4b 7b 55 94 37 ec d4 69 ce ab 0f 48 37 74 37 99 |K{U.7..i...H7t7.| -00000330 83 0d 60 8a 73 56 fb e2 9e 0c 39 0e 23 bf 68 b2 |..`.sV....9.#.h.| -00000340 92 51 12 bc cf 1b af 9d 7c fe 77 14 c8 66 4a 6f |.Q......|.w..fJo| -00000350 91 06 55 6a 11 61 17 03 03 00 99 c2 bf 26 a6 fa |..Uj.a.......&..| -00000360 67 16 a3 b9 1f 36 f8 4f 5d 59 b1 be 43 3a 70 01 |g....6.O]Y..C:p.| -00000370 c0 3a 4b c5 20 b1 22 49 04 22 bb 7f 5f f4 bb f8 |.:K. ."I.".._...| -00000380 35 03 0e dc ba ce de 2a 25 ea 96 dd 3d 64 34 90 |5......*%...=d4.| -00000390 30 f8 34 22 bb e4 94 00 bb b3 ea 3c d2 87 90 9a |0.4".......<....| -000003a0 86 76 6b b7 e3 78 fc 35 10 50 ce b6 c0 71 52 ae |.vk..x.5.P...qR.| -000003b0 a5 f7 bf 8c 5e 5d c1 96 c7 92 6f f0 04 87 d9 a8 |....^]....o.....| -000003c0 72 f4 9e ed 6d ab 28 42 7c c8 60 39 81 66 74 a1 |r...m.(B|.`9.ft.| -000003d0 79 79 6a 59 02 29 b8 14 12 34 a7 96 8f e0 c1 d6 |yyjY.)...4......| -000003e0 4e da e2 63 22 c1 60 b1 87 64 d3 80 b9 c4 df 9a |N..c".`..d......| -000003f0 5f 2c 22 91 17 03 03 00 35 9a 62 4d a2 ba 27 31 |_,".....5.bM..'1| -00000400 fc 8e 23 cc 5f f0 5c 8c 9b c1 b0 ae 7b b8 fa e2 |..#._.\.....{...| -00000410 f3 af 6c 6c ac 86 1e e1 2b 9f 14 a1 f3 5f b5 f9 |..ll....+...._..| -00000420 76 b6 dd 73 f5 6a 08 29 f1 29 9e 79 87 aa |v..s.j.).).y..| +00000080 03 03 00 01 01 17 03 03 00 17 84 17 5a 31 cf 40 |............Z1.@| +00000090 61 37 2b 5a 28 91 d9 e1 7b f2 50 14 8e 7b 40 30 |a7+Z(...{.P..{@0| +000000a0 4b 17 03 03 00 52 ad d1 15 51 c8 89 48 44 23 64 |K....R...Q..HD#d| +000000b0 8a b6 8d ac 08 47 ed 65 1d a3 ea cd 3c 89 43 4b |.....G.e....<.CK| +000000c0 36 28 4b b7 bc e4 93 93 ce 37 4c f5 63 ad 3b 3f |6(K......7L.c.;?| +000000d0 05 b9 92 56 88 35 89 30 5e 40 2d 46 ac 9d 1f ec |...V.5.0^@-F....| +000000e0 3d 0a 2a 32 d0 98 79 97 e2 93 2b b0 43 35 37 90 |=.*2..y...+.C57.| +000000f0 64 e3 a6 fd 09 01 14 61 17 03 03 02 6d 3c 5b ed |d......a....m<[.| +00000100 d8 cf c6 d9 e4 b1 7b 15 dc a1 c1 f6 88 87 1a 5c |......{........\| +00000110 22 37 53 87 a7 10 13 50 1c 1c 65 70 09 67 f3 63 |"7S....P..ep.g.c| +00000120 e7 63 88 76 50 45 e6 a8 1a 38 93 3b c0 ef fd c0 |.c.vPE...8.;....| +00000130 17 c2 c5 04 d6 15 c6 e9 70 bd d2 be 9a 38 50 8a |........p....8P.| +00000140 2b 4c a2 ea 4e ad 80 09 8f 24 2c 17 4d 17 e4 d8 |+L..N....$,.M...| +00000150 a1 47 13 fb 76 18 2d 04 8c 39 23 03 67 64 d2 d6 |.G..v.-..9#.gd..| +00000160 3d c8 4f 1d 1c 59 44 08 80 52 6e f3 3f 90 35 bc |=.O..YD..Rn.?.5.| +00000170 7e 58 1e 16 2c b0 7d 89 2a 4a a9 53 5a 2a ce 65 |~X..,.}.*J.SZ*.e| +00000180 c9 85 08 0b 6d e9 a4 9c e7 25 30 49 3c 85 bb 83 |....m....%0I<...| +00000190 7c 78 be 9d ee de 8f fb 01 d7 59 d5 4e 42 bc 21 ||x........Y.NB.!| +000001a0 e6 ba ed 0c 84 3c 8a aa 70 43 8a 46 c5 7f 81 65 |.....<..pC.F...e| +000001b0 b3 18 73 d9 73 8f 4e 67 5e 64 e3 92 0c 2f 03 e4 |..s.s.Ng^d.../..| +000001c0 81 ec 8a a2 0c 7d e9 97 5f 4b 5f 7e 55 48 24 8c |.....}.._K_~UH$.| +000001d0 ea d4 34 18 2b 88 6e 07 17 a9 7a be 6a 99 59 76 |..4.+.n...z.j.Yv| +000001e0 f5 1d 9b e9 4c ad f7 eb 94 8b bb 7d 93 46 ba a7 |....L......}.F..| +000001f0 d5 f8 3b 82 91 6d 5c 7e dc 0f da 08 19 06 40 f0 |..;..m\~......@.| +00000200 fd 16 68 24 fc 85 84 12 65 71 cf 91 63 46 ea 2f |..h$....eq..cF./| +00000210 d6 45 be 8a f3 27 0a 66 cb ed 8a d0 38 02 59 34 |.E...'.f....8.Y4| +00000220 4a 3d dc 6d 2d ef a4 f6 b4 c0 9d 29 85 b3 da 20 |J=.m-......)... | +00000230 4d 60 ec 90 eb 0f f1 5f 83 b4 bd 6a d5 0b b1 01 |M`....._...j....| +00000240 dd df a3 4c 1c b1 f6 b3 0c e0 8d 94 59 84 08 c4 |...L........Y...| +00000250 31 58 83 11 0b 04 5c 5e e3 ef 5a f4 6d 95 3a ca |1X....\^..Z.m.:.| +00000260 7a 11 b9 db e4 dd 38 66 65 b1 24 40 17 22 8f 90 |z.....8fe.$@."..| +00000270 f3 88 c6 a0 76 21 67 be 1f 6c aa ca ad c1 58 20 |....v!g..l....X | +00000280 dd c7 c0 20 32 a8 d7 db 9a 81 c9 82 38 a0 76 6b |... 2.......8.vk| +00000290 54 cf 79 cb 01 f1 59 50 3b 99 e2 68 96 2f 49 01 |T.y...YP;..h./I.| +000002a0 f6 7a ec a5 4f a0 91 be fb 85 52 ef 9b 6d 0c c1 |.z..O.....R..m..| +000002b0 36 82 a2 3f 0b 4e 4e 01 31 43 29 2a c0 26 41 83 |6..?.NN.1C)*.&A.| +000002c0 31 7b 9a b0 bf 0d 0f 96 b7 64 60 4d 07 2b 29 7e |1{.......d`M.+)~| +000002d0 d2 f6 c3 92 89 50 a7 19 b7 5b 15 6d 9c 0b 6e e3 |.....P...[.m..n.| +000002e0 01 d4 58 18 c0 22 95 e6 42 a7 1b 65 a8 2f 5f 6e |..X.."..B..e./_n| +000002f0 fc bc 00 ed 01 21 ec a9 6c ac 9e c7 c0 f0 f5 fc |.....!..l.......| +00000300 bd 0c c1 26 98 20 fa 1d a5 2a b6 fc 01 17 1c ba |...&. ...*......| +00000310 62 17 7d 39 25 76 bb 8c 77 5a bb 5e 74 22 f7 82 |b.}9%v..wZ.^t"..| +00000320 f1 65 8a 25 b5 05 53 db 84 de e6 59 1a a6 e7 09 |.e.%..S....Y....| +00000330 45 8e 14 fc e2 bc 9c 20 42 28 8d e2 ae 48 ad f4 |E...... B(...H..| +00000340 a0 ab 6b 3e 23 02 0a 0f ee 92 68 2f 29 1c 7e 4f |..k>#.....h/).~O| +00000350 8b 92 85 32 15 2f c1 dc fa 87 14 1d 21 3e 95 c6 |...2./......!>..| +00000360 e4 96 f1 66 d6 af bb eb d8 d4 17 03 03 00 99 31 |...f...........1| +00000370 1a 82 6b b3 f2 1d 12 83 7c df 15 6a 5b a8 af 96 |..k.....|..j[...| +00000380 a3 81 92 59 7a 19 c5 6b b4 ec e0 90 14 f1 00 ca |...Yz..k........| +00000390 0d d5 15 c5 24 49 a7 fc c2 2f 40 89 61 c1 6d d4 |....$I.../@.a.m.| +000003a0 da 39 f7 c3 42 50 e2 47 62 b2 5f 2b 91 70 e7 61 |.9..BP.Gb._+.p.a| +000003b0 57 e0 a3 20 a2 79 1f 18 ce f9 ad 5d ea 87 fa 16 |W.. .y.....]....| +000003c0 85 4b 50 a0 43 8f 0a 40 d7 93 cf 82 b5 82 6c 11 |.KP.C..@......l.| +000003d0 b7 cb 7c b2 4d 7d 23 ec a7 f8 2f b6 69 a8 83 29 |..|.M}#.../.i..)| +000003e0 4a ff 72 86 8e 05 79 91 a7 ed 4b 3d c8 86 fc 29 |J.r...y...K=...)| +000003f0 74 1e 88 7b a5 b2 2c 6e 62 08 2e a9 02 c9 05 d8 |t..{..,nb.......| +00000400 66 db 9c 28 35 79 ed 6f 17 03 03 00 35 24 4d e5 |f..(5y.o....5$M.| +00000410 81 c9 80 a9 1b c8 a9 20 27 c8 17 b3 0e 42 91 70 |....... '....B.p| +00000420 cb 4d ac 6f b8 b7 9a 96 94 95 fb ce f1 51 65 21 |.M.o.........Qe!| +00000430 ff 2c c5 53 42 1c b3 1c b1 9b 38 1a 1c a0 bf 3c |.,.SB.....8....<| +00000440 92 06 |..| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 01 50 ef 68 27 d6 ec |..........P.h'..| -00000010 76 00 e1 c6 ed 3c f6 a1 83 b4 4b 26 28 ba 0f d6 |v....<....K&(...| -00000020 2a fd f0 4a 10 8f 9c ed 84 3f 0a 0e 5b 77 e2 7d |*..J.....?..[w.}| -00000030 1e 03 2a 76 5b 2b 87 78 ad bd 45 8b 03 b3 8d e7 |..*v[+.x..E.....| -00000040 b7 66 ca 5e 36 f8 53 87 90 3c 1a 33 46 1d 32 4f |.f.^6.S..<.3F.2O| -00000050 f1 90 fb 36 da 96 1c 1a db 9f 9b e6 9f 85 f8 13 |...6............| -00000060 7d e1 ab e1 ca c6 05 df 15 ea af dd 55 58 c7 5f |}...........UX._| -00000070 de 62 1b 93 60 a4 fc 39 0a ef 95 bc 0c ca 8f 84 |.b..`..9........| -00000080 98 0a 6d 5b fd c6 0c ad 02 7f 0c f8 b4 be fe 5a |..m[...........Z| -00000090 fb 22 00 08 09 5d c7 47 76 89 e5 06 d1 90 5b e6 |."...].Gv.....[.| -000000a0 63 64 06 28 37 d9 1b e9 0d 27 45 f7 72 30 d7 f2 |cd.(7....'E.r0..| -000000b0 db 8e bf 95 97 29 43 e7 16 bf a0 59 9c fa d9 59 |.....)C....Y...Y| -000000c0 a0 a6 9b 1f b5 74 80 87 d0 61 2f d5 a5 ac dd b2 |.....t...a/.....| -000000d0 8d 27 fc e6 68 eb 07 b3 3d 97 a9 93 5b 35 99 e9 |.'..h...=...[5..| -000000e0 ba 99 fe 49 d6 39 1a 0a 38 98 cd 47 b9 67 9b 9a |...I.9..8..G.g..| -000000f0 77 65 45 f8 48 fb d3 1c 0f a2 2e af e0 29 68 bc |weE.H........)h.| -00000100 81 24 3b 9b 36 0a ef 51 75 ff 61 6a d4 6c 59 42 |.$;.6..Qu.aj.lYB| -00000110 54 31 47 e9 02 9e 58 33 9e 89 65 b6 65 db b2 81 |T1G...X3..e.e...| -00000120 bd c1 f4 0a 34 eb f3 26 f5 8d 36 6d da 78 e6 88 |....4..&..6m.x..| -00000130 00 8f 92 24 dc 76 e3 95 dc 13 b5 92 91 ee c0 82 |...$.v..........| -00000140 cb 63 85 b6 59 67 dc 14 2e 2d 58 8e 56 7e 7c db |.c..Yg...-X.V~|.| -00000150 2f 54 01 ed 17 8d 9a 97 22 39 7f 17 03 03 00 59 |/T......"9.....Y| -00000160 a1 f2 0d 19 e7 d8 a8 6d cd ea f6 82 ee 5d 0a 55 |.......m.....].U| -00000170 22 61 11 21 f7 b0 1d 86 a8 4d c2 e2 9b ac bb 87 |"a.!.....M......| -00000180 a2 82 67 ee 78 76 9b e0 c0 00 85 bf 1e 2b ab e6 |..g.xv.......+..| -00000190 f1 43 79 69 a0 3d 04 b7 d9 7f 31 c7 7a b7 4f 5c |.Cyi.=....1.z.O\| -000001a0 9f 62 84 dc f4 6d a1 ce 3d ff 24 88 15 10 4a e6 |.b...m..=.$...J.| -000001b0 5c 12 68 08 3c 55 a2 a9 d7 17 03 03 00 35 f4 d9 |\.h..z....5=.| +000001c0 94 02 6e 65 f2 98 8d 45 3e d5 af 22 46 f0 70 3e |..ne...E>.."F.p>| +000001d0 d4 90 9c 02 0a f9 8d e6 c7 8f 52 af ab 74 67 12 |..........R..tg.| +000001e0 6d 8e 25 f8 03 73 02 78 5d 9c 8b 38 68 fe e9 96 |m.%..s.x]..8h...| +000001f0 c6 83 29 |..)| >>> Flow 4 (server to client) -00000000 17 03 03 01 c2 80 69 97 9a 20 30 2a 1c f4 31 f9 |......i.. 0*..1.| -00000010 0f cf f7 79 c0 01 e1 f3 35 f5 16 a0 33 d6 eb 21 |...y....5...3..!| -00000020 44 db bc c6 c4 91 6b a6 75 da ca d3 63 78 47 8b |D.....k.u...cxG.| -00000030 96 e5 6f 63 2c 77 c0 33 29 d8 3e ee bf 8e 6b d4 |..oc,w.3).>...k.| -00000040 de f7 1b 0e e6 ae ce cd 17 0d 24 77 10 3d e4 89 |..........$w.=..| -00000050 06 07 a3 77 68 ac 20 ec 0b ae 47 41 3b 80 4e 95 |...wh. ...GA;.N.| -00000060 02 aa 13 36 19 03 06 1c 47 b3 f7 f0 4b 6d 5a c6 |...6....G...KmZ.| -00000070 42 14 95 03 20 c7 46 96 42 d3 18 5a 40 bd a1 03 |B... .F.B..Z@...| -00000080 b6 d2 8b f9 ff 2d d1 b1 3c 8a 34 af 23 64 31 7d |.....-..<.4.#d1}| -00000090 46 47 21 b4 82 16 df a2 a4 0f 96 03 4b 38 3d 5d |FG!.........K8=]| -000000a0 d0 d1 78 d1 6e 6a a2 95 c0 a7 e6 ee 07 eb 77 68 |..x.nj........wh| -000000b0 35 78 72 3e df d9 4b e9 1b ab 34 99 2d fe 52 99 |5xr>..K...4.-.R.| -000000c0 6e 57 63 13 39 ae 5e ce b6 43 21 07 fd fe b7 6d |nWc.9.^..C!....m| -000000d0 8f 72 a4 f8 7e 0a 56 60 61 d5 5a d4 01 b3 47 8e |.r..~.V`a.Z...G.| -000000e0 f0 48 cd 85 61 a3 d2 d1 eb ba 04 39 6b 5e 5f fc |.H..a......9k^_.| -000000f0 e3 90 c1 cb 3f 40 30 00 5c 94 df bf 5b 89 6d ab |....?@0.\...[.m.| -00000100 15 1e 72 50 ac 56 ee 16 7d 84 4c e6 0c 89 68 fa |..rP.V..}.L...h.| -00000110 d5 8d 5f 09 85 25 5f 8c 70 df 0b b7 94 15 40 20 |.._..%_.p.....@ | -00000120 b1 ff 41 50 5d 9f c6 8a 9b 7f 40 6f dc bd 4f 54 |..AP].....@o..OT| -00000130 d8 1f e6 f1 44 00 11 97 45 ca 80 bc 15 eb 93 01 |....D...E.......| -00000140 dd 54 c6 75 7e 08 b9 38 f5 4d 97 c5 50 56 97 3c |.T.u~..8.M..PV.<| -00000150 3c 72 9a 33 7c 68 b1 73 2b 38 c7 b8 a8 3c 5d af |.....6....[..z| -00000170 f5 74 8d ac a4 0f 38 34 ee cd 08 50 e0 33 b0 e1 |.t....84...P.3..| -00000180 52 e1 5d f2 7d c6 7b 64 c7 46 f6 9e d0 a2 cf 89 |R.].}.{d.F......| -00000190 3c c9 ab 2f fb 8a f3 ba 78 e9 4c c5 2d 62 32 6b |<../....x.L.-b2k| -000001a0 50 4c a0 7e d3 bb 2a 66 57 99 38 69 e8 77 ef 18 |PL.~..*fW.8i.w..| -000001b0 24 af b3 cb e5 c0 37 a2 97 f6 00 d4 68 8a 71 af |$.....7.....h.q.| -000001c0 24 a4 ab 19 07 3b c0 17 03 03 00 1e 60 b4 fc 15 |$....;......`...| -000001d0 f9 9c b1 a1 60 1a ba f5 1b b9 c1 33 f1 8b e5 c0 |....`......3....| -000001e0 48 77 4f 11 42 21 ad 8c d2 d6 17 03 03 00 13 5c |HwO.B!.........\| -000001f0 db 07 5e 65 40 58 74 a4 7f ab 5f cc f0 9a 91 0c |..^e@Xt..._.....| -00000200 17 3d |.=| +00000000 17 03 03 01 c2 48 66 ba b6 48 e4 d9 1a 73 81 09 |.....Hf..H...s..| +00000010 cc 26 f8 2b bd 70 e7 15 c7 29 ac 30 58 21 ee 0c |.&.+.p...).0X!..| +00000020 9b c6 f0 b2 85 23 20 1a 7b ad ce fc 5f b6 ce aa |.....# .{..._...| +00000030 af a3 40 52 bf b3 3f 3d 61 a9 14 d1 eb 3c 21 78 |..@R..?=a......J.........| +00000170 fb ff 37 ce b7 5a 75 34 91 35 de 45 a2 36 71 05 |..7..Zu4.5.E.6q.| +00000180 20 65 d3 e4 fa 48 00 c1 25 3f f2 98 e8 0f 32 2a | e...H..%?....2*| +00000190 ee c5 60 f6 83 25 40 91 f6 13 0b fe 26 a9 f1 4c |..`..%@.....&..L| +000001a0 67 0d e8 c9 25 7e f5 f3 e3 ca 34 c3 e7 0e 4b e1 |g...%~....4...K.| +000001b0 c8 f4 40 94 69 88 a2 81 75 02 7d 6d d4 6a b3 c3 |..@.i...u.}m.j..| +000001c0 61 84 17 29 2a e9 90 17 03 03 00 1e 43 69 c6 7c |a..)*.......Ci.|| +000001d0 1a fa 1a cf bf 78 54 c0 8f b7 8d 83 d8 74 f9 54 |.....xT......t.T| +000001e0 6a 62 2f b1 68 63 69 b7 46 2e 17 03 03 00 13 08 |jb/.hci.F.......| +000001f0 49 af 4e 5f f1 e1 8a 7d 20 4e 55 2b 86 4f 03 a0 |I.N_...} NU+.O..| +00000200 d2 b5 |..| diff --git a/testdata/Server-TLSv13-ClientAuthRequestedAndGiven b/testdata/Server-TLSv13-ClientAuthRequestedAndGiven index 8ba88ebf3fa..2a608bda261 100644 --- a/testdata/Server-TLSv13-ClientAuthRequestedAndGiven +++ b/testdata/Server-TLSv13-ClientAuthRequestedAndGiven @@ -1,177 +1,180 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 ca 01 00 00 c6 03 03 56 2e 3c 64 35 |...........V.>> 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 7c d3 26 20 |........... |.& | -00000030 a0 dc e9 7a 07 71 02 2d 3b 27 85 16 fb 6e 26 e5 |...z.q.-;'...n&.| -00000040 c3 67 e5 0b bd e5 50 8f bd 39 6f 2c 13 01 00 00 |.g....P..9o,....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 b9 21 2b 29 |........... .!+)| +00000030 79 05 38 92 c6 fe 41 fa be d7 98 08 0a e4 12 b7 |y.8...A.........| +00000040 7a ea 10 5a 0d 1a f2 b4 81 5d 9d 01 13 01 00 00 |z..Z.....]......| 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 43 8e 41 a4 04 13 |..........C.A...| -00000090 01 08 9f 6e 1a fd 00 68 38 5c 93 d9 9a f7 1e 36 |...n...h8\.....6| -000000a0 ea 17 03 03 00 3e 9f ae 80 ef f4 20 66 e7 44 fc |.....>..... f.D.| -000000b0 4d a4 3f 0e dc bb 33 47 0f 13 96 fa 03 07 d6 6f |M.?...3G.......o| -000000c0 cc 9f 3c fd 01 f5 87 d9 ec c9 d0 fc dd bf c8 5c |..<............\| -000000d0 0b 3d aa a7 c6 1d 90 18 d9 a1 1a a0 a1 ea 49 32 |.=............I2| -000000e0 9e 45 86 f7 17 03 03 02 6d 61 29 fe 45 7e 5c b3 |.E......ma).E~\.| -000000f0 8a 73 f2 65 c1 90 4e 93 0d 84 b2 bd e4 46 93 c2 |.s.e..N......F..| -00000100 52 3f 07 38 e7 23 db 25 5e 71 98 a9 7d fd e9 ef |R?.8.#.%^q..}...| -00000110 3f 2c d8 9c ae 41 c4 d3 c7 9e d5 6e f0 0c 33 78 |?,...A.....n..3x| -00000120 98 cf bf 22 3d 1f d0 f3 c8 a2 34 e8 ce 5e 0d 37 |..."=.....4..^.7| -00000130 52 e2 b8 e3 50 ea 35 3e e5 59 a0 6d ed 9e 09 36 |R...P.5>.Y.m...6| -00000140 59 20 33 08 a9 41 f4 72 aa 2d 0c b5 d6 96 d9 04 |Y 3..A.r.-......| -00000150 1a f1 d8 45 ed 67 ab f9 15 fa 25 ef 6d 87 72 ad |...E.g....%.m.r.| -00000160 f0 06 59 a5 8e 61 80 8b 28 f9 a0 df 5b b2 a2 3a |..Y..a..(...[..:| -00000170 1c 91 43 18 f4 a2 f3 4e db dc 24 1b c3 0e 77 22 |..C....N..$...w"| -00000180 83 ae 88 9f 8e 8d 48 38 f4 60 51 42 fa f2 a4 de |......H8.`QB....| -00000190 33 78 35 d0 b6 01 3d 7a f5 54 68 51 fd 0e 4c 9b |3x5...=z.ThQ..L.| -000001a0 92 7c a5 01 96 52 7e de 38 b9 b0 ee 60 1e aa eb |.|...R~.8...`...| -000001b0 8c e6 b4 f4 7c 35 d2 0b 9b 83 94 ac ac ce 7e 58 |....|5........~X| -000001c0 51 6e c3 ae 3b cd f5 85 8a 1e 43 78 19 ee dc a1 |Qn..;.....Cx....| -000001d0 a3 d0 93 24 0d 3b 6a 4b cd dc 78 9c 0b 2f bc 41 |...$.;jK..x../.A| -000001e0 46 2f 64 3c 23 95 04 8b 60 75 bf 4d 45 3b e4 1e |F/d<#...`u.ME;..| -000001f0 9c 5b 1a 46 bb f3 4d a9 1b 59 33 b4 40 78 bd ff |.[.F..M..Y3.@x..| -00000200 30 7d d4 cc 5e 83 03 de 8d a3 a6 27 b4 bc 12 6e |0}..^......'...n| -00000210 5e f2 88 e8 b6 60 f3 01 e8 4a 53 c7 a9 fc a1 cc |^....`...JS.....| -00000220 27 45 c1 06 90 38 9a fb 1b 2a 9e ed 9e f6 19 85 |'E...8...*......| -00000230 dd f7 8a 7f 95 08 3a 25 c0 5b 63 96 44 71 c2 16 |......:%.[c.Dq..| -00000240 9c e1 10 69 e5 6a 5c 4a e8 2a ed 6f bd de f5 98 |...i.j\J.*.o....| -00000250 c0 a0 c5 54 7c cc 06 11 b2 54 1a c3 b4 46 c2 b4 |...T|....T...F..| -00000260 97 d8 9c 7d f1 f3 d4 6f 3c a0 ef 18 c5 a6 e9 13 |...}...o<.......| -00000270 e9 f4 9d bf 9b 25 a2 da c6 ba 7a 6d 91 fd 41 a4 |.....%....zm..A.| -00000280 e8 88 e3 79 2c 99 df 4d 21 48 89 57 5a bf 2a 2d |...y,..M!H.WZ.*-| -00000290 72 4e 1e 3a e8 c9 82 7b c0 ff 6b 7c e8 8f 41 bf |rN.:...{..k|..A.| -000002a0 83 19 9e 96 d1 3f 2b 60 8f 7f 0b f8 6c 70 82 dd |.....?+`....lp..| -000002b0 34 da 91 62 17 20 e9 99 2e e2 a9 9a 9d fd 5d f8 |4..b. ........].| -000002c0 a5 c0 ac e8 a3 df 11 b5 df 2c bd e1 e8 0f 7e 0a |.........,....~.| -000002d0 f2 47 4c 92 33 7b 6b 49 e5 30 31 8b 2e 16 81 3e |.GL.3{kI.01....>| -000002e0 79 25 f7 d7 d2 8f 5e e6 e3 2d ed 0d e1 08 97 13 |y%....^..-......| -000002f0 f3 ce 7d b1 36 0d 7c b0 4f 23 6b 12 ef 3a a4 8b |..}.6.|.O#k..:..| -00000300 b5 d0 c9 ee 48 77 70 28 61 ff ad 49 f6 48 4c 37 |....Hwp(a..I.HL7| -00000310 7b 00 c4 01 5d 8b 54 bc 44 5c 5f 98 6f 7d 84 84 |{...].T.D\_.o}..| -00000320 c8 d0 55 88 f9 17 f6 02 f1 84 b6 3c 1a 03 e8 7b |..U........<...{| -00000330 b9 4e 24 c6 d8 0a f6 8c b9 49 c6 10 38 53 e1 10 |.N$......I..8S..| -00000340 8f 91 cd 39 9a 3a e8 c7 10 f3 c3 91 84 3c 8c a6 |...9.:.......<..| -00000350 55 ab f4 f5 ab e7 17 03 03 00 99 e5 40 f6 35 34 |U...........@.54| -00000360 2d 42 3e 7f e1 51 26 56 50 4e 60 b0 2f 65 e3 cd |-B>..Q&VPN`./e..| -00000370 c7 08 0e 96 77 08 c7 f6 4f e6 70 90 bc 80 95 e7 |....w...O.p.....| -00000380 b2 df 98 83 94 4d 9e 5c 8a af d3 45 da e9 d7 fa |.....M.\...E....| -00000390 d8 d2 60 f8 b1 06 d9 27 64 45 4d e8 d3 07 8a bb |..`....'dEM.....| -000003a0 72 7a c6 71 00 7e 8b b0 2b 7d d0 f7 ab 1a bf d2 |rz.q.~..+}......| -000003b0 50 be a9 3a 0c 68 b8 48 9a 91 ee db 26 4d d3 66 |P..:.h.H....&M.f| -000003c0 5b 00 ef c3 cc b8 f2 4e 1e 51 c7 9b 34 3c e3 01 |[......N.Q..4<..| -000003d0 7f 75 4e 41 e4 56 34 ec 14 92 0f 1e 6d dd 51 9a |.uNA.V4.....m.Q.| -000003e0 e0 8b 33 54 df 77 1f ff d3 72 67 4c 62 16 b7 f8 |..3T.w...rgLb...| -000003f0 4f 8f f8 ee 17 03 03 00 35 b7 83 d2 27 a3 15 f2 |O.......5...'...| -00000400 75 55 aa 06 8c 5f c4 fa 0f 43 88 c9 c5 e3 c7 36 |uU..._...C.....6| -00000410 40 6b 35 0b 7e 60 a1 1e 48 ef 46 2c d6 e4 48 80 |@k5.~`..H.F,..H.| -00000420 91 b0 e5 3b c0 58 5d fe 5d bd 0a 6c 19 ea |...;.X].]..l..| +00000080 03 03 00 01 01 17 03 03 00 17 4d 00 8b d1 bc 63 |..........M....c| +00000090 c3 8c af c4 0f 2e 36 78 8d 2b 52 32 f6 2c 29 0e |......6x.+R2.,).| +000000a0 17 17 03 03 00 52 aa 37 4e 5d 56 9a 8d 72 e7 77 |.....R.7N]V..r.w| +000000b0 f1 b7 0c 0b be 7d 63 92 58 0f 09 d7 a0 36 12 75 |.....}c.X....6.u| +000000c0 c9 0d ec d8 44 b4 8f ad dd a1 84 58 3f 0a 7c 47 |....D......X?.|G| +000000d0 0b c1 6f 56 7a 90 bf 82 6d 29 22 8b b3 50 03 ea |..oVz...m)"..P..| +000000e0 18 96 5e f5 1b f0 67 7d 10 c8 3f a4 f5 44 84 b3 |..^...g}..?..D..| +000000f0 f3 af 3e f2 b3 93 a1 57 17 03 03 02 6d 54 0a b5 |..>....W....mT..| +00000100 be 3f e0 77 de 6f e3 d7 83 60 2e 17 94 77 fb e1 |.?.w.o...`...w..| +00000110 11 e8 8d 22 1a 7b ac 36 94 35 d5 29 e5 fa 9e 07 |...".{.6.5.)....| +00000120 62 87 34 f8 b4 c5 ae d5 ee 84 76 c8 fd 30 cf a8 |b.4.......v..0..| +00000130 b1 a4 fe 42 12 e1 36 80 05 76 e2 d2 04 2b 6e c7 |...B..6..v...+n.| +00000140 0d 7d dc 99 de 3d 62 41 2f 3c c2 78 22 ec 6f 37 |.}...=bA/<.x".o7| +00000150 ab 0d 03 22 fe fc f4 82 41 49 44 fd 0a 02 4a 79 |..."....AID...Jy| +00000160 bd 5b 40 63 46 58 cd 84 b6 cf 46 c3 31 68 38 2a |.[@cFX....F.1h8*| +00000170 cf e0 3f ee de 06 ee de f8 e8 3e 37 ab 92 a6 9b |..?.......>7....| +00000180 0a f3 a8 64 6a 81 86 5d ed e3 a2 8c d0 0f 09 1e |...dj..]........| +00000190 ba e9 b0 6f 6b 1e 32 be 03 de 97 81 e0 42 ad 6e |...ok.2......B.n| +000001a0 f6 af bd 12 7a 2f f4 41 63 c4 f4 6a 61 8c e5 d4 |....z/.Ac..ja...| +000001b0 60 99 f2 d5 92 54 2f 28 ee 3f 9b ab fa c1 51 9b |`....T/(.?....Q.| +000001c0 f5 6b d1 d6 6d b1 17 28 95 5f 3c cc e4 41 bf 9b |.k..m..(._<..A..| +000001d0 c5 6e 29 4b 39 f8 ad b0 fe 51 4c 2b 92 76 ce 22 |.n)K9....QL+.v."| +000001e0 ee 5c 9e ad 0e 50 12 3d 2a a0 7a 6d a1 63 18 f7 |.\...P.=*.zm.c..| +000001f0 f2 a0 2a b7 b6 c9 f3 60 54 47 a8 90 dd 90 7d c3 |..*....`TG....}.| +00000200 6e f8 58 1c 28 e7 21 b4 52 33 da 67 67 2b b1 51 |n.X.(.!.R3.gg+.Q| +00000210 b0 41 97 a3 1f 9b cd c8 28 63 c9 f5 e5 d1 a3 3f |.A......(c.....?| +00000220 ac 1c 39 2e 72 1b e5 16 4d 8c b1 6b 4c 35 07 e9 |..9.r...M..kL5..| +00000230 24 a4 98 fb 67 75 4b 76 b7 2d cc 35 d9 a4 db 74 |$...guKv.-.5...t| +00000240 96 56 96 e0 74 8e f9 4a 45 19 30 57 a0 22 27 a9 |.V..t..JE.0W."'.| +00000250 d9 34 d7 73 f0 16 87 e5 be 8e b3 d2 53 f2 9c 19 |.4.s........S...| +00000260 c1 0a df 07 e7 e8 30 fb 44 ac 34 13 2b 22 4c a2 |......0.D.4.+"L.| +00000270 00 da 45 fc 95 1f 83 a0 c9 fa b3 b9 16 95 83 0f |..E.............| +00000280 a9 fa ae 2f b7 bc a1 55 d2 ab 2d 31 af 39 c2 82 |.../...U..-1.9..| +00000290 f7 bf 9a 9a 5c e6 61 d7 f2 9c d0 b5 53 85 58 cf |....\.a.....S.X.| +000002a0 9d 2e 50 eb 46 a1 a4 a0 aa c4 44 66 f7 61 41 0f |..P.F.....Df.aA.| +000002b0 75 68 36 76 11 7d 1e d7 be 0f a4 7a a8 bb 9e 26 |uh6v.}.....z...&| +000002c0 a9 7b ea 30 14 51 37 78 58 2a 92 e2 2c d3 9e 27 |.{.0.Q7xX*..,..'| +000002d0 86 92 83 a0 bc e8 50 ed da 9c 06 f4 d8 3c d5 6c |......P......<.l| +000002e0 a5 3a cc 1a ce 00 55 30 20 74 ad 17 5c bd 98 2d |.:....U0 t..\..-| +000002f0 1f 11 e7 38 99 2d b4 fc 1c 42 c9 ae f1 af 46 3e |...8.-...B....F>| +00000300 67 13 d2 31 16 34 fd e9 26 7c dd bb a0 25 10 7d |g..1.4..&|...%.}| +00000310 ca 94 20 6a b9 10 b7 94 0d 26 31 46 f2 bf 45 a8 |.. j.....&1F..E.| +00000320 ed 8f 08 15 7d db dd 3a ad 45 9f bd 32 8d ff 80 |....}..:.E..2...| +00000330 c6 1f bf 57 5e a0 dc 74 3c 8a b3 8f 03 ef a1 ef |...W^..t<.......| +00000340 12 65 2c c3 16 4f bc 63 3b 62 ab fa ae 9f d1 84 |.e,..O.c;b......| +00000350 79 80 25 04 bc e0 f9 70 98 e1 8c 15 55 ba cf a3 |y.%....p....U...| +00000360 0a 24 64 8c 3a b2 b7 a8 04 c1 17 03 03 00 99 c0 |.$d.:...........| +00000370 87 16 ce 52 d1 e9 83 f3 46 02 91 89 a1 6d 24 17 |...R....F....m$.| +00000380 dc 6a 05 bb c2 fb bd 93 94 05 60 8c 6c 47 f6 4a |.j........`.lG.J| +00000390 d8 ad 42 99 8b 77 92 91 f3 58 1e 10 3b 59 b1 19 |..B..w...X..;Y..| +000003a0 55 2c 3b f2 5b f3 e5 67 b2 e1 9c a8 68 dd 0e b9 |U,;.[..g....h...| +000003b0 67 c4 61 63 b3 bc 15 7b d6 76 7d 44 42 46 57 96 |g.ac...{.v}DBFW.| +000003c0 b3 10 40 39 2b 8c d5 fa cf a0 32 c0 d5 1a aa 96 |..@9+.....2.....| +000003d0 95 3b d5 55 fe 06 d2 34 31 7c 29 95 86 ac 7e f5 |.;.U...41|)...~.| +000003e0 e6 6b 7d a6 b5 52 37 2d 02 56 b8 12 66 33 67 80 |.k}..R7-.V..f3g.| +000003f0 14 5f 78 b3 a3 bf fc 4f cb 16 82 4e f5 c4 1b a1 |._x....O...N....| +00000400 33 3e 6c ed df 7b 4d 0b 17 03 03 00 35 dd de ca |3>l..{M.....5...| +00000410 4d 9e 09 ba 14 09 72 72 23 9f 3c 7e 2c 46 e5 5e |M.....rr#.<~,F.^| +00000420 50 a2 21 02 f7 03 4b 76 ab 4c a8 0b a2 b3 9b 7a |P.!...Kv.L.....z| +00000430 fc b9 5d a2 ac 0b c3 55 15 b8 b8 23 2b 61 46 00 |..]....U...#+aF.| +00000440 1c 5c |.\| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 02 11 9e 9e cf 44 84 |..............D.| -00000010 df e7 23 47 2d 4e 85 fa f2 02 2a 79 4d 3a 3d df |..#G-N....*yM:=.| -00000020 48 95 2e d7 0d 3c d0 05 fc bf bb 23 0a 25 59 76 |H....<.....#.%Yv| -00000030 fd 04 f8 f0 81 88 85 9f 99 f0 55 91 9a 79 8a 39 |..........U..y.9| -00000040 f4 6e 49 92 be ed 1d d1 20 19 77 bc 55 9b b0 da |.nI..... .w.U...| -00000050 d1 c4 9f b5 2f 5c 1a 60 38 e1 92 9b f9 a1 97 6b |..../\.`8......k| -00000060 1b d0 d0 d0 05 7a 41 26 d4 6b 12 a0 b3 c6 33 13 |.....zA&.k....3.| -00000070 4f 74 10 d6 91 fb b0 69 46 46 ca de 7c 05 d6 62 |Ot.....iFF..|..b| -00000080 51 23 12 58 00 ff 25 8e c8 5f 54 85 f4 2f e9 f9 |Q#.X..%.._T../..| -00000090 f1 1e 32 b9 f1 a6 fb 90 9b a9 65 d2 c9 ea a7 1a |..2.......e.....| -000000a0 e8 c9 a8 bb 7e 3d 3f 03 62 fc f4 06 a4 a2 f7 41 |....~=?.b......A| -000000b0 60 f5 f1 df 3e d6 31 51 f4 dc b1 d3 60 4b 84 4f |`...>.1Q....`K.O| -000000c0 99 e2 9f b2 f0 d5 fd b2 f3 5c 24 5f 91 a6 94 cd |.........\$_....| -000000d0 37 61 91 4e cc ae cd c1 b5 cc 58 5f 9a 91 a1 13 |7a.N......X_....| -000000e0 23 42 8a c5 27 4c 66 32 69 9c 75 9f 2a ed 73 1d |#B..'Lf2i.u.*.s.| -000000f0 29 2e 36 50 34 b4 80 d2 08 e6 9f c6 3e da df 9f |).6P4.......>...| -00000100 e0 2a 08 88 47 b6 d3 ff f7 6c 6c 91 1a 8e 53 89 |.*..G....ll...S.| -00000110 53 6c b8 d7 83 37 ab 03 59 e6 4f 41 42 af d4 f9 |Sl...7..Y.OAB...| -00000120 ac 9d ae d1 77 f1 71 79 a0 16 c4 c7 b5 a6 a9 9f |....w.qy........| -00000130 59 da 55 fb c5 88 8c 13 04 c2 06 39 8f ae 7e ca |Y.U........9..~.| -00000140 99 ce cd aa 86 0a 00 bd 56 f1 98 d9 c8 d2 c1 c0 |........V.......| -00000150 df 16 c2 6f 78 da 66 3f cc 43 c7 38 33 1b 3b 5b |...ox.f?.C.83.;[| -00000160 f8 7e d8 b7 ef 4c 6d c7 f6 84 56 8d 76 f7 0d 83 |.~...Lm...V.v...| -00000170 94 e6 ad c5 f3 05 5c f4 17 69 d5 83 98 c3 43 8e |......\..i....C.| -00000180 9f a5 5c 7b 12 ea f4 1f 39 ce 0d 83 15 b1 e6 ce |..\{....9.......| -00000190 c1 35 9b 8c ec c6 d2 d7 f9 02 36 90 24 f4 3a 70 |.5........6.$.:p| -000001a0 ce bb 8d bb 4b b2 aa 64 f0 b5 c0 88 cc 06 e3 9c |....K..d........| -000001b0 f7 70 64 fd 5d 48 f5 c8 07 48 c2 09 c4 07 56 b9 |.pd.]H...H....V.| -000001c0 86 e9 d6 7b dc ac a5 00 2c 1d 80 8f 47 f2 c4 c7 |...{....,...G...| -000001d0 ab dc 7b 41 7b 3d 47 db 09 12 02 9f 1b 63 e7 cc |..{A{=G......c..| -000001e0 38 1d 33 56 e0 ae 63 7a 95 73 5f e6 da 13 53 49 |8.3V..cz.s_...SI| -000001f0 5f 69 e9 ff 86 26 bd 9a dd be 5c 75 e7 69 66 b4 |_i...&....\u.if.| -00000200 27 3f 79 d2 2e 8e 79 9e 89 42 58 20 a2 ca 8c 2a |'?y...y..BX ...*| -00000210 37 b8 99 81 66 3a 31 66 1a 95 4c 47 17 03 03 00 |7...f:1f..LG....| -00000220 99 66 08 07 06 6d 95 fe f1 72 2a 7c de 84 06 b0 |.f...m...r*|....| -00000230 3d d7 d1 6b 47 0e 4d fb 9e ab 55 f7 71 c5 5d 11 |=..kG.M...U.q.].| -00000240 cb c7 fb 45 90 9d 22 eb ec 03 d6 ce 8c 01 ff 81 |...E..".........| -00000250 a2 90 23 1d 7a f3 cb 16 76 a5 05 57 77 f6 af f0 |..#.z...v..Ww...| -00000260 29 6c 6c 39 9e 99 55 c0 38 c3 31 68 49 b3 bf cc |)ll9..U.8.1hI...| -00000270 31 e2 6d a4 4c e7 99 53 2f 31 3f 05 2c 7c 1b 10 |1.m.L..S/1?.,|..| -00000280 60 ce 8b 60 47 16 eb e5 8b be 1b 7a 95 b9 3c 60 |`..`G......z..<`| -00000290 1c d6 b5 13 5f ad b9 bb 13 dd d6 08 8e 70 cb 2a |...._........p.*| -000002a0 26 3e df ce 7c 21 e5 27 7e 27 ec 75 b6 47 a0 89 |&>..|!.'~'.u.G..| -000002b0 2e e1 3c ab 0d 72 90 d1 d5 07 17 03 03 00 35 82 |..<..r........5.| -000002c0 6b 48 4a 9a 63 16 07 8f b2 d3 4a 65 7d e0 c4 e8 |kHJ.c.....Je}...| -000002d0 27 3e ce 4a 0a c8 63 e0 f9 70 98 c0 6a 12 39 ec |'>.J..c..p..j.9.| -000002e0 e1 52 de 73 58 2d f0 7c bc 8d 41 16 be 89 a0 88 |.R.sX-.|..A.....| -000002f0 56 e5 ef f6 |V...| +00000000 14 03 03 00 01 01 17 03 03 02 11 79 f8 bd a7 4e |...........y...N| +00000010 90 84 77 6f d1 a8 95 67 b7 0b e2 7a 4e 16 e9 ca |..wo...g...zN...| +00000020 1c f3 31 df a8 0e 99 02 c0 09 68 de 6a bb c2 bd |..1.......h.j...| +00000030 19 10 30 65 e6 5d d1 43 e2 aa 81 ba ea 3d 30 9a |..0e.].C.....=0.| +00000040 bb a8 66 ef 91 d1 1d 4c cd 93 97 19 f5 b7 52 1f |..f....L......R.| +00000050 c3 4b f8 dd 2f 39 53 54 68 06 dd 90 c1 75 57 9a |.K../9STh....uW.| +00000060 d6 9d c5 79 36 f9 5e bc c6 9b b8 bd 3d 14 40 71 |...y6.^.....=.@q| +00000070 a8 db 5c a8 d0 28 f3 a6 c1 37 29 c1 38 3f a3 51 |..\..(...7).8?.Q| +00000080 29 5c 01 eb 5c 7e c7 09 e6 2b fd 48 6f 53 77 25 |)\..\~...+.HoSw%| +00000090 c8 55 bb fd 68 21 a4 f0 f8 0e 52 41 97 81 20 78 |.U..h!....RA.. x| +000000a0 5e b8 77 3e 4e 6c 0a b1 32 98 2e d4 58 dd 64 fa |^.w>Nl..2...X.d.| +000000b0 8a 3e ba ea 79 67 c1 01 97 d2 5c d6 09 81 57 b0 |.>..yg....\...W.| +000000c0 fa c3 b8 3d 91 ee 7e 06 47 a8 3e 7b 59 74 14 44 |...=..~.G.>{Yt.D| +000000d0 29 28 29 1f 52 00 b8 31 4f ae 60 d5 18 72 fb a7 |)().R..1O.`..r..| +000000e0 21 0f 79 73 d8 e2 5c 6b b7 aa 78 53 f0 83 b5 ec |!.ys..\k..xS....| +000000f0 89 fc d0 fd 84 2e f6 3b 65 1d ac fe e8 75 10 f6 |.......;e....u..| +00000100 52 01 7f 5a 67 6d 1c 1d 82 4d eb 9d 2f fa 54 4e |R..Zgm...M../.TN| +00000110 0f 05 c8 d0 c3 50 6b cb 15 f0 27 5e 1d 15 b4 60 |.....Pk...'^...`| +00000120 85 bc b0 0e 54 3a 10 54 f9 4c 43 db 57 74 96 4b |....T:.T.LC.Wt.K| +00000130 12 1c c8 1b 4c b7 d6 44 e7 df 95 9b 1d 28 cc d0 |....L..D.....(..| +00000140 20 a5 9f 28 5d da 20 1a 46 42 1c b5 88 81 6b 3e | ..(]. .FB....k>| +00000150 0f 7b 37 5f b8 8e e5 b8 57 3c e7 03 6f 4f be 83 |.{7_....W<..oO..| +00000160 5a 3a a9 46 c6 e9 42 68 4f 10 38 bc ba 4d 67 7b |Z:.F..BhO.8..Mg{| +00000170 19 9a b0 bd ce 9a 8f 21 ff eb 82 59 a6 2f 0a 0f |.......!...Y./..| +00000180 b2 eb 76 c0 e2 dc 3f f4 3b c5 26 d3 7e 8c ed c3 |..v...?.;.&.~...| +00000190 5d 0f 80 56 a0 07 76 88 4c ab 04 3c aa 8a 44 65 |]..V..v.L..<..De| +000001a0 a7 5a 7b 31 29 5f 41 b8 12 c0 c0 f1 cd 95 08 0e |.Z{1)_A.........| +000001b0 f7 89 a0 af 91 e6 52 14 5a 2b 39 c5 c6 4e b7 72 |......R.Z+9..N.r| +000001c0 93 e2 a7 6f 00 b4 57 9b 20 e4 90 b9 57 f0 67 40 |...o..W. ...W.g@| +000001d0 e3 87 7d f6 6b f6 87 91 7f f6 3b 99 f2 93 b3 35 |..}.k.....;....5| +000001e0 e7 d4 fe 7c 1c b7 08 4a 00 de 7c 6c 85 df 2d 37 |...|...J..|l..-7| +000001f0 3b 69 62 18 c6 f9 e0 e3 6e 1d 30 cd 35 7d 83 5c |;ib.....n.0.5}.\| +00000200 1d 0c d8 61 df 4b f3 20 77 81 b1 9e 5f 84 79 44 |...a.K. w..._.yD| +00000210 93 b6 30 60 2d 76 4e 6d 4d 18 3a 21 17 03 03 00 |..0`-vNmM.:!....| +00000220 99 30 99 a3 ff 5c 70 58 5a d7 f0 ec 97 a0 d9 b8 |.0...\pXZ.......| +00000230 9e 98 08 f6 ec 87 48 3b c6 46 c2 45 c4 29 ab 08 |......H;.F.E.)..| +00000240 f2 ee 94 4d 89 c9 19 b4 0d b0 f6 df f7 a5 8d 4b |...M...........K| +00000250 2f 53 62 b8 ee 4c 8a cf 81 be fb 7e 16 2f ec f3 |/Sb..L.....~./..| +00000260 03 49 18 93 dc d3 53 67 fc a2 03 f8 f6 ab 26 87 |.I....Sg......&.| +00000270 92 32 7c 06 1a 12 14 29 cf a2 43 e4 36 04 2c ad |.2|....)..C.6.,.| +00000280 68 ea 5f 5a d2 83 81 d7 96 7d 8c 2e 9a 98 14 56 |h._Z.....}.....V| +00000290 a7 a3 23 69 d5 fd 21 9e 2f 81 43 2b 8a ad 2e c9 |..#i..!./.C+....| +000002a0 50 a8 a5 5c 28 b3 a0 62 c0 95 78 92 f7 3b 7b c0 |P..\(..b..x..;{.| +000002b0 1c a9 29 c4 34 28 39 c4 0b ef 17 03 03 00 35 8d |..).4(9.......5.| +000002c0 35 f3 1d 55 34 aa 92 ff 8f e6 2e c2 9b 2f c6 c8 |5..U4......../..| +000002d0 29 69 66 08 db fb 6f b5 22 4e bf 62 35 43 6c 72 |)if...o."N.b5Clr| +000002e0 c6 2a c4 57 8c a9 42 2c b8 5e 82 25 b2 92 aa 82 |.*.W..B,.^.%....| +000002f0 77 5f a4 1f 17 03 03 00 13 cc 12 01 75 9c 9f d3 |w_..........u...| +00000300 3f 17 17 a8 b8 8b b3 ae dc f6 08 34 |?..........4| >>> Flow 4 (server to client) -00000000 17 03 03 02 83 ce c4 10 39 1a fe 62 a2 ff 27 6d |........9..b..'m| -00000010 b7 e3 1d d6 8e b8 a2 7e f5 30 87 35 16 41 fb 04 |.......~.0.5.A..| -00000020 3c 79 9e 02 9b 06 4c a7 ba 01 5b cf 94 bc c8 08 |.| -00000050 58 7d fe c1 e3 78 79 31 48 d2 74 c0 8d 17 97 6f |X}...xy1H.t....o| -00000060 30 bb 8a 2c 8c d4 76 3d 3f f0 20 24 3d 5a 21 0c |0..,..v=?. $=Z!.| -00000070 37 7b 14 45 e6 69 db ed 52 50 a0 77 e9 a2 84 59 |7{.E.i..RP.w...Y| -00000080 0c 96 c1 ad 48 ed 8d 9f 00 4d f2 15 86 71 c0 fa |....H....M...q..| -00000090 14 b9 77 cb 9f 04 d9 1b be da 68 8e 31 8f 25 14 |..w.......h.1.%.| -000000a0 f5 43 bd e5 6e c5 10 ab f7 68 22 7f c2 ba 5c a6 |.C..n....h"...\.| -000000b0 88 31 c0 a5 fb 63 05 95 52 b3 04 94 14 fe eb 0c |.1...c..R.......| -000000c0 53 a0 c2 bf ae 58 e3 f9 84 22 6b ca 95 33 12 80 |S....X..."k..3..| -000000d0 09 e2 97 b0 2b 4b ed fa 34 e1 5a b1 de 52 b1 2c |....+K..4.Z..R.,| -000000e0 a0 aa 11 d6 fa 07 e1 41 ed 36 9f 9a 1a 56 18 b0 |.......A.6...V..| -000000f0 ef e7 85 dc 5b 53 23 56 c2 ac 34 64 c8 9d 4b 49 |....[S#V..4d..KI| -00000100 6d 29 7e 4b 73 4f 0b 8e 30 86 87 ea cf 1c dd 62 |m)~KsO..0......b| -00000110 c0 a4 96 aa fe 41 e7 25 94 8e 08 b5 4d 42 26 d3 |.....A.%....MB&.| -00000120 ba 84 98 bf 27 2b d5 3d 37 b9 b1 b5 24 33 e3 4d |....'+.=7...$3.M| -00000130 3f 05 38 54 fe 2c 15 63 20 2e 70 c0 c6 da 0e 89 |?.8T.,.c .p.....| -00000140 b6 99 07 db e3 7c 3e 58 d0 a3 2b 50 c4 f3 21 92 |.....|>X..+P..!.| -00000150 62 e0 e9 b5 d4 7a 6b 23 a2 05 ef 9c f5 f5 05 57 |b....zk#.......W| -00000160 cd d4 4d 0a 2f 17 ca ac fc 9d 7e 60 ec 3c 80 8c |..M./.....~`.<..| -00000170 1f 99 da b7 f6 14 7a e1 86 76 50 8d f8 6b 92 24 |......z..vP..k.$| -00000180 f2 b7 82 fa 3c 9b 14 af 0f 37 40 ae 7f 10 f5 0a |....<....7@.....| -00000190 f2 0f 0f bd 01 b7 0a f7 b6 d0 7f cf bf e6 67 55 |..............gU| -000001a0 cc 36 af a6 d8 c4 ca 80 c7 af 35 ff 6e 83 56 30 |.6........5.n.V0| -000001b0 62 26 49 bb 1a 04 8b 39 10 7b 0f 09 19 2b 0f 95 |b&I....9.{...+..| -000001c0 08 9d c8 85 3b 5d 8c 97 16 ae cd 92 00 d5 3e 50 |....;]........>P| -000001d0 54 66 85 8f 42 9b 60 3d f8 99 ca c7 07 3b 51 18 |Tf..B.`=.....;Q.| -000001e0 d5 20 37 57 35 0a d8 c6 13 0f 48 94 8f 50 7d 0e |. 7W5.....H..P}.| -000001f0 5a f0 98 b2 5d 5f 46 fb ba 85 c8 4f ba 02 19 86 |Z...]_F....O....| -00000200 0b ef 4a 04 49 1f 06 cd be dc d5 32 74 14 d8 60 |..J.I......2t..`| -00000210 17 a5 b5 a2 70 8e b1 75 29 bc e0 02 e0 a2 1c 7b |....p..u)......{| -00000220 58 cd 96 69 84 0f 95 7b 78 3e 09 72 a6 e0 50 7e |X..i...{x>.r..P~| -00000230 76 b0 7b 44 11 9b b8 7e 7d 09 49 91 75 5b 9b 6f |v.{D...~}.I.u[.o| -00000240 42 a4 e6 54 4d c6 21 65 c4 64 7d c6 29 74 13 8d |B..TM.!e.d}.)t..| -00000250 69 5f 20 8c f1 88 e8 1e 2d c3 13 d5 f5 52 70 24 |i_ .....-....Rp$| -00000260 de ec 64 c7 00 3f 57 e2 3f c4 23 fe e9 65 e6 d9 |..d..?W.?.#..e..| -00000270 92 ae f0 2f 05 4d 01 72 be 0d 7d c0 f4 30 ac 69 |.../.M.r..}..0.i| -00000280 3c 7c c1 72 c1 b7 c4 c9 17 03 03 00 1e 73 8f 48 |<|.r.........s.H| -00000290 cf 34 35 31 9b 63 59 59 1b 23 e1 6b b2 3a 0f df |.451.cYY.#.k.:..| -000002a0 21 69 8e 73 1a 61 09 5b 82 c7 78 17 03 03 00 13 |!i.s.a.[..x.....| -000002b0 4f a0 ab 25 3f a4 85 9e 78 58 69 d2 2c c3 b6 df |O..%?...xXi.,...| -000002c0 32 4a 7f |2J.| +00000000 17 03 03 02 83 63 68 c7 ae a5 c2 03 56 49 d3 13 |.....ch.....VI..| +00000010 45 f0 de 02 20 70 1a cb a5 cc 6f fa 0e 4b 28 65 |E... p....o..K(e| +00000020 4f 6d 76 2e b0 61 cf fe be 43 82 02 44 06 e4 1e |Omv..a...C..D...| +00000030 91 0c 64 1b 0e 58 53 c0 15 84 e8 6a 23 64 a1 cb |..d..XS....j#d..| +00000040 cd af e6 98 c1 c2 10 23 2b dd 54 9c ff d8 11 af |.......#+.T.....| +00000050 41 0c 88 7b 77 5c 12 47 7e f9 61 97 d6 f4 65 a7 |A..{w\.G~.a...e.| +00000060 5e 9c 06 0e 8a 96 5a 4c 60 f9 ce fb 52 a6 61 44 |^.....ZL`...R.aD| +00000070 7a d1 41 54 10 51 b6 26 d4 18 fb 37 75 55 7f 18 |z.AT.Q.&...7uU..| +00000080 10 39 ea b1 f7 d5 8f 3a a4 e8 d8 be f5 2f c2 90 |.9.....:...../..| +00000090 1a dd bc d7 50 b7 0e 7e c8 71 88 8f a0 04 34 2d |....P..~.q....4-| +000000a0 6f 35 f5 3f 43 08 1d 28 c7 30 db 8e c0 6c cd 14 |o5.?C..(.0...l..| +000000b0 93 10 fc b4 58 43 92 6d a3 3c 2e 87 71 12 70 c5 |....XC.m.<..q.p.| +000000c0 ec f8 64 5a 28 ee 3c 67 05 f4 00 f8 16 11 a6 49 |..dZ(.`3e.^_.| +00000110 7b 16 78 d9 8d 2a 92 16 62 02 fc 27 ee 72 f4 2e |{.x..*..b..'.r..| +00000120 86 11 32 55 a2 9b b7 d3 3a 3b 87 be 28 8f 30 e7 |..2U....:;..(.0.| +00000130 c7 ca 34 51 e5 3b 96 55 c1 d2 b2 b1 4e 84 85 0c |..4Q.;.U....N...| +00000140 df d9 25 3e 29 b8 56 4a 32 b7 45 1a b3 05 c1 d6 |..%>).VJ2.E.....| +00000150 ca ac 13 74 59 b6 0d 03 14 f2 fa b7 05 c4 2f da |...tY........./.| +00000160 11 65 a4 89 06 c6 fd 2b 10 3c 13 3d 92 d5 6a 1c |.e.....+.<.=..j.| +00000170 c5 01 10 b5 1a 3d a0 a5 ea ef 11 74 8b 68 24 20 |.....=.....t.h$ | +00000180 04 58 68 e4 e3 69 b7 12 03 f1 4c dd 78 65 04 58 |.Xh..i....L.xe.X| +00000190 d9 85 45 39 d2 74 18 f7 5c b4 59 fc 08 fb e0 49 |..E9.t..\.Y....I| +000001a0 c6 73 e0 0d 18 05 6a 84 95 03 11 ad 73 1d 45 d3 |.s....j.....s.E.| +000001b0 d7 66 c9 14 14 f4 ed 39 a6 b2 bd 81 ac 23 c0 d9 |.f.....9.....#..| +000001c0 ba 6a 82 16 75 2f c1 31 4f 83 25 ce 87 fb 23 97 |.j..u/.1O.%...#.| +000001d0 a0 0d 7c c8 2d 35 ce a6 e8 76 65 cb 72 cc 95 fc |..|.-5...ve.r...| +000001e0 8c 65 eb f7 74 7f a6 fc 1e 03 05 cd dc 56 8d 3c |.e..t........V.<| +000001f0 09 0b 74 48 24 72 19 07 c0 c4 a3 32 28 15 33 45 |..tH$r.....2(.3E| +00000200 ef c6 02 f2 8d bf 39 a9 b9 41 bd 99 77 be 36 67 |......9..A..w.6g| +00000210 0e eb 62 2b fa cd c9 6e b8 59 d8 f9 2b dd 09 1e |..b+...n.Y..+...| +00000220 4c 4a 90 e5 d4 4c 54 10 b9 f1 e3 5a 88 4b 3f 30 |LJ...LT....Z.K?0| +00000230 c9 7c d5 be e5 b0 44 4f bb 41 7a 83 e2 47 0c 73 |.|....DO.Az..G.s| +00000240 28 b9 f2 c0 6c 28 0c 3c 3a cd 34 92 5c 13 f8 15 |(...l(.<:.4.\...| +00000250 88 5b 02 fa 65 fd 1c b9 c0 cc 78 17 37 cc 53 50 |.[..e.....x.7.SP| +00000260 0f 53 5e a0 fa 08 48 93 c2 4e 7d c1 f9 bb f7 6a |.S^...H..N}....j| +00000270 e0 0e 8b 14 1a 64 60 b6 67 3a 07 68 13 20 e1 8a |.....d`.g:.h. ..| +00000280 f2 7b 0d 25 c6 11 2f 9e 17 03 03 00 1e 1e a5 9c |.{.%../.........| +00000290 f5 56 23 e2 91 d8 e1 fd da 88 04 24 b5 66 79 06 |.V#........$.fy.| +000002a0 b2 3d e8 95 60 e1 86 2d 34 f4 c8 17 03 03 00 13 |.=..`..-4.......| +000002b0 2a c7 60 04 0d 2f b5 d7 d2 c2 f9 15 bf 26 d7 84 |*.`../.......&..| +000002c0 05 98 ee |...| diff --git a/testdata/Server-TLSv13-ClientAuthRequestedNotGiven b/testdata/Server-TLSv13-ClientAuthRequestedNotGiven index b839c958794..7a06770a578 100644 --- a/testdata/Server-TLSv13-ClientAuthRequestedNotGiven +++ b/testdata/Server-TLSv13-ClientAuthRequestedNotGiven @@ -1,103 +1,105 @@ >>> Flow 1 (client to server) -00000000 16 03 01 00 ca 01 00 00 c6 03 03 4a ea 7e 77 82 |...........J.~w.| -00000010 17 37 46 db 49 14 d2 41 e4 14 b0 46 20 9d 50 45 |.7F.I..A...F .PE| -00000020 d1 75 08 82 2b 8d bc 9a 75 e3 71 20 ce 77 9a 79 |.u..+...u.q .w.y| -00000030 98 24 bc 15 be ac 30 fe 66 35 ab 51 be bd b4 fa |.$....0.f5.Q....| -00000040 6f 53 1f e9 5f 54 58 75 ce 94 f9 47 00 04 13 01 |oS.._TXu...G....| +00000000 16 03 01 00 ca 01 00 00 c6 03 03 00 69 af 00 d0 |............i...| +00000010 54 e8 0e 25 4c 62 db 87 e1 af 15 9e cf 14 ac b6 |T..%Lb..........| +00000020 ce 8c 5a 65 99 f3 c0 48 2e b6 00 20 c4 bf 7a 0b |..Ze...H... ..z.| +00000030 d8 da 4f 37 b8 12 7c ff 2e 1e ac 80 d4 32 77 0f |..O7..|......2w.| +00000040 92 8c b4 76 53 57 ba 7d bb 15 78 c8 00 04 13 01 |...vSW.}..x.....| 00000050 00 ff 01 00 00 79 00 0b 00 04 03 00 01 02 00 0a |.....y..........| 00000060 00 0c 00 0a 00 1d 00 17 00 1e 00 19 00 18 00 16 |................| 00000070 00 00 00 17 00 00 00 0d 00 1e 00 1c 04 03 05 03 |................| 00000080 06 03 08 07 08 08 08 09 08 0a 08 0b 08 04 08 05 |................| 00000090 08 06 04 01 05 01 06 01 00 2b 00 03 02 03 04 00 |.........+......| -000000a0 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 20 e0 |-.....3.&.$... .| -000000b0 64 7e 58 b6 e7 32 fc c9 d6 3e f7 e0 f5 6a 9c 3a |d~X..2...>...j.:| -000000c0 e6 8f 83 d7 1c 27 62 72 71 06 71 de 49 96 05 |.....'brq.q.I..| +000000a0 2d 00 02 01 01 00 33 00 26 00 24 00 1d 00 20 30 |-.....3.&.$... 0| +000000b0 a0 2a f8 e2 67 08 84 a8 c9 fc f8 de 0e fb 3c 0c |.*..g.........<.| +000000c0 59 10 2d 50 e9 cc d4 32 5c 86 e2 6e 0d ba 03 |Y.-P...2\..n...| >>> 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 ce 77 9a 79 |........... .w.y| -00000030 98 24 bc 15 be ac 30 fe 66 35 ab 51 be bd b4 fa |.$....0.f5.Q....| -00000040 6f 53 1f e9 5f 54 58 75 ce 94 f9 47 13 01 00 00 |oS.._TXu...G....| +00000020 00 00 00 00 00 00 00 00 00 00 00 20 c4 bf 7a 0b |........... ..z.| +00000030 d8 da 4f 37 b8 12 7c ff 2e 1e ac 80 d4 32 77 0f |..O7..|......2w.| +00000040 92 8c b4 76 53 57 ba 7d bb 15 78 c8 13 01 00 00 |...vSW.}..x.....| 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 d0 8f 0a 7e 6c 33 |.............~l3| -00000090 0b be 2a 24 0e fc af df 6e 7d ad 22 28 82 77 60 |..*$....n}."(.w`| -000000a0 3d 17 03 03 00 3e 8f 87 8f f1 5a f6 6f eb eb d9 |=....>....Z.o...| -000000b0 da aa fc 3c 6d ac 73 94 a3 13 5f fe 01 bb 75 eb |........| -000001f0 50 76 d6 79 39 e8 25 bc 3b d9 5a a4 a8 5e 08 6a |Pv.y9.%.;.Z..^.j| -00000200 1c 48 b1 11 f0 d9 b9 48 39 e1 23 db 41 8c bf bd |.H.....H9.#.A...| -00000210 20 27 7b 0c 89 10 1f b0 ae 70 18 9a 7f f2 b4 1d | '{......p......| -00000220 20 cd 6d 80 38 00 a4 33 de 22 ef f6 42 52 c7 66 | .m.8..3."..BR.f| -00000230 83 4a 67 18 6b a6 38 27 d3 40 cf a2 a9 3e 58 06 |.Jg.k.8'.@...>X.| -00000240 91 a7 36 08 29 10 4d 8f 1b f9 7c 5a 17 05 81 b9 |..6.).M...|Z....| -00000250 4b 60 48 40 49 73 63 8a ef 9f f2 9e 80 85 57 fa |K`H@Isc.......W.| -00000260 0a b8 72 83 f3 26 fa 07 ae d2 47 99 b5 a6 5d c5 |..r..&....G...].| -00000270 1e b5 fc ea 0f 17 f8 ba e2 5c 7d 59 70 53 2e 23 |.........\}YpS.#| -00000280 f7 55 75 cb de 82 dc ca b1 bf 3f 5f 7d 7d 92 3c |.Uu.......?_}}.<| -00000290 29 29 64 30 74 0a 01 0b c0 95 db 45 fe 20 be 38 |))d0t......E. .8| -000002a0 c5 87 b7 e4 a9 93 63 67 6b 9a 2f 24 9e 62 8f 1d |......cgk./$.b..| -000002b0 bd 8c 4a d4 b0 0f 95 2f 56 b2 1c e8 5a 58 81 2e |..J..../V...ZX..| -000002c0 b5 b5 b5 f2 1b 7f 6c 39 58 75 51 dc 83 2a 59 0b |......l9XuQ..*Y.| -000002d0 78 5e 22 7e af ee 59 af b9 8f dc 65 97 af a5 b5 |x^"~..Y....e....| -000002e0 b8 50 af 35 51 30 e7 0a 75 e2 d0 33 e2 fb f4 b1 |.P.5Q0..u..3....| -000002f0 99 cd 5f 72 6b a9 f8 85 a1 a5 19 7e 2b 91 01 19 |.._rk......~+...| -00000300 09 dd 88 6e a7 d6 54 57 cd ef d0 97 6a 68 d9 6e |...n..TW....jh.n| -00000310 52 38 ef a5 fa 84 63 70 f0 6d 64 ec 66 1a c9 b5 |R8....cp.md.f...| -00000320 78 ba 17 74 f4 b4 2b a2 fe 9a 7f 38 b8 5e 8b 56 |x..t..+....8.^.V| -00000330 a6 7b 2c 92 7f db 58 c8 fa f9 2d 6b 00 25 dc 0a |.{,...X...-k.%..| -00000340 aa 13 e8 40 f3 fd 47 23 f6 bf 1c 30 fc 91 18 95 |...@..G#...0....| -00000350 ac a8 82 3d f5 ef 17 03 03 00 99 7e 30 4f f1 00 |...=.......~0O..| -00000360 1e dd eb c6 54 d2 f5 f7 21 aa 6b b0 83 0c fa 8b |....T...!.k.....| -00000370 12 af ac 15 3e 54 b6 1c 85 9b 0c 80 02 d8 e3 5f |....>T........._| -00000380 36 57 64 fe 7a b8 31 d0 aa 59 f1 e6 af e0 27 c5 |6Wd.z.1..Y....'.| -00000390 b8 d8 2f ab e0 cc c3 02 18 73 30 36 b5 2a 0d 12 |../......s06.*..| -000003a0 a4 45 e6 c3 79 9f 54 cb 51 61 1a b8 aa 87 45 43 |.E..y.T.Qa....EC| -000003b0 8e 93 58 66 f2 97 cb 3b 44 df ae 93 17 de 22 99 |..Xf...;D.....".| -000003c0 3c b4 9d 21 a6 db 03 ce 7b fb 67 b9 6e fb ab 50 |<..!....{.g.n..P| -000003d0 f8 33 9f 20 a0 fb e9 54 bb 62 16 19 d6 df 8c fe |.3. ...T.b......| -000003e0 3d 63 42 7c b0 72 2b 0d 87 1e f7 7d bb 59 ba f5 |=cB|.r+....}.Y..| -000003f0 d6 e8 f3 57 17 03 03 00 35 9e 6f 39 92 2e 32 10 |...W....5.o9..2.| -00000400 03 cd f0 28 2c 1a 32 77 19 c8 39 38 60 0c 28 b7 |...(,.2w..98`.(.| -00000410 8c 3a d8 50 a1 44 e4 d6 c5 64 59 88 2d a4 23 c9 |.:.P.D...dY.-.#.| -00000420 26 d1 96 0c c9 5d da 84 3e 8a 7d fe 80 77 |&....]..>.}..w| +00000080 03 03 00 01 01 17 03 03 00 17 47 a8 92 ce cd bb |..........G.....| +00000090 b5 b2 f6 47 50 c3 e7 c4 44 59 20 07 13 9a ca 98 |...GP...DY .....| +000000a0 f5 17 03 03 00 52 b6 9d 37 b2 ed bf 53 10 e2 28 |.....R..7...S..(| +000000b0 09 25 e5 f1 f8 6d 10 99 f8 b0 b8 1d cd 5c 82 ff |.%...m.......\..| +000000c0 de fd 9d 8e 89 94 2e 7a 7f ed 30 80 7e f0 e5 ef |.......z..0.~...| +000000d0 13 06 7b cf 8f 91 c9 38 e0 77 52 80 0d 74 a2 28 |..{....8.wR..t.(| +000000e0 a7 73 cd 06 df c4 7e 04 ad 6e e3 44 04 86 98 95 |.s....~..n.D....| +000000f0 b7 2d 76 99 3e 8b cd 7c 17 03 03 02 6d cb e5 77 |.-v.>..|....m..w| +00000100 58 3e c2 74 44 db 85 f8 54 12 02 89 8d 2b 8d 24 |X>.tD...T....+.$| +00000110 2a c0 db 71 25 b8 23 a1 86 1a 09 66 8e 60 b9 58 |*..q%.#....f.`.X| +00000120 40 0f 72 34 95 e2 6b 7c 76 8a 85 e5 dd cd be 0a |@.r4..k|v.......| +00000130 1f a3 13 42 aa 58 d7 95 0a 69 fc 60 5a 4d 17 db |...B.X...i.`ZM..| +00000140 19 59 d3 86 04 3e c2 1b 93 76 68 27 53 ae 07 af |.Y...>...vh'S...| +00000150 47 4e e6 03 b8 fe 8e c5 06 f1 84 54 0c e5 24 be |GN.........T..$.| +00000160 83 43 1f da 1e 3e 7e a3 2f 2f 4d bc cd e5 a5 b5 |.C...>~.//M.....| +00000170 5d 66 e1 2a 9b 1e 76 6c be e7 9d f7 ed c5 1b e9 |]f.*..vl........| +00000180 91 39 18 30 22 b5 d8 71 66 4d 62 b8 6f 94 7f 5f |.9.0"..qfMb.o.._| +00000190 84 77 a2 b5 79 02 a1 44 6a 5c d2 39 c2 95 d6 8e |.w..y..Dj\.9....| +000001a0 49 36 91 97 2e 02 59 47 e8 fa 78 b9 a7 0e 41 f2 |I6....YG..x...A.| +000001b0 df 92 44 7b 59 8f 9c e9 c8 1b 0a 15 cf 1a fe 5a |..D{Y..........Z| +000001c0 b2 5a 9d 9c b2 0b 1e 48 03 a9 2b 73 df 9f dd b2 |.Z.....H..+s....| +000001d0 30 d1 ba bd 46 e6 50 30 ed e3 c5 f7 d8 96 d5 cc |0...F.P0........| +000001e0 d2 3a 39 3b f0 a1 f2 8e 29 c4 be e9 ee af cb 7b |.:9;....)......{| +000001f0 f6 7d c3 be 4e 20 6e 63 21 50 d5 34 9a b4 9c 7f |.}..N nc!P.4....| +00000200 95 22 15 e3 ad 12 c8 6a 9c 68 a3 c1 35 c1 e1 fa |.".....j.h..5...| +00000210 ce 15 ef 12 b5 50 5b d3 56 8a 24 b0 61 ca 67 1d |.....P[.V.$.a.g.| +00000220 60 12 b3 4b 42 6a 3d ba ef 80 b1 b9 74 cf ba e0 |`..KBj=.....t...| +00000230 95 5f 1a b9 c6 24 d7 c5 ec 96 3f 6c e8 13 39 66 |._...$....?l..9f| +00000240 da e6 49 39 dc ca bc 2a 50 10 cf 51 fe d0 eb 80 |..I9...*P..Q....| +00000250 9c 21 dc 9d ae 10 31 d6 9c 9b ac 3e d6 84 36 e6 |.!....1....>..6.| +00000260 76 a1 d2 86 2a a0 2b d8 91 ba c3 f0 17 f7 7a 69 |v...*.+.......zi| +00000270 0d d3 14 6f ca ba 33 d2 d0 2e 85 a9 d7 dc d2 4a |...o..3........J| +00000280 dc bf 88 68 73 4f b1 35 e0 36 3b ed bd f6 37 0b |...hsO.5.6;...7.| +00000290 07 32 a1 96 81 29 63 e1 38 4d 52 7c 5a d0 4c 6c |.2...)c.8MR|Z.Ll| +000002a0 dd 65 83 75 1d 9e bc e4 c8 e7 75 13 5f 71 11 87 |.e.u......u._q..| +000002b0 ea 4b f3 ee d2 fd 38 2a 88 a6 35 e4 a8 63 77 0e |.K....8*..5..cw.| +000002c0 5f 57 ac a6 a2 e7 43 3c 79 1a 2d c9 1d 5f 65 22 |_W....C.K.5.| +000003c0 29 1d 3e ba a0 91 22 0a 8a aa a3 f8 9b eb 77 fe |).>...".......w.| +000003d0 19 ac 2e a7 29 ab 8f 61 91 af 09 b1 3b b3 4b 69 |....)..a....;.Ki| +000003e0 e6 96 a3 05 46 db 28 9b 1d d0 79 71 3d 93 4e 66 |....F.(...yq=.Nf| +000003f0 5d f4 22 38 91 a1 30 c5 c3 b7 72 fa e6 91 d8 a4 |]."8..0...r.....| +00000400 e9 a0 47 cc 5a 87 5e 60 17 03 03 00 35 ce b7 6e |..G.Z.^`....5..n| +00000410 2c 11 dc d4 b8 e1 a4 4b d8 d6 09 1e fe e3 d3 d3 |,......K........| +00000420 52 be fc cc af 5d 73 45 db 1e 05 b6 b1 38 59 65 |R....]sE.....8Ye| +00000430 df 72 6d 7b af b5 7a 3d e1 8a 27 44 6e 72 25 04 |.rm{..z=..'Dnr%.| +00000440 7c 61 ||a| >>> Flow 3 (client to server) -00000000 14 03 03 00 01 01 17 03 03 00 19 87 49 99 a6 d9 |............I...| -00000010 ed cd f7 7a 75 14 e1 26 41 d2 6e 5c 79 a6 be 7c |...zu..&A.n\y..|| -00000020 5d 9d 44 36 17 03 03 00 35 1b 51 a9 b1 ce 11 ed |].D6....5.Q.....| -00000030 95 47 34 b9 3d 2f 6e 27 b2 e5 31 54 7f e3 8a 11 |.G4.=/n'..1T....| -00000040 fd 54 75 2c b6 8a 56 25 00 29 a7 5f 7a 1e 16 be |.Tu,..V%.)._z...| -00000050 16 e3 86 3a 72 84 0e bc 40 ef fd ad 18 33 |...:r...@....3| +00000000 14 03 03 00 01 01 17 03 03 00 19 01 ab 91 41 25 |..............A%| +00000010 d3 52 97 b2 f8 4e 57 9d c5 d3 7d 34 c4 c3 44 93 |.R...NW...}4..D.| +00000020 79 a5 0c fe 17 03 03 00 35 ba 56 09 d8 9d 73 5e |y.......5.V...s^| +00000030 f4 f4 03 4d bf f7 e4 ab cc 83 26 28 cc 68 78 91 |...M......&(.hx.| +00000040 9f 6f f6 dc d5 34 e5 a5 e6 86 11 b3 71 89 70 25 |.o...4......q.p%| +00000050 8c 83 79 b7 c8 56 92 1d 98 c7 35 cd bb 56 |..y..V....5..V| >>> Flow 4 (server to client) -00000000 17 03 03 00 8b 69 2e 81 c4 4d 43 a6 1f 96 b7 8e |.....i...MC.....| -00000010 87 4a 9b be 48 3c 31 18 98 f4 8c 04 24 b2 52 96 |.J..H<1.....$.R.| -00000020 04 b5 12 7c 54 37 83 6d 51 42 c6 52 f4 a5 bc d3 |...|T7.mQB.R....| -00000030 d1 c8 29 ab 4f e4 02 da 74 ec 8e 13 ad 03 f3 e0 |..).O...t.......| -00000040 7f 44 58 6b c7 28 a5 6a 75 30 b8 b1 31 38 fe ba |.DXk.(.ju0..18..| -00000050 e7 27 ae b3 e7 cb 5e 78 24 82 03 61 ba ae dd 4c |.'....^x$..a...L| -00000060 c6 7b f3 45 cf 6f a8 dc 7d 5d 73 65 db ae dc 10 |.{.E.o..}]se....| -00000070 ff 32 dc 4c b4 5e dc ce 4c 34 37 83 a0 0c d5 20 |.2.L.^..L47.... | -00000080 f1 f6 81 42 bc 63 65 47 80 d0 d6 f3 08 aa e2 58 |...B.ceG.......X| -00000090 17 03 03 00 1e 85 84 f3 e4 0f a8 24 c0 fe fa 2c |...........$...,| -000000a0 8b 60 52 32 73 2b 95 e9 37 3d 1c bd 2f ee ff e2 |.`R2s+..7=../...| -000000b0 70 13 df 17 03 03 00 13 65 2b 11 5f 50 7c 11 eb |p.......e+._P|..| -000000c0 3b 06 75 23 28 13 ca 4a b5 fb dc |;.u#(..J...| +00000000 17 03 03 00 8b eb fd 9e 19 36 7f 54 7f 9f 5a 6b |.........6.T..Zk| +00000010 31 0e e8 ca f3 40 7d 74 0d 82 6f 97 41 fb 15 52 |1....@}t..o.A..R| +00000020 36 00 50 c3 c5 36 ea e3 8f ca 02 b1 de ed 61 8e |6.P..6........a.| +00000030 60 0a d8 cf 0a 7c 47 60 87 3f fa 00 6f 74 a8 42 |`....|G`.?..ot.B| +00000040 c1 8d df f7 4d 7c ac c0 52 7c c9 21 5c 45 32 3f |....M|..R|.!\E2?| +00000050 42 0d 75 64 76 93 18 29 a1 50 06 36 94 bb 1e 52 |B.udv..).P.6...R| +00000060 31 5b b7 32 9a b1 9f 59 30 8a da ff 93 4f c1 b3 |1[.2...Y0....O..| +00000070 e9 8d f2 ec 4a 7b 01 51 5e a2 9b ea 8d a8 53 bd |....J{.Q^.....S.| +00000080 db 94 88 73 3b 9f da 77 a8 de 11 55 7b 06 0f c6 |...s;..w...U{...| +00000090 17 03 03 00 1e 1b 76 21 ea fd a4 47 6e ec 6e 26 |......v!...Gn.n&| +000000a0 00 3e fc 2f 87 8f 4e ee 08 58 e7 cc 46 aa b7 8c |.>./..N..X..F...| +000000b0 c1 5d dd 17 03 03 00 13 dd ed 88 b0 f5 e8 17 f1 |.]..............| +000000c0 66 85 c4 f5 6b 47 7d 5f 19 21 7f |f...kG}_.!.| diff --git a/testenv/testenv.go b/testenv/testenv.go deleted file mode 100644 index 8b50a985dea..00000000000 --- a/testenv/testenv.go +++ /dev/null @@ -1,423 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package testenv provides information about what functionality -// is available in different testing environments run by the Go team. -// -// It is an internal package because these details are specific -// to the Go team's test setup (on build.golang.org) and not -// fundamental to tests in general. -package testenv - -import ( - "bytes" - "errors" - "flag" - "os" - "os/exec" - "path/filepath" - "runtime" - "strconv" - "strings" - "sync" - "testing" - "time" -) - -const KnownEnv = ` - AR - CC - CGO_CFLAGS - CGO_CFLAGS_ALLOW - CGO_CFLAGS_DISALLOW - CGO_CPPFLAGS - CGO_CPPFLAGS_ALLOW - CGO_CPPFLAGS_DISALLOW - CGO_CXXFLAGS - CGO_CXXFLAGS_ALLOW - CGO_CXXFLAGS_DISALLOW - CGO_ENABLED - CGO_FFLAGS - CGO_FFLAGS_ALLOW - CGO_FFLAGS_DISALLOW - CGO_LDFLAGS - CGO_LDFLAGS_ALLOW - CGO_LDFLAGS_DISALLOW - CXX - FC - GCCGO - GO111MODULE - GO386 - GOAMD64 - GOARCH - GOARM - GOBIN - GOCACHE - GOENV - GOEXE - GOEXPERIMENT - GOFLAGS - GOGCCFLAGS - GOHOSTARCH - GOHOSTOS - GOINSECURE - GOMIPS - GOMIPS64 - GOMODCACHE - GONOPROXY - GONOSUMDB - GOOS - GOPATH - GOPPC64 - GOPRIVATE - GOPROXY - GOROOT - GOSUMDB - GOTMPDIR - GOTOOLDIR - GOVCS - GOWASM - GOWORK - GO_EXTLINK_ENABLED - PKG_CONFIG -` - -// Builder reports the name of the builder running this test -// (for example, "linux-amd64" or "windows-386-gce"). -// If the test is not running on the build infrastructure, -// Builder returns the empty string. -func Builder() string { - return os.Getenv("GO_BUILDER_NAME") -} - -// HasGoBuild reports whether the current system can build programs with ``go build'' -// and then run them with os.StartProcess or exec.Command. -func HasGoBuild() bool { - if os.Getenv("GO_GCFLAGS") != "" { - // It's too much work to require every caller of the go command - // to pass along "-gcflags="+os.Getenv("GO_GCFLAGS"). - // For now, if $GO_GCFLAGS is set, report that we simply can't - // run go build. - return false - } - switch runtime.GOOS { - case "android", "js", "ios": - return false - } - return true -} - -// MustHaveGoBuild checks that the current system can build programs with ``go build'' -// and then run them with os.StartProcess or exec.Command. -// If not, MustHaveGoBuild calls t.Skip with an explanation. -func MustHaveGoBuild(t testing.TB) { - if os.Getenv("GO_GCFLAGS") != "" { - t.Skipf("skipping test: 'go build' not compatible with setting $GO_GCFLAGS") - } - if !HasGoBuild() { - t.Skipf("skipping test: 'go build' not available on %s/%s", runtime.GOOS, runtime.GOARCH) - } -} - -// HasGoRun reports whether the current system can run programs with ``go run.'' -func HasGoRun() bool { - // For now, having go run and having go build are the same. - return HasGoBuild() -} - -// MustHaveGoRun checks that the current system can run programs with ``go run.'' -// If not, MustHaveGoRun calls t.Skip with an explanation. -func MustHaveGoRun(t testing.TB) { - if !HasGoRun() { - t.Skipf("skipping test: 'go run' not available on %s/%s", runtime.GOOS, runtime.GOARCH) - } -} - -// GoToolPath reports the path to the Go tool. -// It is a convenience wrapper around GoTool. -// If the tool is unavailable GoToolPath calls t.Skip. -// If the tool should be available and isn't, GoToolPath calls t.Fatal. -func GoToolPath(t testing.TB) string { - MustHaveGoBuild(t) - path, err := GoTool() - if err != nil { - t.Fatal(err) - } - // Add all environment variables that affect the Go command to test metadata. - // Cached test results will be invalidate when these variables change. - // See golang.org/issue/32285. - for _, envVar := range strings.Fields(KnownEnv) { - os.Getenv(envVar) - } - return path -} - -// GoTool reports the path to the Go tool. -func GoTool() (string, error) { - if !HasGoBuild() { - return "", errors.New("platform cannot run go tool") - } - var exeSuffix string - if runtime.GOOS == "windows" { - exeSuffix = ".exe" - } - path := filepath.Join(runtime.GOROOT(), "bin", "go"+exeSuffix) - if _, err := os.Stat(path); err == nil { - return path, nil - } - goBin, err := exec.LookPath("go" + exeSuffix) - if err != nil { - return "", errors.New("cannot find go tool: " + err.Error()) - } - return goBin, nil -} - -// HasExec reports whether the current system can start new processes -// using os.StartProcess or (more commonly) exec.Command. -func HasExec() bool { - switch runtime.GOOS { - case "js", "ios": - return false - } - return true -} - -// HasSrc reports whether the entire source tree is available under GOROOT. -func HasSrc() bool { - switch runtime.GOOS { - case "ios": - return false - } - return true -} - -// MustHaveExec checks that the current system can start new processes -// using os.StartProcess or (more commonly) exec.Command. -// If not, MustHaveExec calls t.Skip with an explanation. -func MustHaveExec(t testing.TB) { - if !HasExec() { - t.Skipf("skipping test: cannot exec subprocess on %s/%s", runtime.GOOS, runtime.GOARCH) - } -} - -var execPaths sync.Map // path -> error - -// MustHaveExecPath checks that the current system can start the named executable -// using os.StartProcess or (more commonly) exec.Command. -// If not, MustHaveExecPath calls t.Skip with an explanation. -func MustHaveExecPath(t testing.TB, path string) { - MustHaveExec(t) - - err, found := execPaths.Load(path) - if !found { - _, err = exec.LookPath(path) - err, _ = execPaths.LoadOrStore(path, err) - } - if err != nil { - t.Skipf("skipping test: %s: %s", path, err) - } -} - -// HasExternalNetwork reports whether the current system can use -// external (non-localhost) networks. -func HasExternalNetwork() bool { - return !testing.Short() && runtime.GOOS != "js" -} - -// MustHaveExternalNetwork checks that the current system can use -// external (non-localhost) networks. -// If not, MustHaveExternalNetwork calls t.Skip with an explanation. -func MustHaveExternalNetwork(t testing.TB) { - if runtime.GOOS == "js" { - t.Skipf("skipping test: no external network on %s", runtime.GOOS) - } - if testing.Short() { - t.Skipf("skipping test: no external network in -short mode") - } -} - -var haveCGO bool - -// HasCGO reports whether the current system can use cgo. -func HasCGO() bool { - return haveCGO -} - -// MustHaveCGO calls t.Skip if cgo is not available. -func MustHaveCGO(t testing.TB) { - if !haveCGO { - t.Skipf("skipping test: no cgo") - } -} - -// CanInternalLink reports whether the current system can link programs with -// internal linking. -// (This is the opposite of cmd/internal/sys.MustLinkExternal. Keep them in sync.) -func CanInternalLink() bool { - switch runtime.GOOS { - case "android": - if runtime.GOARCH != "arm64" { - return false - } - case "ios": - if runtime.GOARCH == "arm64" { - return false - } - } - return true -} - -// MustInternalLink checks that the current system can link programs with internal -// linking. -// If not, MustInternalLink calls t.Skip with an explanation. -func MustInternalLink(t testing.TB) { - if !CanInternalLink() { - t.Skipf("skipping test: internal linking on %s/%s is not supported", runtime.GOOS, runtime.GOARCH) - } -} - -// HasSymlink reports whether the current system can use os.Symlink. -func HasSymlink() bool { - ok, _ := hasSymlink() - return ok -} - -// MustHaveSymlink reports whether the current system can use os.Symlink. -// If not, MustHaveSymlink calls t.Skip with an explanation. -func MustHaveSymlink(t testing.TB) { - ok, reason := hasSymlink() - if !ok { - t.Skipf("skipping test: cannot make symlinks on %s/%s%s", runtime.GOOS, runtime.GOARCH, reason) - } -} - -// HasLink reports whether the current system can use os.Link. -func HasLink() bool { - // From Android release M (Marshmallow), hard linking files is blocked - // and an attempt to call link() on a file will return EACCES. - // - https://code.google.com/p/android-developer-preview/issues/detail?id=3150 - return runtime.GOOS != "plan9" && runtime.GOOS != "android" -} - -// MustHaveLink reports whether the current system can use os.Link. -// If not, MustHaveLink calls t.Skip with an explanation. -func MustHaveLink(t testing.TB) { - if !HasLink() { - t.Skipf("skipping test: hardlinks are not supported on %s/%s", runtime.GOOS, runtime.GOARCH) - } -} - -var flaky = flag.Bool("flaky", false, "run known-flaky tests too") - -func SkipFlaky(t testing.TB, issue int) { - t.Helper() - if !*flaky { - t.Skipf("skipping known flaky test without the -flaky flag; see golang.org/issue/%d", issue) - } -} - -func SkipFlakyNet(t testing.TB) { - t.Helper() - if v, _ := strconv.ParseBool(os.Getenv("GO_BUILDER_FLAKY_NET")); v { - t.Skip("skipping test on builder known to have frequent network failures") - } -} - -// CleanCmdEnv will fill cmd.Env with the environment, excluding certain -// variables that could modify the behavior of the Go tools such as -// GODEBUG and GOTRACEBACK. -func CleanCmdEnv(cmd *exec.Cmd) *exec.Cmd { - if cmd.Env != nil { - panic("environment already set") - } - for _, env := range os.Environ() { - // Exclude GODEBUG from the environment to prevent its output - // from breaking tests that are trying to parse other command output. - if strings.HasPrefix(env, "GODEBUG=") { - continue - } - // Exclude GOTRACEBACK for the same reason. - if strings.HasPrefix(env, "GOTRACEBACK=") { - continue - } - cmd.Env = append(cmd.Env, env) - } - return cmd -} - -// CPUIsSlow reports whether the CPU running the test is suspected to be slow. -func CPUIsSlow() bool { - switch runtime.GOARCH { - case "arm", "mips", "mipsle", "mips64", "mips64le": - return true - } - return false -} - -// SkipIfShortAndSlow skips t if -short is set and the CPU running the test is -// suspected to be slow. -// -// (This is useful for CPU-intensive tests that otherwise complete quickly.) -func SkipIfShortAndSlow(t testing.TB) { - if testing.Short() && CPUIsSlow() { - t.Helper() - t.Skipf("skipping test in -short mode on %s", runtime.GOARCH) - } -} - -// RunWithTimeout runs cmd and returns its combined output. If the -// subprocess exits with a non-zero status, it will log that status -// and return a non-nil error, but this is not considered fatal. -func RunWithTimeout(t testing.TB, cmd *exec.Cmd) ([]byte, error) { - args := cmd.Args - if args == nil { - args = []string{cmd.Path} - } - - var b bytes.Buffer - cmd.Stdout = &b - cmd.Stderr = &b - if err := cmd.Start(); err != nil { - t.Fatalf("starting %s: %v", args, err) - } - - // If the process doesn't complete within 1 minute, - // assume it is hanging and kill it to get a stack trace. - p := cmd.Process - done := make(chan bool) - go func() { - scale := 1 - // This GOARCH/GOOS test is copied from cmd/dist/test.go. - // TODO(iant): Have cmd/dist update the environment variable. - if runtime.GOARCH == "arm" || runtime.GOOS == "windows" { - scale = 2 - } - if s := os.Getenv("GO_TEST_TIMEOUT_SCALE"); s != "" { - if sc, err := strconv.Atoi(s); err == nil { - scale = sc - } - } - - select { - case <-done: - case <-time.After(time.Duration(scale) * time.Minute): - p.Signal(Sigquit) - // If SIGQUIT doesn't do it after a little - // while, kill the process. - select { - case <-done: - case <-time.After(time.Duration(scale) * 30 * time.Second): - p.Signal(os.Kill) - } - } - }() - - err := cmd.Wait() - if err != nil { - t.Logf("%s exit status: %v", args, err) - } - close(done) - - return b.Bytes(), err -} diff --git a/testenv/testenv_notunix.go b/testenv/testenv_notunix.go deleted file mode 100644 index 74de6f0a8e2..00000000000 --- a/testenv/testenv_notunix.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2021 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build windows || plan9 || (js && wasm) -// +build windows plan9 js,wasm - -package testenv - -import "os" - -// Sigquit is the signal to send to kill a hanging subprocess. -// On Unix we send SIGQUIT, but on non-Unix we only have os.Kill. -var Sigquit = os.Kill diff --git a/testenv/testenv_notwin.go b/testenv/testenv_notwin.go deleted file mode 100644 index 846ec938564..00000000000 --- a/testenv/testenv_notwin.go +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2016 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build !windows -// +build !windows - -package testenv - -import ( - "runtime" -) - -func hasSymlink() (ok bool, reason string) { - switch runtime.GOOS { - case "android", "plan9": - return false, "" - } - - return true, "" -} diff --git a/testenv/testenv_unix.go b/testenv/testenv_unix.go deleted file mode 100644 index 1ed02d64a41..00000000000 --- a/testenv/testenv_unix.go +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2021 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris -// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris - -package testenv - -import "syscall" - -// Sigquit is the signal to send to kill a hanging subprocess. -// Send SIGQUIT to get a stack trace. -var Sigquit = syscall.SIGQUIT diff --git a/testenv/testenv_windows.go b/testenv/testenv_windows.go deleted file mode 100644 index 4802b139518..00000000000 --- a/testenv/testenv_windows.go +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2016 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package testenv - -import ( - "os" - "path/filepath" - "sync" - "syscall" -) - -var symlinkOnce sync.Once -var winSymlinkErr error - -func initWinHasSymlink() { - tmpdir, err := os.MkdirTemp("", "symtest") - if err != nil { - panic("failed to create temp directory: " + err.Error()) - } - defer os.RemoveAll(tmpdir) - - err = os.Symlink("target", filepath.Join(tmpdir, "symlink")) - if err != nil { - err = err.(*os.LinkError).Err - switch err { - case syscall.EWINDOWS, syscall.ERROR_PRIVILEGE_NOT_HELD: - winSymlinkErr = err - } - } -} - -func hasSymlink() (ok bool, reason string) { - symlinkOnce.Do(initWinHasSymlink) - - switch winSymlinkErr { - case nil: - return true, "" - case syscall.EWINDOWS: - return false, ": symlinks are not supported on your version of Windows" - case syscall.ERROR_PRIVILEGE_NOT_HELD: - return false, ": you don't have enough privileges to create symlinks" - } - - return false, "" -} diff --git a/ticket.go b/ticket.go index 4bd263e412d..983737a90e3 100644 --- a/ticket.go +++ b/ticket.go @@ -44,20 +44,21 @@ type SessionState struct { // case 0: Empty; // case 1: opaque alpn<1..2^8-1>; // }; - // select (SessionState.type) { - // case server: Empty; - // case client: struct { - // select (SessionState.version) { - // case VersionTLS10..VersionTLS12: Empty; - // case VersionTLS13: struct { - // uint64 use_by; - // uint32 age_add; - // }; + // select (SessionState.version) { + // case VersionTLS10..VersionTLS12: uint16 curve_id; + // case VersionTLS13: select (SessionState.type) { + // case server: Empty; + // case client: struct { + // uint64 use_by; + // uint32 age_add; // }; // }; // }; // } SessionState; // + // The format can be extended backwards-compatibly by adding new fields at + // the end. Otherwise, a new SessionStateType must be used, as different Go + // versions may share the same session ticket encryption key. // Extra is ignored by crypto/tls, but is encoded by [SessionState.Bytes] // and parsed by [ParseSessionState]. @@ -80,23 +81,25 @@ type SessionState struct { version uint16 isClient bool cipherSuite uint16 - // createdAt is the generation time of the secret on the sever (which for + // createdAt is the generation time of the secret on the server (which for // TLS 1.0–1.2 might be earlier than the current session) and the time at // which the ticket was received on the client. - createdAt uint64 // seconds since UNIX epoch - secret []byte // master secret for TLS 1.2, or the PSK for TLS 1.3 - extMasterSecret bool - peerCertificates []*x509.Certificate - activeCertHandles []*activeCert - ocspResponse []byte - scts [][]byte - verifiedChains [][]*x509.Certificate - alpnProtocol string // only set if EarlyData is true + createdAt uint64 // seconds since UNIX epoch + secret []byte // master secret for TLS 1.2, or the PSK for TLS 1.3 + extMasterSecret bool + peerCertificates []*x509.Certificate + ocspResponse []byte + scts [][]byte + verifiedChains [][]*x509.Certificate + alpnProtocol string // only set if EarlyData is true // Client-side TLS 1.3-only fields. useBy uint64 // seconds since UNIX epoch ageAdd uint32 ticket []byte + + // TLS 1.0–1.2 only fields. + curveID CurveID } // Bytes encodes the session, including any private fields, so that it can be @@ -161,11 +164,13 @@ func (s *SessionState) Bytes() ([]byte, error) { b.AddBytes([]byte(s.alpnProtocol)) }) } - if s.isClient { - if s.version >= VersionTLS13 { + if s.version >= VersionTLS13 { + if s.isClient { addUint64(&b, s.useBy) b.AddUint32(s.ageAdd) } + } else { + b.AddUint16(uint16(s.curveID)) } return b.Bytes() } @@ -187,7 +192,6 @@ func ParseSessionState(data []byte) (*SessionState, error) { var extra cryptobyte.String if !s.ReadUint16(&ss.version) || !s.ReadUint8(&typ) || - (typ != 1 && typ != 2) || !s.ReadUint16(&ss.cipherSuite) || !readUint64(&s, &ss.createdAt) || !readUint8LengthPrefixed(&s, &ss.secret) || @@ -205,6 +209,14 @@ func ParseSessionState(data []byte) (*SessionState, error) { } ss.Extra = append(ss.Extra, e) } + switch typ { + case 1: + ss.isClient = false + case 2: + ss.isClient = true + default: + return nil, errors.New("tls: unknown session encoding") + } switch extMasterSecret { case 0: ss.extMasterSecret = false @@ -226,8 +238,10 @@ func ParseSessionState(data []byte) (*SessionState, error) { if err != nil { return nil, err } - ss.activeCertHandles = append(ss.activeCertHandles, c) - ss.peerCertificates = append(ss.peerCertificates, c.cert) + ss.peerCertificates = append(ss.peerCertificates, c) + } + if ss.isClient && len(ss.peerCertificates) == 0 { + return nil, errors.New("tls: no server certificates in client session") } ss.ocspResponse = cert.OCSPStaple ss.scts = cert.SignedCertificateTimestamps @@ -254,8 +268,7 @@ func ParseSessionState(data []byte) (*SessionState, error) { if err != nil { return nil, err } - ss.activeCertHandles = append(ss.activeCertHandles, c) - chain = append(chain, c.cert) + chain = append(chain, c) } ss.verifiedChains = append(ss.verifiedChains, chain) } @@ -266,24 +279,16 @@ func ParseSessionState(data []byte) (*SessionState, error) { } ss.alpnProtocol = string(alpn) } - if isClient := typ == 2; !isClient { - if !s.Empty() { - return nil, errors.New("tls: invalid session encoding") + if ss.version >= VersionTLS13 { + if ss.isClient { + if !s.ReadUint64(&ss.useBy) || !s.ReadUint32(&ss.ageAdd) { + return nil, errors.New("tls: invalid session encoding") + } } - return ss, nil - } - ss.isClient = true - if len(ss.peerCertificates) == 0 { - return nil, errors.New("tls: no server certificates in client session") - } - if ss.version < VersionTLS13 { - if !s.Empty() { + } else { + if !s.ReadUint16((*uint16)(&ss.curveID)) { return nil, errors.New("tls: invalid session encoding") } - return ss, nil - } - if !s.ReadUint64(&ss.useBy) || !s.ReadUint32(&ss.ageAdd) || !s.Empty() { - return nil, errors.New("tls: invalid session encoding") } return ss, nil } @@ -292,17 +297,17 @@ func ParseSessionState(data []byte) (*SessionState, error) { // from the current connection. func (c *Conn) sessionState() *SessionState { return &SessionState{ - version: c.vers, - cipherSuite: c.cipherSuite, - createdAt: uint64(c.config.time().Unix()), - alpnProtocol: c.clientProtocol, - peerCertificates: c.peerCertificates, - activeCertHandles: c.activeCertHandles, - ocspResponse: c.ocspResponse, - scts: c.scts, - isClient: c.isClient, - extMasterSecret: c.extMasterSecret, - verifiedChains: c.verifiedChains, + version: c.vers, + cipherSuite: c.cipherSuite, + createdAt: uint64(c.config.time().Unix()), + alpnProtocol: c.clientProtocol, + peerCertificates: c.peerCertificates, + ocspResponse: c.ocspResponse, + scts: c.scts, + isClient: c.isClient, + extMasterSecret: c.extMasterSecret, + verifiedChains: c.verifiedChains, + curveID: c.curveID, } } diff --git a/tls.go b/tls.go index d76e00082be..ac979a1e036 100644 --- a/tls.go +++ b/tls.go @@ -4,6 +4,18 @@ // Package tls partially implements TLS 1.2, as specified in RFC 5246, // and TLS 1.3, as specified in RFC 8446. +// +// # FIPS 140-3 mode +// +// When the program is in [FIPS 140-3 mode], this package behaves as if only +// SP 800-140C and SP 800-140D approved protocol versions, cipher suites, +// signature algorithms, certificate public key types and sizes, and key +// exchange and derivation algorithms were implemented. Others are silently +// ignored and not negotiated, or rejected. This set may depend on the +// algorithms supported by the FIPS 140-3 Go Cryptographic Module selected with +// GOFIPS140, and may change across Go versions. +// +// [FIPS 140-3 mode]: https://go.dev/doc/security/fips140 package tls // BUG(agl): The crypto/tls package only implements some countermeasures @@ -12,7 +24,6 @@ package tls // https://www.imperialviolet.org/2013/02/04/luckythirteen.html. import ( - "bytes" "context" "crypto" "crypto/ecdsa" @@ -324,7 +335,7 @@ func X509KeyPair(certPEMBlock, keyPEMBlock []byte) (Certificate, error) { if !ok { return fail(errors.New("tls: private key type does not match public key type")) } - if pub.N.Cmp(priv.N) != 0 { + if !priv.PublicKey.Equal(pub) { return fail(errors.New("tls: private key does not match public key")) } case *ecdsa.PublicKey: @@ -332,7 +343,7 @@ func X509KeyPair(certPEMBlock, keyPEMBlock []byte) (Certificate, error) { if !ok { return fail(errors.New("tls: private key type does not match public key type")) } - if pub.X.Cmp(priv.X) != 0 || pub.Y.Cmp(priv.Y) != 0 { + if !priv.PublicKey.Equal(pub) { return fail(errors.New("tls: private key does not match public key")) } case ed25519.PublicKey: @@ -340,7 +351,7 @@ func X509KeyPair(certPEMBlock, keyPEMBlock []byte) (Certificate, error) { if !ok { return fail(errors.New("tls: private key type does not match public key type")) } - if !bytes.Equal(priv.Public().(ed25519.PublicKey), pub) { + if !priv.Public().(ed25519.PublicKey).Equal(pub) { return fail(errors.New("tls: private key does not match public key")) } default: diff --git a/tls_test.go b/tls_test.go index c91263b1c1f..e93794d771c 100644 --- a/tls_test.go +++ b/tls_test.go @@ -31,9 +31,9 @@ import ( "golang.org/x/crypto/cryptobyte" + "github.com/refraction-networking/utls/internal/boring" "github.com/refraction-networking/utls/internal/fips140tls" - "github.com/refraction-networking/utls/internal/hpke" - "github.com/refraction-networking/utls/testenv" + "github.com/refraction-networking/utls/internal/testenv" ) var rsaCertPEM = `-----BEGIN CERTIFICATE----- @@ -544,6 +544,41 @@ func TestVerifyHostname(t *testing.T) { } } +func TestRealResumption(t *testing.T) { + testenv.MustHaveExternalNetwork(t) + + config := &Config{ + ServerName: "yahoo.com", + ClientSessionCache: NewLRUClientSessionCache(0), + } + + for range 10 { + conn, err := Dial("tcp", "yahoo.com:443", config) + if err != nil { + t.Log("Dial error:", err) + continue + } + // Do a read to consume the NewSessionTicket messages. + fmt.Fprintf(conn, "GET / HTTP/1.1\r\nHost: yahoo.com\r\nConnection: close\r\n\r\n") + conn.Read(make([]byte, 4096)) + conn.Close() + + conn, err = Dial("tcp", "yahoo.com:443", config) + if err != nil { + t.Log("second Dial error:", err) + continue + } + state := conn.ConnectionState() + conn.Close() + + if state.DidResume { + return + } + } + + t.Fatal("no connection used session resumption") +} + func TestConnCloseBreakingWrite(t *testing.T) { ln := newLocalListener(t) defer ln.Close() @@ -783,7 +818,7 @@ func TestWarningAlertFlood(t *testing.T) { } func TestCloneFuncFields(t *testing.T) { - const expectedCount = 9 + const expectedCount = 10 called := 0 c1 := Config{ @@ -823,6 +858,10 @@ func TestCloneFuncFields(t *testing.T) { called |= 1 << 8 return nil }, + GetEncryptedClientHelloKeys: func(*ClientHelloInfo) ([]EncryptedClientHelloKey, error) { + called |= 1 << 9 + return nil, nil + }, } c2 := c1.Clone() @@ -836,6 +875,7 @@ func TestCloneFuncFields(t *testing.T) { c2.UnwrapSession(nil, ConnectionState{}) c2.WrapSession(ConnectionState{}, nil) c2.EncryptedClientHelloRejectionVerify(ConnectionState{}) + c2.GetEncryptedClientHelloKeys(nil) if called != (1<= VersionTLS12 { - hello.supportedSignatureAlgorithms = supportedSignatureAlgorithms() - } - if testingOnlyForceClientHelloSignatureAlgorithms != nil { - hello.supportedSignatureAlgorithms = testingOnlyForceClientHelloSignatureAlgorithms + hello.supportedSignatureAlgorithms = supportedSignatureAlgorithms(minVersion) + hello.supportedSignatureAlgorithmsCert = supportedSignatureAlgorithmsCert() } var keyShareKeys *keySharePrivateKeys - if hello.supportedVersions[0] == VersionTLS13 { + if maxVersion >= VersionTLS13 { // Reset the list of ciphers when the client only supports TLS 1.3. - if len(hello.supportedVersions) == 1 { + if minVersion >= VersionTLS13 { hello.cipherSuites = nil } + if fips140tls.Required() { - hello.cipherSuites = append(hello.cipherSuites, defaultCipherSuitesTLS13FIPS...) + hello.cipherSuites = append(hello.cipherSuites, allowedCipherSuitesTLS13FIPS...) } else if hasAESGCMHardwareSupport { hello.cipherSuites = append(hello.cipherSuites, defaultCipherSuitesTLS13...) } else { @@ -345,11 +336,11 @@ func (c *Conn) makeClientHelloForApplyPreset() (*clientHelloMsg, *keySharePrivat if err != nil { return nil, nil, nil, err } - echConfig := pickECHConfig(echConfigs) + echConfig, echPK, kdf, aead := pickECHConfig(echConfigs) if echConfig == nil { return nil, nil, nil, errors.New("tls: EncryptedClientHelloConfigList contains no valid configs") } - ech = &echClientContext{config: echConfig} + ech = &echClientContext{config: echConfig, kdfID: kdf.ID(), aeadID: aead.ID()} hello.encryptedClientHello = []byte{1} // indicate inner hello // We need to explicitly set these 1.2 fields to nil, as we do not // marshal them when encoding the inner hello, otherwise transcripts @@ -359,17 +350,8 @@ func (c *Conn) makeClientHelloForApplyPreset() (*clientHelloMsg, *keySharePrivat hello.secureRenegotiationSupported = false hello.extendedMasterSecret = false - echPK, err := hpke.ParseHPKEPublicKey(ech.config.KemID, ech.config.PublicKey) - if err != nil { - return nil, nil, nil, err - } - suite, err := pickECHCipherSuite(ech.config.SymmetricCipherSuite) - if err != nil { - return nil, nil, nil, err - } - ech.kdfID, ech.aeadID = suite.KDFID, suite.AEADID info := append([]byte("tls ech\x00"), ech.config.raw...) - ech.encapsulatedKey, ech.hpkeContext, err = hpke.SetupSender(ech.config.KemID, suite.KDFID, suite.AEADID, echPK, info) + ech.encapsulatedKey, ech.hpkeContext, err = hpke.NewSender(echPK, kdf, aead, info) if err != nil { return nil, nil, nil, err } @@ -577,9 +559,12 @@ func (c *UConn) clientHandshake(ctx context.Context) (err error) { func (c *UConn) echTranscriptMsg(outer *clientHelloMsg, echCtx *echClientContext) (err error) { // Recreate the inner ClientHello from its compressed form using server's decodeInnerClientHello function. // See https://github.com/refraction-networking/utls/blob/e430876b1d82fdf582efc57f3992d448e7ab3d8a/ech.go#L276-L283 - encodedInner, err := encodeInnerClientHelloReorderOuterExts(echCtx.innerHello, int(echCtx.config.MaxNameLength), c.extensionsList()) - if err != nil { - return err + encodedInner := echCtx.encodedInner + if encodedInner == nil { + encodedInner, err = encodeInnerClientHelloReorderOuterExts(echCtx.innerHello, int(echCtx.config.MaxNameLength), c.extensionsList()) + if err != nil { + return err + } } decodedInner, err := decodeInnerClientHello(outer, encodedInner) diff --git a/u_hpke.go b/u_hpke.go index e07ada27ef2..68bfdc78ec3 100644 --- a/u_hpke.go +++ b/u_hpke.go @@ -1,7 +1,8 @@ package tls import ( - "github.com/refraction-networking/utls/internal/hpke" + "crypto/ecdh" + "crypto/hpke" ) type HPKERawPublicKey = []byte @@ -14,9 +15,9 @@ type HPKESymmetricCipherSuite struct { AeadId HPKE_AEAD_ID } -const defaultHpkeKdf = hpke.KDF_HKDF_SHA256 -const defaultHpkeKem = hpke.DHKEM_X25519_HKDF_SHA256 -const defaultHpkeAead = hpke.AEAD_AES_128_GCM +var defaultHpkeKdf = hpke.HKDFSHA256().ID() +var defaultHpkeKem = hpke.DHKEM(ecdh.X25519()).ID() +var defaultHpkeAead = hpke.AES128GCM().ID() var dummyX25519PublicKey = []byte{ 143, 38, 37, 36, 12, 6, 229, 30, 140, 27, 167, 73, 26, 100, 203, 107, 216, @@ -27,7 +28,7 @@ var dummyX25519PublicKey = []byte{ // length mLen. func cipherLen(a uint16, mLen int) int { switch a { - case hpke.AEAD_AES_128_GCM, hpke.AEAD_AES_256_GCM, hpke.AEAD_ChaCha20Poly1305: + case hpke.AES128GCM().ID(), hpke.AES256GCM().ID(), hpke.ChaCha20Poly1305().ID(): return mLen + 16 default: panic("hpke: invalid AEAD identifier") diff --git a/u_key_schedule.go b/u_key_schedule.go index f52839d9b08..b8afb95dff0 100644 --- a/u_key_schedule.go +++ b/u_key_schedule.go @@ -1,20 +1,9 @@ package tls import ( - "crypto/mlkem" - "golang.org/x/crypto/sha3" ) -// kyberDecapsulate implements decapsulation according to Kyber Round 3. -func kyberDecapsulate(dk *mlkem.DecapsulationKey768, c []byte) ([]byte, error) { - K, err := dk.Decapsulate(c) - if err != nil { - return nil, err - } - return kyberSharedSecret(c, K), nil -} - func kyberSharedSecret(c, K []byte) []byte { // Package mlkem implements ML-KEM, which compared to Kyber removed a // final hashing step. Compute SHAKE-256(K || SHA3-256(c), 32) to match Kyber. diff --git a/u_parrots.go b/u_parrots.go index 8416fa33635..95c065457b7 100644 --- a/u_parrots.go +++ b/u_parrots.go @@ -3005,10 +3005,10 @@ func (uconn *UConn) applyPresetByID(id ClientHelloID) (err error) { } // ApplyPreset should only be used in conjunction with HelloCustom to apply custom specs. -// Fields of TLSExtensions that are slices/pointers are shared across different connections with -// same ClientHelloSpec. It is advised to use different specs and avoid any shared state. +// The provided ClientHelloSpec is cloned before per-connection handshake state is applied. func (uconn *UConn) ApplyPreset(p *ClientHelloSpec) error { var err error + p = p.clone() err = uconn.SetTLSVers(p.TLSVersMin, p.TLSVersMax, p.Extensions) if err != nil { @@ -3082,8 +3082,7 @@ func (uconn *UConn) ApplyPreset(p *ClientHelloSpec) error { uconn.HandshakeState.Hello.SessionId = sessionID[:] } - uconn.Extensions = make([]TLSExtension, len(p.Extensions)) - copy(uconn.Extensions, p.Extensions) + uconn.Extensions = p.Extensions // Check whether NPN extension actually exists var haveNPN bool @@ -3272,7 +3271,7 @@ func generateRandomizedSpec( return p, fmt.Errorf("using non-randomized ClientHelloID %v to generate randomized spec", id.Client) } - p.CipherSuites = defaultCipherSuites() + p.CipherSuites = defaultCipherSuites(true) shuffledSuites, err := shuffledCiphers(r) if err != nil { return p, err diff --git a/u_parrots_test.go b/u_parrots_test.go index 1a28d56db0a..c600cd3ad23 100644 --- a/u_parrots_test.go +++ b/u_parrots_test.go @@ -2,10 +2,13 @@ package tls import ( "bytes" + "crypto/sha256" "net" "testing" ) +const x25519PublicKeySize = 32 + type incrementingSource struct { next byte } @@ -152,3 +155,134 @@ func TestHybridClassicalKeySharesAreIndependentByDefault(t *testing.T) { t.Fatal("expected independent keyshares by default: hybrid/classical ECDHE private keys should differ") } } + +func TestClientHelloSpecCloneDeepCopy(t *testing.T) { + cachedLength := 17 + spec := &ClientHelloSpec{ + CipherSuites: []uint16{TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384}, + CompressionMethods: []uint8{compressionNone}, + TLSVersMin: VersionTLS12, + TLSVersMax: VersionTLS13, + GetSessionID: sha256.Sum256, + Extensions: []TLSExtension{ + &KeyShareExtension{ + KeyShares: []KeyShare{ + {Group: X25519, Data: []byte{1, 2, 3}}, + }, + }, + &GREASEEncryptedClientHelloExtension{ + CandidateCipherSuites: []HPKESymmetricCipherSuite{{KdfId: 1, AeadId: 2}}, + CandidateConfigIds: []uint8{3}, + EncapsulatedKey: []byte{4, 5}, + CandidatePayloadLens: []uint16{6}, + payload: []byte{7, 8}, + }, + &UtlsPreSharedKeyExtension{ + PreSharedKeyCommon: PreSharedKeyCommon{ + EarlySecret: []byte{9}, + BinderKey: []byte{10}, + Identities: []PskIdentity{{ + Label: []byte{11, 12}, + ObfuscatedTicketAge: 13, + }}, + Binders: [][]byte{{14, 15}}, + }, + cachedLength: &cachedLength, + OmitEmptyPsk: true, + }, + }, + } + + cloned := spec.clone() + if cloned == spec { + t.Fatal("expected Clone to allocate a new ClientHelloSpec") + } + + cloned.CipherSuites[0] = TLS_CHACHA20_POLY1305_SHA256 + if spec.CipherSuites[0] == TLS_CHACHA20_POLY1305_SHA256 { + t.Fatal("expected CipherSuites to be deep copied") + } + + clonedKeyShare := cloned.Extensions[0].(*KeyShareExtension) + originalKeyShare := spec.Extensions[0].(*KeyShareExtension) + if clonedKeyShare == originalKeyShare { + t.Fatal("expected KeyShareExtension to be deep copied") + } + clonedKeyShare.KeyShares[0].Data[0] = 99 + if originalKeyShare.KeyShares[0].Data[0] == 99 { + t.Fatal("expected KeyShareExtension key data to be deep copied") + } + + clonedECH := cloned.Extensions[1].(*GREASEEncryptedClientHelloExtension) + originalECH := spec.Extensions[1].(*GREASEEncryptedClientHelloExtension) + if clonedECH == originalECH { + t.Fatal("expected GREASEEncryptedClientHelloExtension to be deep copied") + } + clonedECH.EncapsulatedKey[0] = 88 + clonedECH.payload[0] = 77 + if originalECH.EncapsulatedKey[0] == 88 || originalECH.payload[0] == 77 { + t.Fatal("expected GREASE ECH extension buffers to be deep copied") + } + + clonedPSK := cloned.Extensions[2].(*UtlsPreSharedKeyExtension) + originalPSK := spec.Extensions[2].(*UtlsPreSharedKeyExtension) + if clonedPSK == originalPSK { + t.Fatal("expected UtlsPreSharedKeyExtension to be deep copied") + } + if clonedPSK.cachedLength == originalPSK.cachedLength { + t.Fatal("expected UtlsPreSharedKeyExtension cachedLength to be deep copied") + } + clonedPSK.Identities[0].Label[0] = 66 + clonedPSK.Binders[0][0] = 55 + *clonedPSK.cachedLength = 44 + if originalPSK.Identities[0].Label[0] == 66 || originalPSK.Binders[0][0] == 55 || *originalPSK.cachedLength == 44 { + t.Fatal("expected UtlsPreSharedKeyExtension nested state to be deep copied") + } + + if cloned.GetSessionID == nil { + t.Fatal("expected GetSessionID function to be preserved") + } +} + +func TestApplyPresetDoesNotMutateOriginalSpec(t *testing.T) { + spec := ClientHelloSpec{ + TLSVersMin: VersionTLS12, + TLSVersMax: VersionTLS13, + CipherSuites: []uint16{ + TLS_AES_128_GCM_SHA256, + }, + CompressionMethods: []uint8{compressionNone}, + Extensions: []TLSExtension{ + &SupportedCurvesExtension{ + Curves: []CurveID{ + X25519MLKEM768, + X25519, + }, + }, + &KeyShareExtension{ + KeyShares: []KeyShare{ + {Group: X25519MLKEM768}, + {Group: X25519}, + }, + }, + &SupportedVersionsExtension{ + Versions: []uint16{ + VersionTLS13, + VersionTLS12, + }, + }, + }, + } + + uconn := newTestUConnWithIncrementingRand() + if err := uconn.ApplyPreset(&spec); err != nil { + t.Fatalf("unexpected error applying spec: %v", err) + } + + keyShareExt := findKeyShareExtension(t, spec.Extensions) + for _, keyShare := range keyShareExt.KeyShares { + if len(keyShare.Data) != 0 { + t.Fatal("expected ApplyPreset to leave the original ClientHelloSpec unchanged") + } + } +} diff --git a/u_public.go b/u_public.go index caaf693d0f5..f19cf91ed13 100644 --- a/u_public.go +++ b/u_public.go @@ -7,7 +7,6 @@ package tls import ( "crypto" "crypto/ecdh" - "crypto/mlkem" "crypto/x509" "hash" "time" @@ -925,9 +924,9 @@ func (kpk *kemPrivateKey) ToPublic() *KemPrivateKey { } type KeySharePrivateKeys struct { - CurveID CurveID + // CurveID CurveID Ecdhe *ecdh.PrivateKey - Mlkem *mlkem.DecapsulationKey768 + Mlkem crypto.Decapsulator MlkemEcdhe *ecdh.PrivateKey } @@ -936,7 +935,7 @@ func (ksp *KeySharePrivateKeys) ToPrivate() *keySharePrivateKeys { return nil } return &keySharePrivateKeys{ - curveID: ksp.CurveID, + // curveID: ksp.CurveID, ecdhe: ksp.Ecdhe, mlkem: ksp.Mlkem, mlkemEcdhe: ksp.MlkemEcdhe, @@ -948,7 +947,7 @@ func (ksp *keySharePrivateKeys) ToPublic() *KeySharePrivateKeys { return nil } return &KeySharePrivateKeys{ - CurveID: ksp.curveID, + // CurveID: ksp.curveID, Ecdhe: ksp.ecdhe, Mlkem: ksp.mlkem, MlkemEcdhe: ksp.mlkemEcdhe,