Alternative TLS implementation in Go
Go to file
Adam Langley 514cfc8a40 crypto/tls: pick ECDHE curves based on server preference.
Currently an ECDHE handshake uses the client's curve preference. This
generally means that we use P-521. However, P-521's strength is
mismatched with the rest of the cipher suite in most cases and we have
a fast, constant-time implementation of P-256.

With this change, Go servers will use P-256 where the client supports
it although that can be overridden in the Config.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/66060043
2014-02-24 17:57:51 -05:00
testdata crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
alert.go crypto/tls: add Error method to alert 2011-10-27 19:42:32 -07:00
cipher_suites.go crypto/tls: don't select TLS 1.2 cipher suites in prior versions. 2013-09-26 17:09:56 -04:00
common.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
conn_test.go crypto/tls: add server side SNI support. 2011-10-08 10:06:53 -04:00
conn.go crypto/tls: better error messages. 2014-02-12 11:20:01 -05:00
example_test.go crypto/x509: add example of using a custom root list. 2014-02-19 11:18:35 -05:00
generate_cert.go crypto/tls: generate random serial numbers. 2013-12-15 12:57:57 -05:00
handshake_client_test.go crypto/tls: Client side support for TLS session resumption. 2014-01-22 18:24:03 -05:00
handshake_client.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
handshake_messages_test.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
handshake_messages.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
handshake_server_test.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
handshake_server.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
handshake_test.go crypto/tls: rework reference tests. 2013-12-20 11:37:05 -05:00
key_agreement.go crypto/tls: pick ECDHE curves based on server preference. 2014-02-24 17:57:51 -05:00
prf_test.go crypto/tls: support TLS 1.1. 2013-06-04 20:02:22 -04:00
prf.go crypto/tls: fix TLS 1.2 client certificates. 2013-09-16 16:39:42 -04:00
ticket.go crypto/tls: support session ticket resumption. 2012-09-24 16:52:43 -04:00
tls_test.go crypto/tls: fix loading keys labeled just "PRIVATE KEY" 2012-12-01 11:02:08 -08:00
tls.go crypto/tls: improve documentation for ServerName. 2014-02-19 11:17:09 -05:00