diff --git a/README.md b/README.md index 15ef5e6..d886910 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ go get -u github.com/henrydcase/tlshandshake/... # Dependencies -We use ``trs`` library, a fork of Cloudflare's ``tls-tris`` library, which supports TLSv1.3 and number of experimental features. +We use [``th5``](https://github.com/henrydcase/th5) library. # License diff --git a/cmd/tlshandshake/tlshandshake.go b/cmd/tlshandshake/tlshandshake.go index 562cb0a..8a599ab 100644 --- a/cmd/tlshandshake/tlshandshake.go +++ b/cmd/tlshandshake/tlshandshake.go @@ -8,8 +8,8 @@ import ( "path" "strings" + "github.com/henrydcase/th5" hs "github.com/henrydcase/tlshandshake" - "github.com/henrydcase/trs" ) var tls_min, tls_max, named_groups, named_ciphers string @@ -56,14 +56,14 @@ func main() { } // Set requested DH groups - client.TLS.CurvePreferences = []trs.CurveID{} + client.TLS.CurvePreferences = []th5.CurveID{} if len(named_groups) != 0 { for _, ng := range strings.Split(named_groups, ":") { id, err := getIDByName(hs.NamedGroupsToName, ng) if err != nil { panic("Wrong group name provided") } - client.TLS.CurvePreferences = append(client.TLS.CurvePreferences, trs.CurveID(id)) + client.TLS.CurvePreferences = append(client.TLS.CurvePreferences, th5.CurveID(id)) } } diff --git a/lib.go b/lib.go index 598bb04..3125918 100644 --- a/lib.go +++ b/lib.go @@ -4,56 +4,56 @@ import ( "fmt" "os" - "github.com/henrydcase/trs" + "github.com/henrydcase/th5" ) type Client struct { - TLS trs.Config + TLS th5.Config Addr string } var TlsVersionToName = map[uint16]string{ - trs.VersionTLS10: "1.0", - trs.VersionTLS11: "1.1", - trs.VersionTLS12: "1.2", - trs.VersionTLS13: "1.3", + th5.VersionTLS10: "1.0", + th5.VersionTLS11: "1.1", + th5.VersionTLS12: "1.2", + th5.VersionTLS13: "1.3", } var CipherSuiteIdToName = map[uint16]string{ - trs.TLS_AES_128_GCM_SHA256: "TLS_AES_128_GCM_SHA256", - trs.TLS_AES_256_GCM_SHA384: "TLS_AES_256_GCM_SHA384", - trs.TLS_CHACHA20_POLY1305_SHA256: "TLS_CHACHA20_POLY1305_SHA256", - trs.TLS_RSA_WITH_RC4_128_SHA: "TLS_RSA_WITH_RC4_128_SHA", - trs.TLS_RSA_WITH_3DES_EDE_CBC_SHA: "TLS_RSA_WITH_3DES_EDE_CBC_SHA", - trs.TLS_RSA_WITH_AES_128_CBC_SHA: "TLS_RSA_WITH_AES_128_CBC_SHA", - trs.TLS_RSA_WITH_AES_256_CBC_SHA: "TLS_RSA_WITH_AES_256_CBC_SHA", - trs.TLS_RSA_WITH_AES_128_CBC_SHA256: "TLS_RSA_WITH_AES_128_CBC_SHA256", - trs.TLS_RSA_WITH_AES_128_GCM_SHA256: "TLS_RSA_WITH_AES_128_GCM_SHA256", - trs.TLS_RSA_WITH_AES_256_GCM_SHA384: "TLS_RSA_WITH_AES_256_GCM_SHA384", - trs.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA", - trs.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", - trs.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", - trs.TLS_ECDHE_RSA_WITH_RC4_128_SHA: "TLS_ECDHE_RSA_WITH_RC4_128_SHA", - trs.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", - trs.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", - trs.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", - trs.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", - trs.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", - trs.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", - trs.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", - trs.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", - trs.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", - trs.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305: "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305", - trs.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305: "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305", + th5.TLS_AES_128_GCM_SHA256: "TLS_AES_128_GCM_SHA256", + th5.TLS_AES_256_GCM_SHA384: "TLS_AES_256_GCM_SHA384", + th5.TLS_CHACHA20_POLY1305_SHA256: "TLS_CHACHA20_POLY1305_SHA256", + th5.TLS_RSA_WITH_RC4_128_SHA: "TLS_RSA_WITH_RC4_128_SHA", + th5.TLS_RSA_WITH_3DES_EDE_CBC_SHA: "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + th5.TLS_RSA_WITH_AES_128_CBC_SHA: "TLS_RSA_WITH_AES_128_CBC_SHA", + th5.TLS_RSA_WITH_AES_256_CBC_SHA: "TLS_RSA_WITH_AES_256_CBC_SHA", + th5.TLS_RSA_WITH_AES_128_CBC_SHA256: "TLS_RSA_WITH_AES_128_CBC_SHA256", + th5.TLS_RSA_WITH_AES_128_GCM_SHA256: "TLS_RSA_WITH_AES_128_GCM_SHA256", + th5.TLS_RSA_WITH_AES_256_GCM_SHA384: "TLS_RSA_WITH_AES_256_GCM_SHA384", + th5.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA", + th5.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + th5.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + th5.TLS_ECDHE_RSA_WITH_RC4_128_SHA: "TLS_ECDHE_RSA_WITH_RC4_128_SHA", + th5.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", + th5.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + th5.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + th5.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + th5.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + th5.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + th5.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + th5.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + th5.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + th5.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305: "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305", + th5.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305: "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305", } var NamedGroupsToName = map[uint16]string{ - uint16(trs.HybridSIDHp503Curve25519): "X25519-SIDHp503", - uint16(trs.HybridSIKEp503Curve25519): "X25519-SIKEp503", - uint16(trs.X25519): "X25519", - uint16(trs.CurveP256): "P-256", - uint16(trs.CurveP384): "P-384", - uint16(trs.CurveP521): "P-521", + uint16(th5.HybridSIDHp503Curve25519): "X25519-SIDHp503", + uint16(th5.HybridSIKEp503Curve25519): "X25519-SIKEp503", + uint16(th5.X25519): "X25519", + uint16(th5.CurveP256): "P-256", + uint16(th5.CurveP384): "P-384", + uint16(th5.CurveP521): "P-521", } func NewClient() *Client { @@ -63,7 +63,7 @@ func NewClient() *Client { } func (c *Client) Run() { - con, err := trs.Dial("tcp", c.Addr, &c.TLS) + con, err := th5.Dial("tcp", c.Addr, &c.TLS) if err != nil { fmt.Printf("handshake failed: %v\n\n", err) os.Exit(1) diff --git a/utils.go b/utils.go index 0445cee..593f4c1 100644 --- a/utils.go +++ b/utils.go @@ -4,7 +4,7 @@ import ( "encoding/hex" "fmt" "github.com/grantae/certinfo" - trs "github.com/henrydcase/trs" + th5 "github.com/henrydcase/th5" ) var tf = map[bool]string{ @@ -18,7 +18,7 @@ func toHex(b []byte) string { return string(str) } -func printTlsState(con *trs.Conn) { +func printTlsState(con *th5.Conn) { state := con.ConnectionState() fmt.Println("| TLS-Session:") fmt.Println("-----------------------------------------------------------------")