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

Issue 1417363004: Verify certificate of Privet v3 device (Closed)

Created:
5 years, 2 months ago by Vitaly Buka (NO REVIEWS)
Modified:
5 years, 1 month ago
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Verify certificate of Privet v3 device Privet v3 uses https to secure communication with device. Device has self-signed certificate so we can't use normal certificate verification. Certificate is validated by matching fingerprints with value received during pairing process. During pairing process device sends certificate fingerprint using insecure channel. Fingerprint is signed with secret generated during pairing session. BUG=524788 Committed: https://crrev.com/3d39db84f919575d1399b62f76d17566632b0049 Cr-Commit-Position: refs/heads/master@{#355994}

Patch Set 1 #

Patch Set 2 : Fri Oct 23 12:10:43 PDT 2015 #

Patch Set 3 : Fri Oct 23 12:49:42 PDT 2015 #

Patch Set 4 : Fri Oct 23 14:58:42 PDT 2015 #

Total comments: 8

Patch Set 5 : Fri Oct 23 15:17:36 PDT 2015 #

Patch Set 6 : Fri Oct 23 15:23:44 PDT 2015 #

Patch Set 7 : Fri Oct 23 18:12:45 PDT 2015 #

Patch Set 8 : Fri Oct 23 18:16:41 PDT 2015 #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Total comments: 26

Patch Set 12 : #

Patch Set 13 : #

Total comments: 2

Patch Set 14 : #

Patch Set 15 : #

Total comments: 5

Patch Set 16 : #

Patch Set 17 : #

Patch Set 18 : #

Patch Set 19 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+425 lines, -72 lines) Patch
M chrome/browser/local_discovery/privet_http.h View 1 2 3 4 5 6 12 13 14 15 16 17 18 2 chunks +9 lines, -1 line 0 comments Download
M chrome/browser/local_discovery/privet_http_impl.h View 1 2 3 4 5 6 16 17 18 3 chunks +10 lines, -1 line 0 comments Download
M chrome/browser/local_discovery/privet_http_impl.cc View 1 2 3 4 5 6 7 8 9 12 13 14 15 16 17 18 7 chunks +140 lines, -9 lines 0 comments Download
M chrome/browser/local_discovery/privet_http_unittest.cc View 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 3 chunks +139 lines, -3 lines 0 comments Download
M chrome/browser/local_discovery/privet_url_fetcher.h View 1 2 3 4 5 6 4 chunks +8 lines, -5 lines 0 comments Download
M chrome/browser/local_discovery/privet_url_fetcher.cc View 1 2 3 4 5 6 7 8 12 13 14 15 16 17 18 12 chunks +34 lines, -15 lines 0 comments Download
M chrome/browser/local_discovery/privetv3_session.h View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M chrome/browser/local_discovery/privetv3_session.cc View 1 2 3 4 5 6 9 chunks +29 lines, -13 lines 0 comments Download
M chrome/browser/local_discovery/privetv3_session_unittest.cc View 1 2 3 4 5 6 7 8 12 chunks +54 lines, -23 lines 0 comments Download

Messages

