Git Product home page Git Product logo

tls-tris's Introduction

 _____ _     ____        _        _
|_   _| |   / ___|      | |_ _ __(_)___
  | | | |   \___ \ _____| __| '__| / __|
  | | | |___ ___) |_____| |_| |  | \__ \
  |_| |_____|____/       \__|_|  |_|___/

crypto/tls, now with 100% more 1.3.

DO NOT USE THIS FOR THE SAKE OF EVERYTHING THAT'S GOOD AND JUST.

Build Status

Usage

Since crypto/tls is very deeply (and not that elegantly) coupled with the Go stdlib, tls-tris shouldn't be used as an external package. It also is impossible to vendor it as crypto/tls because stdlib packages would import the standard one and mismatch.

So, to build with tls-tris, you need to use a custom GOROOT. A script is provided that will take care of it for you: ./_dev/go.sh. Just use that instead of the go tool.

./_dev/go.sh build github.com/mholt/caddy

Since we assume that if you are using tls-tris you want 1.3, a hardcoded MaxVersion of 1.2 is overridden to 1.3 automatically.

Debugging

The environment variable TLSDEBUG has three recognized values:

  • live: print to stderr a handshake trace and error stacks
  • keys: like live, but also print key material and derivation steps
  • error: like live, but only dump to stderr if an error occurs

Running the NSS test client

go run generate_cert.go -ecdsa-curve P256 -host 192.168.64.1 -duration 87600h
make -C _dev bin/tris-localserver
./_dev/bin/tris-localserver 192.168.64.1:4433
docker build -t tstclnt _dev/tstclnt
docker run -i tstclnt -D -V tls1.3:tls1.3 -o -O -h 192.168.64.1 -p 4433

Testing with Firefox

  1. Download the latest Firefox Nightly
  2. Navigate to about:config and set security.tls.version.max to 4
  3. Navigate to https://tris.filippo.io/

Testing with mint

go run generate_cert.go -ecdsa-curve P256 -host localhost -duration 87600h
make -C _dev bin/tris-localserver
./_dev/bin/tris-localserver 127.0.0.1:4433
go build github.com/bifurcation/mint/bin/mint-client-https
./mint-client-https -url https://localhost:4433

tls-tris's People

Contributors

agl avatar rsc avatar filosottile avatar bradfitz avatar griesemer avatar robpike avatar mkrautz avatar titanous avatar minux avatar tamird avatar rhencke avatar davidben avatar ality avatar grittygrease avatar nhooyr avatar ralphcorderoy avatar cixtor avatar kcons avatar jstemmer avatar davecheney avatar alexbrainman avatar ainar-g avatar gauthamt avatar jeffallen avatar jvshahid avatar josharian avatar madari avatar luit avatar martisch avatar martinthomson avatar

Watchers

James Cloos avatar Christopher Wood avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.