Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 
Peter Wu 9e22da5ecc tris: restore retry logic on warning alerts 7 роки тому
_dev tris: enable TLS 1.3 for tris-localserver again. 7 роки тому
testdata crypto/tls: enable ChaCha20-Poly1305 cipher suites by default. 8 роки тому
.travis.yml tris: add proper BoGo tests 7 роки тому
13.go tris: implement SSLKEYLOGFILE for TLS 1.3 server 7 роки тому
README.md tris: update Go to 1.9 7 роки тому
alert.go crypto/tls: use correct alerts 7 роки тому
cipher_suites.go crypto/tls: remove TLS13CipherSuites. 7 роки тому
common.go crypto/tls: Use a backing array for getSupportedVersions 7 роки тому
conn.go tris: restore retry logic on warning alerts 7 роки тому
conn_test.go crypto/tls: use io.ReadFull in conn_test.go 7 роки тому
example_test.go crypto/tls: add example for Config KeyLogWriter 8 роки тому
generate_cert.go crypto/tls: recommend P256 elliptic curve 7 роки тому
handshake_client.go crypto/tls: allow client to pick TLS 1.3, do not enable it by default. 7 роки тому
handshake_client_test.go tris: whitespace fix 7 роки тому
handshake_messages.go crypto/tls: fix SCT decoding 7 роки тому
handshake_messages_test.go crypto/tls: add SignedCertificateTimestamps and OCSPStaple to 1.3 7 роки тому
handshake_server.go crypto/tls: remove TLS13CipherSuites. 7 роки тому
handshake_server_test.go crypto/tls: remove TLS13CipherSuites. 7 роки тому
handshake_test.go crypto/tls: switch to OpenSSL 1.1.0 for test data. 8 роки тому
hkdf.go crypto/tls: implement TLS 1.3 minimal server 7 роки тому
key_agreement.go crypto/tls: implement TLS 1.3 minimal server 7 роки тому
prf.go crypto/tls: return from Handshake before the Client Finished in 1.3 7 роки тому
prf_test.go crypto/tls: decouple handshake signatures from the handshake hash. 9 роки тому
ticket.go tris: add SessionTicketSealer 7 роки тому
tls.go crypto/tls: disable CBC cipher suites with SHA-256 by default 7 роки тому
tls_test.go crypto/tls: remove TLS13CipherSuites. 7 роки тому

README.md

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

crypto/tls, now with 100% more 1.3.

THE API IS NOT STABLE AND DOCUMENTATION IS NOT GUARANTEED.

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 is also 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.

The script also transparently fetches the custom Cloudflare Go 1.9 compiler with the required backports.

./_dev/go.sh build ./_dev/tris-localserver
TLSDEBUG=error ./tris-localserver 127.0.0.1:4443

Debugging

When the environment variable TLSDEBUG is set to error, Tris will print a hexdump of the Client Hello and a stack trace if an handshake error occurs. If the value is short, only the error and the first meaningful stack frame are printed.

Building Caddy

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

Note: to get Caddy to use TLS 1.3 you’ll have to apply the patch at _dev/caddy/caddy.patch.

Testing with BoringSSL/NSS/Mint/...

./_dev/tris-localserver/start.sh --rm
docker build -t tls-tris:boring _dev/boring
docker run -i --rm tls-tris:boring $(docker inspect -f '{{ .NetworkSettings.IPAddress }}' tris-localserver):443
docker build -t tls-tris:tstclnt _dev/tstclnt
docker run -i --rm tls-tris:tstclnt $(docker inspect -f '{{ .NetworkSettings.IPAddress }}' tris-localserver):443
docker build -t tls-tris:mint _dev/mint
docker run -i --rm tls-tris:mint $(docker inspect -f '{{ .NetworkSettings.IPAddress }}' tris-localserver):443

To build a specific revision, use --build-arg REVISION=abcdef1234.