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

Issue 102993002: Implement Networking Private API VerifyAndEncryptCredentials method (Closed)

Created:
7 years ago by mef
Modified:
6 years, 9 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, chromium-apps-reviews_chromium.org, darin-cc_chromium.org, jam, extensions-reviews_chromium.org
Visibility:
Public.

Description

Implementation of Networking Private API VerifyAndEncryptCredentials method on Windows and Mac OS X. Adds methods to NetworkingPrivateService to verify device credentials and use NetworkingPrivateCredentialsGetter to get wifi password from system. On Windows that requires launching utility process with UAC privilege elevation, which is not implemented yet. BUG=328960 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=257209

Patch Set 1 : Get keyMaterial element data from WLANProfile xml. #

Patch Set 2 : Add NetworkingPrivateServiceClient::VerifyAndEncryptCredentials. #

Patch Set 3 : Use utility process to get and encrypt wifi passphrase. #

Total comments: 11

Patch Set 4 : Sync to r247689 #

Patch Set 5 : Fixed Mac compilation errors. #

Patch Set 6 : Implement GetWiFiPasswordFromSystem on Mac. #

Total comments: 5

Patch Set 7 : Added get_plaintext_key parameter. #

Patch Set 8 : Fix Mac compilation errors. #

Patch Set 9 : Moved wifi_service changes into CL 156943002 #

Patch Set 10 : Rename WiFiPassphraseGetter into NetworkingPrivateCredentialsGetter. #

Patch Set 11 : Refactored NetworkingPrivateCredentialsGetter. #

Total comments: 6

Patch Set 12 : Implemented NetworkingPrivateCredentialsGetterMac. #

Total comments: 11

Patch Set 13 : Address code review comments, ElevatePrivileges of Utility Process on Win. #

Total comments: 8

Patch Set 14 : Address codereview comments. #

Total comments: 4

Patch Set 15 : Sync to r252917 #

Patch Set 16 : Address codereview comments. #

Total comments: 17

Patch Set 17 : Address codereview comments. #

Total comments: 6

Patch Set 18 : Move networking_private_crypto* to chrome/common. #

Patch Set 19 : Fix Mac compilation error, apply cl format. #

Total comments: 2

Patch Set 20 : Sync to r254157 #

Total comments: 14

Patch Set 21 : Replace std::string with vector<uint8> for IPC messages. #

Patch Set 22 : Fix Mac code, CL format. #

Total comments: 4

Patch Set 23 : Fix linker error. #

Patch Set 24 : Sync to r255173 #

Total comments: 8

Patch Set 25 : Address jorgelo's comments. #

Patch Set 26 : Sync to r256916 #

Patch Set 27 : EnsureInitialized in WiFiService SetEventObservers. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+591 lines, -573 lines) Patch
M chrome/browser/extensions/api/networking_private/networking_private_api_nonchromeos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +23 lines, -2 lines 0 comments Download
M chrome/browser/extensions/api/networking_private/networking_private_apitest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 chunks +8 lines, -0 lines 0 comments Download
A chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +48 lines, -0 lines 0 comments Download
A chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_mac.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +78 lines, -0 lines 0 comments Download
A chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +150 lines, -0 lines 0 comments Download
D chrome/browser/extensions/api/networking_private/networking_private_crypto.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +0 lines, -57 lines 0 comments Download
D chrome/browser/extensions/api/networking_private/networking_private_crypto.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +0 lines, -240 lines 0 comments Download
D chrome/browser/extensions/api/networking_private/networking_private_crypto_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +0 lines, -171 lines 0 comments Download
M chrome/browser/extensions/api/networking_private/networking_private_service_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 5 chunks +19 lines, -0 lines 0 comments Download
M chrome/browser/extensions/api/networking_private/networking_private_service_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 8 chunks +97 lines, -12 lines 0 comments Download
M chrome/chrome.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +1 line, -0 lines 0 comments Download
M chrome/chrome_browser_extensions.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 chunks +3 lines, -4 lines 0 comments Download
M chrome/chrome_common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 chunks +5 lines, -0 lines 0 comments Download
M chrome/chrome_tests_unit.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 3 chunks +2 lines, -2 lines 0 comments Download
M chrome/common/chrome_utility_messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +14 lines, -0 lines 0 comments Download
A + chrome/common/extensions/api/networking_private/networking_private_crypto.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +7 lines, -7 lines 0 comments Download
A + chrome/common/extensions/api/networking_private/networking_private_crypto.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 11 chunks +57 lines, -55 lines 0 comments Download
A + chrome/common/extensions/api/networking_private/networking_private_crypto_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 4 chunks +10 lines, -13 lines 0 comments Download
M chrome/utility/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -0 lines 0 comments Download
M chrome/utility/chrome_content_utility_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/utility/chrome_content_utility_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 3 chunks +30 lines, -0 lines 0 comments Download
M chrome/utility/chrome_content_utility_ipc_whitelist.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +8 lines, -3 lines 0 comments Download
M components/wifi/wifi_service_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +25 lines, -7 lines 0 comments Download

