Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add publisher proof support for our CRX3 files #873

Closed
bbondy opened this issue Aug 29, 2018 · 12 comments · Fixed by brave/brave-core#12090
Closed

Add publisher proof support for our CRX3 files #873

bbondy opened this issue Aug 29, 2018 · 12 comments · Fixed by brave/brave-core#12090

Comments

@bbondy
Copy link
Member

bbondy commented Aug 29, 2018

Inside this file:
chromium_src/components/component_updater/component_installer.cc

Landed in this PR:
https://github.com/brave/brave-core/pull/369/files

Revert from CRX3 back to using CRX3_WITH_PUBLISHER_PROOF once our CRX files include a publisher proof.... whatever that is :)

@bbondy bbondy added this to the Backlog milestone Aug 29, 2018
@rebron rebron removed this from the 1.x Backlog milestone Feb 7, 2019
@diracdeltas diracdeltas added security priority/P2 A bad problem. We might uplift this to the next planned release. labels Jan 25, 2022
@atuchin-m atuchin-m self-assigned this Jan 26, 2022
@atuchin-m atuchin-m added this to the 1.37.x - Nightly milestone Feb 11, 2022
@atuchin-m atuchin-m reopened this Feb 11, 2022
@atuchin-m
Copy link
Contributor

The code to generate proof is merged to Nightly. Now we need to support it in brave-core-crx-packager

@atuchin-m
Copy link
Contributor

