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

HTTPS by Default (logic + desktop UI) #27141

Closed
arthuredelstein opened this issue Dec 3, 2022 · 11 comments · Fixed by brave/brave-core#16521
Closed

HTTPS by Default (logic + desktop UI) #27141

arthuredelstein opened this issue Dec 3, 2022 · 11 comments · Fixed by brave/brave-core#16521

Comments

@arthuredelstein
Copy link

HTTPS by Default is a mode intermediate between traditional HTTP(S) handling and HTTPS-Only Mode. In HTTPS by Default, we attempt HTTPS connections first and then fall back to HTTP if HTTPS is not available for a given website.

Here's the spec and the UI design.

@diracdeltas
Copy link
Member

should probably open a sec review for this?

@arthuredelstein
Copy link
Author

should probably open a sec review for this?

Definitely: https://github.com/brave/security/issues/1134

@arthuredelstein
Copy link
Author

arthuredelstein commented Jan 31, 2023

(removed comment on wrong ticket)

@arthuredelstein arthuredelstein added the OS/Android Fixes related to Android browser functionality label Jan 31, 2023
@arthuredelstein arthuredelstein changed the title HTTPS by Default HTTPS by Default (logic + desktop UI) Feb 5, 2023
@brave-builds brave-builds added this to the 1.50.x - Nightly milestone Feb 8, 2023
@rebron rebron added the priority/P3 The next thing for us to work on. It'll ride the trains. label Feb 9, 2023
@arthuredelstein
Copy link
Author

arthuredelstein commented Feb 23, 2023

Here is a description that I hope can facilitate QA testing:

The following are insecure websites:

The following is an upgradable site:

The following are possible setting for https upgrades. These settings can be applied per-site or globally:

  1. Don't upgrade HTTP connnections (aka Disabled)
  2. Upgrade connections to HTTPS (aka Standard; default setting)
  3. Only connection with HTTPS (aka Strict)

[Shields DOWN also has the same behavior as Disabled mode.]

The resulting behaviors of the above are:

  1. No URLs are modified
  2. Upgradable URLs are upgraded to HTTPS and insecure URLs are not upgraded
  3. Upgradable URLs are upgraded to HTTPS and insecure URLs show an error page

Normal windows and Incognito windows use Standard mode by default. Tor windows use Strict mode by default (and cannot be downgraded). Tor window settings and Incognito windows only inherit settings from normal windows if a user has tightened the normal window settings.

@kjozwiak
Copy link
Member

@brave/qa-team can find some context of what was checked via brave/brave-variations#522 (comment). Please ping me when we're going to start verifications on the above as we'll need to push this out via Griffin on BETA as well.

@stephendonner
Copy link

stephendonner commented Mar 27, 2023

Verification PASSED using