Messages

Total messages: 35 (0 generated)
mef
Hi guys, please take a look. I've added initial implementation of Networking Private API VerifyAndEncryptCredentials ...
6 years, 11 months ago (2014-01-24 20:19:44 UTC) #1
mef
Hi guys, please take a look. I've added WiFi password slurping using Utility process. Once ...
6 years, 10 months ago (2014-01-28 17:51:26 UTC) #2
mef
Hi, I'm looking for suggestions whether or not it is ok to add dependencies to ...
6 years, 10 months ago (2014-02-06 16:26:35 UTC) #3
tbarzic
https://codereview.chromium.org/102993002/diff/170001/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc File chrome/browser/extensions/api/networking_private/networking_private_service_client.cc (right): https://codereview.chromium.org/102993002/diff/170001/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc#newcode61 chrome/browser/extensions/api/networking_private/networking_private_service_client.cc:61: std::string* ciphertext, arg names should match those in h ...
6 years, 10 months ago (2014-02-07 19:25:00 UTC) #4
mef
Toni, thanks a lot for your response! Would it work better from layering perspective if ...
6 years, 10 months ago (2014-02-07 19:53:30 UTC) #5
tbarzic
https://codereview.chromium.org/102993002/diff/170001/chrome/browser/extensions/api/networking_private/wifi_passphrase_getter.cc File chrome/browser/extensions/api/networking_private/wifi_passphrase_getter.cc (right): https://codereview.chromium.org/102993002/diff/170001/chrome/browser/extensions/api/networking_private/wifi_passphrase_getter.cc#newcode85 chrome/browser/extensions/api/networking_private/wifi_passphrase_getter.cc:85: BrowserThread::UI, On 2014/02/07 19:53:31, mef wrote: > On 2014/02/07 ...
6 years, 10 months ago (2014-02-07 22:43:01 UTC) #6
mef
Toni, thanks, PTAL, I've addressed your comments and got it to work with privilege elevation ...
6 years, 10 months ago (2014-02-11 23:20:03 UTC) #7
tbarzic
https://codereview.chromium.org/102993002/diff/970001/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc File chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc (right): https://codereview.chromium.org/102993002/diff/970001/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc#newcode144 chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc:144: base::Unretained(this), This doesn't seem safe. NPCredentialsGetter is owned by ...
6 years, 10 months ago (2014-02-13 18:54:19 UTC) #8
mef
Thanks, Toni, PTAL. I'm still eagerly looking forward to comments from jam@ and jorgelo@. https://codereview.chromium.org/102993002/diff/970001/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc ...
6 years, 10 months ago (2014-02-14 16:37:38 UTC) #9
tbarzic
https://codereview.chromium.org/102993002/diff/270001/chrome/utility/chrome_content_utility_client.cc File chrome/utility/chrome_content_utility_client.cc (right): https://codereview.chromium.org/102993002/diff/270001/chrome/utility/chrome_content_utility_client.cc#newcode876 chrome/utility/chrome_content_utility_client.cc:876: wifi_service->Initialize(NULL); On 2014/02/07 22:43:02, tbarzic wrote: > On 2014/02/07 ...
6 years, 10 months ago (2014-02-21 19:02:50 UTC) #10
mef
Toni, thanks for your suggestions, they've simplified things. PTAL. https://codereview.chromium.org/102993002/diff/270001/chrome/utility/chrome_content_utility_client.cc File chrome/utility/chrome_content_utility_client.cc (right): https://codereview.chromium.org/102993002/diff/270001/chrome/utility/chrome_content_utility_client.cc#newcode876 chrome/utility/chrome_content_utility_client.cc:876: ...
6 years, 9 months ago (2014-02-25 19:57:58 UTC) #11
tbarzic
https://codereview.chromium.org/102993002/diff/1360001/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h File chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h (right): https://codereview.chromium.org/102993002/diff/1360001/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h#newcode28 chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h:28: // Start getting credentials. Call |callback| with |key_data| or ...
6 years, 9 months ago (2014-02-25 20:40:49 UTC) #12
mef
Toni, thanks! PTAL. https://codereview.chromium.org/102993002/diff/1360001/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h File chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h (right): https://codereview.chromium.org/102993002/diff/1360001/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h#newcode28 chrome/browser/extensions/api/networking_private/networking_private_credentials_getter.h:28: // Start getting credentials. Call |callback| ...
6 years, 9 months ago (2014-02-25 22:36:25 UTC) #13
tbarzic
lgtm (module utility/DEPS) https://codereview.chromium.org/102993002/diff/1360001/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc File chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc (right): https://codereview.chromium.org/102993002/diff/1360001/chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc#newcode67 chrome/browser/extensions/api/networking_private/networking_private_credentials_getter_win.cc:67: DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); On 2014/02/25 22:36:26, mef wrote: ...
6 years, 9 months ago (2014-02-25 23:07:24 UTC) #14
jam
back from leave, just saw this. chrome/utility can't depend on chrome/browser. subdirectories of chrome correspond ...
6 years, 9 months ago (2014-02-26 00:14:50 UTC) #15
mef
Thanks, PTAL! I've moved networking_private_crypto* to chrome/common/extensions/api/networking_private. Everything builds and tests fine, but I get ...
6 years, 9 months ago (2014-02-26 17:43:36 UTC) #16
jam
lgtm https://codereview.chromium.org/102993002/diff/1330002/chrome/utility/DEPS File chrome/utility/DEPS (right): https://codereview.chromium.org/102993002/diff/1330002/chrome/utility/DEPS#newcode2 chrome/utility/DEPS:2: "+chrome/common/extensions/api/networking_private", this isn't needed since chrome/DEPS has "+chrome/common"
6 years, 9 months ago (2014-02-28 17:34:16 UTC) #17
mef
Thanks, guys! Chris, could you OWNER-review chrome/common/chrome_utility_messages.h and chrome/utility/chrome_content_utility_ipc_whitelist.cc thanks, -m https://codereview.chromium.org/102993002/diff/1330002/chrome/utility/DEPS File chrome/utility/DEPS (right): ...
6 years, 9 months ago (2014-02-28 21:28:04 UTC) #18
palmer
We like to use the most specific types available, avoiding "blob" types like strings. When ...
6 years, 9 months ago (2014-03-03 22:17:41 UTC) #19
Jorge Lucangeli Obes
https://codereview.chromium.org/102993002/diff/1430001/chrome/common/chrome_utility_messages.h File chrome/common/chrome_utility_messages.h (right): https://codereview.chromium.org/102993002/diff/1430001/chrome/common/chrome_utility_messages.h#newcode481 chrome/common/chrome_utility_messages.h:481: // Reply after gettng WiFi credentials from the system ...
6 years, 9 months ago (2014-03-03 23:31:38 UTC) #20
mef
Thanks a lot, PTAL! https://codereview.chromium.org/102993002/diff/1430001/chrome/common/chrome_utility_messages.h File chrome/common/chrome_utility_messages.h (right): https://codereview.chromium.org/102993002/diff/1430001/chrome/common/chrome_utility_messages.h#newcode479 chrome/common/chrome_utility_messages.h:479: std::string /* public_key */) On ...
6 years, 9 months ago (2014-03-04 21:57:03 UTC) #21
palmer
https://codereview.chromium.org/102993002/diff/1470001/chrome/utility/chrome_content_utility_client.cc File chrome/utility/chrome_content_utility_client.cc (right): https://codereview.chromium.org/102993002/diff/1470001/chrome/utility/chrome_content_utility_client.cc#newcode914 chrome/utility/chrome_content_utility_client.cc:914: const std::string& network_guid, Can we use the GUID type ...
6 years, 9 months ago (2014-03-05 00:20:54 UTC) #22
mef
https://codereview.chromium.org/102993002/diff/1470001/chrome/utility/chrome_content_utility_client.cc File chrome/utility/chrome_content_utility_client.cc (right): https://codereview.chromium.org/102993002/diff/1470001/chrome/utility/chrome_content_utility_client.cc#newcode914 chrome/utility/chrome_content_utility_client.cc:914: const std::string& network_guid, On 2014/03/05 00:20:54, Chromium Palmer wrote: ...
6 years, 9 months ago (2014-03-05 01:21:39 UTC) #23
stevenjb
lgtm https://codereview.chromium.org/102993002/diff/1290003/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc File chrome/browser/extensions/api/networking_private/networking_private_service_client.cc (right): https://codereview.chromium.org/102993002/diff/1290003/chrome/browser/extensions/api/networking_private/networking_private_service_client.cc#newcode476 chrome/browser/extensions/api/networking_private/networking_private_service_client.cc:476: base::Passed(&args), alignment looks off here? Might be more ...
6 years, 9 months ago (2014-03-07 19:54:58 UTC) #24
Jorge Lucangeli Obes
https://codereview.chromium.org/102993002/diff/1290003/chrome/common/chrome_utility_messages.h File chrome/common/chrome_utility_messages.h (right): https://codereview.chromium.org/102993002/diff/1290003/chrome/common/chrome_utility_messages.h#newcode481 chrome/common/chrome_utility_messages.h:481: // Reply after gettng WiFi credentials from the system ...
6 years, 9 months ago (2014-03-13 20:07:52 UTC) #25
mef
Thanks, PTAL! https://codereview.chromium.org/102993002/diff/1290003/chrome/common/chrome_utility_messages.h File chrome/common/chrome_utility_messages.h (right): https://codereview.chromium.org/102993002/diff/1290003/chrome/common/chrome_utility_messages.h#newcode481 chrome/common/chrome_utility_messages.h:481: // Reply after gettng WiFi credentials from ...
6 years, 9 months ago (2014-03-13 20:22:28 UTC) #26
Jorge Lucangeli Obes
lgtm
6 years, 9 months ago (2014-03-13 20:27:54 UTC) #27
mef
On 2014/03/13 20:27:54, Jorge Lucangeli Obes wrote: > lgtm Thanks!
6 years, 9 months ago (2014-03-13 20:30:00 UTC) #28
mef
The CQ bit was checked by mef@chromium.org
6 years, 9 months ago (2014-03-14 12:49:22 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mef@chromium.org/102993002/1540002
6 years, 9 months ago (2014-03-14 12:50:04 UTC) #30
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-14 12:51:06 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: tryserver.chromium on linux_chromium_clang_dbg
6 years, 9 months ago (2014-03-14 12:51:07 UTC) #32
mef
The CQ bit was checked by mef@chromium.org
6 years, 9 months ago (2014-03-14 16:36:35 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/mef@chromium.org/102993002/1540002
6 years, 9 months ago (2014-03-14 16:37:02 UTC) #34
commit-bot: I haz the power
6 years, 9 months ago (2014-03-14 21:32:13 UTC) #35
Message was sent while issue was closed.
Change committed as 257209

Powered by Google App Engine
This is Rietveld 408576698