Now all brave CRXs released with a publisher proof. A PR to enforce publisher proof verification (brave/brave-core#12551) just have merged to brave-core.

@atuchin-m
Copy link
Contributor

For QA: we need to check that all components are correctly installing on browser new profile.

@atuchin-m atuchin-m added OS/Android Fixes related to Android browser functionality OS/Desktop labels Mar 21, 2022
@LaurenWags
Copy link
Member

@brave/qa-team this originally caused a regression with Ads classification, so also confirm that all Ad components are installed correctly as well, version numbers are listed, no duplicates/errors, etc.

@bbondy
Copy link
Member Author

bbondy commented Apr 4, 2022

@brave/qa-team could you also test that enabling this flag:
brave://flags/#ethereum_remote-client_new-installs

And changing your setting to brave://settings/wallet to Crypto Wallets (deprecated) works when you load brave://wallet to load your old wallet?

@stephendonner stephendonner added the QA/In-Progress Indicates that QA is currently in progress for that particular issue label Apr 8, 2022
@stephendonner
Copy link

stephendonner commented Apr 8, 2022

Verification PASSED using

Brave 1.38.83 Chromium: 100.0.4896.79 (Official Build) beta (x86_64)
Revision 8fb749dcab8700c24213791969e59deb72fee36f-refs/branch-heads/4896@{#1015}
OS macOS Version 11.6.5 (Build 20G527)
Case 1: new installs, core components
  1. new profile
  2. launched Brave
  3. loaded brave://components/
  4. waited 8 minutes
  5. confirmed all listed components have the following:
  • correct name
  • version #
  • Status - Component not updated or Component Updated
brave://components brave://components (after 8 minutes)
Screen Shot 2022-04-08 at 4 36 48 PM Screen Shot 2022-04-08 at 4 37 51 PM
Case 2: Widevine
  1. new profile
  2. launched Brave
  3. loaded netflix.com
  4. logged in
  5. clicked Allow on the Install and run Google Widevine prompt
  6. played a title
  7. loaded brave://components
  8. confirmed the following:
  • streaming content plays (unable to screenshot due to DRM)
  • Widevine module name
  • Version: 4.10.2391.0
  • Status is Updated (i.e. no errors)
brave://components (before) brave://components (after)
Screen Shot 2022-04-08 at 3 49 53 PM Screen Shot 2022-04-08 at 3 52 26 PM
Case 3: Ads
  1. new profile
  2. launched Brave
  3. loaded components
  4. confirmed no Ads components
  5. clicked on the BAT icon and Start using Rewards
  6. refreshed brave://components
  7. confirmed two (2) new resources are loaded:
    • Brave Ads Resources (en) - Version: 1.0.41
    • Brave Ads Resources (US) - Version: 1.0.47
  8. loaded cnn.com
  9. confirmed page classification works
  10. triggered an ad and confirmed notifications work
  11. confirmed I was rewarded for the ad
brave://components (before) brave://components (after) cnn.com text classification Ad notification brave://rewards
Screen Shot 2022-04-08 at 4 09 20 PM Screen Shot 2022-04-08 at 4 10 25 PM Screen Shot 2022-04-08 at 4 12 57 PM Screen Shot 2022-04-08 at 4 14 46 PM Screen Shot 2022-04-08 at 4 15 00 PM
Case 4: on-demand spot-check (IPFS)
  1. new profile
  2. launched Brave
  3. loaded brave://components/
  4. in a new tab, loaded ipns://ipfs.io
  5. clicked on Use a Brave local IPFS node
  6. refreshed brave://components
  7. confirmed one (1) new component was added (Brave IPFS Client Updater (Mac))
  8. waited 8 minutes
  9. confirmed status is Component not updated (i.e. no errors)
  10. confirmed Brave IPFS Client Updater (Mac) is at Version 1.0.13
brave://components (before) ipns://ipfs.io brave://components (after)
Screen Shot 2022-04-08 at 4 03 40 PM Screen Shot 2022-04-08 at 4 04 17 PM Screen Shot 2022-04-08 at 4 05 33 PM
Case 5: Legacy Crypto Wallet
  1. install 1.31.88
  2. set up a legacy Crypto Wallet
  3. get 1 or more ETH from a testnet, such as Ropsten: https://faucet.metamask.io/
  4. upgrade to 1.38.34 by renaming Brave-Browser folder to Brave-Browser-Beta
  5. launched Brave
  6. set brave://flags/#ethereum_remote-client_new-installs to Enabled
  7. set Default cryptocurrency wallet in brave://settings/wallet to Crypto Wallets (Deprecated)
  8. relaunched Brave
  9. checked brave://wallet
  10. confirmed my 2 ETH was present from my legacy Crypto Wallet
legacy Crypto Wallet (1.31.88) brave://flags (1.38.34) brave://settings/wallet (1.38.34) brave://wallet (1.38.34)
Screen Shot 2022-04-08 at 6 03 44 PM Screen Shot 2022-04-08 at 6 09 49 PM Screen Shot 2022-04-08 at 6 09 37 PM Screen Shot 2022-04-08 at 6 10 12 PM
Case 6: Updates
  1. install 1.37.111
  2. launched Brave
  3. enabled Rewards via Start using Brave Rewards on brave://rewards/
  4. loaded brave://components
  5. noted the versions for Brave Ads Resources: (en) and (US)
  6. updated to 1.38.x
  7. loaded brave://components
  8. ensured the same or higher version numbers listed for all sixteen (16) default/first-launch components
  9. waited 8 minutes
  10. confirmed status is Component not updated or Component updated (i.e. no errors)
brave://components (1.37.111, after 8 minutes) brave://components (1.38.34)
Screen Shot 2022-04-08 at 5 00 54 PM Screen Shot 2022-04-08 at 5 06 51 PM

Verification PASSED on


Brave | 1.38.107 Chromium: 101.0.4951.41 (Official Build) (64-bit)
-- | --
Revision | 93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}
OS | Windows 10 Version 21H2 (Build 19044.1645)

Case 1: new installs, core components
  1. new profile
  2. launched Brave
  3. loaded brave://components/
  4. waited 8 minutes
  5. confirmed all listed components have the following:
  • correct name
  • version #
  • Status - Component not updated or Component Updated
brave://components brave://components (after 8 minutes)
image image
Case 2: Widevine
  1. new profile
  2. launched Brave
  3. loaded netflix.com
  4. logged in
  5. clicked Allow on the Install and run Google Widevine prompt
  6. played a title
  7. loaded brave://components
  8. confirmed the following:
  • streaming content plays (unable to screenshot due to DRM)
  • Widevine module name
  • Version: 4.10.2391.0
  • Status is Updated (i.e. no errors)
brave://components (before) brave://components (after)
image image
Case 3: Ads
  1. new profile
  2. launched Brave
  3. loaded components
  4. confirmed no Ads components
  5. clicked on the BAT icon and Start using Rewards
  6. refreshed brave://components
  7. confirmed two (2) new resources are loaded:
    • Brave Ads Resources (en) - Version: 1.0.41
    • Brave Ads Resources (US) - Version: 1.0.47
  8. loaded cnn.com
  9. confirmed page classification works
  10. triggered an ad and confirmed notifications work
  11. confirmed I was rewarded for the ad
brave://components (before) brave://components (after) brave.com text classification Ad notification brave://rewards
image image image image image
Case 4: on-demand spot-check (IPFS)
  1. new profile
  2. launched Brave
  3. loaded brave://components/
  4. in a new tab, loaded ipns://ipfs.io
  5. clicked on Use a Brave local IPFS node
  6. refreshed brave://components
  7. confirmed one (1) new component was added (Brave IPFS Client Updater (Mac))
  8. waited 8 minutes
  9. confirmed status is Component not updated (i.e. no errors)
  10. confirmed Brave IPFS Client Updater (Mac) is at Version 1.0.13
brave://components (before) ipns://ipfs.io brave://components (after)
image image image
Case 5: Legacy Crypto Wallet
  1. install 1.31.88
  2. set up a legacy Crypto Wallet
  3. get 1 or more ETH from a testnet, such as Ropsten: https://faucet.metamask.io/
  4. upgrade to 1.38.34 by renaming Brave-Browser folder to Brave-Browser-Beta
  5. launched Brave
  6. set brave://flags/#ethereum_remote-client_new-installs to Enabled
  7. set Default cryptocurrency wallet in brave://settings/wallet to Crypto Wallets (Deprecated)
  8. relaunched Brave
  9. checked brave://wallet
  10. confirmed my 2 ETH was present from my legacy Crypto Wallet
legacy Crypto Wallet (1.31.88) brave://flags (1.38.34) brave://settings/wallet (1.38.34) brave://wallet (1.38.34)
image image image image
Case 6: Updates
  1. install 1.37.111
  2. launched Brave
  3. enabled Rewards via Start using Brave Rewards on brave://rewards/
  4. loaded brave://components
  5. noted the versions for Brave Ads Resources: (en) and (US)
  6. updated to 1.38.x
  7. loaded brave://components
  8. ensured the same or higher version numbers listed for all sixteen (16) default/first-launch components
  9. waited 8 minutes
  10. confirmed status is Component not updated or Component updated (i.e. no errors)
brave://components (1.37.111, after 8 minutes) brave://components (1.38.34)
image image

@stephendonner stephendonner added QA Pass-macOS and removed QA/In-Progress Indicates that QA is currently in progress for that particular issue labels Apr 9, 2022
@btlechowski
Copy link

Verification passed on

Brave 1.38.106 Chromium: 101.0.4951.41 (Official Build) (64-bit)
Revision 93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}
OS Ubuntu 18.04 LTS
Case 1: new installs, core components
  1. new profile
  2. launched Brave
  3. loaded brave://components/
  4. waited 8 minutes
  5. confirmed all listed components have the following:
  • correct name
  • version #
  • Status - Component not updated or Component Updated
