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

Issue 1058003004: Forget SSL error exceptions when good certs seen for regular requests. (Closed)

Created:
5 years, 8 months ago by jww
Modified:
5 years, 8 months ago
CC:
chromium-reviews, darin-cc_chromium.org, cbentzel+watch_chromium.org, jam
Base URL:
https://chromium.googlesource.com/chromium/src@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Forget SSL error exceptions when good certs seen for regular requests. Chrome remembers decisions by the user to proceed through SSL errors. However, it remembers this even after a good certificate has been seen for the given host. This change removes all previous exceptions for a given host after a good certificate is seen on a regular request, but not on redirects. In the SSLPolicy, this adds a call to RevokeUserAllowExceptions() on the SSLHostStateDelegate when a request response begins. This removes all prior exceptions for the specified host. However, there is currently no similar plumbing for redirects, so until that plumbing is built, revocation will not occur when a valid cert for a host is seen on redirect. BUG=473390 Committed: https://crrev.com/5a586e5039cf30c3071b14a8e1df105f08c6b06a Cr-Commit-Position: refs/heads/master@{#326332}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Changed browser test to use TestRootCerts #

Total comments: 16

Patch Set 3 : Tests related to unsafe resources w/user exceptions #

Total comments: 9

Patch Set 4 : Rebase on ToT #

Patch Set 5 : Addressed histogram comments #

Total comments: 5

Patch Set 6 : Nit from felt #

Total comments: 2

Patch Set 7 : Updated histogram description #

Patch Set 8 : Rebase on ToT #

Total comments: 4

Patch Set 9 : Nits from davdben #

Patch Set 10 : Rebase on ToT #

Patch Set 11 : Fix Android WebView SSLHostStateDelegate #

Patch Set 12 : Another WebView compile error #

Patch Set 13 : Yet Another Webview Fix (should be the last, I swear) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+262 lines, -40 lines) Patch
M android_webview/browser/aw_ssl_host_state_delegate.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +14 lines, -0 lines 0 comments Download
M android_webview/browser/aw_ssl_host_state_delegate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +11 lines, -0 lines 0 comments Download
M chrome/browser/ssl/chrome_ssl_host_state_delegate.h View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/ssl/ssl_browser_tests.cc View 1 2 3 4 5 6 7 7 chunks +145 lines, -15 lines 0 comments Download
M content/browser/ssl/ssl_policy.cc View 1 2 3 4 5 6 7 8 3 chunks +24 lines, -1 line 0 comments Download
M content/browser/ssl/ssl_policy_backend.h View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M content/browser/ssl/ssl_policy_backend.cc View 1 2 3 4 5 6 7 8 1 chunk +14 lines, -0 lines 0 comments Download
M content/public/browser/ssl_host_state_delegate.h View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
M net/test/spawned_test_server/base_test_server.h View 1 2 3 2 chunks +4 lines, -4 lines 0 comments Download
M net/test/spawned_test_server/base_test_server.cc View 1 2 3 2 chunks +18 lines, -18 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 2 chunks +13 lines, -0 lines 0 comments Download

Messages

