Alternative TLS implementation in Go
Go to file
Adam Langley 6f38414b48 crypto/tls: support renegotiation extension.
The renegotiation extension was introduced[1] due to an attack by Ray in
which a client's handshake was spliced into a connection that was
renegotiating, thus giving an attacker the ability to inject an
arbitary prefix into the connection.

Go has never supported renegotiation as a server and so this attack
doesn't apply. As a client, it's possible that at some point in the
future the population of servers will be sufficiently updated that
it'll be possible to reject connections where the server hasn't
demonstrated that it has been updated to address this problem.

We're not at that point yet, but it's good for Go servers to support
the extension so that it might be possible to do in the future.

[1] https://tools.ietf.org/search/rfc5746

R=golang-codereviews, mikioh.mikioh
CC=golang-codereviews
https://golang.org/cl/48580043
2014-01-09 13:38:11 -05:00
testdata crypto/tls: support renegotiation extension. 2014-01-09 13:38:11 -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: support renegotiation extension. 2014-01-09 13:38:11 -05:00
conn_test.go crypto/tls: add server side SNI support. 2011-10-08 10:06:53 -04:00
conn.go crypto/tls: support AES-GCM. 2013-08-29 17:18:59 -04:00
generate_cert.go crypto/tls: generate random serial numbers. 2013-12-15 12:57:57 -05:00
handshake_client_test.go crypto/tls: rework reference tests. 2013-12-20 11:37:05 -05:00
handshake_client.go crypto/tls: support renegotiation extension. 2014-01-09 13:38:11 -05:00
handshake_messages_test.go crypto/tls: advertise support for RSA+SHA1 in TLS 1.2 handshake. 2013-10-21 16:35:09 -04:00
handshake_messages.go crypto/tls: support renegotiation extension. 2014-01-09 13:38:11 -05:00
handshake_server_test.go crypto/tls: support renegotiation extension. 2014-01-09 13:38:11 -05:00
handshake_server.go crypto/tls: support renegotiation extension. 2014-01-09 13:38:11 -05:00
handshake_test.go crypto/tls: rework reference tests. 2013-12-20 11:37:05 -05:00
key_agreement.go crypto/tls: advertise support for RSA+SHA1 in TLS 1.2 handshake. 2013-10-21 16:35:09 -04: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: Update reference to the TLS 1.2 RFC. 2013-10-02 12:09:13 -04:00