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

Issue 1212613004: Build and send HPKP violation reports (Closed)

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

Description

Build and send HPKP violation reports This CL adds code to TransportSecurityState to build HPKP reports, and sends them with a CertificateReportSender constructed by ProfileIOData. Calls to CheckPublicKeyPins() indicate whether a report should be sent and pass necessary reporting information as arguments. CL #1: crrev.com/1211363005 (parse report-uri) CL #2: crrev.com/1212973002 (add net::CertificateReportSender) This is CL #3. BUG=445793 Committed: https://crrev.com/1a66df754cd86315086180e978298f453f8723e7 Cr-Commit-Position: refs/heads/master@{#340687}

Patch Set 1 #

Total comments: 12

Patch Set 2 : rebase #

Patch Set 3 : rsleevi comments #

Total comments: 10

Patch Set 4 : rebase #

Patch Set 5 : rebase #

Patch Set 6 : combine GetHPKPReportUri() and BuildHPKPReport() into GetHPKPReport() #

Total comments: 12

Patch Set 7 : davidben commens #

Patch Set 8 : rebase #

Patch Set 9 : move report building code to TransportSecurityState; wire up to CheckPublicKeyPins #

Total comments: 30

Patch Set 10 : rebase #

Patch Set 11 : davidben comments #

Total comments: 4

Patch Set 12 : rebase #

Patch Set 13 : remove unnecessary net::'s #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+415 lines, -71 lines) Patch
M chrome/browser/profiles/profile_io_data.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_io_data.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +11 lines, -0 lines 0 comments Download
M net/base/hash_value.h View 1 2 3 4 5 6 1 chunk +0 lines, -3 lines 0 comments Download
M net/http/http_security_headers_unittest.cc View 1 2 3 4 5 6 7 8 9 10 7 chunks +23 lines, -18 lines 0 comments Download
M net/http/transport_security_state.h View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +40 lines, -21 lines 0 comments Download
M net/http/transport_security_state.cc View 1 2 3 4 5 6 7 8 9 10 6 chunks +134 lines, -15 lines 1 comment Download
M net/http/transport_security_state_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +181 lines, -2 lines 0 comments Download
M net/quic/crypto/proof_verifier_chromium.cc View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -2 lines 0 comments Download
M net/socket/ssl_client_socket_nss.cc View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -3 lines 0 comments Download
M net/socket/ssl_client_socket_openssl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -4 lines 0 comments Download
M net/spdy/spdy_session.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +10 lines, -3 lines 0 comments Download

Messages

