Alternative TLS implementation in Go
Go to file
Joonas Kuorilehto f513433c3e crypto/tls: add KeyLogWriter for debugging
Add support for writing TLS client random and master secret
in NSS key log format.

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format

Normally this is enabled by a developer debugging TLS based
applications, especially HTTP/2, by setting the KeyLogWriter
to an open file. The keys negotiated in handshake are then
logged and can be used to decrypt TLS sessions e.g. in Wireshark.

Applications may choose to add support similar to NSS where this
is enabled by environment variable, but no such mechanism is
built in to Go. Instead each application must explicitly enable.

Fixes #13057.

Change-Id: If6edd2d58999903e8390b1674ba4257ecc747ae1
Reviewed-on: https://go-review.googlesource.com/27434
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-08-27 17:20:55 +00:00
testdata crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
alert.go crypto/tls: make error prefix uniform. 2016-04-14 16:28:53 +00:00
cipher_suites.go crypto/tls: fix comment typo. 2016-08-18 21:52:31 +00:00
common.go crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
conn_test.go crypto/x509: require a NULL parameters for RSA public keys. 2016-08-17 23:47:18 +00:00
conn.go crypto/tls: set Conn.ConnectionState.ServerName unconditionally 2016-08-17 20:21:08 +00: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: Support ECDSA keys in generate_cert.go 2014-07-28 14:46:34 -07:00
handshake_client_test.go crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
handshake_client.go crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
handshake_messages_test.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
handshake_messages.go crypto/tls: allow renegotiation to be handled by a client. 2016-04-28 17:56:28 +00:00
handshake_server_test.go crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
handshake_server.go crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
handshake_test.go crypto/tls: fix WriteTo method signature 2016-08-16 14:36:19 +00:00
key_agreement.go crypto/tls: make error prefix uniform. 2016-04-14 16:28:53 +00:00
prf_test.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
prf.go all: standardize RFC mention format 2016-04-12 21:07:52 +00:00
ticket.go crypto/tls: minor refactors for readability 2016-03-14 21:17:37 +00:00
tls_test.go crypto/tls: add KeyLogWriter for debugging 2016-08-27 17:20:55 +00:00
tls.go crypto/tls: don't copy Mutex or Once values 2016-06-27 21:13:54 +00:00