Total messages: 57 (15 generated)
jww
This is the implementation of the revocation we discussed the other day. I know the ...
5 years, 8 months ago (2015-04-03 00:15:07 UTC) #2
Ryan Sleevi
https://codereview.chromium.org/1058003004/diff/1/net/test/spawned_test_server/base_test_server.h File net/test/spawned_test_server/base_test_server.h (right): https://codereview.chromium.org/1058003004/diff/1/net/test/spawned_test_server/base_test_server.h#newcode260 net/test/spawned_test_server/base_test_server.h:260: void set_ssl_options(const SSLOptions& ssl_options); Drive by not-LGTM on these. ...
5 years, 8 months ago (2015-04-03 00:21:12 UTC) #4
Ryan Sleevi
Ok, so not-LGT marky mark is seen as an OK, not the Not LGTM it's ...
5 years, 8 months ago (2015-04-03 00:21:43 UTC) #5
jww
Any suggestions on how to make this look better? What about a specific "set_cert_response" or ...
5 years, 8 months ago (2015-04-03 00:37:15 UTC) #6
Ryan Sleevi
On 2015/04/03 00:37:15, jww wrote: > Any suggestions on how to make this look better? ...
5 years, 8 months ago (2015-04-03 00:54:50 UTC) #7
jww
On 2015/04/03 00:54:50, Ryan Sleevi wrote: > On 2015/04/03 00:37:15, jww wrote: > > Any ...
5 years, 8 months ago (2015-04-03 22:57:44 UTC) #8
jww
On 2015/04/03 22:57:44, jww wrote: > On 2015/04/03 00:54:50, Ryan Sleevi wrote: > > On ...
5 years, 8 months ago (2015-04-03 23:06:34 UTC) #9
Ryan Sleevi
On 2015/04/03 23:06:34, jww wrote: > Ah, question partially answered and new questions raised... it's ...
5 years, 8 months ago (2015-04-03 23:26:18 UTC) #10
jww
On 2015/04/03 23:26:18, Ryan Sleevi wrote: > On 2015/04/03 23:06:34, jww wrote: > > Ah, ...
5 years, 8 months ago (2015-04-03 23:31:31 UTC) #11
Ryan Sleevi
On 2015/04/03 23:31:31, jww wrote: > I'm surprised to hear that. It certainly seems to ...
5 years, 8 months ago (2015-04-03 23:43:01 UTC) #12
davidben
Man, this is a nuisance. So there's TestRootCerts which you can fiddle with. But that ...
5 years, 8 months ago (2015-04-07 21:08:43 UTC) #13
jww
On 2015/04/07 21:08:43, David Benjamin wrote: > Man, this is a nuisance. So there's TestRootCerts ...
5 years, 8 months ago (2015-04-07 21:38:06 UTC) #14
jww
On 2015/04/07 21:38:06, jww wrote: > On 2015/04/07 21:08:43, David Benjamin wrote: > > Man, ...
5 years, 8 months ago (2015-04-08 00:21:46 UTC) #15
jww
https://codereview.chromium.org/1058003004/diff/1/chrome/browser/ssl/ssl_browser_tests.cc File chrome/browser/ssl/ssl_browser_tests.cc (right): https://codereview.chromium.org/1058003004/diff/1/chrome/browser/ssl/ssl_browser_tests.cc#newcode2152 chrome/browser/ssl/ssl_browser_tests.cc:2152: On 2015/04/07 21:08:43, David Benjamin wrote: > You should ...
5 years, 8 months ago (2015-04-08 00:57:40 UTC) #16
Ryan Sleevi
I'll give my blessing and LGTM on this. Kudos to David for the creative solution ...
5 years, 8 months ago (2015-04-09 20:55:48 UTC) #17
felt
https://codereview.chromium.org/1058003004/diff/20001/content/browser/ssl/ssl_policy.cc File content/browser/ssl/ssl_policy.cc (right): https://codereview.chromium.org/1058003004/diff/20001/content/browser/ssl/ssl_policy.cc#newcode118 content/browser/ssl/ssl_policy.cc:118: backend_->RevokeUserAllowExceptions(info->url().host()); Can you record how often this happens w/ ...
5 years, 8 months ago (2015-04-09 21:05:07 UTC) #18
felt
https://codereview.chromium.org/1058003004/diff/20001/content/browser/ssl/ssl_policy_backend.h File content/browser/ssl/ssl_policy_backend.h (right): https://codereview.chromium.org/1058003004/diff/20001/content/browser/ssl/ssl_policy_backend.h#newcode30 content/browser/ssl/ssl_policy_backend.h:30: // Revokes all allow exceptions by by the user ...
5 years, 8 months ago (2015-04-09 21:57:28 UTC) #19
Ryan Sleevi
David pointed out to me on hangouts that this is all terribly thread-racy, but that's ...
5 years, 8 months ago (2015-04-09 22:10:34 UTC) #20
jww
mpearson@chromium.org: Can you review the histograms.xml change? felt@, can you take another look at the ...
5 years, 8 months ago (2015-04-16 23:59:07 UTC) #22
Mark P
https://codereview.chromium.org/1058003004/diff/40001/content/browser/ssl/ssl_policy.cc File content/browser/ssl/ssl_policy.cc (right): https://codereview.chromium.org/1058003004/diff/40001/content/browser/ssl/ssl_policy.cc#newcode11 content/browser/ssl/ssl_policy.cc:11: #include "base/metrics/histogram.h" histogram_macros is more appropriate https://codereview.chromium.org/1058003004/diff/40001/content/browser/ssl/ssl_policy.cc#newcode109 content/browser/ssl/ssl_policy.cc:109: enum ...
5 years, 8 months ago (2015-04-17 16:20:36 UTC) #23
jww
https://codereview.chromium.org/1058003004/diff/40001/content/browser/ssl/ssl_policy.cc File content/browser/ssl/ssl_policy.cc (right): https://codereview.chromium.org/1058003004/diff/40001/content/browser/ssl/ssl_policy.cc#newcode11 content/browser/ssl/ssl_policy.cc:11: #include "base/metrics/histogram.h" On 2015/04/17 16:20:36, Mark P wrote: > ...
5 years, 8 months ago (2015-04-17 18:14:33 UTC) #24
felt
https://codereview.chromium.org/1058003004/diff/80001/chrome/browser/ssl/ssl_browser_tests.cc File chrome/browser/ssl/ssl_browser_tests.cc (right): https://codereview.chromium.org/1058003004/diff/80001/chrome/browser/ssl/ssl_browser_tests.cc#newcode2150 chrome/browser/ssl/ssl_browser_tests.cc:2150: EXPECT_GT(img_width, 100); This is an odd way to verify ...
5 years, 8 months ago (2015-04-17 19:58:03 UTC) #25
jww
https://codereview.chromium.org/1058003004/diff/80001/chrome/browser/ssl/ssl_browser_tests.cc File chrome/browser/ssl/ssl_browser_tests.cc (right): https://codereview.chromium.org/1058003004/diff/80001/chrome/browser/ssl/ssl_browser_tests.cc#newcode2150 chrome/browser/ssl/ssl_browser_tests.cc:2150: EXPECT_GT(img_width, 100); On 2015/04/17 19:58:03, felt wrote: > This ...
5 years, 8 months ago (2015-04-17 20:16:06 UTC) #26
Mark P
minor comments, otherwise histograms.xml lgtm https://codereview.chromium.org/1058003004/diff/40001/content/browser/ssl/ssl_policy.cc File content/browser/ssl/ssl_policy.cc (right): https://codereview.chromium.org/1058003004/diff/40001/content/browser/ssl/ssl_policy.cc#newcode126 content/browser/ssl/ssl_policy.cc:126: UMA_HISTOGRAM_ENUMERATION("interstitial.ssl.good_cert_seen", event, On 2015/04/17 ...
5 years, 8 months ago (2015-04-17 20:26:19 UTC) #27
jww
https://codereview.chromium.org/1058003004/diff/100001/tools/metrics/histograms/histograms.xml File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/1058003004/diff/100001/tools/metrics/histograms/histograms.xml#newcode13081 tools/metrics/histograms/histograms.xml:13081: + Records when a good certificate is seen after ...
5 years, 8 months ago (2015-04-17 20:30:29 UTC) #28
felt
https://codereview.chromium.org/1058003004/diff/80001/chrome/browser/ssl/ssl_browser_tests.cc File chrome/browser/ssl/ssl_browser_tests.cc (right): https://codereview.chromium.org/1058003004/diff/80001/chrome/browser/ssl/ssl_browser_tests.cc#newcode2150 chrome/browser/ssl/ssl_browser_tests.cc:2150: EXPECT_GT(img_width, 100); On 2015/04/17 20:16:06, jww wrote: > On ...
5 years, 8 months ago (2015-04-17 20:38:55 UTC) #29
jww
On 2015/04/17 20:38:55, felt wrote: > https://codereview.chromium.org/1058003004/diff/80001/chrome/browser/ssl/ssl_browser_tests.cc > File chrome/browser/ssl/ssl_browser_tests.cc (right): > > https://codereview.chromium.org/1058003004/diff/80001/chrome/browser/ssl/ssl_browser_tests.cc#newcode2150 > ...
5 years, 8 months ago (2015-04-17 21:31:22 UTC) #30
felt
On 2015/04/17 21:31:22, jww wrote: > On 2015/04/17 20:38:55, felt wrote: > > > https://codereview.chromium.org/1058003004/diff/80001/chrome/browser/ssl/ssl_browser_tests.cc ...
5 years, 8 months ago (2015-04-17 21:43:11 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1058003004/120001
5 years, 8 months ago (2015-04-17 21:52:26 UTC) #34
commit-bot: I haz the power
Try jobs failed on following builders: ios_dbg_simulator_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator_ninja/builds/16067)
5 years, 8 months ago (2015-04-17 22:00:07 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1058003004/140001
5 years, 8 months ago (2015-04-17 22:44:04 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/android_arm64_dbg_recipe/builds/67268)
5 years, 8 months ago (2015-04-17 23:44:03 UTC) #41
jww
On 2015/04/17 23:44:03, I haz the power (commit-bot) wrote: > Try jobs failed on following ...
5 years, 8 months ago (2015-04-18 00:01:15 UTC) #42
davidben
content lgtm with comments https://codereview.chromium.org/1058003004/diff/140001/content/browser/ssl/ssl_policy.cc File content/browser/ssl/ssl_policy.cc (right): https://codereview.chromium.org/1058003004/diff/140001/content/browser/ssl/ssl_policy.cc#newcode36 content/browser/ssl/ssl_policy.cc:36: END_OF_SSL_GOOD_CERT_SEEN_EVENT = 2 Nit: I ...
5 years, 8 months ago (2015-04-21 18:09:00 UTC) #43
jww
https://codereview.chromium.org/1058003004/diff/140001/content/browser/ssl/ssl_policy.cc File content/browser/ssl/ssl_policy.cc (right): https://codereview.chromium.org/1058003004/diff/140001/content/browser/ssl/ssl_policy.cc#newcode36 content/browser/ssl/ssl_policy.cc:36: END_OF_SSL_GOOD_CERT_SEEN_EVENT = 2 On 2015/04/21 18:09:00, David Benjamin wrote: ...
5 years, 8 months ago (2015-04-21 18:18:15 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1058003004/180001
5 years, 8 months ago (2015-04-21 18:20:32 UTC) #47
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_rel_ng/builds/14375)
5 years, 8 months ago (2015-04-21 19:01:53 UTC) #49
jww
torne@chromium.org: Can you review the android_webview/ additions? Thanks!
5 years, 8 months ago (2015-04-21 21:21:02 UTC) #51
Torne
android_webview LGTM
5 years, 8 months ago (2015-04-22 09:42:11 UTC) #52
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1058003004/240001
5 years, 8 months ago (2015-04-22 16:01:47 UTC) #55
commit-bot: I haz the power
Committed patchset #13 (id:240001)
5 years, 8 months ago (2015-04-22 17:44:08 UTC) #56
commit-bot: I haz the power
5 years, 8 months ago (2015-04-22 17:45:51 UTC) #57
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/5a586e5039cf30c3071b14a8e1df105f08c6b06a
Cr-Commit-Position: refs/heads/master@{#326332}

Powered by Google App Engine
This is Rietveld 408576698