brave://components brave://components (after 8 minutes)
image image
Case 2: Widevine
  1. new profile
  2. launched Brave
  3. loaded https://bitmovin.com/demos/drm
  4. clicked Allow on the Install and run Google Widevine prompt
  5. played a title
  6. loaded brave://components
  7. confirmed the following:
  • streaming content plays (unable to screenshot due to DRM)
  • Widevine module name
  • Version: 4.10.2391.0
  • Status is Updated (i.e. no errors)

image

Case 3: Ads
  1. new profile
  2. launched Brave
  3. loaded components
  4. confirmed no Ads components
  5. clicked on the BAT icon and Start using Rewards
  6. refreshed brave://components
  7. confirmed two (2) new resources are loaded:
    • Brave Ads Resources (en) - Version: 1.0.41
    • Brave Ads Resources (US) - Version: 1.0.47
  8. loaded cnn.com
  9. confirmed page classification works
  10. triggered an ad and confirmed notifications work
  11. confirmed I was rewarded for the ad

image
image
image
image

Case 4: on-demand spot-check (IPFS)
  1. new profile
  2. launched Brave
  3. loaded brave://components/
  4. in a new tab, loaded ipfs://bafybeiaysi4s6lnjev27ln5icwm6tueaw2vdykrtjkwiphwekaywqhcjze
  5. clicked on Use a Brave local IPFS node
  6. refreshed brave://components
  7. confirmed one (1) new component was added (Brave IPFS Client Updater (Linux))
  8. waited 8 minutes
  9. confirmed status is Component not updated (i.e. no errors)
  10. confirmed Brave IPFS Client Updater (Linux) is at Version 1.0.15

