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

Issue 1243563002: Teach the GCM Driver how to decrypt incoming messages. (Closed)

Created:
5 years, 5 months ago by Peter Beverloo
Modified:
5 years, 2 months ago
CC:
chromium-reviews, zea+watch_chromium.org, Ryan Sleevi, fgorski
Base URL:
https://chromium.googlesource.com/chromium/src.git@gcm-push-keys
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Teach the GCM Driver how to decrypt incoming messages. This CL teaches the GCM Driver how it can decrypt incoming messages according to draft-thomson-webpush-encryption-01 and draft-thomson-http-encryption-01. Only the Web Push protocol is supported, decryption for messages sent through the regular GCM protocol will be supported later. While this makes end-to-end encryption work, we do *not* enable this functionality by default yet, pending resolution of some ongoing discussions with the IETF and W3C Push working groups. BUG=486040 Committed: https://crrev.com/add31f6fb477348d2b6a755cc8b6107a7fcb5339 Cr-Commit-Position: refs/heads/master@{#353256}

Patch Set 1 #

Patch Set 2 : #

Total comments: 2

Patch Set 3 : #

Total comments: 6

Patch Set 4 : rescope functionality #

Patch Set 5 : add tests #

Patch Set 6 : add end-to-end test #

Patch Set 7 : rebase, address asan failure #

Patch Set 8 : #

Total comments: 16

Patch Set 9 : address comments #

Total comments: 2

Patch Set 10 : address comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+563 lines, -39 lines) Patch
M chrome/browser/push_messaging/push_messaging_browsertest.cc View 1 2 3 4 5 6 7 10 chunks +16 lines, -11 lines 0 comments Download
M chrome/browser/push_messaging/push_messaging_service_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -21 lines 0 comments Download
M components/components_tests.gyp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M components/gcm_driver/common/gcm_messages.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M components/gcm_driver/common/gcm_messages.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M components/gcm_driver/crypto/BUILD.gn View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M components/gcm_driver/crypto/gcm_encryption_provider.h View 1 2 3 4 5 6 7 8 5 chunks +47 lines, -0 lines 0 comments Download
M components/gcm_driver/crypto/gcm_encryption_provider.cc View 1 2 3 4 5 6 7 8 3 chunks +135 lines, -0 lines 0 comments Download
A components/gcm_driver/crypto/gcm_encryption_provider_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +319 lines, -0 lines 0 comments Download
M components/gcm_driver/crypto/gcm_message_cryptographer.h View 1 2 3 4 5 6 1 chunk +4 lines, -0 lines 0 comments Download
M components/gcm_driver/crypto/gcm_message_cryptographer.cc View 1 2 3 4 5 6 1 chunk +1 line, -4 lines 0 comments Download
M components/gcm_driver/gcm_driver.h View 1 2 3 4 5 6 7 8 1 chunk +7 lines, -0 lines 0 comments Download
M components/gcm_driver/gcm_driver.cc View 1 2 3 4 5 6 7 8 9 2 chunks +23 lines, -0 lines 0 comments Download
M components/gcm_driver/gcm_driver_android.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M components/gcm_driver/gcm_driver_desktop.cc View 1 chunk +1 line, -1 line 0 comments Download

Depends on Patchset:

Messages

Total messages: 20 (8 generated)
johnme
https://codereview.chromium.org/1243563002/diff/20001/chrome/browser/push_messaging/push_messaging_service_impl.cc File chrome/browser/push_messaging/push_messaging_service_impl.cc (right): https://codereview.chromium.org/1243563002/diff/20001/chrome/browser/push_messaging/push_messaging_service_impl.cc#newcode199 chrome/browser/push_messaging/push_messaging_service_impl.cc:199: data = message.raw_data.size(); Remove the .size()
5 years, 5 months ago (2015-07-21 13:52:21 UTC) #2
Peter Beverloo
+johnme, jianli This should be ready for a first round of review. Code Review fails ...
5 years, 4 months ago (2015-08-03 18:55:34 UTC) #5
jianli
It seems that we also support decrypting data stored in kEncryptionDataProperty on desktop. But there ...
5 years, 4 months ago (2015-08-04 00:49:30 UTC) #6
Peter Beverloo
Thank you for the review! I have updated this CL and it's ready for another ...
5 years, 2 months ago (2015-09-25 16:37:35 UTC) #7
Peter Beverloo
+mvanouwerkerk for review as well (friendly ping to others?)
5 years, 2 months ago (2015-10-01 15:05:16 UTC) #11
Michael van Ouwerkerk
Just some nits. lgtm https://codereview.chromium.org/1243563002/diff/200001/components/gcm_driver/crypto/gcm_encryption_provider.cc File components/gcm_driver/crypto/gcm_encryption_provider.cc (right): https://codereview.chromium.org/1243563002/diff/200001/components/gcm_driver/crypto/gcm_encryption_provider.cc#newcode17 components/gcm_driver/crypto/gcm_encryption_provider.cc:17: #include "crypto/curve25519.h" I thought we ...
5 years, 2 months ago (2015-10-02 14:30:42 UTC) #12
Peter Beverloo
Thank you for the review Michael!! https://codereview.chromium.org/1243563002/diff/200001/components/gcm_driver/crypto/gcm_encryption_provider.cc File components/gcm_driver/crypto/gcm_encryption_provider.cc (right): https://codereview.chromium.org/1243563002/diff/200001/components/gcm_driver/crypto/gcm_encryption_provider.cc#newcode17 components/gcm_driver/crypto/gcm_encryption_provider.cc:17: #include "crypto/curve25519.h" On ...
5 years, 2 months ago (2015-10-02 15:01:22 UTC) #13
jianli
lgtm https://codereview.chromium.org/1243563002/diff/220001/components/gcm_driver/gcm_driver.cc File components/gcm_driver/gcm_driver.cc (right): https://codereview.chromium.org/1243563002/diff/220001/components/gcm_driver/gcm_driver.cc#newcode20 components/gcm_driver/gcm_driver.cc:20: void DecryptionFailedCallback( nit: this should be placed after ...
5 years, 2 months ago (2015-10-06 22:30:43 UTC) #14
Peter Beverloo
Thank you Jian! https://codereview.chromium.org/1243563002/diff/220001/components/gcm_driver/gcm_driver.cc File components/gcm_driver/gcm_driver.cc (right): https://codereview.chromium.org/1243563002/diff/220001/components/gcm_driver/gcm_driver.cc#newcode20 components/gcm_driver/gcm_driver.cc:20: void DecryptionFailedCallback( On 2015/10/06 22:30:43, jianli ...
5 years, 2 months ago (2015-10-09 10:13:04 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1243563002/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1243563002/240001
5 years, 2 months ago (2015-10-09 10:13:52 UTC) #18
commit-bot: I haz the power
Committed patchset #10 (id:240001)
5 years, 2 months ago (2015-10-09 10:19:00 UTC) #19
commit-bot: I haz the power
5 years, 2 months ago (2015-10-09 10:19:52 UTC) #20
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/add31f6fb477348d2b6a755cc8b6107a7fcb5339
Cr-Commit-Position: refs/heads/master@{#353256}

Powered by Google App Engine
This is Rietveld 408576698