Alternative TLS implementation in Go
Go to file
Adam Langley 65c5bd0dd6 crypto/tls: don't require an explicit client-auth EKU.
Previously we enforced both that the extended key usages of a client
certificate chain allowed for client authentication, and that the
client-auth EKU was in the leaf certificate.

This change removes the latter requirement. It's still the case that the
chain must be compatible with the client-auth EKU (i.e. that a parent
certificate isn't limited to another usage, like S/MIME), but we'll now
accept a leaf certificate with no EKUs for client-auth.

While it would be nice if all client certificates were explicit in their
intended purpose, I no longer feel that this battle is worthwhile.

Fixes #11087.

Change-Id: I777e695101cbeba069b730163533e2977f4dc1fc
Reviewed-on: https://go-review.googlesource.com/10806
Reviewed-by: Andrew Gerrand <adg@golang.org>
Run-TryBot: Adam Langley <agl@golang.org>
2015-06-09 15:48:24 +00:00
testdata crypto/tls: update the supported signature algorithms. 2015-04-30 03:47:51 +00:00
alert.go crypto/tls: support TLS_FALLBACK_SCSV as a server. 2014-10-15 17:54:04 -07:00
cipher_suites.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
common.go crypto/tls: update the supported signature algorithms. 2015-04-30 03:47:51 +00:00
conn_test.go crypto/tls: Added dynamic alternative to NameToCertificate map for SNI 2014-08-06 11:22:00 -07:00
conn.go crypto/tls: add OCSP response to ConnectionState 2015-04-26 22:00:13 +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 support for session ticket key rotation 2015-04-26 20:57:28 +00:00
handshake_client.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +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: add support for Certificate Transparency 2015-04-26 16:53:11 +00:00
handshake_server_test.go crypto/tls: call GetCertificate if Certificates is empty. 2015-04-26 22:00:35 +00:00
handshake_server.go crypto/tls: don't require an explicit client-auth EKU. 2015-06-09 15:48:24 +00:00
handshake_test.go crypto/tls: rework reference tests. 2013-12-20 11:37:05 -05:00
key_agreement.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
prf_test.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
prf.go crypto/tls: decouple handshake signatures from the handshake hash. 2015-04-30 03:47:02 +00:00
ticket.go crypto/tls: add support for session ticket key rotation 2015-04-26 20:57:28 +00:00
tls_test.go crypto/tls: implement tls-unique channel binding (RFC 5929 section 3). 2014-08-11 16:40:42 -07:00
tls.go crypto/tls: remove return parameter stutter 2015-01-13 21:35:11 +00:00