image
image
image
image

Case 5: Legacy Crypto Wallet
  1. install 1.31.91
  2. set up a legacy Crypto Wallet
  3. get 1 or more ETH from a testnet, such as Ropsten: https://faucet.metamask.io/
  4. upgrade to 1.38.x
  5. launched Brave
  6. set brave://flags/#ethereum_remote-client_new-installs to Enabled
  7. set Default cryptocurrency wallet in brave://settings/wallet to Crypto Wallets (Deprecated)
  8. relaunched Brave
  9. checked brave://wallet
  10. confirmed my 2 ETH was present from my legacy Crypto Wallet

image
image
image
image
image
image

Case 6: Updates
  1. install 1.37.114
  2. launched Brave
  3. enabled Rewards via Start using Brave Rewards on brave://rewards/
  4. loaded brave://components
  5. updated to 1.38.x
  6. loaded brave://components
  7. ensured the same or higher version numbers listed for all default/first-launch components
  8. waited 8 minutes
  9. confirmed status is Component not updated or Component updated (i.e. no errors)
brave://components (1.37.114, after 8 minutes) brave://components (1.38.x)
image image

@MadhaviSeelam
Copy link

Brave 1.38.107 Chromium: 101.0.4951.41 (Official Build) (64-bit)
Revision 93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}
OS Windows 11 Version 21H2 (Build 22000.613)
Case 1: new installs, core components
  1. new profile
  2. launched Brave
  3. loaded brave://components/
  4. waited 8 minutes
  5. confirmed all listed components have the following:
  • correct name
  • version #
  • Status - Component not updated or Component Updated
brave://components brave://components (after 8 minutes)
Components-before Components-after 8 minutes
Case 2: Widevine
  • new profile
  • launched Brave
  • loaded netflix.com
  • logged in
  • clicked Allow on the Install and run Google Widevine prompt
  • played a title
  • loaded brave://components
  • confirmed the following:
  • streaming content plays (unable to screenshot due to DRM)
  • Widevine module name
  • Version: 4.10.2391.0
  • Status is Updated (i.e. no errors)
brave://components brave://components (after 8 minutes)
widevine-components-before widevine-components-after
Case 3: Ads
  • new profile
  • launched Brave
  • loaded components
  • confirmed no Ads components
  • clicked on the BAT icon and Start using Rewards
  • refreshed brave://components
  • confirmed two (2) new resources are loaded:
  • Brave Ads Resources (en) - Version: 1.0.41
  • Brave Ads Resources (US) - Version: 1.0.47
  • loaded cnn.com
  • confirmed page classification works
  • triggered an ad and confirmed notifications work
  • confirmed I was rewarded for the ad
brave://components (before) brave://components(after 8 minutes) cnn.com text classification brave://rewards
Ads-Components-Before Ads-after ads-page classification Ads
Case 4: on-demand spot-check (IPFS)
  • new profile
  • launched Brave
  • loaded brave://components/
  • in a new tab, loaded ipns://ipfs.io
  • clicked on Use a Brave local IPFS node
  • refreshed brave://components
  • confirmed one (1) new component was added (Brave IPFS Client Updater (Mac))
  • waited 8 minutes
  • confirmed status is Component not updated (i.e. no errors)
  • confirmed Brave IPFS Client Updater (Mac) is at Version 1.0.13