Brave 1.50.106 Chromium: 112.0.5615.39 (Official Build) beta (x86_64)
Revision a0e7b9718a92bcd1cf33b7c95316caff3fc20714-refs/branch-heads/5615@{#753}
OS macOS Version 11.7.4 (Build 20G1120)

Griffin study - PASSED

  1. installed 1.50.106
  2. launched Brave
  3. restarted
  4. opened brave://version
  5. confirmed I saw BraveHttpsByDefaultRolloutStudy:Enabled
  6. opened brave://flags/#https-by-default
  7. confirmed I saw Default
brave://version brave://flags
Screen Shot 2023-03-27 at 8 08 39 PM Screen Shot 2023-03-27 at 8 10 35 PM

Default - Upgrade connections to HTTPS, Standard - PASSED

  1. installed 1.50.106
  2. launched Brave
  3. confirmed Upgrade connections to HTTPS is set to Standard in brave://settings/shields
  4. loaded http://insecure.arthuredelstein.net
  5. loaded http://http.badssl.com
  6. loaded http://upgradeable.arthuredelstein.net
  7. opened a New Private Window with Tor and loaded each of the above
default insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
Screen Shot 2023-03-27 at 2 41 11 PM Screen Shot 2023-03-27 at 2 48 36 PM Screen Shot 2023-03-27 at 2 50 45 PM Screen Shot 2023-03-27 at 2 54 03 PM

Tor

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
Screen Shot 2023-03-27 at 3 04 23 PM Screen Shot 2023-03-27 at 3 05 18 PM Screen Shot 2023-03-27 at 3 04 46 PM

Upgrade connections to HTTPS, Strict - PASSED

  1. installed 1.50.106
  2. launched Brave
  3. changed Upgrade connections to HTTPS to Strict in brave://settings/shields
  4. loaded http://insecure.arthuredelstein.net
  5. loaded http://http.badssl.com
  6. loaded http://upgradeable.arthuredelstein.net
  7. opened a New Private Window with Tor and loaded each of the above
Upgrade connections, Strict insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
Screen Shot 2023-03-27 at 3 19 34 PM Screen Shot 2023-03-27 at 3 27 49 PM Screen Shot 2023-03-27 at 3 28 11 PM Screen Shot 2023-03-27 at 3 28 44 PM

Tor

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
Screen Shot 2023-03-27 at 3 31 54 PM Screen Shot 2023-03-27 at 3 32 41 PM Screen Shot 2023-03-27 at 3 33 03 PM

Upgrade connections to HTTPS, Disabled - PASSED

  1. installed 1.50.106
  2. launched Brave
  3. changed Upgrade connections to HTTPS to Disabled in brave://settings/shields
  4. loaded http://insecure.arthuredelstein.net
  5. loaded http://http.badssl.com
  6. loaded http://upgradeable.arthuredelstein.net
  7. opened a New Private Window with Tor and loaded each of the above
Upgrade connections, Disabled insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
Screen Shot 2023-03-27 at 3 49 08 PM Screen Shot 2023-03-27 at 3 54 59 PM Screen Shot 2023-03-27 at 3 55 14 PM Screen Shot 2023-03-27 at 3 55 48 PM

Tor

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
Screen Shot 2023-03-27 at 3 58 00 PM Screen Shot 2023-03-27 at 3 58 28 PM Screen Shot 2023-03-27 at 3 58 44 PM

Between-window-type preferences - PASSED

Regular --> Private window, upgrade - PASSED

  • loaded http://insecure.arthuredelstein.net in a normal window
  • clicked on the Shields icon
  • changed Upgrade connections to HTTPS in the Advanced controls view to Only connect with HTTPS
  • loaded http://insecure.arthuredelstein.net in a Private (not Tor) window
  • clicked on the Shields icon
  • confirmed I saw the The connection to insecure.arthuredelstein.net is not secure interstitial warning
  • clicked through via Continue to site
  • confirmed it loaded, printing Hello
example example example example
Screen Shot 2023-03-29 at 3 13 26 PM Screen Shot 2023-03-29 at 3 13 36 PM Screen Shot 2023-03-29 at 3 13 51 PM Screen Shot 2023-03-29 at 3 16 19 PM

Regular --> Private window, downgrade: - PASSED

  • loaded http://insecure.arthuredelstein.net in a normal window
  • clicked on the Shields icon
  • changed Upgrade connections to HTTPS in the Advanced controls view to Don't upgrade HTTP connections
  • loaded http://insecure.arthuredelstein.net in a Private (not Tor) window
  • clicked on the Shields icon
  • confirmed it loaded, printing Hello
normal window Private window
Screen Shot 2023-03-29 at 3 03 46 PM Screen Shot 2023-03-29 at 3 04 30 PM

Shields down - PASSED

  1. installed 1.50.106
  2. launched Brave
  3. loaded http://insecure.arthuredelstein.net
  4. loaded http://http.badssl.com
  5. loaded http://upgradeable.arthuredelstein.net
  6. clicked on the Brave Shields icon in the URL bar
  7. toggled each of the above loaded sites' Shields to DOWN
  8. opened a New Private Window with Tor and loaded each of the above
Global Shields pref insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
Screen Shot 2023-03-29 at 12 23 59 AM Screen Shot 2023-03-29 at 12 25 48 AM Screen Shot 2023-03-29 at 12 26 34 AM Screen Shot 2023-03-29 at 12 27 17 AM

Tor

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
Screen Shot 2023-03-29 at 12 30 37 AM Screen Shot 2023-03-29 at 12 31 04 AM Screen Shot 2023-03-29 at 12 31 42 AM

(Pref) Migrations - PASSED

defaults - PASSED

  1. installed 1.49.128
  2. confirmed default of Always use secure connections set to Off in brave://settings/security
  3. upgraded to 1.50.106 by renaming Brave-Browser profile to Brave-Browser-Beta
  4. launched Brave
  5. confirmed via brave://settings/shields that Upgrade connections to HTTPS is set to Standard
1.49.128 1.50.106
Screen Shot 2023-03-27 at 12 57 43 PM Screen Shot 2023-03-27 at 12 58 22 PM

Always use secure connections set to On - PASSED

  1. installed 1.49.128
  2. clicked to toggle Always use secure connections set to On in brave://settings/security
  3. upgraded to 1.50.106 by renaming Brave-Browser profile to Brave-Browser-Beta
  4. launched Brave
  5. confirmed via brave://settings/shields that Upgrade connections to HTTPS is set to Strict
1.49.128 1.50.106
Screen Shot 2023-03-27 at 12 42 29 PM Screen Shot 2023-03-27 at 12 43 24 PM

@kjozwiak
Copy link
Member

@stephendonner looking good 👍 The main commented that I wanted to make/check with @arthuredelstein is if we need #28792 uplifted into 1.50.x as well which I ran into while verifying #28540.

@stephendonner
Copy link

@stephendonner looking good 👍 The main commented that I wanted to make/check with @arthuredelstein is if we need #28792 uplifted into 1.50.x as well which I ran into while verifying #28540.

Thanks for the feedback! I'll also be sure to add "Confirmed {expectation}" to each of the cases, before calling it 👍

@MadhaviSeelam
Copy link

MadhaviSeelam commented Mar 29, 2023

Verification PASSED using

Brave | 1.50.107 Chromium: 112.0.5615.39 (Official Build) beta (64-bit)
-- | --
Revision | a0e7b9718a92bcd1cf33b7c95316caff3fc20714-refs/branch-heads/5615@{#753}
OS | Windows 11 Version 22H2 (Build 22621.1413)

Testcase 1: Griffin study - PASSED

  1. installed 1.50.107
  2. launched Brave
  3. restarted
  4. opened brave://version
  5. confirmed I saw BraveHttpsByDefaultRolloutStudy:Enabled
  6. opened brave://flags/#https-by-default
  7. confirmed I saw Default
before restart brave://version brave://flags
image image image

Test Case 2: HTTPS Default UI in brave://settings/shields and Shields panel - PASSED

Dark mode

brave://settings/shields Shields panel
image image

Light mode:

brave://settings/shields Shields panel
image image

Test Case 3: Set Global settings for Https Default - PASSED

Case 1: Upgrade connections to HTTPS - Standard; default setting - PASSED

  1. continued from Testcase 1
  2. launched Brave
  3. confirmed Upgrade connections to HTTPS is set to Standard in brave://settings/shields
  4. loaded http://insecure.arthuredelstein.net
  5. loaded http://http.badssl.com
  6. loaded http://upgradable.arthuredelstein.net
  7. opened a New private window
  8. opened a New private window with Tor and loaded each of the above

Normal window

default insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image image

New private window

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

New private window with Tor

Confirmed since Tor windows always use Strict mode though Normal window setting is Standard

Confirmed Shields panel do not show HTTPS Upgrade connections dropdown in the Advanced controls

Confirmed insecure connection interstitial page displayed for `http://insecure.arthuredelstein.net/

Confirmed when clicked on interstitial page, http://insecure.arthuredelstein.net/ loads without any issues

Confirmed insecure connection interstitial page displayed for http://http.badssl.com/

Confirmed when clicked on interstitial page, http://insecure.arthuredelstein.net/ loads without any issues

Confirmed that http://upgradable.arthuredelstein.net/ -> https://upgradable.arthuredelstein.net/ (connection upgraded)

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Case 2: Upgrade connections to HTTPS - Strict - PASSED

  1. new profile
  2. launched Brave
  3. relaunched Brave to pull in griffin (from Case 1)
  4. changed Upgrade connections to HTTPS to Strict in brave://settings/shields
  5. loaded http://insecure.arthuredelstein.net in a new tab
  6. click on Shields icon to open Shields panel for the site
  7. confirmed only connect with Https selection is selected
  8. loaded http://http.badssl.com
  9. loaded http://upgradable.arthuredelstein.net
  10. opened a New private window
  11. opened a New Private Window with Tor and loaded each of the above

New window

Upgrade connections, Strict insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image image

New private window

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

New private window with Tor

Confirmed since Tor windows always use Strict mode and Normal window setting is Strict

Confirmed Shields panel do not show HTTPS Upgrade connections dropdown in the Advanced controls

Confirmed insecure connection interstitial page displayed for `http://insecure.arthuredelstein.net/

Confirmed when clicked on interstitial page, http://insecure.arthuredelstein.net/ loads without any issues

Confirmed insecure connection interstitial page displayed for http://http.badssl.com/

Confirmed when clicked on interstitial page, http://insecure.arthuredelstein.net/ loads without any issues

Confirmed that http://upgradable.arthuredelstein.net/ -> https://upgradable.arthuredelstein.net/ (connection upgraded)

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Case 3: Upgrade connections to HTTPS - Disabled - PASSED

  1. new profile
  2. launched Brave
  3. relaunched Brave to pull in griffin (from Case 1)
  4. changed Upgrade connections to HTTPS to Disabled in brave://settings/shields
  5. loaded http://insecure.arthuredelstein.net
  6. loaded http://http.badssl.com
  7. loaded http://upgradable.arthuredelstein.net
  8. opened a New Private Window with Tor and loaded each of the above
Upgrade connections, Disabled insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image image

New private window

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

New private window with Tor

Confirmed since Tor windows always use Strict mode though Normal window setting is Disabled

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Testcase 4: Between-window-type preferences - PASSED

Case 1: Regular --> Private window, upgrade - PASSED

  1. loaded http://insecure.arthuredelstein.net in a normal window
  2. clicked on the Shields icon
  3. default option Upgrade connections to HTTPS is shown in the Advanced controls
  4. changed from Upgrade connections to HTTPS to Only connect with HTTPS
  5. loaded http://insecure.arthuredelstein.net in a Private (not Tor) window
  6. confirmed the The connection to insecure.arthuredelstein.net is not secure interstitial warning is displayed
  7. clicked through via Continue to site
  8. confirmed it loaded, printing Hello
  9. clicked on the Shields icon

confirmed Only connect with HTTPS selection was shown in the Advance Controls

step 3 step 4 step 8 result
image image image

Case 2: Regular --> Private window, downgrade: - PASSED

  1. loaded http://insecure.arthuredelstein.net in a normal window
  2. clicked on the Shields icon
  3. default option Upgrade connections to HTTPS is shown in the Advanced controls
  4. changed from Upgrade connections to HTTPS to Don't upgrade HTTP connections
  5. loaded http://insecure.arthuredelstein.net in a Private (not Tor) window
  6. confirmed it loaded, printing Hello
  7. clicked on the Shields icon

Confirmed Normal window selection i.e. Don't upgrade HTTP connections selection was not leaked/shown in the Advance Controls for Private window

step 3 step 4 result
image image image
Brave | 1.50.110 Chromium: 112.0.5615.49 (Official Build) (64-bit)
-- | --
Revision | bd2a7bcb881c11e8cfe3078709382934e3916914-refs/branch-heads/5615@{#936}
OS | Windows 11 Version 22H2 (Build 22621.1413)

Test Case 5: Set per-site settings for Https Default - PASSED

Case 1: Upgrade connections to HTTPS - PASSED

  1. new profile
  2. launched Brave
  3. enabled #Use HTTPS by Default in brave://flags
  4. visited http://insecure.arthuredelstein.net
  5. click on the Shields icon
  6. confirmed Upgrade connections to HTTPS is displayed as default
  7. loaded http://http.badssl.com
  8. loaded http://upgradable.arthuredelstein.net
  9. opened a New private window
  10. opened a New private window with Tor and loaded each of the above

Normal window

insecure.arthuredelstein.net http://http.badssl.com/ upgradable.arthuredelstein.net
image image image

Private window

insecure.arthuredelstein.net http://http.badssl.com/ upgradable.arthuredelstein.net
image image image

New private window with Tor

insecure.arthuredelstein.net http://http.badssl.com/ upgradable.arthuredelstein.net
image image image

Case 2: Only connection with HTTPS - PASSED

  1. new profile
  2. launched Brave
  3. enabled #Use HTTPS by Default in brave://flags
  4. visited http://insecure.arthuredelstein.net
  5. click Shields icon
  6. Shields panel shows default Upgrade connections to HTTPS
  7. changed Only connection with HTTPS in the Shields panel
  8. confirmed The connection to insecure.arthuredelstein.net is not secure message displayed
  9. clicked Continue to Site
  10. confirmed http://insecure.arthuredelstein.net/ loads without any issues
  11. loaded http://http.badssl.com
  12. followed step 5-7 and results are same expected in step 9
  13. confirmed The connection to http.badssl.com is not secure message shown
  14. clicked Continue to Site
  15. confirmed http://http.badssl.com loads without issues
  16. loaded http://upgradable.arthuredelstein.net
  17. confirmed http://upgradable.arthuredelstein.net/ -> https://upgradable.arthuredelstein.net/ (connection upgraded)
  18. opened a New private window and verified as above
  19. opened a New Private Window with Tor and verified as above

Normal window

step 6 step 7 step 8 step 10 step 11 step 14 step 15 step 16
image image image image image image image image

Private window

insecure.arthuredelstein.net

ex ex
image image

http://http.badssl.com

ex ex
image image

https://upgradable.arthuredelstein.net/

image

New private window with Tor

insecure.arthuredelstein.net

ex ex
image image

http://http.badssl.com

ex ex
image image

https://upgradable.arthuredelstein.net/

ex ex
image

Case 3: Don't upgrade HTTP connections - PASSED

  1. new profile
  2. launched Brave
  3. enabled #Use HTTPS by Default in brave://flags
  4. visited http://insecure.arthuredelstein.net
  5. click Shields icon
  6. Shields panel shows default Upgrade connections to HTTPS
  7. changed Don't upgrade HTTP connections in the Shields panel
  8. confirmed the site http://insecure.arthuredelstein.net is not upgraded and loaded without issues
  9. loaded http://http.badssl.com
  10. confirmed the site http://http.badssl.com is not upgraded and loaded without issues
  11. loaded http://upgradable.arthuredelstein.net
  12. changed to Don't upgrade HTTP connections
  13. close the tab and reload http://upgradable.arthuredelstein.net
  14. confirmed http://upgradable.arthuredelstein.net/ is not upgraded to HTTPS and site loaded without issues
  15. opened a New private window and verified as above
  16. opened a New Private Window with Tor and verified as above

Normal window

step 6 step 8 step 9 step 14
image image image image

Private windows

insecure.arthuredelstein.net http://http.badssl.com http://upgradable.arthuredelstein.net
image image image

New private window with Tor

http://insecure.arthuredelstein.net

ex ex
image image

http://http.badssl.com

ex ex
image image

Test Case 6: Shields down - PASSED

  1. installed 1.50.106
  2. launched Brave
  3. loaded http://insecure.arthuredelstein.net
  4. loaded http://http.badssl.com
  5. loaded http://upgradable.arthuredelstein.net
  6. clicked on the Brave Shields icon in the URL bar
  7. toggled each of the above loaded sites' Shields to DOWN
  8. opened a New Private Window with Tor and loaded each of the above
insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Private window

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Private window with Tor

insecure.arthuredelstein.net

ex ex
image image

http.badssl.com

ex ex
image image

upgradable.arthuredelstein.net
image

Testcase 7: (Pref) Migrations - PASSED

Case 1: defaults - PASSED

  1. installed 1.49.128
  2. confirmed default of Always use secure connections set to Off in brave://settings/security
  3. visited http://upgradable.arthuredelstein.net in a new tab
  4. Shields panel shows Upgrade connections to HTTPS enabled
  5. upgraded to 1.50.110
  6. launched Brave
  • Confirmed Shields panel shows new UI with 3 options for Https by default.
  • Confirmed brave://settings/shields show new UI with 3 options for Upgrade connections to HTTPS
  • Confirmed via brave://settings/shields that Upgrade connections to HTTPS is set to Standard
  • Confirmed http://upgradable.arthuredelstein.net shows Upgrade connections to HTTPS
149.132 1.50.110 Shields panel
image image image

Case 2" Always use secure connections set to On - PASSED

  1. installed 1.49.128
  2. clicked to toggle Always use secure connections set to On in brave://settings/security
  3. visited http://insecure.arthuredelstein.net/ in a new tab
  4. Shields panel shows Upgrade connections to HTTPS enabled
  5. upgraded to 1.50.110
  6. launched Brave
  • Confirmed via brave://settings/shields that Upgrade connections to HTTPS is set to Strict
  • Confirmed Shields panel shows only connect with HTTPS option selected
step 2 step 4` result (1.50.x) result(1.50.x)
image image image image

@MadhaviSeelam MadhaviSeelam added QA/In-Progress Indicates that QA is currently in progress for that particular issue and removed QA/Test-Plan-Required labels Mar 29, 2023
@stephendonner
Copy link

stephendonner commented Mar 29, 2023

NOTE: I plan on tackling brave/brave-core#17801 for brave/brave-core#17421 on its own in the 1.50.x cycle, just FYI

@MadhaviSeelam MadhaviSeelam added QA Pass-Win64 and removed QA/In-Progress Indicates that QA is currently in progress for that particular issue labels Mar 31, 2023
@GeetaSarvadnya
Copy link

GeetaSarvadnya commented Apr 4, 2023

Verification PASSED on

Brave	1.50.108 Chromium: 112.0.5615.39 (Official Build) (64-bit) 
Revision	a0e7b9718a92bcd1cf33b7c95316caff3fc20714-refs/branch-heads/5615@{#753}
OS	Linux

Testcase 1: Griffin study - PASSED

  1. installed 1.50.107
  2. launched Brave
  3. restarted
  4. opened brave://version
  5. confirmed I saw BraveHttpsByDefaultRolloutStudy:Enabled
  6. opened brave://flags/#https-by-default
  7. confirmed I saw Default
brave://flags brave://version
image image

Test Case 2: HTTPS Default UI in brave://settings/shields and Shields panel - PASSED

Dark mode

brave://settings/shields Shields panel
image image

Light mode:

brave://settings/shields Shields panel
image image

Test Case 3: Set Global settings for Https Default - PASSED

Case 1: Upgrade connections to HTTPS - Standard; default setting - PASSED

  1. continued from Testcase 1
  2. launched Brave
  3. confirmed Upgrade connections to HTTPS is set to Standard in brave://settings/shields
  4. loaded http://insecure.arthuredelstein.net
  5. loaded http://http.badssl.com
  6. loaded http://upgradable.arthuredelstein.net
  7. opened a New private window
  8. opened a New private window with Tor and loaded each of the above

Normal window

default insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image image

New private window

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

New private window with Tor

Confirmed since Tor windows always use Strict mode though Normal window setting is Standard

Confirmed Shields panel do not show HTTPS Upgrade connections dropdown in the Advanced controls

Confirmed insecure connection interstitial page displayed for `http://insecure.arthuredelstein.net/

Confirmed when clicked on interstitial page, http://insecure.arthuredelstein.net/ loads without any issues

Confirmed insecure connection interstitial page displayed for http://http.badssl.com/

Confirmed when clicked on interstitial page, http://insecure.arthuredelstein.net/ loads without any issues

Confirmed that http://upgradable.arthuredelstein.net/ -> https://upgradable.arthuredelstein.net/ (connection upgraded)

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Case 2: Upgrade connections to HTTPS - Strict - PASSED

  1. new profile
  2. launched Brave
  3. relaunched Brave to pull in griffin (from Case 1)
  4. changed Upgrade connections to HTTPS to Strict in brave://settings/shields
  5. loaded http://insecure.arthuredelstein.net in a new tab
  6. click on Shields icon to open Shields panel for the site
  7. confirmed only connect with Https selection is selected
  8. loaded http://http.badssl.com
  9. loaded http://upgradable.arthuredelstein.net
  10. opened a New private window
  11. opened a New Private Window with Tor and loaded each of the above

New window

Upgrade connections, Strict insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image image

New private window

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

New private window with Tor

Confirmed since Tor windows always use Strict mode and Normal window setting is Strict

Confirmed Shields panel do not show HTTPS Upgrade connections dropdown in the Advanced controls

Confirmed insecure connection interstitial page displayed for `http://insecure.arthuredelstein.net/

Confirmed when clicked on interstitial page, http://insecure.arthuredelstein.net/ loads without any issues

Confirmed insecure connection interstitial page displayed for http://http.badssl.com/

Confirmed when clicked on interstitial page, http://insecure.arthuredelstein.net/ loads without any issues

Confirmed that http://upgradable.arthuredelstein.net/ -> https://upgradable.arthuredelstein.net/ (connection upgraded)

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Case 3: Upgrade connections to HTTPS - Disabled - PASSED

  1. new profile
  2. launched Brave
  3. relaunched Brave to pull in griffin (from Case 1)
  4. changed Upgrade connections to HTTPS to Disabled in brave://settings/shields
  5. loaded http://insecure.arthuredelstein.net
  6. loaded http://http.badssl.com
  7. loaded http://upgradable.arthuredelstein.net
  8. opened a New Private Window with Tor and loaded each of the above
Upgrade connections, Disabled insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image image

New private window

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

New private window with Tor

Confirmed since Tor windows always use Strict mode though Normal window setting is Disabled

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Testcase 4: Between-window-type preferences - PASSED

Case 1: Regular --> Private window, upgrade - PASSED

  1. loaded http://insecure.arthuredelstein.net in a normal window
  2. clicked on the Shields icon
  3. default option Upgrade connections to HTTPS is shown in the Advanced controls
  4. changed from Upgrade connections to HTTPS to Only connect with HTTPS
  5. loaded http://insecure.arthuredelstein.net in a Private (not Tor) window
  6. confirmed the The connection to insecure.arthuredelstein.net is not secure interstitial warning is displayed
  7. clicked through via Continue to site
  8. confirmed it loaded, printing Hello
  9. clicked on the Shields icon

confirmed Only connect with HTTPS selection was shown in the Advance Controls

step 3 step 4 step 8 result
image image image image

Case 2: Regular --> Private window, downgrade: - PASSED

  1. loaded http://insecure.arthuredelstein.net in a normal window
  2. clicked on the Shields icon
  3. default option Upgrade connections to HTTPS is shown in the Advanced controls
  4. changed from Upgrade connections to HTTPS to Don't upgrade HTTP connections
  5. loaded http://insecure.arthuredelstein.net in a Private (not Tor) window
  6. confirmed it loaded, printing Hello
  7. clicked on the Shields icon

Confirmed Normal window selection i.e. Don't upgrade HTTP connections selection was not leaked/shown in the Advance Controls for Private window

step 3 step 4 result
image image image

Test Case 5: Set per-site settings for Https Default - PASSED

Case 1: Upgrade connections to HTTPS - PASSED

  1. new profile
  2. launched Brave
  3. enabled #Use HTTPS by Default in brave://flags
  4. visited http://insecure.arthuredelstein.net
  5. click on the Shields icon
  6. confirmed Upgrade connections to HTTPS is displayed as default
  7. loaded http://http.badssl.com
  8. loaded http://upgradable.arthuredelstein.net
  9. opened a New private window
  10. opened a New private window with Tor and loaded each of the above

Normal window

insecure.arthuredelstein.net http://http.badssl.com/ upgradable.arthuredelstein.net
image image image

Private window

insecure.arthuredelstein.net http://http.badssl.com/ upgradable.arthuredelstein.net
image image image

New private window with Tor

insecure.arthuredelstein.net http://http.badssl.com/ upgradable.arthuredelstein.net
image image image

Case 2: Only connection with HTTPS - PASSED

  1. new profile
  2. launched Brave
  3. enabled #Use HTTPS by Default in brave://flags
  4. visited http://insecure.arthuredelstein.net
  5. click Shields icon
  6. Shields panel shows default Upgrade connections to HTTPS
  7. changed Only connection with HTTPS in the Shields panel
  8. confirmed The connection to insecure.arthuredelstein.net is not secure message displayed
  9. clicked Continue to Site
  10. confirmed http://insecure.arthuredelstein.net/ loads without any issues
  11. loaded http://http.badssl.com
  12. followed step 5-7 and results are same expected in step 9
  13. confirmed The connection to http.badssl.com is not secure message shown
  14. clicked Continue to Site
  15. confirmed http://http.badssl.com loads without issues
  16. loaded http://upgradable.arthuredelstein.net
  17. confirmed http://upgradable.arthuredelstein.net/ -> https://upgradable.arthuredelstein.net/ (connection upgraded)
  18. opened a New private window and verified as above
  19. opened a New Private Window with Tor and verified as above

Normal window

step 6 step 7 to step 8 step 10 step 11 step 14 to step 15 step 16
image image image image image image

Private window

insecure.arthuredelstein.net

ex ex
image image

http://http.badssl.com

ex ex
image image

https://upgradable.arthuredelstein.net/

image

New private window with Tor

insecure.arthuredelstein.net

ex ex
image image

http://http.badssl.com

ex ex
image image

https://upgradable.arthuredelstein.net/

image

Case 3: Don't upgrade HTTP connections - PASSED

  1. new profile
  2. launched Brave
  3. enabled #Use HTTPS by Default in brave://flags
  4. visited http://insecure.arthuredelstein.net
  5. click Shields icon
  6. Shields panel shows default Upgrade connections to HTTPS
  7. changed Don't upgrade HTTP connections in the Shields panel
  8. confirmed the site http://insecure.arthuredelstein.net is not upgraded and loaded without issues
  9. loaded http://http.badssl.com
  10. confirmed the site http://http.badssl.com is not upgraded and loaded without issues
  11. loaded http://upgradable.arthuredelstein.net
  12. changed to Don't upgrade HTTP connections
  13. close the tab and reload http://upgradable.arthuredelstein.net
  14. confirmed http://upgradable.arthuredelstein.net/ is not upgraded to HTTPS and site loaded without issues
  15. opened a New private window and verified as above
  16. opened a New Private Window with Tor and verified as above

Normal window

step 6 step 7 to 8 step 9 step 14
image image image image

Private windows

insecure.arthuredelstein.net http://http.badssl.com http://upgradable.arthuredelstein.net
image image image

New private window with Tor

http://insecure.arthuredelstein.net

ex ex
image image

http://http.badssl.com

ex ex
image image

Test Case 6: Shields down - PASSED

  1. installed 1.50.106
  2. launched Brave
  3. loaded http://insecure.arthuredelstein.net
  4. loaded http://http.badssl.com
  5. loaded http://upgradable.arthuredelstein.net
  6. clicked on the Brave Shields icon in the URL bar
  7. toggled each of the above loaded sites' Shields to DOWN
  8. opened a New Private Window with Tor and loaded each of the above
insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Private window

insecure.arthuredelstein.net http.badssl.com upgradable.arthuredelstein.net
image image image

Private window with Tor

insecure.arthuredelstein.net

ex ex
image image

http.badssl.com

ex ex
image image

upgradable.arthuredelstein.net

image

Testcase 7: (Pref) Migrations - PASSED

Case 1: defaults - PASSED

  1. installed 1.49.128
  2. confirmed default of Always use secure connections set to Off in brave://settings/security
  3. visited http://upgradable.arthuredelstein.net in a new tab
  4. Shields panel shows Upgrade connections to HTTPS enabled
  5. upgraded to 1.50.110
  6. launched Brave
  • Confirmed Shields panel shows new UI with 3 options for Https by default.
  • Confirmed brave://settings/shields show new UI with 3 options for Upgrade connections to HTTPS
  • Confirmed via brave://settings/shields that Upgrade connections to HTTPS is set to Standard
  • Confirmed http://upgradable.arthuredelstein.net shows Upgrade connections to HTTPS
  • Ensured that the Always use secure connections settings is removed from brave://settings/security in 1.50.x
149.132 149.132 1.50.110 1.50.110 1.50.110
image image image image image

Case 2" Always use secure connections set to On - PASSED

  1. installed 1.49.128
  2. clicked to toggle Always use secure connections set to On in brave://settings/security
  3. visited http://insecure.arthuredelstein.net/ in a new tab
  4. Shields panel shows Upgrade connections to HTTPS enabled
  5. upgraded to 1.50.110
  6. launched Brave
  • Confirmed via brave://settings/shields that Upgrade connections to HTTPS is set to Strict
  • Confirmed Shields panel shows only connect with HTTPS option selected
  • Ensured that the Always use secure connections settings is removed from brave://settings/security in 1.50.x
step 2 step 4 step 4.1 result (1.50.x) result(1.50.x) result(1.50.x)
image image image image image image

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