Total messages: 56 (22 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417363004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417363004/1
5 years, 2 months ago (2015-10-23 04:24:22 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_gn_chromeos_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_chromeos_rel/builds/97626)
5 years, 2 months ago (2015-10-23 04:32:03 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417363004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417363004/40001
5 years, 2 months ago (2015-10-23 19:53:11 UTC) #8
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_gn_chromeos_rel on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_gn_chromeos_rel/builds/97923) linux_chromium_rel_ng on ...
5 years, 2 months ago (2015-10-23 20:03:05 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417363004/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417363004/60001
5 years, 2 months ago (2015-10-23 22:06:05 UTC) #12
Alex Vakulenko
https://codereview.chromium.org/1417363004/diff/60001/chrome/browser/local_discovery/privetv3_session.cc File chrome/browser/local_discovery/privetv3_session.cc (right): https://codereview.chromium.org/1417363004/diff/60001/chrome/browser/local_discovery/privetv3_session.cc#newcode337 chrome/browser/local_discovery/privetv3_session.cc:337: if (fingerprint.size() != arraysize(hash.data)) { this should be sizeof() ...
5 years, 2 months ago (2015-10-23 22:14:44 UTC) #13
Vitaly Buka (NO REVIEWS)
https://codereview.chromium.org/1417363004/diff/60001/chrome/browser/local_discovery/privetv3_session.cc File chrome/browser/local_discovery/privetv3_session.cc (right): https://codereview.chromium.org/1417363004/diff/60001/chrome/browser/local_discovery/privetv3_session.cc#newcode337 chrome/browser/local_discovery/privetv3_session.cc:337: if (fingerprint.size() != arraysize(hash.data)) { On 2015/10/23 22:14:44, Alex ...
5 years, 2 months ago (2015-10-23 22:18:49 UTC) #14
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417363004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417363004/80001
5 years, 2 months ago (2015-10-23 22:20:04 UTC) #16
Aleksey Shlyapnikov
lgtm
5 years, 2 months ago (2015-10-23 23:08:32 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417363004/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417363004/140001
5 years, 2 months ago (2015-10-24 01:20:36 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/79464) linux_chromium_compile_dbg_ng on tryserver.chromium.linux (JOB_FAILED, ...
5 years, 2 months ago (2015-10-24 01:32:16 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417363004/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417363004/160001
5 years, 2 months ago (2015-10-24 05:18:59 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_rel/builds/21052)
5 years, 2 months ago (2015-10-24 05:28:04 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417363004/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417363004/180001
5 years, 2 months ago (2015-10-24 06:37:35 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/130923)
5 years, 2 months ago (2015-10-24 07:38:02 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1417363004/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1417363004/200001
5 years, 1 month ago (2015-10-25 18:56:42 UTC) #35
commit-bot: I haz the power
Committed patchset #11 (id:200001)
5 years, 1 month ago (2015-10-25 19:41:21 UTC) #36
commit-bot: I haz the power
Patchset 11 (id:??) landed as https://crrev.com/3d39db84f919575d1399b62f76d17566632b0049 Cr-Commit-Position: refs/heads/master@{#355994}
5 years, 1 month ago (2015-10-25 19:41:56 UTC) #37
Vitaly Buka (NO REVIEWS)
Ryan, would you like to take a look at chrome/browser/local_discovery/privet_http_impl.cc
5 years, 1 month ago (2015-10-26 23:53:49 UTC) #40
Ryan Sleevi
Is there a launch bug for this? This strikes me as very security-sensitive and should ...
5 years, 1 month ago (2015-10-28 22:52:16 UTC) #42
Vitaly Buka (NO REVIEWS)
Not yet. We are still building this feature. API is used only by single internal ...
5 years, 1 month ago (2015-10-28 23:01:23 UTC) #43
Vitaly Buka (NO REVIEWS)
I'll re-open this issue to simplify review. I'd like to avoid reverting right now as ...
5 years, 1 month ago (2015-10-28 23:05:25 UTC) #44
Vitaly Buka (NO REVIEWS)
https://codereview.chromium.org/1417363004/diff/200001/chrome/browser/local_discovery/privet_http_impl.cc File chrome/browser/local_discovery/privet_http_impl.cc (right): https://codereview.chromium.org/1417363004/diff/200001/chrome/browser/local_discovery/privet_http_impl.cc#newcode102 chrome/browser/local_discovery/privet_http_impl.cc:102: verify_result->verified_cert = cert; On 2015/10/28 22:52:15, Ryan Sleevi wrote: ...
5 years, 1 month ago (2015-10-29 00:19:10 UTC) #45
Vitaly Buka (NO REVIEWS)
https://codereview.chromium.org/1417363004/diff/200001/chrome/browser/local_discovery/privet_http_unittest.cc File chrome/browser/local_discovery/privet_http_unittest.cc (right): https://codereview.chromium.org/1417363004/diff/200001/chrome/browser/local_discovery/privet_http_unittest.cc#newcode1160 chrome/browser/local_discovery/privet_http_unittest.cc:1160: https_server_.reset(new SpawnedTestServer(net::BaseTestServer::TYPE_HTTP, EmbeddedTestServer does not support HTTPS.
5 years, 1 month ago (2015-10-29 02:01:58 UTC) #46
mmenke
https://codereview.chromium.org/1417363004/diff/200001/chrome/browser/local_discovery/privet_http_unittest.cc File chrome/browser/local_discovery/privet_http_unittest.cc (right): https://codereview.chromium.org/1417363004/diff/200001/chrome/browser/local_discovery/privet_http_unittest.cc#newcode1160 chrome/browser/local_discovery/privet_http_unittest.cc:1160: https_server_.reset(new SpawnedTestServer(net::BaseTestServer::TYPE_HTTP, On 2015/10/29 02:01:58, Vitaly Buka wrote: > ...
5 years, 1 month ago (2015-10-29 02:35:11 UTC) #47
Vitaly Buka (NO REVIEWS)
https://codereview.chromium.org/1417363004/diff/200001/chrome/browser/local_discovery/privet_http_unittest.cc File chrome/browser/local_discovery/privet_http_unittest.cc (right): https://codereview.chromium.org/1417363004/diff/200001/chrome/browser/local_discovery/privet_http_unittest.cc#newcode1160 chrome/browser/local_discovery/privet_http_unittest.cc:1160: https_server_.reset(new SpawnedTestServer(net::BaseTestServer::TYPE_HTTP, Done. Actually it was code search to ...
5 years, 1 month ago (2015-10-29 05:27:46 UTC) #48
Vitaly Buka (NO REVIEWS)
https://codereview.chromium.org/1417363004/diff/240001/chrome/browser/local_discovery/privet_http_unittest.cc File chrome/browser/local_discovery/privet_http_unittest.cc (right): https://codereview.chromium.org/1417363004/diff/240001/chrome/browser/local_discovery/privet_http_unittest.cc#newcode1181 chrome/browser/local_discovery/privet_http_unittest.cc:1181: EXPECT_EQ(PrivetURLFetcher::UNKNOWN_ERROR, error_); New bug for that: https://code.google.com/p/chromium/issues/detail?id=548971
5 years, 1 month ago (2015-10-29 06:24:35 UTC) #49
mmenke
I defer to Ryan on security issues (Of which I have little knowledge), but if ...
5 years, 1 month ago (2015-10-29 16:12:27 UTC) #50
Vitaly Buka (NO REVIEWS)
On 2015/10/29 16:12:27, mmenke wrote: > I defer to Ryan on security issues (Of which ...
5 years, 1 month ago (2015-10-29 17:32:50 UTC) #51
Vitaly Buka (NO REVIEWS)
https://codereview.chromium.org/1417363004/diff/280001/chrome/browser/local_discovery/privet_http_impl.cc File chrome/browser/local_discovery/privet_http_impl.cc (right): https://codereview.chromium.org/1417363004/diff/280001/chrome/browser/local_discovery/privet_http_impl.cc#newcode179 chrome/browser/local_discovery/privet_http_impl.cc:179: ~PrivetContextGetter() override = default; On 2015/10/29 16:12:26, mmenke wrote: ...
5 years, 1 month ago (2015-10-29 18:37:12 UTC) #52
mmenke
https://codereview.chromium.org/1417363004/diff/280001/chrome/browser/local_discovery/privet_http_impl.cc File chrome/browser/local_discovery/privet_http_impl.cc (right): https://codereview.chromium.org/1417363004/diff/280001/chrome/browser/local_discovery/privet_http_impl.cc#newcode179 chrome/browser/local_discovery/privet_http_impl.cc:179: ~PrivetContextGetter() override = default; On 2015/10/29 18:37:12, Vitaly Buka ...
5 years, 1 month ago (2015-10-29 18:40:18 UTC) #53
mmenke
On 2015/10/29 18:40:18, mmenke wrote: > https://codereview.chromium.org/1417363004/diff/280001/chrome/browser/local_discovery/privet_http_impl.cc > File chrome/browser/local_discovery/privet_http_impl.cc (right): > > https://codereview.chromium.org/1417363004/diff/280001/chrome/browser/local_discovery/privet_http_impl.cc#newcode179 > ...
5 years, 1 month ago (2015-10-29 18:44:22 UTC) #54
Vitaly Buka (NO REVIEWS)
Updated that patch to hide HTTPS related code behind command line switch. In separate CL ...
5 years, 1 month ago (2015-10-30 00:28:03 UTC) #55
Vitaly Buka (NO REVIEWS)
5 years, 1 month ago (2015-10-30 21:53:06 UTC) #56
I have uploaded original landed CL and closing this issue.
Please continue on https://codereview.chromium.org/1415653004/

Powered by Google App Engine
This is Rietveld 408576698