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

Issue 1474983003: Support for client certs in ssl_server_socket. (Closed)

Created:
5 years ago by ryanchung
Modified:
4 years, 10 months ago
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support for client certs in ssl_server_socket. Allows SSL server sockets (openssl only) to support requesting and receiving/verifying client auth certificates. BUG=415663 Committed: https://crrev.com/987b2ffd6da82a8af2d7dce89db5ec8e372702df Cr-Commit-Position: refs/heads/master@{#376292}

Patch Set 1 #

Total comments: 8

Patch Set 2 : Comment suggested changes #

Patch Set 3 : Rebased #

Patch Set 4 : Simplified CertVerifyCallback #

Total comments: 8

Patch Set 5 : Fixed nits on utils #

Total comments: 96

Patch Set 6 : Addresses reviewer comments #

Total comments: 51

Patch Set 7 : Addresses reviewer comments #

Patch Set 8 : Minor spacing #

Patch Set 9 : Addresses reviewer comments #

Patch Set 10 : Rebase only #

Patch Set 11 : Rebase only #

Total comments: 99

Patch Set 12 : Addresses reviewer comments #

Patch Set 13 : Free results from SSL_load_client_CA_file #

Total comments: 28

Patch Set 14 : Addresses reviewer comments #

Patch Set 15 : Rebased #

Patch Set 16 : Use new Test SSL private key #

Patch Set 17 : Updated browsertest files #

Total comments: 24

Patch Set 18 : Fixed nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+616 lines, -150 lines) Patch
M chrome/browser/extensions/background_xhr_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/prerender/prerender_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +6 lines, -3 lines 0 comments Download
M content/browser/shared_worker/worker_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +4 lines, -2 lines 0 comments Download
M net/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M net/cert/cert_verify_result.h View 1 chunk +1 line, -1 line 0 comments Download
A net/cert/client_cert_verifier.h View 1 2 3 4 5 6 7 8 1 chunk +41 lines, -0 lines 0 comments Download
A net/cert/mock_client_cert_verifier.h View 1 2 3 4 5 6 7 8 1 chunk +52 lines, -0 lines 0 comments Download
A net/cert/mock_client_cert_verifier.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +40 lines, -0 lines 0 comments Download
M net/cert/x509_util_openssl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -1 line 0 comments Download
M net/net.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M net/net.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M net/socket/ssl_client_socket_openssl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +5 lines, -61 lines 0 comments Download
M net/socket/ssl_server_socket_nss.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -2 lines 0 comments Download
M net/socket/ssl_server_socket_nss.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +13 lines, -12 lines 0 comments Download
M net/socket/ssl_server_socket_openssl.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +7 lines, -2 lines 0 comments Download
M net/socket/ssl_server_socket_openssl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 9 chunks +143 lines, -17 lines 0 comments Download
M net/socket/ssl_server_socket_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 15 chunks +202 lines, -42 lines 0 comments Download
M net/ssl/openssl_ssl_util.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +13 lines, -0 lines 0 comments Download
M net/ssl/openssl_ssl_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +39 lines, -0 lines 0 comments Download
M net/ssl/scoped_openssl_types.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +13 lines, -0 lines 0 comments Download
M net/ssl/ssl_cert_request_info.h View 1 chunk +1 line, -1 line 0 comments Download
M net/ssl/ssl_server_config.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +23 lines, -3 lines 0 comments Download
M net/ssl/ssl_server_config.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -1 line 0 comments Download
M net/url_request/url_request_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -1 line 0 comments Download

Dependent Patchsets:

Messages