Total messages: 42 (7 generated)
estark
This is CL 3/4 split out from https://codereview.chromium.org/1211933005/.
5 years, 5 months ago (2015-06-26 19:28:48 UTC) #2
Ryan Sleevi
https://codereview.chromium.org/1212613004/diff/1/net/http/transport_security_state.h File net/http/transport_security_state.h (right): https://codereview.chromium.org/1212613004/diff/1/net/http/transport_security_state.h#newcode13 net/http/transport_security_state.h:13: #include "base/basictypes.h" This should probably be <stdint.h> (noticed when ...
5 years, 5 months ago (2015-06-26 20:08:58 UTC) #4
Ryan Sleevi
https://codereview.chromium.org/1212613004/diff/1/net/http/transport_security_state.h File net/http/transport_security_state.h (right): https://codereview.chromium.org/1212613004/diff/1/net/http/transport_security_state.h#newcode178 net/http/transport_security_state.h:178: GURL* report_uri) = 0; On 2015/06/26 20:08:58, Ryan Sleevi ...
5 years, 5 months ago (2015-06-26 20:17:15 UTC) #5
estark
https://codereview.chromium.org/1212613004/diff/1/net/http/transport_security_state.h File net/http/transport_security_state.h (right): https://codereview.chromium.org/1212613004/diff/1/net/http/transport_security_state.h#newcode13 net/http/transport_security_state.h:13: #include "base/basictypes.h" On 2015/06/26 20:08:58, Ryan Sleevi (slow through ...
5 years, 5 months ago (2015-07-09 21:45:26 UTC) #7
davidben
https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h File net/http/transport_security_state.h (right): https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h#newcode188 net/http/transport_security_state.h:188: // |report_uri|. Returns false if a report should not ...
5 years, 5 months ago (2015-07-15 23:38:36 UTC) #8
estark
https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h File net/http/transport_security_state.h (right): https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h#newcode188 net/http/transport_security_state.h:188: // |report_uri|. Returns false if a report should not ...
5 years, 5 months ago (2015-07-15 23:51:37 UTC) #9
davidben
https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h File net/http/transport_security_state.h (right): https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h#newcode188 net/http/transport_security_state.h:188: // |report_uri|. Returns false if a report should not ...
5 years, 5 months ago (2015-07-16 00:22:54 UTC) #10
estark
https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h File net/http/transport_security_state.h (right): https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h#newcode188 net/http/transport_security_state.h:188: // |report_uri|. Returns false if a report should not ...
5 years, 5 months ago (2015-07-16 01:41:13 UTC) #11
davidben
https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h File net/http/transport_security_state.h (right): https://codereview.chromium.org/1212613004/diff/60001/net/http/transport_security_state.h#newcode188 net/http/transport_security_state.h:188: // |report_uri|. Returns false if a report should not ...
5 years, 5 months ago (2015-07-16 22:39:19 UTC) #12
estark
Chatted with David a bit more out-of-band. Decided to go with a GetHPKPReport()/SendHPKPReport() for TransportSecurityState::Reporter ...
5 years, 5 months ago (2015-07-17 21:33:14 UTC) #13
davidben
I'm still a little sad we can't fold TransportSecurity::Reporter and CertificateReportSender into one interface, but ...
5 years, 5 months ago (2015-07-22 21:36:43 UTC) #14
davidben
On 2015/07/22 21:36:43, David Benjamin wrote: > I'm still a little sad we can't fold ...
5 years, 5 months ago (2015-07-22 21:37:26 UTC) #15
davidben
Hrm, silly question: the current old format is ChromeFradulentCertificateReporter, right? Any reason not to just ...
5 years, 5 months ago (2015-07-23 00:03:12 UTC) #16
estark
https://codereview.chromium.org/1212613004/diff/120001/net/http/transport_security_reporter.cc File net/http/transport_security_reporter.cc (right): https://codereview.chromium.org/1212613004/diff/120001/net/http/transport_security_reporter.cc#newcode22 net/http/transport_security_reporter.cc:22: return scoped_ptr<base::ListValue>(new base::ListValue()); On 2015/07/22 21:36:42, David Benjamin wrote: ...
5 years, 5 months ago (2015-07-23 00:03:57 UTC) #17
estark
On 2015/07/22 21:37:26, David Benjamin wrote: > On 2015/07/22 21:36:43, David Benjamin wrote: > > ...
5 years, 5 months ago (2015-07-23 00:12:50 UTC) #18
davidben
On 2015/07/23 00:12:50, estark wrote: > > On 2015/07/23 00:03:12, David Benjamin wrote: > > ...
5 years, 5 months ago (2015-07-23 00:16:02 UTC) #19
estark
On 2015/07/23 00:16:02, David Benjamin wrote: > On 2015/07/23 00:12:50, estark wrote: > > > ...
5 years, 5 months ago (2015-07-23 08:52:57 UTC) #20
estark
https://codereview.chromium.org/1212613004/diff/180001/net/http/transport_security_state_unittest.cc File net/http/transport_security_state_unittest.cc (right): https://codereview.chromium.org/1212613004/diff/180001/net/http/transport_security_state_unittest.cc#newcode43 net/http/transport_security_state_unittest.cc:43: const char kReportUri[] = "http://example.test/test"; Is everything supposed to ...
5 years, 5 months ago (2015-07-23 08:53:29 UTC) #21
davidben
This is basically entirely nits. https://codereview.chromium.org/1212613004/diff/180001/chrome/browser/profiles/profile_io_data.h File chrome/browser/profiles/profile_io_data.h (right): https://codereview.chromium.org/1212613004/diff/180001/chrome/browser/profiles/profile_io_data.h#newcode71 chrome/browser/profiles/profile_io_data.h:71: class CertificateReportSender; Nit: Alphabetize. ...
5 years, 5 months ago (2015-07-24 20:42:56 UTC) #22
estark
https://codereview.chromium.org/1212613004/diff/180001/chrome/browser/profiles/profile_io_data.h File chrome/browser/profiles/profile_io_data.h (right): https://codereview.chromium.org/1212613004/diff/180001/chrome/browser/profiles/profile_io_data.h#newcode71 chrome/browser/profiles/profile_io_data.h:71: class CertificateReportSender; On 2015/07/24 20:42:55, David Benjamin wrote: > ...
5 years, 5 months ago (2015-07-25 00:10:31 UTC) #23
estark
mmenke, could you please review the ProfileIOData changes?
5 years, 5 months ago (2015-07-25 00:11:28 UTC) #25
davidben
https://codereview.chromium.org/1212613004/diff/180001/net/spdy/spdy_session.cc File net/spdy/spdy_session.cc (right): https://codereview.chromium.org/1212613004/diff/180001/net/spdy/spdy_session.cc#newcode607 net/spdy/spdy_session.cc:607: ssl_info.cert.get(), TransportSecurityState::DISABLE_PIN_REPORTS, On 2015/07/25 00:10:31, estark wrote: > On ...
5 years, 5 months ago (2015-07-25 01:48:58 UTC) #26
davidben
On 2015/07/25 01:48:58, David Benjamin wrote: > https://codereview.chromium.org/1212613004/diff/180001/net/spdy/spdy_session.cc > File net/spdy/spdy_session.cc (right): > > https://codereview.chromium.org/1212613004/diff/180001/net/spdy/spdy_session.cc#newcode607 ...
5 years, 5 months ago (2015-07-25 01:49:45 UTC) #27
estark
On 2015/07/25 01:49:45, David Benjamin wrote: > On 2015/07/25 01:48:58, David Benjamin wrote: > > ...
5 years, 5 months ago (2015-07-25 06:22:33 UTC) #28
mmenke
On 2015/07/25 06:22:33, estark wrote: > On 2015/07/25 01:49:45, David Benjamin wrote: > > On ...
5 years, 4 months ago (2015-07-27 15:36:09 UTC) #29
davidben
On 2015/07/25 06:22:33, estark wrote: > On 2015/07/25 01:49:45, David Benjamin wrote: > > On ...
5 years, 4 months ago (2015-07-27 17:08:55 UTC) #30
estark
On 2015/07/27 17:08:55, David Benjamin wrote: > <snip> > > Is reporting not also used ...
5 years, 4 months ago (2015-07-27 17:34:36 UTC) #31
davidben
On 2015/07/27 17:34:36, estark wrote: > Based on the implementation and, more importantly, the spec, ...
5 years, 4 months ago (2015-07-27 19:57:01 UTC) #32
Ryan Sleevi
LGTM, one q tho https://codereview.chromium.org/1212613004/diff/220001/net/http/transport_security_state.cc File net/http/transport_security_state.cc (right): https://codereview.chromium.org/1212613004/diff/220001/net/http/transport_security_state.cc#newcode651 net/http/transport_security_state.cc:651: TransportSecurityState::ReportSender* report_sender) { drive by: ...
5 years, 4 months ago (2015-07-28 01:15:17 UTC) #33
estark
Thanks David and Ryan. https://codereview.chromium.org/1212613004/diff/220001/net/http/transport_security_state.cc File net/http/transport_security_state.cc (right): https://codereview.chromium.org/1212613004/diff/220001/net/http/transport_security_state.cc#newcode651 net/http/transport_security_state.cc:651: TransportSecurityState::ReportSender* report_sender) { On 2015/07/28 ...
5 years, 4 months ago (2015-07-28 04:09:45 UTC) #34
estark
https://codereview.chromium.org/1212613004/diff/220001/net/http/transport_security_state_unittest.cc File net/http/transport_security_state_unittest.cc (right): https://codereview.chromium.org/1212613004/diff/220001/net/http/transport_security_state_unittest.cc#newcode50 net/http/transport_security_state_unittest.cc:50: : public net::TransportSecurityState::ReportSender { On 2015/07/27 19:57:01, David Benjamin ...
5 years, 4 months ago (2015-07-28 13:52:39 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1212613004/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1212613004/260001
5 years, 4 months ago (2015-07-28 13:53:14 UTC) #38
commit-bot: I haz the power
Committed patchset #13 (id:260001)
5 years, 4 months ago (2015-07-28 15:24:15 UTC) #39
commit-bot: I haz the power
Patchset 13 (id:??) landed as https://crrev.com/1a66df754cd86315086180e978298f453f8723e7 Cr-Commit-Position: refs/heads/master@{#340687}
5 years, 4 months ago (2015-07-28 15:25:04 UTC) #40
Lei Zhang
5 years, 4 months ago (2015-07-28 20:27:26 UTC) #42
Message was sent while issue was closed.
https://codereview.chromium.org/1212613004/diff/260001/net/http/transport_sec...
File net/http/transport_security_state.cc (right):

https://codereview.chromium.org/1212613004/diff/260001/net/http/transport_sec...
net/http/transport_security_state.cc:564: : delegate_(NULL),
enable_static_pins_(true) {
I think DrMemory's complaint is not initializing |report_sender_| here.

Powered by Google App Engine
This is Rietveld 408576698