brave://components (before) ipns://ipfs.io brave://components(after)
components-before-IPFS ipns components-ipfs

Case 5: Legacy Crypto Wallet - Geeta Completed

Case 6: Updates
  • install 1.37.111
  • launched Brave
  • enabled Rewards via Start using Brave Rewards on brave://rewards/
  • loaded brave://components
  • noted the versions for Brave Ads Resources: (en) and (US)
  • updated to 1.38.x
  • loaded brave://components
  • ensured the same or higher version numbers listed for all sixteen (16) default/first-launch components
  • waited 8 minutes
  • confirmed status is Component not updated or Component updated (i.e. no errors)
brave://components (1.37.114, after 8 minutes) brave://components (1.37.107, after 8 minutes)
updates(137) Updates(138)

@kjozwiak
Copy link
Member

kjozwiak commented Apr 27, 2022

Verification PASSED on Samsung S10+ running Android 12 using the following build(s):

Brave | 1.38.107 Chromium: 101.0.4951.41 (Official Build) (32-bit)
--- | ---
Revision | 93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}
OS | Android 12; Build/SP1A.210812.016
Case 1: new installs, core components
  1. new profile
  2. launched Brave
  3. loaded brave://components/
  4. waited 8 minutes
  5. confirmed all listed components have the following:
  • correct name
  • version #
  • Status - Component not updated or Component Updated
brave://components brave://components (after 8 minutes)
Screenshot_20220426-210649_Brave Screenshot_20220426-210813_Brave
Case 2: Ads
  1. new profile
  2. launched Brave
  3. loaded components
  4. confirmed no Ads components
  5. clicked on the BAT icon and Start using Rewards
  6. refreshed brave://components
  7. confirmed two (2) new resources are loaded:
    • Brave Ads Resources (en) - Version: 1.0.41
    • Brave Ads Resources (CA) - Version: 1.0.47
  8. loaded cnn.com, imdb.com and business.cnn.com
  9. confirmed page classification works
  10. triggered an ad and confirmed notifications work
  11. confirmed I was rewarded for the ad
brave://components (before) brave://components (after) Ad notification brave://rewards
Screenshot_20220426-222015_Brave Screenshot_20220426-222034_Brave image Screenshot_20220426-222718_Brave
2022-04-26 22:21:52.082 32070-32070/? V/chromium: [VERBOSE1:text_classification_resource.cc(50)] Successfully loaded feibnmjhecfbjpeciancnchbmlobenjn text classification resource
2022-04-26 22:21:52.552 32070-32070/? V/chromium: [VERBOSE1:text_classification_resource.cc(59)] Successfully initialized feibnmjhecfbjpeciancnchbmlobenjn text classification resource
2022-04-26 22:21:52.562 32070-32070/? V/chromium: [VERBOSE1:features.cc(51)] Text classification feature is enabled
2022-04-26 22:22:15.972 32070-32070/? V/chromium: [VERBOSE1:text_classification_processor.cc(63)] Classified text with the top segment as personal finance-personal finance
2022-04-26 22:22:37.929 32070-32070/? V/chromium: [VERBOSE1:text_classification_processor.cc(63)] Classified text with the top segment as science-economics
2022-04-26 22:23:00.327 32070-32070/? V/chromium: [VERBOSE1:text_classification_processor.cc(63)] Classified text with the top segment as personal finance-personal finance
2022-04-26 22:23:17.439 32070-32070/? V/chromium: [VERBOSE1:text_classification_processor.cc(63)] Classified text with the top segment as arts & entertainment-film
Case 3: Updates
  1. install 1.37.116 Chromium: 100.0.4896.127
  2. launched Brave
  3. enabled Rewards via Start using Brave Rewards on brave://rewards/
  4. loaded brave://components
  5. noted the versions for Brave Ads Resources: (en) and (CA)
  6. updated to 1.38.x
  7. loaded brave://components
  8. ensured the same or higher version numbers listed for default/first-launch components
  9. waited 8 minutes
  10. confirmed status is Component not updated or Component updated (i.e. no errors)
