]> Cypherpunks repositories - gostls13.git/commitdiff
crypto/tls: advertise and accept rsa_pss_rsae signature algorithms
authorFilippo Valsorda <filippo@golang.org>
Wed, 31 Oct 2018 16:14:51 +0000 (12:14 -0400)
committerFilippo Valsorda <filippo@golang.org>
Fri, 2 Nov 2018 22:05:52 +0000 (22:05 +0000)
crypto/x509 already supports PSS signatures (with rsaEncryption OID),
and crypto/tls support was added in CL 79736. Advertise support for the
algorithms and accept them as a peer.

Note that this is about PSS signatures from regular RSA public keys.
RSA-PSS only public keys (with RSASSA-PSS OID) are supported in neither
crypto/tls nor crypto/x509. See RFC 8446, Section 4.2.3.

testdata/Server-TLSv12-ClientAuthRequested* got modified because the
CertificateRequest carries the supported signature algorithms.

The net/smtp tests changed because 512 bits keys are too small for PSS.

Based on Peter Wu's CL 79738, who did all the actual work in CL 79736.

Updates #9671

Change-Id: I4a31e9c6e152ff4c50a5c8a274edd610d5fff231
Reviewed-on: https://go-review.googlesource.com/c/146258
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Adam Langley <agl@golang.org>
13 files changed:
src/crypto/tls/common.go
src/crypto/tls/handshake_client_test.go
src/crypto/tls/handshake_server_test.go
src/crypto/tls/handshake_test.go
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15 [new file with mode: 0644]
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS [new file with mode: 0644]
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndGiven
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given [new file with mode: 0644]
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedNotGiven
src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPKCS1v15 [new file with mode: 0644]
src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPSS [new file with mode: 0644]
src/net/smtp/smtp_test.go