Total messages: 36 (10 generated)
ryanchung
This is continuation of issue: https://codereview.chromium.org/994743003/ I couldn't upload a new patch to the existing ...
5 years ago (2015-11-25 22:51:32 UTC) #3
davidben
https://codereview.chromium.org/1474983003/diff/1/net/socket/ssl_client_socket.h File net/socket/ssl_client_socket.h (right): https://codereview.chromium.org/1474983003/diff/1/net/socket/ssl_client_socket.h#newcode189 net/socket/ssl_client_socket.h:189: scoped_ptr<SSLPrivateKey> client_private_key) {} This should no longer be necessary ...
5 years ago (2015-12-01 22:35:18 UTC) #6
ryanchung
https://codereview.chromium.org/1474983003/diff/1/net/socket/ssl_client_socket.h File net/socket/ssl_client_socket.h (right): https://codereview.chromium.org/1474983003/diff/1/net/socket/ssl_client_socket.h#newcode189 net/socket/ssl_client_socket.h:189: scoped_ptr<SSLPrivateKey> client_private_key) {} On 2015/12/01 22:35:17, davidben (behind on ...
5 years ago (2015-12-02 23:57:04 UTC) #7
ryanchung
Could you please take another look at this CL when you get a chance? Thanks!
5 years ago (2015-12-14 21:26:57 UTC) #8
svaldez
Minor nits on the utils. On a first pass the client vert verification looks reasonable, ...
5 years ago (2015-12-14 22:05:41 UTC) #9
ryanchung
https://codereview.chromium.org/1474983003/diff/60001/net/ssl/openssl_ssl_util.cc File net/ssl/openssl_ssl_util.cc (right): https://codereview.chromium.org/1474983003/diff/60001/net/ssl/openssl_ssl_util.cc#newcode262 net/ssl/openssl_ssl_util.cc:262: int GetNetSSLVersion(SSL* ssl) { On 2015/12/14 22:05:41, svaldez wrote: ...
5 years ago (2015-12-14 22:31:15 UTC) #10
davidben
https://codereview.chromium.org/1474983003/diff/60001/net/cert/client_cert_verifier.h File net/cert/client_cert_verifier.h (right): https://codereview.chromium.org/1474983003/diff/60001/net/cert/client_cert_verifier.h#newcode16 net/cert/client_cert_verifier.h:16: virtual ~ClientCertVerifier() {} Nit: I'd put a newline here. ...
5 years ago (2015-12-14 23:56:51 UTC) #11
ryanchung
https://codereview.chromium.org/1474983003/diff/60001/net/cert/client_cert_verifier.h File net/cert/client_cert_verifier.h (right): https://codereview.chromium.org/1474983003/diff/60001/net/cert/client_cert_verifier.h#newcode16 net/cert/client_cert_verifier.h:16: virtual ~ClientCertVerifier() {} On 2015/12/14 23:56:49, davidben wrote: > ...
5 years ago (2015-12-16 22:40:03 UTC) #12
Ryan Sleevi
https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h File net/cert/client_cert_verifier.h (right): https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h#newcode10 net/cert/client_cert_verifier.h:10: class BoundNetLog; Unused? https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h#newcode20 net/cert/client_cert_verifier.h:20: virtual int Verify(X509Certificate* cert) ...
5 years ago (2015-12-17 03:47:36 UTC) #13
ryanchung
https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h File net/cert/client_cert_verifier.h (right): https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h#newcode10 net/cert/client_cert_verifier.h:10: class BoundNetLog; On 2015/12/17 03:47:35, Ryan Sleevi wrote: > ...
5 years ago (2015-12-18 00:00:56 UTC) #14
Ryan Sleevi
https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h File net/cert/client_cert_verifier.h (right): https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h#newcode20 net/cert/client_cert_verifier.h:20: virtual int Verify(X509Certificate* cert) = 0; On 2015/12/18 00:00:55, ...
5 years ago (2015-12-18 00:07:10 UTC) #15
davidben
https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h File net/cert/client_cert_verifier.h (right): https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h#newcode20 net/cert/client_cert_verifier.h:20: virtual int Verify(X509Certificate* cert) = 0; On 2015/12/18 00:07:09, ...
5 years ago (2015-12-19 00:24:24 UTC) #16
ryanchung
https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h File net/cert/client_cert_verifier.h (right): https://codereview.chromium.org/1474983003/diff/100001/net/cert/client_cert_verifier.h#newcode20 net/cert/client_cert_verifier.h:20: virtual int Verify(X509Certificate* cert) = 0; On 2015/12/18 00:07:09, ...
4 years, 11 months ago (2016-01-14 00:16:40 UTC) #17
ryanchung
Could you take another look at this CL when you get a chance? Thank you.
4 years, 11 months ago (2016-01-21 22:12:48 UTC) #18
davidben
On 2016/01/21 22:12:48, ryanchung wrote: > Could you take another look at this CL when ...
4 years, 11 months ago (2016-01-21 22:14:10 UTC) #19
davidben
Thanks! There's a lot of comments, but they're all fairly local. Hopefully this'll be the ...
4 years, 11 months ago (2016-01-25 20:56:12 UTC) #20
ryanchung
Thanks. https://codereview.chromium.org/1474983003/diff/200001/net/socket/ssl_client_socket_openssl.cc File net/socket/ssl_client_socket_openssl.cc (right): https://codereview.chromium.org/1474983003/diff/200001/net/socket/ssl_client_socket_openssl.cc#newcode756 net/socket/ssl_client_socket_openssl.cc:756: &ssl_info->connection_status); On 2016/01/25 20:56:10, davidben (slow) wrote: > ...
4 years, 10 months ago (2016-01-29 23:22:14 UTC) #21
davidben
Hopefully this is the last batch of comments! (Note: some comments are stapled to a ...
4 years, 10 months ago (2016-02-04 00:40:12 UTC) #22
ryanchung
https://codereview.chromium.org/1474983003/diff/200001/net/ssl/openssl_ssl_util.h File net/ssl/openssl_ssl_util.h (right): https://codereview.chromium.org/1474983003/diff/200001/net/ssl/openssl_ssl_util.h#newcode77 net/ssl/openssl_ssl_util.h:77: void FreeX509NameStack(STACK_OF(X509_NAME)* ptr); On 2016/02/04 00:40:11, davidben (catching up) ...
4 years, 10 months ago (2016-02-05 01:56:13 UTC) #23
davidben
lgtm! Thanks so much for your patience and I'm so so sorry about how long ...
4 years, 10 months ago (2016-02-17 22:46:03 UTC) #24
ryanchung
Thanks! https://codereview.chromium.org/1474983003/diff/310001/net/cert/mock_client_cert_verifier.cc File net/cert/mock_client_cert_verifier.cc (right): https://codereview.chromium.org/1474983003/diff/310001/net/cert/mock_client_cert_verifier.cc#newcode27 net/cert/mock_client_cert_verifier.cc:27: RuleList::const_iterator it; On 2016/02/17 22:46:03, davidben wrote: > ...
4 years, 10 months ago (2016-02-18 01:07:27 UTC) #25
ryanchung
Hi Devlin, could you please review chrome/browser/extensions/ Thanks!
4 years, 10 months ago (2016-02-18 01:21:54 UTC) #28
Devlin
extensions lgtm
4 years, 10 months ago (2016-02-18 21:19:44 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1474983003/330001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1474983003/330001
4 years, 10 months ago (2016-02-18 21:52:39 UTC) #32
commit-bot: I haz the power
Committed patchset #18 (id:330001)
4 years, 10 months ago (2016-02-19 00:17:24 UTC) #34
commit-bot: I haz the power
4 years, 10 months ago (2016-02-19 00:18:14 UTC) #36
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/987b2ffd6da82a8af2d7dce89db5ec8e372702df
Cr-Commit-Position: refs/heads/master@{#376292}

Powered by Google App Engine
This is Rietveld 408576698