Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(16)

Issue 1975042: code review 1975042: Client certificate support for crypto/tls

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 7 months ago by mkrautz
Modified:
14 years, 7 months ago
Reviewers:
CC:
agl, rsc, agl1, golang-dev
Visibility:
Public.

Description

Client certificate support for crypto/tls This changeset implements client certificate support in crypto/tls for both handshake_server.go and handshake_client.go The updated server implementation sends an empty certificateAuthorities field in the certificateRequestMsg, thus allowing clients to send any certificates they wish. Likewise, the client code will only respond with its certificate when the server requests a certificate with this field empty. The reason for not implementing this is that I'm not sure how widely used this list of allowed DNs of CAs is in practice. I tried a couple of applications to see if they would send me something back in this field, one being Apache HTTPD. They all sent an empty CA list in the certificateRequestMsg, so it would seem that the decision of accepting a certificate or not is often delegated to until after the TLS handshake is done. I'd like some feedback on this if someone knows more about it. The scripted server handshake test in handshake_server_test.go has also been updated to include the extra handshake messages this changeset implements.

Patch Set 1 #

Total comments: 18

Patch Set 2 : code review 1975042: Client certificate support for crypto/tls #

Unified diffs Side-by-side diffs Delta from patch set Stats (+388 lines, -36 lines) Patch
M src/pkg/crypto/rsa/pkcs1v15.go View 1 3 chunks +5 lines, -0 lines 0 comments Download
M src/pkg/crypto/tls/common.go View 2 chunks +19 lines, -8 lines 0 comments Download
M src/pkg/crypto/tls/conn.go View 1 1 chunk +4 lines, -0 lines 0 comments Download
M src/pkg/crypto/tls/handshake_client.go View 1 2 chunks +69 lines, -0 lines 0 comments Download
M src/pkg/crypto/tls/handshake_messages.go View 1 1 chunk +154 lines, -0 lines 0 comments Download
M src/pkg/crypto/tls/handshake_messages_test.go View 2 chunks +19 lines, -0 lines 0 comments Download
M src/pkg/crypto/tls/handshake_server.go View 1 3 chunks +76 lines, -0 lines 0 comments Download
M src/pkg/crypto/tls/handshake_server_test.go View 1 2 chunks +42 lines, -28 lines 0 comments Download

Messages

Total messages: 11
mkrautz
Hello agl, rsc (cc: golang-dev@googlegroups.com), I'd like you to review this change.
14 years, 7 months ago (2010-08-11 20:45:06 UTC) #1
agl
http://codereview.appspot.com/1975042/diff/1/2 File src/pkg/crypto/rsa/pkcs1v15.go (right): http://codereview.appspot.com/1975042/diff/1/2#newcode149 src/pkg/crypto/rsa/pkcs1v15.go:149: HashMD5SHA1 Needs a comment here about why we need ...
14 years, 7 months ago (2010-08-11 22:12:52 UTC) #2
mkrautz
On 2010/08/11 22:12:52, agl wrote: > http://codereview.appspot.com/1975042/diff/1/2 > File src/pkg/crypto/rsa/pkcs1v15.go (right): > > http://codereview.appspot.com/1975042/diff/1/2#newcode149 > ...
14 years, 7 months ago (2010-08-12 11:57:56 UTC) #3
mkrautz
On 2010/08/11 22:12:52, agl wrote: > http://codereview.appspot.com/1975042/diff/1/6#newcode749 > src/pkg/crypto/tls/handshake_messages.go:749: m.certificateAuthorities = > make([][]byte, numCA) > ...
14 years, 7 months ago (2010-08-12 13:48:00 UTC) #4
mkrautz
Hello agl, rsc (cc: golang-dev@googlegroups.com), Please take another look.
14 years, 7 months ago (2010-08-12 13:49:01 UTC) #5
agl
This is looking pretty good, although I'll want to patch it in locally before landing. ...
14 years, 7 months ago (2010-08-12 23:42:57 UTC) #6
mkrautz
On 2010/08/12 23:42:57, agl wrote: > This is looking pretty good, although I'll want to ...
14 years, 7 months ago (2010-08-13 13:15:44 UTC) #7
agl
I've fixed up the patch and am ready to land. However, I don't see you ...
14 years, 7 months ago (2010-08-13 18:44:09 UTC) #8
mkrautz
On 2010/08/13 18:44:09, agl wrote: > I've fixed up the patch and am ready to ...
14 years, 7 months ago (2010-08-13 19:10:48 UTC) #9
agl
On Fri, Aug 13, 2010 at 3:10 PM, <krautz@gmail.com> wrote: > Yes, I signed it ...
14 years, 7 months ago (2010-08-13 19:13:55 UTC) #10
agl1
14 years, 7 months ago (2010-08-16 15:22:30 UTC) #11
*** Submitted as http://code.google.com/p/go/source/detail?r=ca3b155f1eaa ***

crypto/tls: client certificate support.

This changeset implements client certificate support in crypto/tls
for both handshake_server.go and handshake_client.go

The updated server implementation sends an empty CertificateAuthorities
field in the CertificateRequest, thus allowing clients to send any
certificates they wish. Likewise, the client code will only respond
with its certificate when the server requests a certificate with this
field empty.

R=agl, rsc, agl1
CC=golang-dev
http://codereview.appspot.com/1975042

Committer: Adam Langley <agl@golang.org>
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b