index 228c06534464b2632f7fdac3a724f92cd2833449..17c10bbdedf15cd0f18337817d89243fccc4ef13 100644 (file)
@@ -175,6 +175,9 @@ const (
 // 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 supportedSignatureAlgorithms = []SignatureScheme{
+       PSSWithSHA256,
+       PSSWithSHA384,
+       PSSWithSHA512,
        PKCS1WithSHA256,
        ECDSAWithP256AndSHA256,
        PKCS1WithSHA384,
@@ -266,6 +269,7 @@ const (
        PKCS1WithSHA384 SignatureScheme = 0x0501
        PKCS1WithSHA512 SignatureScheme = 0x0601
 
+       // RSASSA-PSS algorithms with public key OID rsaEncryption.
        PSSWithSHA256 SignatureScheme = 0x0804
        PSSWithSHA384 SignatureScheme = 0x0805
        PSSWithSHA512 SignatureScheme = 0x0806
index 18c15340ea0e54367f471a5baef07e64534f603b..2b7a59836bf37dfd352396bc1a3b21fa45e1db49 100644 (file)
@@ -668,6 +668,51 @@ func TestHandshakeClientCertECDSA(t *testing.T) {
        runClientTestTLS12(t, test)
 }
 
+// TestHandshakeClientCertRSAPSS tests a few separate things:
+//  * that our client can serve a PSS-signed certificate
+//  * that our client can validate a PSS-signed certificate
+//  * that our client can use rsa_pss_rsae_sha256 in its CertificateVerify
+//  * that our client can accpet rsa_pss_rsae_sha256 in the server CertificateVerify
+func TestHandshakeClientCertRSAPSS(t *testing.T) {
+       issuer, err := x509.ParseCertificate(testRSAPSSCertificate)
+       if err != nil {
+               panic(err)
+       }
+       rootCAs := x509.NewCertPool()
+       rootCAs.AddCert(issuer)
+
+       config := testConfig.Clone()
+       cert, _ := X509KeyPair([]byte(clientCertificatePEM), []byte(clientKeyPEM))
+       config.Certificates = []Certificate{cert}
+       config.RootCAs = rootCAs
+
+       test := &clientTest{
+               name: "ClientCert-RSA-RSAPSS",
+               command: []string{"openssl", "s_server", "-cipher", "AES128", "-verify", "1",
+                       "-client_sigalgs", "rsa_pss_rsae_sha256", "-sigalgs", "rsa_pss_rsae_sha256"},
+               config: config,
+               cert:   testRSAPSSCertificate,
+               key:    testRSAPrivateKey,
+       }
+
+       runClientTestTLS12(t, test)
+}
+
+func TestHandshakeClientCertRSAPKCS1v15(t *testing.T) {
+       config := testConfig.Clone()
+       cert, _ := X509KeyPair([]byte(clientCertificatePEM), []byte(clientKeyPEM))
+       config.Certificates = []Certificate{cert}
+
+       test := &clientTest{
+               name: "ClientCert-RSA-RSAPKCS1v15",
+               command: []string{"openssl", "s_server", "-cipher", "AES128", "-verify", "1",
+                       "-client_sigalgs", "rsa_pkcs1_sha256", "-sigalgs", "rsa_pkcs1_sha256"},
+               config: config,
+       }
+
+       runClientTestTLS12(t, test)
+}
+
 func TestClientResumption(t *testing.T) {
        serverConfig := &Config{
                CipherSuites: []uint16{TLS_RSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA},
@@ -1606,9 +1651,9 @@ func TestGetClientCertificate(t *testing.T) {
 }
 
 func TestRSAPSSKeyError(t *testing.T) {
-       // crypto/tls does not support the rsa_pss_pss_xxx SignatureSchemes. If support for
+       // crypto/tls does not support the rsa_pss_pss_* SignatureSchemes. If support for
        // public keys with OID RSASSA-PSS is added to crypto/x509, they will be misused with
-       // the rsa_pss_rsae_xxx SignatureSchemes. Assert that RSASSA-PSS certificates don't
+       // the rsa_pss_rsae_* SignatureSchemes. Assert that RSASSA-PSS certificates don't
        // parse, or that they don't carry *rsa.PublicKey keys.
        b, _ := pem.Decode([]byte(`
 -----BEGIN CERTIFICATE-----
@@ -1640,7 +1685,7 @@ RwBA9Xk1KBNF
                return
        }
        if _, ok := cert.PublicKey.(*rsa.PublicKey); ok {
-               t.Error("A RSA-PSS certificate was parsed like a PKCS1 one, and it will be mistakenly used with rsa_pss_rsae_xxx signature algorithms")
+               t.Error("A RSASSA-PSS certificate was parsed like a PKCS#1 v1.5 one, and it will be mistakenly used with rsa_pss_rsae_* signature algorithms")
        }
 }
 
index 5aaa8152794d66cbd9f2e0e56ed822431b482369..5aa2c9a9b4cb36cf33007a2e42c14e78c436be72 100644 (file)
@@ -1039,6 +1039,22 @@ func TestHandshakeServerExportKeyingMaterial(t *testing.T) {
        runServerTestTLS12(t, test)
 }
 
+func TestHandshakeServerRSAPKCS1v15(t *testing.T) {
+       test := &serverTest{
+               name:    "RSA-RSAPKCS1v15",
+               command: []string{"openssl", "s_client", "-no_ticket", "-sigalgs", "rsa_pkcs1_sha256"},
+       }
+       runServerTestTLS12(t, test)
+}
+
+func TestHandshakeServerRSAPSS(t *testing.T) {
+       test := &serverTest{
+               name:    "RSA-RSAPSS",
+               command: []string{"openssl", "s_client", "-no_ticket", "-sigalgs", "rsa_pss_rsae_sha256"},
+       }
+       runServerTestTLS12(t, test)
+}
+
 func benchmarkHandshakeServer(b *testing.B, cipherSuite uint16, curve CurveID, cert []byte, key crypto.PrivateKey) {
        config := testConfig.Clone()
        config.CipherSuites = []uint16{cipherSuite}
@@ -1120,10 +1136,6 @@ func BenchmarkHandshakeServer(b *testing.B) {
        })
 }
 
-// clientCertificatePEM and clientKeyPEM were generated with generate_cert.go
-// Thus, they have no ExtKeyUsage fields and trigger an error when verification
-// is turned on.
-
 const clientCertificatePEM = `
 -----BEGIN CERTIFICATE-----
 MIIB7zCCAVigAwIBAgIQXBnBiWWDVW/cC8m5k5/pvDANBgkqhkiG9w0BAQsFADAS
@@ -1209,20 +1221,31 @@ func TestClientAuth(t *testing.T) {
        runServerTestTLS12(t, test)
 
        test = &serverTest{
-               name:              "ClientAuthRequestedAndGiven",
-               command:           []string{"openssl", "s_client", "-no_ticket", "-cipher", "AES128-SHA", "-cert", certPath, "-key", keyPath},
+               name: "ClientAuthRequestedAndGiven",
+               command: []string{"openssl", "s_client", "-no_ticket", "-cipher", "AES128-SHA",
+                       "-cert", certPath, "-key", keyPath, "-sigalgs", "rsa_pss_rsae_sha256"},
                config:            config,
                expectedPeerCerts: []string{clientCertificatePEM},
        }
        runServerTestTLS12(t, test)
 
        test = &serverTest{
-               name:              "ClientAuthRequestedAndECDSAGiven",
-               command:           []string{"openssl", "s_client", "-no_ticket", "-cipher", "AES128-SHA", "-cert", ecdsaCertPath, "-key", ecdsaKeyPath},
+               name: "ClientAuthRequestedAndECDSAGiven",
+               command: []string{"openssl", "s_client", "-no_ticket", "-cipher", "AES128-SHA",
+                       "-cert", ecdsaCertPath, "-key", ecdsaKeyPath},
                config:            config,
                expectedPeerCerts: []string{clientECDSACertificatePEM},
        }
        runServerTestTLS12(t, test)
+
+       test = &serverTest{
+               name: "ClientAuthRequestedAndPKCS1v15Given",
+               command: []string{"openssl", "s_client", "-no_ticket", "-cipher", "AES128-SHA",
+                       "-cert", certPath, "-key", keyPath, "-sigalgs", "rsa_pkcs1_sha256"},
+               config:            config,
+               expectedPeerCerts: []string{clientCertificatePEM},
+       }
+       runServerTestTLS12(t, test)
 }
 
 func TestSNIGivenOnFailure(t *testing.T) {
@@ -1417,6 +1440,11 @@ var testRSACertificate = fromHex("3082024b308201b4a003020102020900e8f09d3fe25bea
 
 var testRSACertificateIssuer = fromHex("3082021930820182a003020102020900ca5e4e811a965964300d06092a864886f70d01010b0500301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f74301e170d3136303130313030303030305a170d3235303130313030303030305a301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f7430819f300d06092a864886f70d010101050003818d0030818902818100d667b378bb22f34143b6cd2008236abefaf2852adf3ab05e01329e2c14834f5105df3f3073f99dab5442d45ee5f8f57b0111c8cb682fbb719a86944eebfffef3406206d898b8c1b1887797c9c5006547bb8f00e694b7a063f10839f269f2c34fff7a1f4b21fbcd6bfdfb13ac792d1d11f277b5c5b48600992203059f2a8f8cc50203010001a35d305b300e0603551d0f0101ff040403020204301d0603551d250416301406082b0601050507030106082b06010505070302300f0603551d130101ff040530030101ff30190603551d0e041204104813494d137e1631bba301d5acab6e7b300d06092a864886f70d01010b050003818100c1154b4bab5266221f293766ae4138899bd4c5e36b13cee670ceeaa4cbdf4f6679017e2fe649765af545749fe4249418a56bd38a04b81e261f5ce86b8d5c65413156a50d12449554748c59a30c515bc36a59d38bddf51173e899820b282e40aa78c806526fd184fb6b4cf186ec728edffa585440d2b3225325f7ab580e87dd76")
 
+// testRSAPSSCertificate has signatureAlgorithm rsassaPss, and subjectPublicKeyInfo
+// algorithm rsaEncryption, for use with the rsa_pss_rsae_* SignatureSchemes.
+// See also TestRSAPSSKeyError. testRSAPSSCertificate is self-signed.
+var testRSAPSSCertificate = fromHex("308202583082018da003020102021100f29926eb87ea8a0db9fcc247347c11b0304106092a864886f70d01010a3034a00f300d06096086480165030402010500a11c301a06092a864886f70d010108300d06096086480165030402010500a20302012030123110300e060355040a130741636d6520436f301e170d3137313132333136313631305a170d3138313132333136313631305a30123110300e060355040a130741636d6520436f30819f300d06092a864886f70d010101050003818d0030818902818100db467d932e12270648bc062821ab7ec4b6a25dfe1e5245887a3647a5080d92425bc281c0be97799840fb4f6d14fd2b138bc2a52e67d8d4099ed62238b74a0b74732bc234f1d193e596d9747bf3589f6c613cc0b041d4d92b2b2423775b1c3bbd755dce2054cfa163871d1e24c4f31d1a508baab61443ed97a77562f414c852d70203010001a3463044300e0603551d0f0101ff0404030205a030130603551d25040c300a06082b06010505070301300c0603551d130101ff04023000300f0603551d110408300687047f000001304106092a864886f70d01010a3034a00f300d06096086480165030402010500a11c301a06092a864886f70d010108300d06096086480165030402010500a20302012003818100cdac4ef2ce5f8d79881042707f7cbf1b5a8a00ef19154b40151771006cd41626e5496d56da0c1a139fd84695593cb67f87765e18aa03ea067522dd78d2a589b8c92364e12838ce346c6e067b51f1a7e6f4b37ffab13f1411896679d18e880e0ba09e302ac067efca460288e9538122692297ad8093d4f7dd701424d7700a46a1")
+
 var testECDSACertificate = fromHex("3082020030820162020900b8bf2d47a0d2ebf4300906072a8648ce3d04013045310b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507479204c7464301e170d3132313132323135303633325a170d3232313132303135303633325a3045310b3009060355040613024155311330110603550408130a536f6d652d53746174653121301f060355040a1318496e7465726e6574205769646769747320507479204c746430819b301006072a8648ce3d020106052b81040023038186000400c4a1edbe98f90b4873367ec316561122f23d53c33b4d213dcd6b75e6f6b0dc9adf26c1bcb287f072327cb3642f1c90bcea6823107efee325c0483a69e0286dd33700ef0462dd0da09c706283d881d36431aa9e9731bd96b068c09b23de76643f1a5c7fe9120e5858b65f70dd9bd8ead5d7f5d5ccb9b69f30665b669a20e227e5bffe3b300906072a8648ce3d040103818c0030818802420188a24febe245c5487d1bacf5ed989dae4770c05e1bb62fbdf1b64db76140d311a2ceee0b7e927eff769dc33b7ea53fcefa10e259ec472d7cacda4e970e15a06fd00242014dfcbe67139c2d050ebd3fa38c25c13313830d9406bbd4377af6ec7ac9862eddd711697f857c56defb31782be4c7780daecbbe9e4e3624317b6a0f399512078f2a")
 
 var testSNICertificate = fromHex("0441883421114c81480804c430820237308201a0a003020102020900e8f09d3fe25beaa6300d06092a864886f70d01010b0500301f310b3009060355040a1302476f3110300e06035504031307476f20526f6f74301e170d3136303130313030303030305a170d3235303130313030303030305a3023310b3009060355040a1302476f311430120603550403130b736e69746573742e636f6d30819f300d06092a864886f70d010101050003818d0030818902818100db467d932e12270648bc062821ab7ec4b6a25dfe1e5245887a3647a5080d92425bc281c0be97799840fb4f6d14fd2b138bc2a52e67d8d4099ed62238b74a0b74732bc234f1d193e596d9747bf3589f6c613cc0b041d4d92b2b2423775b1c3bbd755dce2054cfa163871d1e24c4f31d1a508baab61443ed97a77562f414c852d70203010001a3773075300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030106082b06010505070302300c0603551d130101ff0402300030190603551d0e041204109f91161f43433e49a6de6db680d79f60301b0603551d230414301280104813494d137e1631bba301d5acab6e7b300d06092a864886f70d01010b0500038181007beeecff0230dbb2e7a334af65430b7116e09f327c3bbf918107fc9c66cb497493207ae9b4dbb045cb63d605ec1b5dd485bb69124d68fa298dc776699b47632fd6d73cab57042acb26f083c4087459bc5a3bb3ca4d878d7fe31016b7bc9a627438666566e3389bfaeebe6becc9a0093ceed18d0f9ac79d56f3a73f18188988ed")
index 18d4624543ad0943a1ec330db11c0cecda03d3b1..aa072cef059d631d980ff35f67ae5c9e90873f3c 100644 (file)
@@ -68,17 +68,17 @@ func testOpenSSLVersion() {
        }
 
        version := string(output)
-       if strings.HasPrefix(version, "OpenSSL 1.1.0") {
+       if strings.HasPrefix(version, "OpenSSL 1.1.1") {
                return
        }
 
        println("***********************************************")
        println("")
-       println("You need to build OpenSSL 1.1.0 from source in order")
+       println("You need to build OpenSSL 1.1.1 from source in order")
        println("to update the test data.")
        println("")
        println("Configure it with:")
-       println("./Configure enable-weak-ssl-ciphers enable-ssl3 enable-ssl3-method -static linux-x86_64")
+       println("./Configure enable-weak-ssl-ciphers enable-ssl3 enable-ssl3-method")
        println("and then add the apps/ directory at the front of your PATH.")
        println("***********************************************")
 
diff --git a/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15 b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPKCS1v15
new file mode 100644 (file)
index 0000000..215beab
--- /dev/null
@@ -0,0 +1,129 @@
+>>> Flow 1 (client to server)
+00000000  16 03 01 00 a6 01 00 00  a2 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 00 00 2c cc a8  |.............,..|
+00000030  cc a9 c0 2f c0 2b c0 30  c0 2c c0 27 c0 13 c0 23  |.../.+.0.,.'...#|
+00000040  c0 09 c0 14 c0 0a 00 9c  00 9d 00 3c 00 2f 00 35  |...........<./.5|
+00000050  c0 12 00 0a 00 05 c0 11  c0 07 01 00 00 4d 00 05  |.............M..|
+00000060  00 05 01 00 00 00 00 00  0a 00 0a 00 08 00 1d 00  |................|
+00000070  17 00 18 00 19 00 0b 00  02 01 00 00 0d 00 18 00  |................|
+00000080  16 08 04 08 05 08 06 04  01 04 03 05 01 05 03 06  |................|
+00000090  01 06 03 02 01 02 03 ff  01 00 01 00 00 12 00 00  |................|
+000000a0  00 2b 00 07 06 03 03 03  02 03 01                 |.+.........|
+>>> Flow 2 (server to client)
+00000000  16 03 03 00 59 02 00 00  55 03 03 c8 55 15 d5 ec  |....Y...U...U...|
+00000010  f1 23 71 9b b7 3f 32 1a  30 70 44 dc 36 6f 0b 54  |.#q..?2.0pD.6o.T|
+00000020  a7 ff 3e d3 6c 35 7a 8b  33 77 ce 20 af 86 4b 7d  |..>.l5z.3w. ..K}|
+00000030  81 15 f2 0f ca e4 0a 25  16 34 18 2f 24 76 7f e7  |.......%.4./$v..|
+00000040  88 10 e0 4d f4 17 9e d5  9b 72 a8 9f c0 2f 00 00  |...M.....r.../..|
+00000050  0d ff 01 00 01 00 00 0b  00 04 03 00 01 02 16 03  |................|
+00000060  03 02 59 0b 00 02 55 00  02 52 00 02 4f 30 82 02  |..Y...U..R..O0..|
+00000070  4b 30 82 01 b4 a0 03 02  01 02 02 09 00 e8 f0 9d  |K0..............|
+00000080  3f e2 5b ea a6 30 0d 06  09 2a 86 48 86 f7 0d 01  |?.[..0...*.H....|
+00000090  01 0b 05 00 30 1f 31 0b  30 09 06 03 55 04 0a 13  |....0.1.0...U...|
+000000a0  02 47 6f 31 10 30 0e 06  03 55 04 03 13 07 47 6f  |.Go1.0...U....Go|
+000000b0  20 52 6f 6f 74 30 1e 17  0d 31 36 30 31 30 31 30  | Root0...1601010|
+000000c0  30 30 30 30 30 5a 17 0d  32 35 30 31 30 31 30 30  |00000Z..25010100|
+000000d0  30 30 30 30 5a 30 1a 31  0b 30 09 06 03 55 04 0a  |0000Z0.1.0...U..|
+000000e0  13 02 47 6f 31 0b 30 09  06 03 55 04 03 13 02 47  |..Go1.0...U....G|
+000000f0  6f 30 81 9f 30 0d 06 09  2a 86 48 86 f7 0d 01 01  |o0..0...*.H.....|
+00000100  01 05 00 03 81 8d 00 30  81 89 02 81 81 00 db 46  |.......0.......F|
+00000110  7d 93 2e 12 27 06 48 bc  06 28 21 ab 7e c4 b6 a2  |}...'.H..(!.~...|
+00000120  5d fe 1e 52 45 88 7a 36  47 a5 08 0d 92 42 5b c2  |]..RE.z6G....B[.|
+00000130  81 c0 be 97 79 98 40 fb  4f 6d 14 fd 2b 13 8b c2  |....y.@.Om..+...|
+00000140  a5 2e 67 d8 d4 09 9e d6  22 38 b7 4a 0b 74 73 2b  |..g....."8.J.ts+|
+00000150  c2 34 f1 d1 93 e5 96 d9  74 7b f3 58 9f 6c 61 3c  |.4......t{.X.la<|
+00000160  c0 b0 41 d4 d9 2b 2b 24  23 77 5b 1c 3b bd 75 5d  |..A..++$#w[.;.u]|
+00000170  ce 20 54 cf a1 63 87 1d  1e 24 c4 f3 1d 1a 50 8b  |. T..c...$....P.|
+00000180  aa b6 14 43 ed 97 a7 75  62 f4 14 c8 52 d7 02 03  |...C...ub...R...|
+00000190  01 00 01 a3 81 93 30 81  90 30 0e 06 03 55 1d 0f  |......0..0...U..|
+000001a0  01 01 ff 04 04 03 02 05  a0 30 1d 06 03 55 1d 25  |.........0...U.%|
+000001b0  04 16 30 14 06 08 2b 06  01 05 05 07 03 01 06 08  |..0...+.........|
+000001c0  2b 06 01 05 05 07 03 02  30 0c 06 03 55 1d 13 01  |+.......0...U...|
+000001d0  01 ff 04 02 30 00 30 19  06 03 55 1d 0e 04 12 04  |....0.0...U.....|
+000001e0  10 9f 91 16 1f 43 43 3e  49 a6 de 6d b6 80 d7 9f  |.....CC>I..m....|
+000001f0  60 30 1b 06 03 55 1d 23  04 14 30 12 80 10 48 13  |`0...U.#..0...H.|
+00000200  49 4d 13 7e 16 31 bb a3  01 d5 ac ab 6e 7b 30 19  |IM.~.1......n{0.|
+00000210  06 03 55 1d 11 04 12 30  10 82 0e 65 78 61 6d 70  |..U....0...examp|
+00000220  6c 65 2e 67 6f 6c 61 6e  67 30 0d 06 09 2a 86 48  |le.golang0...*.H|
+00000230  86 f7 0d 01 01 0b 05 00  03 81 81 00 9d 30 cc 40  |.............0.@|
+00000240  2b 5b 50 a0 61 cb ba e5  53 58 e1 ed 83 28 a9 58  |+[P.a...SX...(.X|
+00000250  1a a9 38 a4 95 a1 ac 31  5a 1a 84 66 3d 43 d3 2d  |..8....1Z..f=C.-|
+00000260  d9 0b f2 97 df d3 20 64  38 92 24 3a 00 bc cf 9c  |...... d8.$:....|
+00000270  7d b7 40 20 01 5f aa d3  16 61 09 a2 76 fd 13 c3  |}.@ ._...a..v...|
+00000280  cc e1 0c 5c ee b1 87 82  f1 6c 04 ed 73 bb b3 43  |...\.....l..s..C|
+00000290  77 8d 0c 1c f1 0f a1 d8  40 83 61 c9 4c 72 2b 9d  |w.......@.a.Lr+.|
+000002a0  ae db 46 06 06 4d f4 c1  b3 3e c0 d1 bd 42 d4 db  |..F..M...>...B..|
+000002b0  fe 3d 13 60 84 5c 21 d3  3b e9 fa e7 16 03 03 00  |.=.`.\!.;.......|
+000002c0  ac 0c 00 00 a8 03 00 1d  20 b7 9c 7d 71 a6 62 01  |........ ..}q.b.|
+000002d0  46 ac 2b 05 b5 4c 4c 05  1a da 20 b6 e4 dd 25 5e  |F.+..LL... ...%^|
+000002e0  41 b6 6c d3 d5 c1 22 19  79 04 01 00 80 26 2a a1  |A.l...".y....&*.|
+000002f0  61 bf 0e 57 a3 4a 83 89  6a ad 1a da 1e b7 ff 05  |a..W.J..j.......|
+00000300  88 24 8e 4c d8 0f f0 b6  29 33 b5 da cd 2a af e3  |.$.L....)3...*..|
+00000310  4c 5c f0 da 85 db a2 85  1c 9e 46 fe 75 e8 6f ae  |L\........F.u.o.|
+00000320  ef a8 19 b1 d0 63 f4 55  0f 0b 90 7e ef 8a 3c a8  |.....c.U...~..<.|
+00000330  28 0a 16 ac 18 5f fe 85  aa 02 99 d0 1f 93 e5 07  |(...._..........|
+00000340  a5 55 c9 a9 ba b4 4b 1a  54 2e 0d 75 dc 29 5f 42  |.U....K.T..u.)_B|
+00000350  0f ff c1 c9 ab b2 14 41  c8 a1 01 a6 89 8b ac c4  |.......A........|
+00000360  d6 de d3 1c cb 57 bc 9a  46 85 5a 66 bd 16 03 03  |.....W..F.Zf....|
+00000370  00 0c 0d 00 00 08 01 01  00 02 04 01 00 00 16 03  |................|
+00000380  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|
+00000010  82 01 ef 30 82 01 58 a0  03 02 01 02 02 10 5c 19  |...0..X.......\.|
+00000020  c1 89 65 83 55 6f dc 0b  c9 b9 93 9f e9 bc 30 0d  |..e.Uo........0.|
+00000030  06 09 2a 86 48 86 f7 0d  01 01 0b 05 00 30 12 31  |..*.H........0.1|
+00000040  10 30 0e 06 03 55 04 0a  13 07 41 63 6d 65 20 43  |.0...U....Acme C|
+00000050  6f 30 1e 17 0d 31 36 30  38 31 37 32 31 35 32 33  |o0...16081721523|
+00000060  31 5a 17 0d 31 37 30 38  31 37 32 31 35 32 33 31  |1Z..170817215231|
+00000070  5a 30 12 31 10 30 0e 06  03 55 04 0a 13 07 41 63  |Z0.1.0...U....Ac|
+00000080  6d 65 20 43 6f 30 81 9f  30 0d 06 09 2a 86 48 86  |me Co0..0...*.H.|
+00000090  f7 0d 01 01 01 05 00 03  81 8d 00 30 81 89 02 81  |...........0....|
+000000a0  81 00 ba 6f aa 86 bd cf  bf 9f f2 ef 5c 94 60 78  |...o........\.`x|
+000000b0  6f e8 13 f2 d1 96 6f cd  d9 32 6e 22 37 ce 41 f9  |o.....o..2n"7.A.|
+000000c0  ca 5d 29 ac e1 27 da 61  a2 ee 81 cb 10 c7 df 34  |.])..'.a.......4|
+000000d0  58 95 86 e9 3d 19 e6 5c  27 73 60 c8 8d 78 02 f4  |X...=..\'s`..x..|
+000000e0  1d a4 98 09 a3 19 70 69  3c 25 62 66 2a ab 22 23  |......pi<%bf*."#|
+000000f0  c5 7b 85 38 4f 2e 09 73  32 a7 bd 3e 9b ad ca 84  |.{.8O..s2..>....|
+00000100  07 e6 0f 3a ff 77 c5 9d  41 85 00 8a b6 9b ee b0  |...:.w..A.......|
+00000110  a4 3f 2d 4c 4c e6 42 3e  bb 51 c8 dd 48 54 f4 0c  |.?-LL.B>.Q..HT..|
+00000120  8e 47 02 03 01 00 01 a3  46 30 44 30 0e 06 03 55  |.G......F0D0...U|
+00000130  1d 0f 01 01 ff 04 04 03  02 05 a0 30 13 06 03 55  |...........0...U|
+00000140  1d 25 04 0c 30 0a 06 08  2b 06 01 05 05 07 03 01  |.%..0...+.......|
+00000150  30 0c 06 03 55 1d 13 01  01 ff 04 02 30 00 30 0f  |0...U.......0.0.|
+00000160  06 03 55 1d 11 04 08 30  06 87 04 7f 00 00 01 30  |..U....0.......0|
+00000170  0d 06 09 2a 86 48 86 f7  0d 01 01 0b 05 00 03 81  |...*.H..........|
+00000180  81 00 46 ab 44 a2 fb 28  54 f8 5a 67 f8 62 94 f1  |..F.D..(T.Zg.b..|
+00000190  9a b2 18 9e f2 b1 de 1d  7e 6f 76 95 a9 ba e7 5d  |........~ov....]|
+000001a0  a8 16 6c 9c f7 09 d3 37  e4 4b 2b 36 7c 01 ad 41  |..l....7.K+6|..A|
+000001b0  d2 32 d8 c3 d2 93 f9 10  6b 8e 95 b9 2c 17 8a a3  |.2......k...,...|
+000001c0  44 48 bc 59 13 83 16 04  88 a4 81 5c 25 0d 98 0c  |DH.Y.......\%...|
+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 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 55 46 ff f4 a5 14 e9  |.........UF.....|
+00000240  49 28 42 94 d9 a4 0d 10  36 60 20 b6 08 32 0f 49  |I(B.....6` ..2.I|
+00000250  e5 38 a7 d9 33 bd b0 f7  ab 7d 9e c1 c3 7d 64 bb  |.8..3....}...}d.|
+00000260  ec 19 2c 97 59 81 66 9a  e2 16 0c dd 4a 80 b2 ee  |..,.Y.f.....J...|
+00000270  ec 15 29 52 e6 61 61 12  13 e6 53 cf dc be 32 31  |..)R.aa...S...21|
+00000280  b5 35 6d 44 f5 46 4f 10  27 cb 74 31 7c 5c b0 01  |.5mD.FO.'.t1|\..|
+00000290  98 88 df 12 cf 4e 48 dd  1f 06 19 65 c5 d4 51 a2  |.....NH....e..Q.|
+000002a0  2b f5 93 86 1c 28 33 59  fb b5 f7 80 9d c4 b7 38  |+....(3Y.......8|
+000002b0  a6 9a 2d cb a2 98 f0 e2  26 14 03 03 00 01 01 16  |..-.....&.......|
+000002c0  03 03 00 28 00 00 00 00  00 00 00 00 02 79 d5 33  |...(.........y.3|
+000002d0  e2 f9 c9 d6 71 7d bd 74  39 33 c7 53 bc 3b 2a 62  |....q}.t93.S.;*b|
+000002e0  42 6f 8d f8 9b f1 ec 28  7f ed 7e 31              |Bo.....(..~1|
+>>> Flow 4 (server to client)
+00000000  14 03 03 00 01 01 16 03  03 00 28 39 11 1a a2 e4  |..........(9....|
+00000010  ad 2b b1 06 16 32 cb 17  7a 58 d1 d4 f6 6f c7 38  |.+...2..zX...o.8|
+00000020  12 76 2c 35 50 6f 25 24  ca 78 d2 4d 36 9e 24 d0  |.v,5Po%$.x.M6.$.|
+00000030  a3 a0 e5                                          |...|
+>>> Flow 5 (client to server)
+00000000  17 03 03 00 1e 00 00 00  00 00 00 00 01 5b 7a f8  |.............[z.|
+00000010  78 6e c7 ae 7c 79 d9 ff  a1 45 f4 56 e6 c4 f8 3a  |xn..|y...E.V...:|
+00000020  85 f8 aa 15 03 03 00 1a  00 00 00 00 00 00 00 02  |................|
+00000030  9a 0a 43 9f 7c e8 46 60  5c f2 c3 d6 a7 97 71 6b  |..C.|.F`\.....qk|
+00000040  58 a6                                             |X.|
diff --git a/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS b/src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSAPSS
new file mode 100644 (file)
index 0000000..46137af
--- /dev/null
@@ -0,0 +1,130 @@
+>>> Flow 1 (client to server)
+00000000  16 03 01 00 a6 01 00 00  a2 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 00 00 2c cc a8  |.............,..|
+00000030  cc a9 c0 2f c0 2b c0 30  c0 2c c0 27 c0 13 c0 23  |.../.+.0.,.'...#|
+00000040  c0 09 c0 14 c0 0a 00 9c  00 9d 00 3c 00 2f 00 35  |...........<./.5|
+00000050  c0 12 00 0a 00 05 c0 11  c0 07 01 00 00 4d 00 05  |.............M..|
+00000060  00 05 01 00 00 00 00 00  0a 00 0a 00 08 00 1d 00  |................|
+00000070  17 00 18 00 19 00 0b 00  02 01 00 00 0d 00 18 00  |................|
+00000080  16 08 04 08 05 08 06 04  01 04 03 05 01 05 03 06  |................|
+00000090  01 06 03 02 01 02 03 ff  01 00 01 00 00 12 00 00  |................|
+000000a0  00 2b 00 07 06 03 03 03  02 03 01                 |.+.........|
+>>> Flow 2 (server to client)
+00000000  16 03 03 00 59 02 00 00  55 03 03 47 3c 4e 01 1f  |....Y...U..G<N..|
+00000010  89 cb e0 8d ce 25 b0 78  28 25 50 d1 e5 ea b6 0a  |.....%.x(%P.....|
+00000020  58 9c 27 0f 9b 41 95 a0  94 c2 1f 20 42 a2 5a 4b  |X.'..A..... B.ZK|
+00000030  35 b3 13 60 a7 f7 e2 2d  07 69 45 b0 46 52 e6 31  |5..`...-.iE.FR.1|
+00000040  5c 61 b6 24 7e 3a 84 a0  26 5b 2d 6a c0 2f 00 00  |\a.$~:..&[-j./..|
+00000050  0d ff 01 00 01 00 00 0b  00 04 03 00 01 02 16 03  |................|
+00000060  03 02 66 0b 00 02 62 00  02 5f 00 02 5c 30 82 02  |..f...b.._..\0..|
+00000070  58 30 82 01 8d a0 03 02  01 02 02 11 00 f2 99 26  |X0.............&|
+00000080  eb 87 ea 8a 0d b9 fc c2  47 34 7c 11 b0 30 41 06  |........G4|..0A.|
+00000090  09 2a 86 48 86 f7 0d 01  01 0a 30 34 a0 0f 30 0d  |.*.H......04..0.|
+000000a0  06 09 60 86 48 01 65 03  04 02 01 05 00 a1 1c 30  |..`.H.e........0|
+000000b0  1a 06 09 2a 86 48 86 f7  0d 01 01 08 30 0d 06 09  |...*.H......0...|
+000000c0  60 86 48 01 65 03 04 02  01 05 00 a2 03 02 01 20  |`.H.e.......... |
+000000d0  30 12 31 10 30 0e 06 03  55 04 0a 13 07 41 63 6d  |0.1.0...U....Acm|
+000000e0  65 20 43 6f 30 1e 17 0d  31 37 31 31 32 33 31 36  |e Co0...17112316|
+000000f0  31 36 31 30 5a 17 0d 31  38 31 31 32 33 31 36 31  |1610Z..181123161|
+00000100  36 31 30 5a 30 12 31 10  30 0e 06 03 55 04 0a 13  |610Z0.1.0...U...|
+00000110  07 41 63 6d 65 20 43 6f  30 81 9f 30 0d 06 09 2a  |.Acme Co0..0...*|
+00000120  86 48 86 f7 0d 01 01 01  05 00 03 81 8d 00 30 81  |.H............0.|
+00000130  89 02 81 81 00 db 46 7d  93 2e 12 27 06 48 bc 06  |......F}...'.H..|
+00000140  28 21 ab 7e c4 b6 a2 5d  fe 1e 52 45 88 7a 36 47  |(!.~...]..RE.z6G|
+00000150  a5 08 0d 92 42 5b c2 81  c0 be 97 79 98 40 fb 4f  |....B[.....y.@.O|
+00000160  6d 14 fd 2b 13 8b c2 a5  2e 67 d8 d4 09 9e d6 22  |m..+.....g....."|
+00000170  38 b7 4a 0b 74 73 2b c2  34 f1 d1 93 e5 96 d9 74  |8.J.ts+.4......t|
+00000180  7b f3 58 9f 6c 61 3c c0  b0 41 d4 d9 2b 2b 24 23  |{.X.la<..A..++$#|
+00000190  77 5b 1c 3b bd 75 5d ce  20 54 cf a1 63 87 1d 1e  |w[.;.u]. T..c...|
+000001a0  24 c4 f3 1d 1a 50 8b aa  b6 14 43 ed 97 a7 75 62  |$....P....C...ub|
+000001b0  f4 14 c8 52 d7 02 03 01  00 01 a3 46 30 44 30 0e  |...R.......F0D0.|
+000001c0  06 03 55 1d 0f 01 01 ff  04 04 03 02 05 a0 30 13  |..U...........0.|
+000001d0  06 03 55 1d 25 04 0c 30  0a 06 08 2b 06 01 05 05  |..U.%..0...+....|
+000001e0  07 03 01 30 0c 06 03 55  1d 13 01 01 ff 04 02 30  |...0...U.......0|
+000001f0  00 30 0f 06 03 55 1d 11  04 08 30 06 87 04 7f 00  |.0...U....0.....|
+00000200  00 01 30 41 06 09 2a 86  48 86 f7 0d 01 01 0a 30  |..0A..*.H......0|
+00000210  34 a0 0f 30 0d 06 09 60  86 48 01 65 03 04 02 01  |4..0...`.H.e....|
+00000220  05 00 a1 1c 30 1a 06 09  2a 86 48 86 f7 0d 01 01  |....0...*.H.....|
+00000230  08 30 0d 06 09 60 86 48  01 65 03 04 02 01 05 00  |.0...`.H.e......|
+00000240  a2 03 02 01 20 03 81 81  00 cd ac 4e f2 ce 5f 8d  |.... ......N.._.|
+00000250  79 88 10 42 70 7f 7c bf  1b 5a 8a 00 ef 19 15 4b  |y..Bp.|..Z.....K|
+00000260  40 15 17 71 00 6c d4 16  26 e5 49 6d 56 da 0c 1a  |@..q.l..&.ImV...|
+00000270  13 9f d8 46 95 59 3c b6  7f 87 76 5e 18 aa 03 ea  |...F.Y<...v^....|
+00000280  06 75 22 dd 78 d2 a5 89  b8 c9 23 64 e1 28 38 ce  |.u".x.....#d.(8.|
+00000290  34 6c 6e 06 7b 51 f1 a7  e6 f4 b3 7f fa b1 3f 14  |4ln.{Q........?.|
+000002a0  11 89 66 79 d1 8e 88 0e  0b a0 9e 30 2a c0 67 ef  |..fy.......0*.g.|
+000002b0  ca 46 02 88 e9 53 81 22  69 22 97 ad 80 93 d4 f7  |.F...S."i"......|
+000002c0  dd 70 14 24 d7 70 0a 46  a1 16 03 03 00 ac 0c 00  |.p.$.p.F........|
+000002d0  00 a8 03 00 1d 20 e9 f9  44 16 6a 78 7e 81 bd 02  |..... ..D.jx~...|
+000002e0  59 f8 8c 16 89 c1 a8 59  a9 b5 bf 06 32 a0 64 10  |Y......Y....2.d.|
+000002f0  df c3 a2 b4 0b 39 08 04  00 80 01 8b 59 48 c3 0e  |.....9......YH..|
+00000300  a2 6b ef 15 87 1e 65 30  fc 72 7b 13 e8 9e 39 00  |.k....e0.r{...9.|
+00000310  a9 9a a4 dd 48 3c 54 88  f0 6b 3f cd 9b 46 c8 8d  |....H<T..k?..F..|
+00000320  e8 f2 9b 64 67 d1 18 f0  01 b5 76 8b 0b f1 1a 21  |...dg.....v....!|
+00000330  5e 49 5e 1b e9 39 b5 12  66 ae 0c 19 cb 04 cd c0  |^I^..9..f.......|
+00000340  4d c0 1b 08 24 57 b6 1d  c6 1e f6 4c a9 19 e3 62  |M...$W.....L...b|
+00000350  44 1b 26 32 84 0c e3 8a  3a 4f c4 7f 9d 39 77 52  |D.&2....:O...9wR|
+00000360  64 11 43 5a 39 89 50 83  2e 59 3a 88 84 a2 97 dc  |d.CZ9.P..Y:.....|
+00000370  6f 6c 55 76 4d 5f 6f 27  ab 08 16 03 03 00 0c 0d  |olUvM_o'........|
+00000380  00 00 08 01 01 00 02 08  04 00 00 16 03 03 00 04  |................|
+00000390  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.......\.|
+00000020  c1 89 65 83 55 6f dc 0b  c9 b9 93 9f e9 bc 30 0d  |..e.Uo........0.|
+00000030  06 09 2a 86 48 86 f7 0d  01 01 0b 05 00 30 12 31  |..*.H........0.1|
+00000040  10 30 0e 06 03 55 04 0a  13 07 41 63 6d 65 20 43  |.0...U....Acme C|
+00000050  6f 30 1e 17 0d 31 36 30  38 31 37 32 31 35 32 33  |o0...16081721523|
+00000060  31 5a 17 0d 31 37 30 38  31 37 32 31 35 32 33 31  |1Z..170817215231|
+00000070  5a 30 12 31 10 30 0e 06  03 55 04 0a 13 07 41 63  |Z0.1.0...U....Ac|
+00000080  6d 65 20 43 6f 30 81 9f  30 0d 06 09 2a 86 48 86  |me Co0..0...*.H.|
+00000090  f7 0d 01 01 01 05 00 03  81 8d 00 30 81 89 02 81  |...........0....|
+000000a0  81 00 ba 6f aa 86 bd cf  bf 9f f2 ef 5c 94 60 78  |...o........\.`x|
+000000b0  6f e8 13 f2 d1 96 6f cd  d9 32 6e 22 37 ce 41 f9  |o.....o..2n"7.A.|
+000000c0  ca 5d 29 ac e1 27 da 61  a2 ee 81 cb 10 c7 df 34  |.])..'.a.......4|
+000000d0  58 95 86 e9 3d 19 e6 5c  27 73 60 c8 8d 78 02 f4  |X...=..\'s`..x..|
+000000e0  1d a4 98 09 a3 19 70 69  3c 25 62 66 2a ab 22 23  |......pi<%bf*."#|
+000000f0  c5 7b 85 38 4f 2e 09 73  32 a7 bd 3e 9b ad ca 84  |.{.8O..s2..>....|
+00000100  07 e6 0f 3a ff 77 c5 9d  41 85 00 8a b6 9b ee b0  |...:.w..A.......|
+00000110  a4 3f 2d 4c 4c e6 42 3e  bb 51 c8 dd 48 54 f4 0c  |.?-LL.B>.Q..HT..|
+00000120  8e 47 02 03 01 00 01 a3  46 30 44 30 0e 06 03 55  |.G......F0D0...U|
+00000130  1d 0f 01 01 ff 04 04 03  02 05 a0 30 13 06 03 55  |...........0...U|
+00000140  1d 25 04 0c 30 0a 06 08  2b 06 01 05 05 07 03 01  |.%..0...+.......|
+00000150  30 0c 06 03 55 1d 13 01  01 ff 04 02 30 00 30 0f  |0...U.......0.0.|
+00000160  06 03 55 1d 11 04 08 30  06 87 04 7f 00 00 01 30  |..U....0.......0|
+00000170  0d 06 09 2a 86 48 86 f7  0d 01 01 0b 05 00 03 81  |...*.H..........|
+00000180  81 00 46 ab 44 a2 fb 28  54 f8 5a 67 f8 62 94 f1  |..F.D..(T.Zg.b..|
+00000190  9a b2 18 9e f2 b1 de 1d  7e 6f 76 95 a9 ba e7 5d  |........~ov....]|
+000001a0  a8 16 6c 9c f7 09 d3 37  e4 4b 2b 36 7c 01 ad 41  |..l....7.K+6|..A|
+000001b0  d2 32 d8 c3 d2 93 f9 10  6b 8e 95 b9 2c 17 8a a3  |.2......k...,...|
+000001c0  44 48 bc 59 13 83 16 04  88 a4 81 5c 25 0d 98 0c  |DH.Y.......\%...|
+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 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 a6 e4 d6 69 42 65 73  |............iBes|
+00000240  a9 a8 c3 d7 90 1a e2 c2  14 3d 0c 8d 68 28 78 1b  |.........=..h(x.|
+00000250  0d d0 63 85 59 4c 2c c0  4d 9a f1 2f e4 8c fa b2  |..c.YL,.M../....|
+00000260  fc 26 62 46 3e b3 50 12  55 44 93 70 37 97 c8 b6  |.&bF>.P.UD.p7...|
+00000270  ce 04 27 67 e0 35 ff bb  3e 5b f3 77 58 5e 7f 53  |..'g.5..>[.wX^.S|
+00000280  a6 19 fd 36 ad c4 96 48  f6 9e 15 e7 ff 9a d1 7b  |...6...H.......{|
+00000290  b5 3b d5 39 c8 c1 df c9  dc d3 f8 30 97 4e 42 3a  |.;.9.......0.NB:|
+000002a0  fc 98 bf 69 64 08 7d a8  d4 2c 06 88 69 b8 b6 cb  |...id.}..,..i...|
+000002b0  c3 b5 e1 f3 ad 43 dd 59  68 14 03 03 00 01 01 16  |.....C.Yh.......|
+000002c0  03 03 00 28 00 00 00 00  00 00 00 00 c6 06 1e 72  |...(...........r|
+000002d0  81 94 ee 05 bc f2 6f 13  46 e8 03 f3 b9 57 ca 8c  |......o.F....W..|
+000002e0  14 ac 8e ab 36 6d aa 02  51 e7 12 43              |....6m..Q..C|
+>>> Flow 4 (server to client)
+00000000  14 03 03 00 01 01 16 03  03 00 28 8c 12 31 b7 59  |..........(..1.Y|
+00000010  c1 9b 7f 03 c5 dd ec f9  94 12 b6 7e 5b 05 66 60  |...........~[.f`|
+00000020  de 54 1f 0c 62 ac 27 8e  3f f8 00 3e 6a 9b d6 f8  |.T..b.'.?..>j...|
+00000030  05 e3 57                                          |..W|
+>>> Flow 5 (client to server)
+00000000  17 03 03 00 1e 00 00 00  00 00 00 00 01 66 0d d6  |.............f..|
+00000010  a4 72 eb a6 81 50 e3 a6  58 44 1c e7 3e a3 3c 30  |.r...P..XD..>.<0|
+00000020  be 58 58 15 03 03 00 1a  00 00 00 00 00 00 00 02  |.XX.............|
+00000030  d7 0d af 5b 93 61 ff 24  35 a4 6f cd 98 0a fc a8  |...[.a.$5.o.....|
+00000040  35 cb                                             |5.|
index 8c6a7ed98c2ec4a203d5440aff9b3fbd5a225a43..210dcf6054a0966b3c778c0293a3ab172801031c 100644 (file)
@@ -1,11 +1,14 @@
 >>> Flow 1 (client to server)
-00000000  16 03 01 00 5d 01 00 00  59 03 03 ba cf e7 3a 42  |....]...Y.....:B|
-00000010  aa f9 cd ca b8 b7 46 a0  4a 87 2c f8 76 14 d6 d0  |......F.J.,.v...|
-00000020  f8 66 ad ed 80 57 b0 9f  bf f5 32 00 00 04 00 2f  |.f...W....2..../|
-00000030  00 ff 01 00 00 2c 00 0d  00 20 00 1e 06 01 06 02  |.....,... ......|
-00000040  06 03 05 01 05 02 05 03  04 01 04 02 04 03 03 01  |................|
-00000050  03 02 03 03 02 01 02 02  02 03 00 16 00 00 00 17  |................|
-00000060  00 00                                             |..|
+00000000  16 03 01 00 97 01 00 00  93 03 03 fc 5e de 04 d8  |............^...|
+00000010  e5 65 de f5 24 47 e1 8b  dd 96 d2 c3 51 fe a9 45  |.e..$G......Q..E|
+00000020  1f 60 ad 43 a6 46 4d f3  6e e9 35 00 00 04 00 2f  |.`.C.FM.n.5..../|
+00000030  00 ff 01 00 00 66 00 00  00 0e 00 0c 00 00 09 31  |.....f.........1|
+00000040  32 37 2e 30 2e 30 2e 31  00 0b 00 04 03 00 01 02  |27.0.0.1........|
+00000050  00 0a 00 0c 00 0a 00 1d  00 17 00 1e 00 19 00 18  |................|
+00000060  00 16 00 00 00 17 00 00  00 0d 00 30 00 2e 04 03  |...........0....|
+00000070  05 03 06 03 08 07 08 08  08 09 08 0a 08 0b 08 04  |................|
+00000080  08 05 08 06 04 01 05 01  06 01 03 03 02 03 03 01  |................|
+00000090  02 01 03 02 02 02 04 02  05 02 06 02              |............|
 >>> Flow 2 (server to client)
 00000000  16 03 03 00 31 02 00 00  2d 03 03 00 00 00 00 00  |....1...-.......|
 00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 00000260  f1 6c 04 ed 73 bb b3 43  77 8d 0c 1c f1 0f a1 d8  |.l..s..Cw.......|
 00000270  40 83 61 c9 4c 72 2b 9d  ae db 46 06 06 4d f4 c1  |@.a.Lr+...F..M..|
 00000280  b3 3e c0 d1 bd 42 d4 db  fe 3d 13 60 84 5c 21 d3  |.>...B...=.`.\!.|
-00000290  3b e9 fa e7 16 03 03 00  1b 0d 00 00 17 02 01 40  |;..............@|
-000002a0  00 10 04 01 04 03 05 01  05 03 06 01 06 03 02 01  |................|
-000002b0  02 03 00 00 16 03 03 00  04 0e 00 00 00           |.............|
+00000290  3b e9 fa e7 16 03 03 00  21 0d 00 00 1d 02 01 40  |;.......!......@|
+000002a0  00 16 08 04 08 05 08 06  04 01 04 03 05 01 05 03  |................|
+000002b0  06 01 06 03 02 01 02 03  00 00 16 03 03 00 04 0e  |................|
+000002c0  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|
 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 d4 03 c6 f3 e2 5d  |...............]|
-00000220  15 db 9d c5 28 c4 30 e9  80 7b 56 89 0f 20 5b 8f  |....(.0..{V.. [.|
-00000230  47 8f bf 04 a5 d4 49 c9  ac 0f 54 c9 3d f0 cc 37  |G.....I...T.=..7|
-00000240  51 3c f8 3e 18 69 5b 58  a9 5a 88 ac 2c ff 5c b9  |Q<.>.i[X.Z..,.\.|
-00000250  65 2e 9a 9d 9e d4 3f 01  6b 47 e3 c8 ec e2 90 23  |e.....?.kG.....#|
-00000260  b9 9f a7 1f bf 7a c4 b3  68 e5 8a ee f5 4e 7b 49  |.....z..h....N{I|
-00000270  f3 3c b7 86 89 76 60 14  d5 a4 8e b1 5e 3f 5c 89  |.<...v`.....^?\.|
-00000280  a5 f8 69 7e 12 88 9d 30  7a 07 c2 ff 8f bb d0 94  |..i~...0z.......|
-00000290  1b 3c c4 fe 73 e6 25 99  77 d3 16 03 03 00 93 0f  |.<..s.%.w.......|
-000002a0  00 00 8f 04 03 00 8b 30  81 88 02 42 01 21 35 66  |.......0...B.!5f|
-000002b0  57 df 29 1a e5 10 1d e0  e0 00 ee 2a 0b 20 22 8b  |W.)........*. ".|
-000002c0  1d 70 4f 39 cb 96 30 b1  f0 8d 12 ba c8 15 67 05  |.pO9..0.......g.|
-000002d0  45 d2 fe 0a 4e 25 ce f4  8d 14 7b b8 6c 92 8b 99  |E...N%....{.l...|
-000002e0  9b 56 0a 78 ad 45 d6 09  88 ae c7 e6 2d 13 02 42  |.V.x.E......-..B|
-000002f0  01 5e 7e c9 ae 56 9e b6  de 38 fc a9 a6 e7 b9 35  |.^~..V...8.....5|
-00000300  9b 47 cd f7 82 1a 56 1c  cc d4 3a 15 79 d9 44 c4  |.G....V...:.y.D.|
-00000310  96 1a 10 69 31 ad c7 96  6b 3f f7 81 b6 04 4c bd  |...i1...k?....L.|
-00000320  ee e2 a1 15 8a 83 bc a0  42 b9 0f aa 6a 14 d1 fd  |........B...j...|
-00000330  9d 95 14 03 03 00 01 01  16 03 03 00 40 46 6b 0c  |............@Fk.|
-00000340  5d 7e 32 26 ef 7c a5 88  f0 ec 50 92 de 5f 87 7c  |]~2&.|....P.._.||
-00000350  b4 80 19 80 f4 89 19 f5  28 8f 21 09 fc 19 43 81  |........(.!...C.|
-00000360  92 94 37 f5 9b 6e 07 b1  35 29 ed 9a 87 a5 e9 ce  |..7..n..5)......|
-00000370  c3 e3 83 42 dd 2e 5a 0b  8e 22 bf 32 4e           |...B..Z..".2N|
+00000210  03 03 00 86 10 00 00 82  00 80 1b 54 bf f4 05 fc  |...........T....|
+00000220  48 b2 0a 90 da 93 cc 5b  56 0b ab d3 20 54 e8 2a  |H......[V... T.*|
+00000230  70 f5 84 6b b3 2e cf 8f  0e 0f b7 24 dc ab 11 8e  |p..k.......$....|
+00000240  b2 33 44 86 0e 26 e9 57  33 56 15 64 76 d2 33 1e  |.3D..&.W3V.dv.3.|
+00000250  2f ad aa 04 61 82 c4 7a  72 e3 8c 39 91 b5 3c 50  |/...a..zr..9..<P|
+00000260  fb 23 b5 f6 f7 f2 a7 b5  4f 37 58 02 a1 65 9d a5  |.#......O7X..e..|
+00000270  9b bd 11 c5 af 37 ef a3  78 62 77 fc d3 cf d6 aa  |.....7..xbw.....|
+00000280  4f d7 0b 0a e6 be f4 0a  ac e7 93 cc 9d 00 6f e5  |O.............o.|
+00000290  04 3d 28 59 ba 3a 1b 10  ff f6 16 03 03 00 92 0f  |.=(Y.:..........|
+000002a0  00 00 8e 04 03 00 8a 30  81 87 02 42 01 f9 b6 6e  |.......0...B...n|
+000002b0  c1 b6 86 d7 b3 54 dc aa  f8 74 70 8c be 85 b5 39  |.....T...tp....9|
+000002c0  ac c7 bd a5 62 b4 59 67  e6 84 03 78 35 67 4d 45  |....b.Yg...x5gME|
+000002d0  f4 a8 d0 ea f5 27 61 72  f4 29 51 64 6e 62 cf a0  |.....'ar.)Qdnb..|
+000002e0  1a 4d 0e e1 32 74 09 5d  e2 df 25 69 f4 35 02 41  |.M..2t.]..%i.5.A|
+000002f0  43 ed 88 a6 ee 91 37 5a  df 84 62 10 ac 88 e7 2c  |C.....7Z..b....,|
+00000300  64 e3 c8 8e e1 83 4f a2  fe fb b5 7b fa 49 8c 85  |d.....O....{.I..|
+00000310  a8 ab 36 14 87 0b 32 ad  85 28 ee 6b b0 32 20 99  |..6...2..(.k.2 .|
+00000320  ec 0d 1f 03 cd 85 39 0f  3f ae c8 f5 98 28 29 4a  |......9.?....()J|
+00000330  e4 14 03 03 00 01 01 16  03 03 00 40 87 3a 5b 9f  |...........@.:[.|
+00000340  00 ee e8 6f e3 75 d5 f7  d7 1c 7a 1c e7 a9 36 5f  |...o.u....z...6_|
+00000350  c0 94 96 ba 7f 31 d5 31  d4 52 b1 45 74 98 fc b4  |.....1.1.R.Et...|
+00000360  b2 c0 0d bc f1 0b 50 c9  8a 72 89 c5 5b 33 58 d2  |......P..r..[3X.|
+00000370  88 af 80 ea bc 28 f6 88  4e b6 e4 47              |.....(..N..G|
 >>> 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 13 c4 d2 3f b0  |..............?.|
-00000020  84 08 32 74 de cc e0 97  90 8a c6 cc 94 87 ac 48  |..2t...........H|
-00000030  65 f7 20 04 18 42 68 46  8e c0 19 b6 9d 2a 84 58  |e. ..BhF.....*.X|
-00000040  85 20 b3 ed 75 94 71 4e  5b 0a de 17 03 03 00 40  |. ..u.qN[......@|
+00000010  00 00 00 00 00 00 00 00  00 00 00 3e c2 25 7e b6  |...........>.%~.|
+00000020  66 73 fc 84 6a 5c 3e c2  d1 ac 97 56 98 cf 6b 41  |fs..j\>....V..kA|
+00000030  74 9e 52 71 97 00 c8 50  1a e0 53 f6 03 7e f3 d4  |t.Rq...P..S..~..|
+00000040  17 9e 5a 4a d9 38 a2 b0  54 3f d3 17 03 03 00 40  |..ZJ.8..T?.....@|
 00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
-00000060  c2 6e c5 13 4d 35 ab b1  de e2 1b a6 6f 0e 40 64  |.n..M5......o.@d|
-00000070  cc 67 bf 0d b1 e4 fe 48  c4 01 35 6a 94 50 17 7a  |.g.....H..5j.P.z|
-00000080  b3 6b f6 6b 2a 24 c9 b9  7b b0 42 0e 71 4d c2 da  |.k.k*$..{.B.qM..|
+00000060  9b ba e0 16 99 1b 8b c5  aa 9d 61 83 95 5a ae 83  |..........a..Z..|
+00000070  f8 96 17 1b 1c 3c e3 45  0a 23 0a ff b7 80 a0 05  |.....<.E.#......|
+00000080  68 da 2b 60 00 57 5a f1  58 96 fe 14 5e 19 fb 6b  |h.+`.WZ.X...^..k|
+00000090  15 03 03 00 30 00 00 00  00 00 00 00 00 00 00 00  |....0...........|
+000000a0  00 00 00 00 00 a7 ff 43  b8 b7 96 6b 94 bc 99 ce  |.......C...k....|
+000000b0  77 64 86 ba e0 90 49 d0  b4 8c d8 ca 98 3d 8f ff  |wd....I......=..|
+000000c0  53 f2 0b 1f e7                                    |S....|
index aa4cfe1261ca663fcb43519ca0b529000e39da71..3587dbed6c07b635c3cdb2675cb65eb7831fae34 100644 (file)
@@ -1,11 +1,11 @@
 >>> Flow 1 (client to server)
-00000000  16 03 01 00 5d 01 00 00  59 03 03 ed f9 4a 41 31  |....]...Y....JA1|
-00000010  20 6a df af 85 92 37 a1  38 81 ed 3c 1a 7e d2 31  | j....7.8..<.~.1|
-00000020  80 5b 68 87 b6 72 43 8e  c0 f0 dd 00 00 04 00 2f  |.[h..rC......../|
-00000030  00 ff 01 00 00 2c 00 0d  00 20 00 1e 06 01 06 02  |.....,... ......|
-00000040  06 03 05 01 05 02 05 03  04 01 04 02 04 03 03 01  |................|
-00000050  03 02 03 03 02 01 02 02  02 03 00 16 00 00 00 17  |................|
-00000060  00 00                                             |..|
+00000000  16 03 01 00 6b 01 00 00  67 03 03 47 66 fd 67 73  |....k...g..Gf.gs|
+00000010  ca ca cb c2 64 5f aa 0f  93 f1 0e 82 d8 3d 84 bb  |....d_.......=..|
+00000020  c1 7e 31 e2 39 ae 63 e9  ef 40 13 00 00 04 00 2f  |.~1.9.c..@...../|
+00000030  00 ff 01 00 00 3a 00 00  00 0e 00 0c 00 00 09 31  |.....:.........1|
+00000040  32 37 2e 30 2e 30 2e 31  00 0b 00 04 03 00 01 02  |27.0.0.1........|
+00000050  00 0a 00 0c 00 0a 00 1d  00 17 00 1e 00 19 00 18  |................|
+00000060  00 16 00 00 00 17 00 00  00 0d 00 04 00 02 08 04  |................|
 >>> Flow 2 (server to client)
 00000000  16 03 03 00 31 02 00 00  2d 03 03 00 00 00 00 00  |....1...-.......|
 00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 00000260  f1 6c 04 ed 73 bb b3 43  77 8d 0c 1c f1 0f a1 d8  |.l..s..Cw.......|
 00000270  40 83 61 c9 4c 72 2b 9d  ae db 46 06 06 4d f4 c1  |@.a.Lr+...F..M..|
 00000280  b3 3e c0 d1 bd 42 d4 db  fe 3d 13 60 84 5c 21 d3  |.>...B...=.`.\!.|
-00000290  3b e9 fa e7 16 03 03 00  1b 0d 00 00 17 02 01 40  |;..............@|
-000002a0  00 10 04 01 04 03 05 01  05 03 06 01 06 03 02 01  |................|
-000002b0  02 03 00 00 16 03 03 00  04 0e 00 00 00           |.............|
+00000290  3b e9 fa e7 16 03 03 00  21 0d 00 00 1d 02 01 40  |;.......!......@|
+000002a0  00 16 08 04 08 05 08 06  04 01 04 03 05 01 05 03  |................|
+000002b0  06 01 06 03 02 01 02 03  00 00 16 03 03 00 04 0e  |................|
+000002c0  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.......\.|
 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 90 96 a6  |.5..............|
-00000210  45 0a 8d 6a 38 86 3a f0  0a cb d6 bb db 9b 27 a6  |E..j8.:.......'.|
-00000220  17 ca 02 6d 67 3c 56 80  74 9b 06 6e 62 58 55 43  |...mg<V.t..nbXUC|
-00000230  7e 7d 08 be cb 46 c4 60  45 e5 1c 3c 7d 89 bd 0d  |~}...F.`E..<}...|
-00000240  c1 0a 7f d9 7c c2 c1 c6  c5 62 83 9e 88 a3 20 1c  |....|....b.... .|
-00000250  d5 d6 32 b5 f8 4a 44 d5  35 e5 45 c1 68 c3 99 d3  |..2..JD.5.E.h...|
-00000260  f3 7b 0b 46 0a 8d 02 81  ca bb 0c ce b1 53 f0 0a  |.{.F.........S..|
-00000270  10 b6 92 b3 b9 2a d5 8d  9d 68 94 54 11 37 69 12  |.....*...h.T.7i.|
-00000280  54 21 8a 95 a2 72 a8 1c  1a 21 74 9c 6f 16 03 03  |T!...r...!t.o...|
-00000290  00 88 0f 00 00 84 04 01  00 80 b9 cf 9f 51 c7 0b  |.............Q..|
-000002a0  5c b0 2f ce 33 b0 d9 b6  c6 ae 47 29 09 8c 44 51  |\./.3.....G)..DQ|
-000002b0  40 86 04 66 d2 13 ff 22  f4 97 c6 c2 a0 1f 98 8e  |@..f..."........|
-000002c0  a6 6e 9f 61 b1 fe ce 0d  82 43 42 06 9b 47 09 48  |.n.a.....CB..G.H|
-000002d0  a4 94 40 9f d3 2c 0f 22  f8 01 53 f0 a7 2a fd 86  |..@..,."..S..*..|
-000002e0  0b a2 b8 d7 b0 ee 0c a8  b7 c8 61 80 85 28 73 0b  |..........a..(s.|
-000002f0  c0 8f 8a 2c 53 cc 2c 8a  5b 72 5a a6 9e 66 ea 96  |...,S.,.[rZ..f..|
-00000300  7d e2 14 47 7e 17 a9 2b  d7 27 ca f7 21 ff 28 57  |}..G~..+.'..!.(W|
-00000310  fa 20 88 99 db 4f 91 0a  be 07 14 03 03 00 01 01  |. ...O..........|
-00000320  16 03 03 00 40 af 85 82  66 bd 2c 4b c8 17 4c d8  |....@...f.,K..L.|
-00000330  69 6d 62 37 88 70 cf b2  31 f5 46 90 a6 fa ac 3d  |imb7.p..1.F....=|
-00000340  02 1e 74 bb 24 83 35 34  ed 3f 7c ba d9 03 e1 4a  |..t.$.54.?|....J|
-00000350  cf d5 16 aa 56 47 47 27  0e 68 de 12 bd 56 6e df  |....VGG'.h...Vn.|
-00000360  fc 7e f1 34 ad                                    |.~.4.|
+00000200  e5 35 16 03 03 00 86 10  00 00 82 00 80 6f 78 9e  |.5...........ox.|
+00000210  61 7a 8a 81 b2 fb 64 12  df 19 a0 fe 51 4f 9f cc  |az....d.....QO..|
+00000220  a5 11 94 21 64 1f 35 55  9c d4 5a cd 09 3c cc 09  |...!d.5U..Z..<..|
+00000230  f3 bf e8 4f 22 18 9a a2  32 54 dc 33 aa 64 c5 28  |...O"...2T.3.d.(|
+00000240  46 6b 04 7f 00 a5 38 47  f2 73 cc c6 bf 86 a7 5c  |Fk....8G.s.....\|
+00000250  b5 15 f9 b7 29 29 47 19  4e ba 95 4c dd 34 47 45  |....))G.N..L.4GE|
+00000260  fe e6 f2 49 7a 47 59 32  8f 82 0c fc 74 e8 65 3b  |...IzGY2....t.e;|
+00000270  89 cc eb 17 d6 7b 54 a1  39 14 3c 07 89 9d 16 56  |.....{T.9.<....V|
+00000280  3e 5a 13 74 31 83 2e 43  77 c2 4e eb 43 16 03 03  |>Z.t1..Cw.N.C...|
+00000290  00 88 0f 00 00 84 08 04  00 80 16 fb 7d 3e 8e 60  |............}>.`|
+000002a0  00 c6 18 1c 4f 3e 3d 46  48 f9 ed f7 a9 74 91 17  |....O>=FH....t..|
+000002b0  49 0f 57 be 34 45 56 ef  25 90 54 8e a2 b5 fc 7a  |I.W.4EV.%.T....z|
+000002c0  62 6f c1 fc e4 b8 88 49  61 4c da 38 91 a8 45 a6  |bo.....IaL.8..E.|
+000002d0  d5 3a bd c6 a5 6e f5 ab  5c d6 1a eb 0b df 7c e2  |.:...n..\.....|.|
+000002e0  77 43 35 85 6a 91 f9 7e  20 85 5c e2 5e 95 4c b9  |wC5.j..~ .\.^.L.|
+000002f0  82 d7 58 a4 c1 dc 48 f9  37 0c 81 09 b4 da 8b 36  |..X...H.7......6|
+00000300  06 7f 73 c1 16 2d 33 e6  4a 7d 16 b2 c5 af ce 76  |..s..-3.J}.....v|
+00000310  8f 9a 7e 7f 1b 2a 2c d2  60 01 14 03 03 00 01 01  |..~..*,.`.......|
+00000320  16 03 03 00 40 63 f7 3c  b7 a5 b0 97 98 3a 53 c1  |....@c.<.....:S.|
+00000330  1f f5 f9 a1 1a 2f 30 4d  99 be 36 51 0a b3 49 8e  |...../0M..6Q..I.|
+00000340  8d 24 ed 6f 37 11 69 f9  86 58 5e f8 1d e1 4a f4  |.$.o7.i..X^...J.|
+00000350  2c 46 24 ed 72 a3 09 53  5e 8c 3c ea dc 3a c0 ea  |,F$.r..S^.<..:..|
+00000360  f3 19 c5 27 ff                                    |...'.|
 >>> 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 52 d1 34 99 c9  |...........R.4..|
-00000020  60 18 c3 99 36 2d c5 c2  14 ae f4 e5 10 e1 6f af  |`...6-........o.|
-00000030  70 3b c3 d6 d1 81 ee da  fe 6e a5 96 81 53 cf 9a  |p;.......n...S..|
-00000040  cc c2 ac 98 95 0c 75 81  ac 55 6b 17 03 03 00 40  |......u..Uk....@|
+00000010  00 00 00 00 00 00 00 00  00 00 00 5d d7 d8 ca c3  |...........]....|
+00000020  2e 0a ef e0 5b 27 ec ae  af 3d 40 33 17 69 73 2d  |....['...=@3.is-|
+00000030  86 4c cc c8 63 cd 00 eb  9e 82 96 d7 07 e6 bd 8e  |.L..c...........|
+00000040  bb 60 59 d2 54 20 eb c3  c1 12 e3 17 03 03 00 40  |.`Y.T .........@|
 00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
-00000060  46 ff 8d a9 0d 65 e1 82  48 4c 31 ec 60 24 61 52  |F....e..HL1.`$aR|
-00000070  33 41 b1 7b 6a a8 96 b3  59 eb c9 2c f8 f2 4d 15  |3A.{j...Y..,..M.|
-00000080  83 3e 99 c4 08 89 24 e3  de 4a bf 54 f4 eb a3 2a  |.>....$..J.T...*|
+00000060  66 76 a3 75 1a 79 7a 21  e9 da 94 77 7f 6d ac 4a  |fv.u.yz!...w.m.J|
+00000070  b3 b1 e1 e4 93 7d 71 20  09 bd cf bc f1 71 7a c3  |.....}q .....qz.|
+00000080  50 ec 2a af 02 28 c4 45  e9 a8 cd 12 17 36 13 6c  |P.*..(.E.....6.l|
 00000090  15 03 03 00 30 00 00 00  00 00 00 00 00 00 00 00  |....0...........|
-000000a0  00 00 00 00 00 dc f3 c7  14 24 b7 a8 fa f4 78 6f  |.........$....xo|
-000000b0  7a 0c bd ad 14 d5 83 f7  97 30 58 0a a8 b5 76 88  |z........0X...v.|
-000000c0  60 00 3d 4c 1a                                    |`.=L.|
+000000a0  00 00 00 00 00 f8 bd d2  f8 ce ae bc d9 11 2c fb  |..............,.|
+000000b0  23 69 5d 9b dd 5d 8a 25  9c 87 c4 29 0d 07 7f a3  |#i]..].%...)....|
+000000c0  4d 32 0a fa 33                                    |M2..3|
diff --git a/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given b/src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndPKCS1v15Given
new file mode 100644 (file)
index 0000000..5c251ab
--- /dev/null
@@ -0,0 +1,124 @@
+>>> Flow 1 (client to server)
+00000000  16 03 01 00 6b 01 00 00  67 03 03 b8 d3 8d 20 be  |....k...g..... .|
+00000010  4b 49 3f 28 03 a5 43 26  0c 4b 6e d0 ff 64 b4 a7  |KI?(..C&.Kn..d..|
+00000020  44 d6 10 74 25 76 7a 17  b9 be 34 00 00 04 00 2f  |D..t%vz...4..../|
+00000030  00 ff 01 00 00 3a 00 00  00 0e 00 0c 00 00 09 31  |.....:.........1|
+00000040  32 37 2e 30 2e 30 2e 31  00 0b 00 04 03 00 01 02  |27.0.0.1........|
+00000050  00 0a 00 0c 00 0a 00 1d  00 17 00 1e 00 19 00 18  |................|
+00000060  00 16 00 00 00 17 00 00  00 0d 00 04 00 02 04 01  |................|
+>>> Flow 2 (server to client)
+00000000  16 03 03 00 31 02 00 00  2d 03 03 00 00 00 00 00  |....1...-.......|
+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 00 00 2f 00 00  |............./..|
+00000030  05 ff 01 00 01 00 16 03  03 02 59 0b 00 02 55 00  |..........Y...U.|
+00000040  02 52 00 02 4f 30 82 02  4b 30 82 01 b4 a0 03 02  |.R..O0..K0......|
+00000050  01 02 02 09 00 e8 f0 9d  3f e2 5b ea a6 30 0d 06  |........?.[..0..|
+00000060  09 2a 86 48 86 f7 0d 01  01 0b 05 00 30 1f 31 0b  |.*.H........0.1.|
+00000070  30 09 06 03 55 04 0a 13  02 47 6f 31 10 30 0e 06  |0...U....Go1.0..|
+00000080  03 55 04 03 13 07 47 6f  20 52 6f 6f 74 30 1e 17  |.U....Go Root0..|
+00000090  0d 31 36 30 31 30 31 30  30 30 30 30 30 5a 17 0d  |.160101000000Z..|
+000000a0  32 35 30 31 30 31 30 30  30 30 30 30 5a 30 1a 31  |250101000000Z0.1|
+000000b0  0b 30 09 06 03 55 04 0a  13 02 47 6f 31 0b 30 09  |.0...U....Go1.0.|
+000000c0  06 03 55 04 03 13 02 47  6f 30 81 9f 30 0d 06 09  |..U....Go0..0...|
+000000d0  2a 86 48 86 f7 0d 01 01  01 05 00 03 81 8d 00 30  |*.H............0|
+000000e0  81 89 02 81 81 00 db 46  7d 93 2e 12 27 06 48 bc  |.......F}...'.H.|
+000000f0  06 28 21 ab 7e c4 b6 a2  5d fe 1e 52 45 88 7a 36  |.(!.~...]..RE.z6|
+00000100  47 a5 08 0d 92 42 5b c2  81 c0 be 97 79 98 40 fb  |G....B[.....y.@.|
+00000110  4f 6d 14 fd 2b 13 8b c2  a5 2e 67 d8 d4 09 9e d6  |Om..+.....g.....|
+00000120  22 38 b7 4a 0b 74 73 2b  c2 34 f1 d1 93 e5 96 d9  |"8.J.ts+.4......|
+00000130  74 7b f3 58 9f 6c 61 3c  c0 b0 41 d4 d9 2b 2b 24  |t{.X.la<..A..++$|
+00000140  23 77 5b 1c 3b bd 75 5d  ce 20 54 cf a1 63 87 1d  |#w[.;.u]. T..c..|
+00000150  1e 24 c4 f3 1d 1a 50 8b  aa b6 14 43 ed 97 a7 75  |.$....P....C...u|
+00000160  62 f4 14 c8 52 d7 02 03  01 00 01 a3 81 93 30 81  |b...R.........0.|
+00000170  90 30 0e 06 03 55 1d 0f  01 01 ff 04 04 03 02 05  |.0...U..........|
+00000180  a0 30 1d 06 03 55 1d 25  04 16 30 14 06 08 2b 06  |.0...U.%..0...+.|
+00000190  01 05 05 07 03 01 06 08  2b 06 01 05 05 07 03 02  |........+.......|
+000001a0  30 0c 06 03 55 1d 13 01  01 ff 04 02 30 00 30 19  |0...U.......0.0.|
+000001b0  06 03 55 1d 0e 04 12 04  10 9f 91 16 1f 43 43 3e  |..U..........CC>|
+000001c0  49 a6 de 6d b6 80 d7 9f  60 30 1b 06 03 55 1d 23  |I..m....`0...U.#|
+000001d0  04 14 30 12 80 10 48 13  49 4d 13 7e 16 31 bb a3  |..0...H.IM.~.1..|
+000001e0  01 d5 ac ab 6e 7b 30 19  06 03 55 1d 11 04 12 30  |....n{0...U....0|
+000001f0  10 82 0e 65 78 61 6d 70  6c 65 2e 67 6f 6c 61 6e  |...example.golan|
+00000200  67 30 0d 06 09 2a 86 48  86 f7 0d 01 01 0b 05 00  |g0...*.H........|
+00000210  03 81 81 00 9d 30 cc 40  2b 5b 50 a0 61 cb ba e5  |.....0.@+[P.a...|
+00000220  53 58 e1 ed 83 28 a9 58  1a a9 38 a4 95 a1 ac 31  |SX...(.X..8....1|
+00000230  5a 1a 84 66 3d 43 d3 2d  d9 0b f2 97 df d3 20 64  |Z..f=C.-...... d|
+00000240  38 92 24 3a 00 bc cf 9c  7d b7 40 20 01 5f aa d3  |8.$:....}.@ ._..|
+00000250  16 61 09 a2 76 fd 13 c3  cc e1 0c 5c ee b1 87 82  |.a..v......\....|
+00000260  f1 6c 04 ed 73 bb b3 43  77 8d 0c 1c f1 0f a1 d8  |.l..s..Cw.......|
+00000270  40 83 61 c9 4c 72 2b 9d  ae db 46 06 06 4d f4 c1  |@.a.Lr+...F..M..|
+00000280  b3 3e c0 d1 bd 42 d4 db  fe 3d 13 60 84 5c 21 d3  |.>...B...=.`.\!.|
+00000290  3b e9 fa e7 16 03 03 00  21 0d 00 00 1d 02 01 40  |;.......!......@|
+000002a0  00 16 08 04 08 05 08 06  04 01 04 03 05 01 05 03  |................|
+000002b0  06 01 06 03 02 01 02 03  00 00 16 03 03 00 04 0e  |................|
+000002c0  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.......\.|
+00000020  c1 89 65 83 55 6f dc 0b  c9 b9 93 9f e9 bc 30 0d  |..e.Uo........0.|
+00000030  06 09 2a 86 48 86 f7 0d  01 01 0b 05 00 30 12 31  |..*.H........0.1|
+00000040  10 30 0e 06 03 55 04 0a  13 07 41 63 6d 65 20 43  |.0...U....Acme C|
+00000050  6f 30 1e 17 0d 31 36 30  38 31 37 32 31 35 32 33  |o0...16081721523|
+00000060  31 5a 17 0d 31 37 30 38  31 37 32 31 35 32 33 31  |1Z..170817215231|
+00000070  5a 30 12 31 10 30 0e 06  03 55 04 0a 13 07 41 63  |Z0.1.0...U....Ac|
+00000080  6d 65 20 43 6f 30 81 9f  30 0d 06 09 2a 86 48 86  |me Co0..0...*.H.|
+00000090  f7 0d 01 01 01 05 00 03  81 8d 00 30 81 89 02 81  |...........0....|
+000000a0  81 00 ba 6f aa 86 bd cf  bf 9f f2 ef 5c 94 60 78  |...o........\.`x|
+000000b0  6f e8 13 f2 d1 96 6f cd  d9 32 6e 22 37 ce 41 f9  |o.....o..2n"7.A.|
+000000c0  ca 5d 29 ac e1 27 da 61  a2 ee 81 cb 10 c7 df 34  |.])..'.a.......4|
+000000d0  58 95 86 e9 3d 19 e6 5c  27 73 60 c8 8d 78 02 f4  |X...=..\'s`..x..|
+000000e0  1d a4 98 09 a3 19 70 69  3c 25 62 66 2a ab 22 23  |......pi<%bf*."#|
+000000f0  c5 7b 85 38 4f 2e 09 73  32 a7 bd 3e 9b ad ca 84  |.{.8O..s2..>....|
+00000100  07 e6 0f 3a ff 77 c5 9d  41 85 00 8a b6 9b ee b0  |...:.w..A.......|
+00000110  a4 3f 2d 4c 4c e6 42 3e  bb 51 c8 dd 48 54 f4 0c  |.?-LL.B>.Q..HT..|
+00000120  8e 47 02 03 01 00 01 a3  46 30 44 30 0e 06 03 55  |.G......F0D0...U|
+00000130  1d 0f 01 01 ff 04 04 03  02 05 a0 30 13 06 03 55  |...........0...U|
+00000140  1d 25 04 0c 30 0a 06 08  2b 06 01 05 05 07 03 01  |.%..0...+.......|
+00000150  30 0c 06 03 55 1d 13 01  01 ff 04 02 30 00 30 0f  |0...U.......0.0.|
+00000160  06 03 55 1d 11 04 08 30  06 87 04 7f 00 00 01 30  |..U....0.......0|
+00000170  0d 06 09 2a 86 48 86 f7  0d 01 01 0b 05 00 03 81  |...*.H..........|
+00000180  81 00 46 ab 44 a2 fb 28  54 f8 5a 67 f8 62 94 f1  |..F.D..(T.Zg.b..|
+00000190  9a b2 18 9e f2 b1 de 1d  7e 6f 76 95 a9 ba e7 5d  |........~ov....]|
+000001a0  a8 16 6c 9c f7 09 d3 37  e4 4b 2b 36 7c 01 ad 41  |..l....7.K+6|..A|
+000001b0  d2 32 d8 c3 d2 93 f9 10  6b 8e 95 b9 2c 17 8a a3  |.2......k...,...|
+000001c0  44 48 bc 59 13 83 16 04  88 a4 81 5c 25 0d 98 0c  |DH.Y.......\%...|
+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 0f a4 8a  |.5..............|
+00000210  d7 0d 16 a9 3f 80 f9 41  ea 98 7d 1d 5b ea 34 86  |....?..A..}.[.4.|
+00000220  e0 ca 30 1a 76 cf ef c9  95 e6 92 e1 69 ab de d9  |..0.v.......i...|
+00000230  43 bf d4 28 c5 cb 5a 82  15 c2 d9 72 3f d7 e1 63  |C..(..Z....r?..c|
+00000240  6b 60 a4 88 74 b8 bb 7f  e2 9d 2b 33 76 56 a1 4b  |k`..t.....+3vV.K|
+00000250  fa 50 34 6f 8c f7 27 60  d6 1b a4 24 86 4e e1 17  |.P4o..'`...$.N..|
+00000260  44 53 a5 a4 48 aa b5 f3  d7 25 9f ed d9 c5 30 a9  |DS..H....%....0.|
+00000270  46 70 df d5 07 83 19 14  83 ab fa c4 92 82 e5 8d  |Fp..............|
+00000280  38 bd 50 d7 4f 77 ef 46  85 19 40 cf f3 16 03 03  |8.P.Ow.F..@.....|
+00000290  00 88 0f 00 00 84 04 01  00 80 70 a0 ce 21 16 95  |..........p..!..|
+000002a0  e4 3c c8 de 62 3e 13 72  fc a7 8f 49 a4 c3 75 b9  |.<..b>.r...I..u.|
+000002b0  19 68 46 0a 7c 13 11 06  65 18 e2 00 be 4e 66 68  |.hF.|...e....Nfh|
+000002c0  ba 16 6a 2e bf c5 33 d1  be a4 52 10 48 74 88 c9  |..j...3...R.Ht..|
+000002d0  14 62 f6 8b 0d 4e 07 64  32 1b 3e d2 67 2f 8d 0b  |.b...N.d2.>.g/..|
+000002e0  df 02 b2 82 3a e6 e3 32  db fa fc 09 1e 9b 59 3b  |....:..2......Y;|
+000002f0  38 31 1e 60 d2 70 fa 9c  26 eb 2b 5f d2 f5 58 62  |81.`.p..&.+_..Xb|
+00000300  68 c9 47 b6 d2 13 01 4b  de 77 1b 21 6b bb b5 79  |h.G....K.w.!k..y|
+00000310  6f af 07 79 2b 20 c4 a0  d4 8d 14 03 03 00 01 01  |o..y+ ..........|
+00000320  16 03 03 00 40 3b ab 42  55 9c b2 e8 e2 3c 3b 78  |....@;.BU....<;x|
+00000330  08 0f 75 97 36 9c e4 9f  c8 22 f0 58 3b 0e 04 41  |..u.6....".X;..A|
+00000340  f8 29 72 23 d0 55 77 fc  a4 98 18 c9 fb 15 cf 8d  |.)r#.Uw.........|
+00000350  e6 8b b8 6c 2f eb 45 91  53 c3 61 88 c6 2e d0 3a  |...l/.E.S.a....:|
+00000360  26 ca 96 c1 37                                    |&...7|
+>>> 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 8e 8e d0 53 67  |..............Sg|
+00000020  03 56 f9 c9 59 fd 12 0b  bd 5f 0b 4b cb 50 f7 81  |.V..Y...._.K.P..|
+00000030  f5 af 63 42 6e 77 fb ba  4e cc 8e 49 9a 1e d2 09  |..cBnw..N..I....|
+00000040  a0 b4 41 a9 c8 53 8a fa  17 cd 09 17 03 03 00 40  |..A..S.........@|
+00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
+00000060  b1 b3 77 df 51 aa 72 4e  a5 01 c2 83 fe ee 50 e3  |..w.Q.rN......P.|
+00000070  2b 1d e1 38 85 03 6a b8  2d b5 01 48 05 21 3a cd  |+..8..j.-..H.!:.|
+00000080  27 5b 94 0f 90 b3 b1 7a  0f 3e e8 0d e0 0b 5e 2b  |'[.....z.>....^+|
+00000090  15 03 03 00 30 00 00 00  00 00 00 00 00 00 00 00  |....0...........|
+000000a0  00 00 00 00 00 ed ec 1c  fa 26 aa 1e 38 03 cc 66  |.........&..8..f|
+000000b0  7a 4a e6 d4 b1 f7 ac 09  ef e4 94 65 38 e5 f8 af  |zJ.........e8...|
+000000c0  77 7f a9 34 36                                    |w..46|
index 924ef9df7e5f7224b0d9a503a8d4ccbf3c271256..3aad50ace6fde69410b0c285bd6cd0ce8bf6dde0 100644 (file)
@@ -1,11 +1,14 @@
 >>> Flow 1 (client to server)
-00000000  16 03 01 00 5d 01 00 00  59 03 03 ee 51 24 51 2c  |....]...Y...Q$Q,|
-00000010  0b 9f 26 d2 7c e0 8b 8a  9b a8 d3 a9 a7 59 05 a3  |..&.|........Y..|
-00000020  67 92 fc 3f cb e8 cd ba  62 b7 19 00 00 04 00 2f  |g..?....b....../|
-00000030  00 ff 01 00 00 2c 00 0d  00 20 00 1e 06 01 06 02  |.....,... ......|
-00000040  06 03 05 01 05 02 05 03  04 01 04 02 04 03 03 01  |................|
-00000050  03 02 03 03 02 01 02 02  02 03 00 16 00 00 00 17  |................|
-00000060  00 00                                             |..|
+00000000  16 03 01 00 97 01 00 00  93 03 03 f3 41 3d 06 d9  |............A=..|
+00000010  97 bb f5 12 3f 23 ec 16  e0 5a 55 3d f2 5b 7d df  |....?#...ZU=.[}.|
+00000020  cf bf 96 d7 c2 cc 20 e9  9b 4c 5a 00 00 04 00 2f  |...... ..LZ..../|
+00000030  00 ff 01 00 00 66 00 00  00 0e 00 0c 00 00 09 31  |.....f.........1|
+00000040  32 37 2e 30 2e 30 2e 31  00 0b 00 04 03 00 01 02  |27.0.0.1........|
+00000050  00 0a 00 0c 00 0a 00 1d  00 17 00 1e 00 19 00 18  |................|
+00000060  00 16 00 00 00 17 00 00  00 0d 00 30 00 2e 04 03  |...........0....|
+00000070  05 03 06 03 08 07 08 08  08 09 08 0a 08 0b 08 04  |................|
+00000080  08 05 08 06 04 01 05 01  06 01 03 03 02 03 03 01  |................|
+00000090  02 01 03 02 02 02 04 02  05 02 06 02              |............|
 >>> Flow 2 (server to client)
 00000000  16 03 03 00 31 02 00 00  2d 03 03 00 00 00 00 00  |....1...-.......|
 00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
 00000260  f1 6c 04 ed 73 bb b3 43  77 8d 0c 1c f1 0f a1 d8  |.l..s..Cw.......|
 00000270  40 83 61 c9 4c 72 2b 9d  ae db 46 06 06 4d f4 c1  |@.a.Lr+...F..M..|
 00000280  b3 3e c0 d1 bd 42 d4 db  fe 3d 13 60 84 5c 21 d3  |.>...B...=.`.\!.|
-00000290  3b e9 fa e7 16 03 03 00  1b 0d 00 00 17 02 01 40  |;..............@|
-000002a0  00 10 04 01 04 03 05 01  05 03 06 01 06 03 02 01  |................|
-000002b0  02 03 00 00 16 03 03 00  04 0e 00 00 00           |.............|
+00000290  3b e9 fa e7 16 03 03 00  21 0d 00 00 1d 02 01 40  |;.......!......@|
+000002a0  00 16 08 04 08 05 08 06  04 01 04 03 05 01 05 03  |................|
+000002b0  06 01 06 03 02 01 02 03  00 00 16 03 03 00 04 0e  |................|
+000002c0  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 0b  e8 d9 4f fa 7d 63 8c 89  |..........O.}c..|
-00000020  b7 c8 73 76 9b fa 7f b6  c3 57 f2 54 75 90 90 ec  |..sv.....W.Tu...|
-00000030  9e 8d 08 ae 3f dc 6e fa  df 2a 32 2b 35 e9 03 f7  |....?.n..*2+5...|
-00000040  c5 d1 7c f5 20 1f 77 0a  24 b8 4e 7e 11 fe b0 87  |..|. .w.$.N~....|
-00000050  db f6 ff 92 1a fc 6a 8d  48 7e ac bc 95 99 4a f8  |......j.H~....J.|
-00000060  1b cc 07 42 48 0c 25 d2  47 82 59 14 76 84 d3 e9  |...BH.%.G.Y.v...|
-00000070  d6 0a 5a b1 0a c6 31 3e  80 e2 29 c8 a6 31 dd 64  |..Z...1>..)..1.d|
-00000080  96 7a f5 ee d9 0f 03 b5  93 05 b8 a2 04 66 ff fc  |.z...........f..|
-00000090  f5 2f e7 6c b9 2d 98 14  03 03 00 01 01 16 03 03  |./.l.-..........|
-000000a0  00 40 f2 d2 da 46 89 c4  17 25 b8 33 d6 38 46 5c  |.@...F...%.3.8F\|
-000000b0  80 a0 eb cf fd 5a 27 f3  0b 16 e1 29 bd b8 46 28  |.....Z'....)..F(|
-000000c0  11 d3 cc 12 12 96 9b b8  31 52 50 73 81 57 aa 29  |........1RPs.W.)|
-000000d0  5c 66 da 39 2d f8 cb 15  e0 01 86 b5 0b d5 1f 56  |\f.9-..........V|
-000000e0  23 a0                                             |#.|
+00000010  86 10 00 00 82 00 80 20  42 c0 a5 c6 81 fa 13 e7  |....... B.......|
+00000020  a1 cc 81 01 43 75 a0 53  a9 d4 a6 6b b6 39 e0 68  |....Cu.S...k.9.h|
+00000030  ab 3d 7c f3 90 14 ba 37  8d 43 d1 95 ae b5 bc 78  |.=|....7.C.....x|
+00000040  c9 b0 90 82 e9 d8 15 29  f0 53 df 71 e2 b5 84 fa  |.......).S.q....|
+00000050  95 6b 02 28 8f ec c9 80  ff c8 29 14 e3 4b da 11  |.k.(......)..K..|
+00000060  04 3f b3 69 cd 99 a3 41  fd 1f 6f 8d f8 08 32 e1  |.?.i...A..o...2.|
+00000070  56 f8 25 8e 2f b4 e0 6e  61 2a 07 ba 7e ab 65 46  |V.%./..na*..~.eF|
+00000080  1b f6 77 da b6 9b 1d 0f  4a cf bf 81 04 b1 6f 7e  |..w.....J.....o~|
+00000090  0d 72 22 3c 9a f3 69 14  03 03 00 01 01 16 03 03  |.r"<..i.........|
+000000a0  00 40 2a a8 99 e7 90 7c  45 32 c7 5f c9 8f 4a 0d  |.@*....|E2._..J.|
+000000b0  cf 7b 90 71 43 68 76 f0  69 de 72 8a 74 b0 26 ee  |.{.qChv.i.r.t.&.|
+000000c0  92 4c 7f 0b 84 25 78 94  36 59 0b 32 3e c4 6a d2  |.L...%x.6Y.2>.j.|
+000000d0  28 6f f8 5c ab 94 1b e5  95 2d 78 68 08 44 13 9a  |(o.\.....-xh.D..|
+000000e0  9a 3d                                             |.=|
 >>> 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 65 58 5e 2f 25  |...........eX^/%|
-00000020  67 71 87 7d a9 75 73 80  6b 03 76 63 a8 1f 80 06  |gq.}.us.k.vc....|
-00000030  0f 78 b0 75 20 9e ab 36  59 d7 f9 88 22 c1 d1 be  |.x.u ..6Y..."...|
-00000040  c9 d2 c1 13 20 6a 75 07  95 00 ca 17 03 03 00 40  |.... ju........@|
+00000010  00 00 00 00 00 00 00 00  00 00 00 58 dd c1 b3 2e  |...........X....|
+00000020  88 70 3e a3 39 e2 fd 31  9e 28 b0 10 54 aa ac 50  |.p>.9..1.(..T..P|
+00000030  50 26 3a 73 b4 85 11 18  ea 1a 98 73 c4 52 0a 66  |P&:s.......s.R.f|
+00000040  c6 c7 47 05 8a 79 b8 e1  d4 89 0d 17 03 03 00 40  |..G..y.........@|
 00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
-00000060  25 31 9c 1d 48 d9 c3 e4  59 3a 3a e2 85 3a 78 27  |%1..H...Y::..:x'|
-00000070  85 69 63 8e 3c 32 b2 03  65 3f 7a 7f 3b fe b1 83  |.ic.<2..e?z.;...|
-00000080  f6 64 a1 3e 83 55 7b 39  2a 01 86 de 79 a3 55 b1  |.d.>.U{9*...y.U.|
+00000060  ac d4 c6 97 fe 43 18 5d  e2 ce 80 a0 4c b4 82 96  |.....C.]....L...|
+00000070  fe 7c 25 05 a5 2e 31 d7  39 34 7c dc d6 bd 54 86  |.|%...1.94|...T.|
+00000080  34 01 aa e9 65 20 3b 5d  35 03 40 68 f5 cb ec 8c  |4...e ;]5.@h....|
 00000090  15 03 03 00 30 00 00 00  00 00 00 00 00 00 00 00  |....0...........|
-000000a0  00 00 00 00 00 40 26 48  75 e5 e0 83 c0 1a 66 5a  |.....@&Hu.....fZ|
-000000b0  5f b2 11 a6 b7 a3 4d f2  ca 49 6a f2 48 a1 ee 99  |_.....M..Ij.H...|
-000000c0  ff 0d c1 f7 4f                                    |....O|
+000000a0  00 00 00 00 00 9e 32 db  a8 b6 e5 f2 f9 f7 ca 62  |......2........b|
+000000b0  b8 43 a1 04 e6 68 9e d3  0a e3 30 08 f1 3a 67 f3  |.C...h....0..:g.|
+000000c0  a3 12 a0 7c 79                                    |...|y|
diff --git a/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPKCS1v15 b/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPKCS1v15
new file mode 100644 (file)
index 0000000..90b1bb7
--- /dev/null
@@ -0,0 +1,81 @@
+>>> Flow 1 (client to server)
+00000000  16 03 01 00 91 01 00 00  8d 03 03 ec 99 6a cd 52  |.............j.R|
+00000010  bd ce 27 73 64 a2 7e 60  3a 82 ab 1d e9 71 a2 ca  |..'sd.~`:....q..|
+00000020  a5 0e 55 d0 0b 37 3b c7  b1 85 2a 00 00 2a c0 30  |..U..7;...*..*.0|
+00000030  00 9f cc a8 cc aa c0 2f  00 9e c0 28 00 6b c0 27  |......./...(.k.'|
+00000040  00 67 c0 14 00 39 c0 13  00 33 00 9d 00 9c 00 3d  |.g...9...3.....=|
+00000050  00 3c 00 35 00 2f 00 ff  01 00 00 3a 00 00 00 0e  |.<.5./.....:....|
+00000060  00 0c 00 00 09 31 32 37  2e 30 2e 30 2e 31 00 0b  |.....127.0.0.1..|
+00000070  00 04 03 00 01 02 00 0a  00 0c 00 0a 00 1d 00 17  |................|
+00000080  00 1e 00 19 00 18 00 16  00 00 00 17 00 00 00 0d  |................|
+00000090  00 04 00 02 04 01                                 |......|
+>>> Flow 2 (server to client)
+00000000  16 03 03 00 31 02 00 00  2d 03 03 00 00 00 00 00  |....1...-.......|
+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 00 c0 30 00 00  |.............0..|
+00000030  05 ff 01 00 01 00 16 03  03 02 59 0b 00 02 55 00  |..........Y...U.|
+00000040  02 52 00 02 4f 30 82 02  4b 30 82 01 b4 a0 03 02  |.R..O0..K0......|
+00000050  01 02 02 09 00 e8 f0 9d  3f e2 5b ea a6 30 0d 06  |........?.[..0..|
+00000060  09 2a 86 48 86 f7 0d 01  01 0b 05 00 30 1f 31 0b  |.*.H........0.1.|
+00000070  30 09 06 03 55 04 0a 13  02 47 6f 31 10 30 0e 06  |0...U....Go1.0..|
+00000080  03 55 04 03 13 07 47 6f  20 52 6f 6f 74 30 1e 17  |.U....Go Root0..|
+00000090  0d 31 36 30 31 30 31 30  30 30 30 30 30 5a 17 0d  |.160101000000Z..|
+000000a0  32 35 30 31 30 31 30 30  30 30 30 30 5a 30 1a 31  |250101000000Z0.1|
+000000b0  0b 30 09 06 03 55 04 0a  13 02 47 6f 31 0b 30 09  |.0...U....Go1.0.|
+000000c0  06 03 55 04 03 13 02 47  6f 30 81 9f 30 0d 06 09  |..U....Go0..0...|
+000000d0  2a 86 48 86 f7 0d 01 01  01 05 00 03 81 8d 00 30  |*.H............0|
+000000e0  81 89 02 81 81 00 db 46  7d 93 2e 12 27 06 48 bc  |.......F}...'.H.|
+000000f0  06 28 21 ab 7e c4 b6 a2  5d fe 1e 52 45 88 7a 36  |.(!.~...]..RE.z6|
+00000100  47 a5 08 0d 92 42 5b c2  81 c0 be 97 79 98 40 fb  |G....B[.....y.@.|
+00000110  4f 6d 14 fd 2b 13 8b c2  a5 2e 67 d8 d4 09 9e d6  |Om..+.....g.....|
+00000120  22 38 b7 4a 0b 74 73 2b  c2 34 f1 d1 93 e5 96 d9  |"8.J.ts+.4......|
+00000130  74 7b f3 58 9f 6c 61 3c  c0 b0 41 d4 d9 2b 2b 24  |t{.X.la<..A..++$|
+00000140  23 77 5b 1c 3b bd 75 5d  ce 20 54 cf a1 63 87 1d  |#w[.;.u]. T..c..|
+00000150  1e 24 c4 f3 1d 1a 50 8b  aa b6 14 43 ed 97 a7 75  |.$....P....C...u|
+00000160  62 f4 14 c8 52 d7 02 03  01 00 01 a3 81 93 30 81  |b...R.........0.|
+00000170  90 30 0e 06 03 55 1d 0f  01 01 ff 04 04 03 02 05  |.0...U..........|
+00000180  a0 30 1d 06 03 55 1d 25  04 16 30 14 06 08 2b 06  |.0...U.%..0...+.|
+00000190  01 05 05 07 03 01 06 08  2b 06 01 05 05 07 03 02  |........+.......|
+000001a0  30 0c 06 03 55 1d 13 01  01 ff 04 02 30 00 30 19  |0...U.......0.0.|
+000001b0  06 03 55 1d 0e 04 12 04  10 9f 91 16 1f 43 43 3e  |..U..........CC>|
+000001c0  49 a6 de 6d b6 80 d7 9f  60 30 1b 06 03 55 1d 23  |I..m....`0...U.#|
+000001d0  04 14 30 12 80 10 48 13  49 4d 13 7e 16 31 bb a3  |..0...H.IM.~.1..|
+000001e0  01 d5 ac ab 6e 7b 30 19  06 03 55 1d 11 04 12 30  |....n{0...U....0|
+000001f0  10 82 0e 65 78 61 6d 70  6c 65 2e 67 6f 6c 61 6e  |...example.golan|
+00000200  67 30 0d 06 09 2a 86 48  86 f7 0d 01 01 0b 05 00  |g0...*.H........|
+00000210  03 81 81 00 9d 30 cc 40  2b 5b 50 a0 61 cb ba e5  |.....0.@+[P.a...|
+00000220  53 58 e1 ed 83 28 a9 58  1a a9 38 a4 95 a1 ac 31  |SX...(.X..8....1|
+00000230  5a 1a 84 66 3d 43 d3 2d  d9 0b f2 97 df d3 20 64  |Z..f=C.-...... d|
+00000240  38 92 24 3a 00 bc cf 9c  7d b7 40 20 01 5f aa d3  |8.$:....}.@ ._..|
+00000250  16 61 09 a2 76 fd 13 c3  cc e1 0c 5c ee b1 87 82  |.a..v......\....|
+00000260  f1 6c 04 ed 73 bb b3 43  77 8d 0c 1c f1 0f a1 d8  |.l..s..Cw.......|
+00000270  40 83 61 c9 4c 72 2b 9d  ae db 46 06 06 4d f4 c1  |@.a.Lr+...F..M..|
+00000280  b3 3e c0 d1 bd 42 d4 db  fe 3d 13 60 84 5c 21 d3  |.>...B...=.`.\!.|
+00000290  3b e9 fa e7 16 03 03 00  ac 0c 00 00 a8 03 00 1d  |;...............|
+000002a0  20 2f e5 7d a3 47 cd 62  43 15 28 da ac 5f bb 29  | /.}.G.bC.(.._.)|
+000002b0  07 30 ff f6 84 af c4 cf  c2 ed 90 99 5f 58 cb 3b  |.0.........._X.;|
+000002c0  74 04 01 00 80 01 8b dc  db 2c 6b fd 9e 85 a4 9c  |t........,k.....|
+000002d0  3c 04 43 91 99 14 29 60  b8 4e d1 47 f0 df 98 7f  |<.C...)`.N.G....|
+000002e0  0f d6 3e 7b 2b f3 6a 2c  a0 20 da 51 75 a0 06 1c  |..>{+.j,. .Qu...|
+000002f0  40 8b 64 40 65 ab e9 83  f6 2c bf fd 94 ae 19 e3  |@.d@e....,......|
+00000300  29 ba fb 31 30 1c aa 28  94 de c2 62 96 74 d5 18  |)..10..(...b.t..|
+00000310  2e 31 bb 38 7b e3 60 69  ce ee c7 a6 25 d4 6d 70  |.1.8{.`i....%.mp|
+00000320  a6 2b 10 3b 70 89 86 01  ad 1b f5 e3 98 fa d9 06  |.+.;p...........|
+00000330  3f 84 28 87 16 60 c0 17  b9 35 21 81 03 a9 01 e5  |?.(..`...5!.....|
+00000340  6e 9c b6 a7 84 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 93 76 b8 62 b9 0d  |....%...! .v.b..|
+00000010  b5 d6 17 90 e7 b5 e8 36  af 02 2d b5 fd 91 0e 19  |.......6..-.....|
+00000020  1d 32 43 e9 8a 3f 04 e8  fa 01 14 03 03 00 01 01  |.2C..?..........|
+00000030  16 03 03 00 28 e4 b2 65  0e 2d 46 44 7c 28 95 4c  |....(..e.-FD|(.L|
+00000040  a6 51 39 ee 94 1a 86 45  e5 d8 60 dc 29 56 29 6e  |.Q9....E..`.)V)n|
+00000050  fb d7 70 a7 78 bd bb 8d  6d a7 5d ea 2c           |..p.x...m.].,|
+>>> Flow 4 (server to client)
+00000000  14 03 03 00 01 01 16 03  03 00 28 00 00 00 00 00  |..........(.....|
+00000010  00 00 00 a2 01 62 5a 8b  37 c9 c1 ad 3d 6e 45 ad  |.....bZ.7...=nE.|
+00000020  2b f9 08 52 b5 63 6f c7  17 3f ba d3 de fb f6 86  |+..R.co..?......|
+00000030  81 25 c6 17 03 03 00 25  00 00 00 00 00 00 00 01  |.%.....%........|
+00000040  35 89 b4 04 49 6d ad 78  04 59 60 a8 5e 7e fe 6f  |5...Im.x.Y`.^~.o|
+00000050  6a 76 20 0a 75 1d f0 b1  e9 50 0f 3a af 15 03 03  |jv .u....P.:....|
+00000060  00 1a 00 00 00 00 00 00  00 02 dc 6c be a6 a8 23  |...........l...#|
+00000070  62 30 51 66 d3 b9 f4 a7  da 4d b2 76              |b0Qf.....M.v|
diff --git a/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPSS b/src/crypto/tls/testdata/Server-TLSv12-RSA-RSAPSS
new file mode 100644 (file)
index 0000000..4194399
--- /dev/null
@@ -0,0 +1,81 @@
+>>> Flow 1 (client to server)
+00000000  16 03 01 00 91 01 00 00  8d 03 03 2b 94 30 78 9c  |...........+.0x.|
+00000010  49 b2 2e 9c da d0 5e fe  4f 29 de 04 63 7b bd 71  |I.....^.O)..c{.q|
+00000020  68 ec e7 d3 56 e6 13 fa  7c 9e 0d 00 00 2a c0 30  |h...V...|....*.0|
+00000030  00 9f cc a8 cc aa c0 2f  00 9e c0 28 00 6b c0 27  |......./...(.k.'|
+00000040  00 67 c0 14 00 39 c0 13  00 33 00 9d 00 9c 00 3d  |.g...9...3.....=|
+00000050  00 3c 00 35 00 2f 00 ff  01 00 00 3a 00 00 00 0e  |.<.5./.....:....|
+00000060  00 0c 00 00 09 31 32 37  2e 30 2e 30 2e 31 00 0b  |.....127.0.0.1..|
+00000070  00 04 03 00 01 02 00 0a  00 0c 00 0a 00 1d 00 17  |................|
+00000080  00 1e 00 19 00 18 00 16  00 00 00 17 00 00 00 0d  |................|
+00000090  00 04 00 02 08 04                                 |......|
+>>> Flow 2 (server to client)
+00000000  16 03 03 00 31 02 00 00  2d 03 03 00 00 00 00 00  |....1...-.......|
+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 00 c0 30 00 00  |.............0..|
+00000030  05 ff 01 00 01 00 16 03  03 02 59 0b 00 02 55 00  |..........Y...U.|
+00000040  02 52 00 02 4f 30 82 02  4b 30 82 01 b4 a0 03 02  |.R..O0..K0......|
+00000050  01 02 02 09 00 e8 f0 9d  3f e2 5b ea a6 30 0d 06  |........?.[..0..|
+00000060  09 2a 86 48 86 f7 0d 01  01 0b 05 00 30 1f 31 0b  |.*.H........0.1.|
+00000070  30 09 06 03 55 04 0a 13  02 47 6f 31 10 30 0e 06  |0...U....Go1.0..|
+00000080  03 55 04 03 13 07 47 6f  20 52 6f 6f 74 30 1e 17  |.U....Go Root0..|
+00000090  0d 31 36 30 31 30 31 30  30 30 30 30 30 5a 17 0d  |.160101000000Z..|
+000000a0  32 35 30 31 30 31 30 30  30 30 30 30 5a 30 1a 31  |250101000000Z0.1|
+000000b0  0b 30 09 06 03 55 04 0a  13 02 47 6f 31 0b 30 09  |.0...U....Go1.0.|
+000000c0  06 03 55 04 03 13 02 47  6f 30 81 9f 30 0d 06 09  |..U....Go0..0...|
+000000d0  2a 86 48 86 f7 0d 01 01  01 05 00 03 81 8d 00 30  |*.H............0|
+000000e0  81 89 02 81 81 00 db 46  7d 93 2e 12 27 06 48 bc  |.......F}...'.H.|
+000000f0  06 28 21 ab 7e c4 b6 a2  5d fe 1e 52 45 88 7a 36  |.(!.~...]..RE.z6|
+00000100  47 a5 08 0d 92 42 5b c2  81 c0 be 97 79 98 40 fb  |G....B[.....y.@.|
+00000110  4f 6d 14 fd 2b 13 8b c2  a5 2e 67 d8 d4 09 9e d6  |Om..+.....g.....|
+00000120  22 38 b7 4a 0b 74 73 2b  c2 34 f1 d1 93 e5 96 d9  |"8.J.ts+.4......|
+00000130  74 7b f3 58 9f 6c 61 3c  c0 b0 41 d4 d9 2b 2b 24  |t{.X.la<..A..++$|
+00000140  23 77 5b 1c 3b bd 75 5d  ce 20 54 cf a1 63 87 1d  |#w[.;.u]. T..c..|
+00000150  1e 24 c4 f3 1d 1a 50 8b  aa b6 14 43 ed 97 a7 75  |.$....P....C...u|
+00000160  62 f4 14 c8 52 d7 02 03  01 00 01 a3 81 93 30 81  |b...R.........0.|
+00000170  90 30 0e 06 03 55 1d 0f  01 01 ff 04 04 03 02 05  |.0...U..........|
+00000180  a0 30 1d 06 03 55 1d 25  04 16 30 14 06 08 2b 06  |.0...U.%..0...+.|
+00000190  01 05 05 07 03 01 06 08  2b 06 01 05 05 07 03 02  |........+.......|
+000001a0  30 0c 06 03 55 1d 13 01  01 ff 04 02 30 00 30 19  |0...U.......0.0.|
+000001b0  06 03 55 1d 0e 04 12 04  10 9f 91 16 1f 43 43 3e  |..U..........CC>|
+000001c0  49 a6 de 6d b6 80 d7 9f  60 30 1b 06 03 55 1d 23  |I..m....`0...U.#|
+000001d0  04 14 30 12 80 10 48 13  49 4d 13 7e 16 31 bb a3  |..0...H.IM.~.1..|
+000001e0  01 d5 ac ab 6e 7b 30 19  06 03 55 1d 11 04 12 30  |....n{0...U....0|
+000001f0  10 82 0e 65 78 61 6d 70  6c 65 2e 67 6f 6c 61 6e  |...example.golan|
+00000200  67 30 0d 06 09 2a 86 48  86 f7 0d 01 01 0b 05 00  |g0...*.H........|
+00000210  03 81 81 00 9d 30 cc 40  2b 5b 50 a0 61 cb ba e5  |.....0.@+[P.a...|
+00000220  53 58 e1 ed 83 28 a9 58  1a a9 38 a4 95 a1 ac 31  |SX...(.X..8....1|
+00000230  5a 1a 84 66 3d 43 d3 2d  d9 0b f2 97 df d3 20 64  |Z..f=C.-...... d|
+00000240  38 92 24 3a 00 bc cf 9c  7d b7 40 20 01 5f aa d3  |8.$:....}.@ ._..|
+00000250  16 61 09 a2 76 fd 13 c3  cc e1 0c 5c ee b1 87 82  |.a..v......\....|
+00000260  f1 6c 04 ed 73 bb b3 43  77 8d 0c 1c f1 0f a1 d8  |.l..s..Cw.......|
+00000270  40 83 61 c9 4c 72 2b 9d  ae db 46 06 06 4d f4 c1  |@.a.Lr+...F..M..|
+00000280  b3 3e c0 d1 bd 42 d4 db  fe 3d 13 60 84 5c 21 d3  |.>...B...=.`.\!.|
+00000290  3b e9 fa e7 16 03 03 00  ac 0c 00 00 a8 03 00 1d  |;...............|
+000002a0  20 2f e5 7d a3 47 cd 62  43 15 28 da ac 5f bb 29  | /.}.G.bC.(.._.)|
+000002b0  07 30 ff f6 84 af c4 cf  c2 ed 90 99 5f 58 cb 3b  |.0.........._X.;|
+000002c0  74 08 04 00 80 da c7 27  0a 67 d9 00 48 f7 ab 1e  |t......'.g..H...|
+000002d0  d8 0c f2 8c 9d 7c 94 c9  14 72 15 24 95 3d e2 57  |.....|...r.$.=.W|
+000002e0  fa 06 c1 cd 97 b9 17 24  f1 18 62 7f 1d 67 ca 78  |.......$..b..g.x|
+000002f0  17 37 40 12 36 2f 22 4d  43 8c 4e 0c da e5 fc 48  |.7@.6/"MC.N....H|
+00000300  c0 77 e6 13 72 dd c7 cb  c7 c0 c6 57 a7 1f 4d 9e  |.w..r......W..M.|
+00000310  0e 57 14 e0 3d 18 f8 ed  29 d5 d1 f8 15 fa 13 e0  |.W..=...).......|
+00000320  16 ce fb 39 24 11 93 8d  64 0a 34 3f 58 56 1f 7a  |...9$...d.4?XV.z|
+00000330  6c 4e c8 28 aa a3 a6 b0  82 c7 cc cb 85 a1 50 dc  |lN.(..........P.|
+00000340  bc 9d 9e 7c 6b 16 03 03  00 04 0e 00 00 00        |...|k.........|
+>>> Flow 3 (client to server)
+00000000  16 03 03 00 25 10 00 00  21 20 f5 0e bb 1e df b9  |....%...! ......|
+00000010  c8 b2 e5 44 ba 63 71 96  9a a6 53 88 78 fd 1c 82  |...D.cq...S.x...|
+00000020  02 02 37 47 e3 89 32 fd  95 11 14 03 03 00 01 01  |..7G..2.........|
+00000030  16 03 03 00 28 8b 16 5b  0f 9d 32 a1 e6 82 5a e7  |....(..[..2...Z.|
+00000040  8e 65 f3 75 e2 33 79 e5  b8 dd 3f d3 b5 34 61 a2  |.e.u.3y...?..4a.|
+00000050  99 7f 2c fa 77 00 a7 24  c3 ff ea fa cb           |..,.w..$.....|
+>>> Flow 4 (server to client)
+00000000  14 03 03 00 01 01 16 03  03 00 28 00 00 00 00 00  |..........(.....|
+00000010  00 00 00 aa d9 d2 64 66  c2 f5 ea 3f 93 cc 3d 02  |......df...?..=.|
+00000020  dd f3 57 90 a5 f3 de 14  10 8b e1 4c a2 f4 d8 28  |..W........L...(|
+00000030  64 b1 22 17 03 03 00 25  00 00 00 00 00 00 00 01  |d."....%........|
+00000040  be 42 9a 97 4c 18 e0 75  3f 32 b8 b8 6c bd a6 a8  |.B..L..u?2..l...|
+00000050  7b 17 5c 04 52 64 29 98  50 22 06 34 ca 15 03 03  |{.\.Rd).P".4....|
+00000060  00 1a 00 00 00 00 00 00  00 02 7b 9a c2 f2 d7 65  |..........{....e|
+00000070  ed f8 df 3f af b7 73 75  c2 80 a8 0c              |...?..su....|
index 42de7935c211d975340106b9763d4cb52661457c..e366ef8015878d6e78d40b5b418a3e5ec10de64f 100644 (file)
@@ -880,31 +880,39 @@ func sendMail(hostPort string) error {
        return SendMail(hostPort, nil, from, to, []byte("Subject: test\n\nhowdy!"))
 }
 
-// (copied from net/http/httptest)
-// localhostCert is a PEM-encoded TLS cert with SAN IPs
-// "127.0.0.1" and "[::1]", expiring at the last second of 2049 (the end
-// of ASN.1 time).
-// generated from src/crypto/tls:
-// go run generate_cert.go  --rsa-bits 512 --host 127.0.0.1,::1,example.com --ca --start-date "Jan 1 00:00:00 1970" --duration=1000000h
-var localhostCert = []byte(`-----BEGIN CERTIFICATE-----
-MIIBjjCCATigAwIBAgIQMon9v0s3pDFXvAMnPgelpzANBgkqhkiG9w0BAQsFADAS
-MRAwDgYDVQQKEwdBY21lIENvMCAXDTcwMDEwMTAwMDAwMFoYDzIwODQwMTI5MTYw
-MDAwWjASMRAwDgYDVQQKEwdBY21lIENvMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJB
-AM0u/mNXKkhAzNsFkwKZPSpC4lZZaePQ55IyaJv3ovMM2smvthnlqaUfVKVmz7FF
-wLP9csX6vGtvkZg1uWAtvfkCAwEAAaNoMGYwDgYDVR0PAQH/BAQDAgKkMBMGA1Ud
-JQQMMAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wLgYDVR0RBCcwJYILZXhh
-bXBsZS5jb22HBH8AAAGHEAAAAAAAAAAAAAAAAAAAAAEwDQYJKoZIhvcNAQELBQAD
-QQBOZsFVC7IwX+qibmSbt2IPHkUgXhfbq0a9MYhD6tHcj4gbDcTXh4kZCbgHCz22
-gfSj2/G2wxzopoISVDucuncj
+// localhostCert is a PEM-encoded TLS cert generated from src/crypto/tls:
+// go run generate_cert.go --rsa-bits 1024 --host 127.0.0.1,::1,example.com \
+//             --ca --start-date "Jan 1 00:00:00 1970" --duration=1000000h
+var localhostCert = []byte(`
+-----BEGIN CERTIFICATE-----
+MIICFDCCAX2gAwIBAgIRAK0xjnaPuNDSreeXb+z+0u4wDQYJKoZIhvcNAQELBQAw
+EjEQMA4GA1UEChMHQWNtZSBDbzAgFw03MDAxMDEwMDAwMDBaGA8yMDg0MDEyOTE2
+MDAwMFowEjEQMA4GA1UEChMHQWNtZSBDbzCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
+gYkCgYEA0nFbQQuOWsjbGtejcpWz153OlziZM4bVjJ9jYruNw5n2Ry6uYQAffhqa
+JOInCmmcVe2siJglsyH9aRh6vKiobBbIUXXUU1ABd56ebAzlt0LobLlx7pZEMy30
+LqIi9E6zmL3YvdGzpYlkFRnRrqwEtWYbGBf3znO250S56CCWH2UCAwEAAaNoMGYw
+DgYDVR0PAQH/BAQDAgKkMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA8GA1UdEwEB/wQF
+MAMBAf8wLgYDVR0RBCcwJYILZXhhbXBsZS5jb22HBH8AAAGHEAAAAAAAAAAAAAAA
+AAAAAAEwDQYJKoZIhvcNAQELBQADgYEAbZtDS2dVuBYvb+MnolWnCNqvw1w5Gtgi
+NmvQQPOMgM3m+oQSCPRTNGSg25e1Qbo7bgQDv8ZTnq8FgOJ/rbkyERw2JckkHpD4
+n4qcK27WkEDBtQFlPihIM8hLIuzWoi/9wygiElTy/tVL3y7fGCvY2/k1KBthtZGF
+tN8URjVmyEo=
 -----END CERTIFICATE-----`)
 
 // localhostKey is the private key for localhostCert.
-var localhostKey = []byte(`-----BEGIN RSA PRIVATE KEY-----
-MIIBOwIBAAJBAM0u/mNXKkhAzNsFkwKZPSpC4lZZaePQ55IyaJv3ovMM2smvthnl
-qaUfVKVmz7FFwLP9csX6vGtvkZg1uWAtvfkCAwEAAQJART2qkxODLUbQ2siSx7m2
-rmBLyR/7X+nLe8aPDrMOxj3heDNl4YlaAYLexbcY8d7VDfCRBKYoAOP0UCP1Vhuf
-UQIhAO6PEI55K3SpNIdc2k5f0xz+9rodJCYzu51EwWX7r8ufAiEA3C9EkLiU2NuK
-3L3DHCN5IlUSN1Nr/lw8NIt50Yorj2cCIQCDw1VbvCV6bDLtSSXzAA51B4ZzScE7
-sHtB5EYF9Dwm9QIhAJuCquuH4mDzVjUntXjXOQPdj7sRqVGCNWdrJwOukat7AiAy
-LXLEwb77DIPoI5ZuaXQC+MnyyJj1ExC9RFcGz+bexA==
+var localhostKey = []byte(`
+-----BEGIN RSA PRIVATE KEY-----
+MIICXgIBAAKBgQDScVtBC45ayNsa16NylbPXnc6XOJkzhtWMn2Niu43DmfZHLq5h
+AB9+Gpok4icKaZxV7ayImCWzIf1pGHq8qKhsFshRddRTUAF3np5sDOW3QuhsuXHu
+lkQzLfQuoiL0TrOYvdi90bOliWQVGdGurAS1ZhsYF/fOc7bnRLnoIJYfZQIDAQAB
+AoGBAMst7OgpKyFV6c3JwyI/jWqxDySL3caU+RuTTBaodKAUx2ZEmNJIlx9eudLA
+kucHvoxsM/eRxlxkhdFxdBcwU6J+zqooTnhu/FE3jhrT1lPrbhfGhyKnUrB0KKMM
+VY3IQZyiehpxaeXAwoAou6TbWoTpl9t8ImAqAMY8hlULCUqlAkEA+9+Ry5FSYK/m
+542LujIcCaIGoG1/Te6Sxr3hsPagKC2rH20rDLqXwEedSFOpSS0vpzlPAzy/6Rbb
+PHTJUhNdwwJBANXkA+TkMdbJI5do9/mn//U0LfrCR9NkcoYohxfKz8JuhgRQxzF2
+6jpo3q7CdTuuRixLWVfeJzcrAyNrVcBq87cCQFkTCtOMNC7fZnCTPUv+9q1tcJyB
+vNjJu3yvoEZeIeuzouX9TJE21/33FaeDdsXbRhQEj23cqR38qFHsF1qAYNMCQQDP
+QXLEiJoClkR2orAmqjPLVhR3t2oB3INcnEjLNSq8LHyQEfXyaFfu4U9l5+fRPL2i
+jiC0k/9L5dHUsF0XZothAkEA23ddgRs+Id/HxtojqqUT27B8MT/IGNrYsp4DvS/c
+qgkeluku4GjxRlDMBuXk94xOBEinUs+p/hwP1Alll80Tpg==
 -----END RSA PRIVATE KEY-----`)