brave://components (1.37.116 after 8 minutes) brave://components (1.38.107 after 8 minutes)
Screenshot_20220426-223831_Brave Screenshot_20220426-224037_Brave

Verification PASSED on Samsung Galaxy Tablet A running Android 12 using the following build(s):

Brave | 1.38.107 Chromium: 101.0.4951.41 (Official Build) (32-bit)
--- | ---
Revision | 93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}
OS | Android 12; Build/SP1A.210812.016
Case 1: new installs, core components
  1. new profile
  2. launched Brave
  3. loaded brave://components/
  4. waited 8 minutes
  5. confirmed all listed components have the following:
  • correct name
  • version #
  • Status - Component not updated or Component Updated
brave://components brave://components (after 8 minutes)
Screenshot_20220427-002209_Brave Screenshot_20220427-002249_Brave
Case 2: Ads
  1. new profile
  2. launched Brave
  3. loaded components
  4. confirmed no Ads components
  5. clicked on the BAT icon and Start using Rewards
  6. refreshed brave://components
  7. confirmed two (2) new resources are loaded:
    • Brave Ads Resources (en) - Version: 1.0.41
    • Brave Ads Resources (CA) - Version: 1.0.47
  8. loaded cnn.com, imdb.com and business.cnn.com
  9. confirmed page classification works
  10. triggered an ad and confirmed notifications work
  11. confirmed I was rewarded for the ad
brave://components (before) brave://components (after) Ad notification brave://rewards
Screenshot_20220427-002843_Brave Screenshot_20220427-002907_Brave Screenshot_20220427-003535_Brave Screenshot_20220427-003656_Brave
2022-04-27 00:30:31.600 31370-31370/? V/chromium: [VERBOSE1:text_classification_resource.cc(50)] Successfully loaded feibnmjhecfbjpeciancnchbmlobenjn text classification resource
2022-04-27 00:30:33.733 31370-31370/? V/chromium: [VERBOSE1:text_classification_resource.cc(59)] Successfully initialized feibnmjhecfbjpeciancnchbmlobenjn text classification resource
2022-04-27 00:30:33.790 31370-31370/? V/chromium: [VERBOSE1:features.cc(51)] Text classification feature is enabled
2022-04-27 00:32:15.455 31370-31370/? V/chromium: [VERBOSE1:text_classification_processor.cc(63)] Classified text with the top segment as personal finance-personal finance
2022-04-27 00:32:27.127 31370-31370/? V/chromium: [VERBOSE1:text_classification_processor.cc(63)] Classified text with the top segment as sports-basketball
2022-04-27 00:32:46.896 31370-31370/? V/chromium: [VERBOSE1:text_classification_processor.cc(63)] Classified text with the top segment as arts & entertainment-film
2022-04-27 00:32:49.230 31370-31370/? V/chromium: [VERBOSE1:text_classification_processor.cc(63)] Classified text with the top segment as arts & entertainment-film
2022-04-27 00:33:02.310 31370-31370/? V/chromium: [VERBOSE1:text_classification_processor.cc(63)] Classified text with the top segment as technology & computing-technology & computing
Case 3: Updates
  1. install 1.37.116 Chromium: 100.0.4896.127
  2. launched Brave
  3. enabled Rewards via Start using Brave Rewards on brave://rewards/
  4. loaded brave://components
  5. noted the versions for Brave Ads Resources: (en) and (CA)
  6. updated to 1.38.x
  7. loaded brave://components
  8. ensured the same or higher version numbers listed for default/first-launch components
  9. waited 8 minutes
  10. confirmed status is Component not updated or Component updated (i.e. no errors)
brave://components (1.37.116 after 8 minutes) brave://components (1.38.107 after 8 minutes)
Screenshot_20220427-005535_Brave Screenshot_20220427-004944_Brave

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants