Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(132)

Issue 3177015: Improve support for requesting client certs in tlslite (Closed)

Created:
10 years, 4 months ago by Ryan Sleevi
Modified:
9 years, 7 months ago
Reviewers:
wtc, davidben
CC:
chromium-reviews, darin-cc_chromium.org, cbentzel+watch_chromium.org, pam+watch_chromium.org
Visibility:
Public.

Description

Improve support for requesting client certs in tlslite Currently, tlslite only supports the caller passing in a list of CAs pre-encoded for the TLS CertificateRequest message. This CL improves that, by providing a means of extracting the DER-encoded subject name from an X509 certificate, supplying a list of such names to tlslite's server routines, and having tlslite encode the list of CAs as part of the CertificateRequest. BUG=47656, 47658 TEST=net_unittests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=56982

Patch Set 1 #

Total comments: 6

Patch Set 2 : Rebase to 3115011 (move to patches/ subdir) #

Patch Set 3 : Address feedback #

Total comments: 1

Patch Set 4 : Cert requests got turned on across the board #

Unified diffs Side-by-side diffs Delta from patch set Stats (+254 lines, -15 lines) Patch
M net/tools/testserver/testserver.py View 1 2 5 chunks +21 lines, -4 lines 0 comments Download
M third_party/tlslite/README.chromium View 1 1 chunk +11 lines, -0 lines 0 comments Download
A third_party/tlslite/patches/ca_request.patch View 2 3 1 chunk +176 lines, -0 lines 0 comments Download
M third_party/tlslite/tlslite/TLSConnection.py View 1 2 3 6 chunks +18 lines, -6 lines 0 comments Download
M third_party/tlslite/tlslite/X509.py View 2 chunks +8 lines, -0 lines 0 comments Download
M third_party/tlslite/tlslite/messages.py View 3 chunks +16 lines, -4 lines 0 comments Download
M third_party/tlslite/tlslite/utils/ASN1Parser.py View 1 2 1 chunk +4 lines, -1 line 0 comments Download

Messages

Total messages: 8 (0 generated)
Ryan Sleevi
Python is not a primary or secondary programming language for me, so given that, I've ...
10 years, 4 months ago (2010-08-14 22:24:45 UTC) #1
Paweł Hajdan Jr.
Removing myself from reviewers. Looks fine at a glance. Please let me know if you ...
10 years, 4 months ago (2010-08-16 18:09:33 UTC) #2
wtc
rsleevi: thanks for the CL. I have one suggestion below. davidben: could you review this ...
10 years, 4 months ago (2010-08-17 23:31:10 UTC) #3
Ryan Sleevi
http://codereview.chromium.org/3177015/diff/1/3 File third_party/tlslite/README.chromium (right): http://codereview.chromium.org/3177015/diff/1/3#newcode6 third_party/tlslite/README.chromium:6: - close_notify.patch: tlslite/TLSRecordLayer.py was changed to force the On ...
10 years, 4 months ago (2010-08-18 00:12:00 UTC) #4
davidben
LGTM! We should possibly also send this upstream. Wan-Teh, I believe you said you knew ...
10 years, 4 months ago (2010-08-18 00:25:59 UTC) #5
wtc
Yes, we should submit our patches to the TLS Lite author, Trevor Perrin. His email ...
10 years, 4 months ago (2010-08-18 00:28:26 UTC) #6
davidben
So, I just talked with phajdan. As I understand it, the two primary reasons for ...
10 years, 4 months ago (2010-08-18 01:35:44 UTC) #7
Ryan Sleevi
10 years, 4 months ago (2010-08-18 01:56:02 UTC) #8
Thanks David, good to know what the right way is going to be, since I saw his
patch has been committed.

I'm going to hold off on writing any client auth unit tests until the changes to
chain building/validation (for x-x509-user-cert) land, since right now there is
too much platform variety as to what will happen. For example NSS can use the
server's certificates for chain build, OS X/Win can't; OS X & NSS don't do
RFC3280 name canonicalization for client certificates; Windows doesn't remember
the intermediates; etc. And of course, to make sure the calls are mockable when
necessary for the bots.

If everything still looks good, I'll forward this upstream as well once I
commit.

http://codereview.chromium.org/3177015/diff/15001/16004
File third_party/tlslite/tlslite/TLSConnection.py (right):

http://codereview.chromium.org/3177015/diff/15001/16004#newcode1001
third_party/tlslite/tlslite/TLSConnection.py:1001: @type reqCAs: list of
L{array.array} of unsigned bytes
I changed to drop the L{} for list, since the author doesn't use L{} for str,
another built-in type (or bool, as you noted)

Powered by Google App Engine
This is Rietveld 408576698