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

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.