Commit graph

48 commits

Author SHA1 Message Date
J. Ryan Stinnett
fb2bde94fa Rename CrossSigningManager to SecurityManager
The file encompasses bits of cross-signing and also secret storage / secure
backup.
2020-09-03 14:50:49 +01:00
J. Ryan Stinnett
7efa9ba77d Fix DOM nesting error in cross-signing panel
The spinner can't be inside a `<p>` element. This also changes to block spinner
to match key backup.
2020-09-03 13:23:50 +01:00
J. Ryan Stinnett
a732c55797 Add secret storage readiness checks
This visits all places that were checking for cross-siging readiness and adapts
them to also check for secret storage readiness if needed.

Part of https://github.com/vector-im/element-web/issues/13895
2020-08-25 13:20:15 +01:00
J. Ryan Stinnett
4c1956a3c2 Show master key cache status in Settings 2020-08-06 15:25:33 +01:00
J. Ryan Stinnett
b01015f5c5 Show cross-signing / secret storage reset button in more cases
This exposes the cross-signing / secret storage reset button in more cases to
hopefully give people a better chance of trying again in case something failed
halfway through set up. In particular, any combination of keys existing now
reveals the reset button.

Fixes https://github.com/vector-im/riot-web/issues/13993
2020-06-24 14:30:12 +01:00
David Baker
e0a34d9dea
Revert "Use recovery keys over passphrases" 2020-06-18 09:35:11 +01:00
David Baker
6f3bfc96ca Merge remote-tracking branch 'origin/develop' into dbkr/recovery_keys_over_passphrases 2020-06-03 11:01:43 +01:00
David Baker
e06ba2003b Prompt for recovery key on login rather than passphrase
Only show passphrase options at all if the user has a passphrase on
their SSSS key.
2020-06-02 16:32:15 +01:00
Michael Telatynski
2b432b0d82 Remove feature_cross_signing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 10:28:25 +01:00
Bruno Windels
4a8e642400
Merge pull request #4581 from matrix-org/bwindels/remove-asym-4s
Remove UI for upgrading 4S to symmetric encryption
2020-05-14 08:10:39 +00:00
Bruno Windels
8a1b381635 remove UI for upgrading 4S to sym enc 2020-05-12 14:29:11 +02:00
Travis Ralston
e5da81b6ba Ensure key backup gets dealt with correctly during secret storage reset
Fixes https://github.com/vector-im/riot-web/issues/13562

We only initialize a new key backup if the user requested one. If they've requested new keys but have not asked for keys to be backed up, we simply delete the now-invalid backup.

This also adds some logging to identify in rageshakes when someone resets their cross-signing, and when their key backup is being deleted.
2020-05-06 14:42:03 -06:00
J. Ryan Stinnett
c21dccc397 Add debug status for cached backup key format
Check backup key format to ease tracking such issues

Debug helper for https://github.com/vector-im/riot-web/issues/13057
2020-04-07 19:11:06 +01:00
Zoe
a02731f632 Merge branch 'develop' into foldleft/reset-refactor 2020-03-27 10:50:05 +00:00
David Baker
ccb3283fd3 Show whether backup key is cached
in cross signing debug panel
2020-03-26 18:50:31 +00:00
Zoe
9dd81216fb rename secret storage force-reset variable to avoid confusion 2020-03-25 14:22:33 +00:00
J. Ryan Stinnett
1c802cc6af Show private key cache state in debug panel 2020-03-24 15:50:08 +00:00
David Baker
8f0e5f76af Merge remote-tracking branch 'origin/develop' into dbkr/unify_cross_signing_checks 2020-03-24 13:27:12 +00:00
David Baker
0fce57f891 Probably OK for debugging info to access private stuff 2020-03-24 13:13:28 +00:00
David Baker
5e1a46c656 Update for new name 2020-03-24 13:03:07 +00:00
David Baker
d6d15bc5c7 Add secret storage outdated section to advanced 2020-03-24 11:17:33 +00:00
David Baker
281bc09c9a Use unified function to check cross-signing is ready
Fixes mismatches where the Cross signing panel would say cross
signing was not ready but no toasts would appear.

Fixes https://github.com/vector-im/riot-web/issues/12796
Fixes https://github.com/vector-im/riot-web/issues/12798
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1279
2020-03-23 18:36:37 +00:00
David Baker
9bfc19f367 Fix bug where cross-signing keys would be unintentionally reset
Don't pass the boostrap function directly as a an event handler
as that gets used as the force argument.
2020-03-19 20:40:08 +00:00
J. Ryan Stinnett
12e8ad8f6b Show both bootstrap and reset cross-signing where appropriate
For cases like having keys on your account but not on the current device, this
ensures we offer both bootstrap and reset as possible paths.
2020-02-25 11:23:51 +00:00
J. Ryan Stinnett
a71a234622 Check for cross-signing homeserver support
This checks the homeserver to ensure it supports cross-signing (via the versions
feature flag) before attempting bootstrapping or offering user verification.

Fixes https://github.com/vector-im/riot-web/issues/11863
2020-02-24 15:04:34 +00:00
Zoe
7d319bab7f fix ssss overwrite 2020-02-21 10:18:47 +00:00
Zoe
5382a52519 Fixed bug where key reset didn't always return the right key 2020-02-11 15:57:14 +00:00
Zoe
627ced3838 quick fix for cross-signing reset bug 2020-02-11 13:17:18 +00:00
Zoe
4f4b52d666
Update src/components/views/settings/CrossSigningPanel.js
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2020-02-10 16:59:17 +00:00
Zoe
69dc725006 rename button 2020-02-10 15:43:02 +00:00
Zoe
b08c5d8410 lint 2020-02-07 15:46:31 +00:00
Zoe
8fdae73e03 Button to reset cross-signing and SSSS keys 2020-02-07 14:55:01 +00:00
J. Ryan Stinnett
81ee27f41e Replace device with session in UI text
This replaces "device" with "session" throughout user-visible text at the React
layer. Variable names and comments are left as-is for now.
2020-01-29 15:52:32 +00:00
J. Ryan Stinnett
5a67bd4b46 Repair cross-signing panel with async status
This repairs the cross-signing panel after recent changes that made the panel's
status an async function.

Regressed by https://github.com/matrix-org/matrix-react-sdk/pull/3864
Fixes https://github.com/vector-im/riot-web/issues/11952
2020-01-20 20:35:25 +00:00
J. Ryan Stinnett
4a82e86859 Adjust secret storage to work before sync
This adjusts to changed JS SDK APIs that allow secret storage to optionally ask
the server for any account data needed at login.

Fixes https://github.com/vector-im/riot-web/issues/11901
2020-01-17 17:59:12 +00:00
Travis Ralston
042bd35d79 Fix MatrixClientPeg imports 2019-12-22 21:15:54 -07:00
Travis Ralston
d56f0f2a25 Convert many imports to handle ES6 exports
Reliant upon https://github.com/matrix-org/matrix-react-sdk/pull/3761
2019-12-22 21:04:42 -07:00
J. Ryan Stinnett
3cbb3c12cd Update cross-signing details on trust changes 2019-12-12 15:42:27 +00:00
J. Ryan Stinnett
e87ff54eee Clean up cross-signing debug panel 2019-12-12 14:27:57 +00:00
J. Ryan Stinnett
66f7600969 Add accessSecretStorage helper with common flow setup
This moves the details of dialogs that may be needed when accessing secret
storage to centralised helper. In addition, this clears the secret storage key
cache so that keys are only live for a single operation.
2019-12-11 15:07:46 +00:00
J. Ryan Stinnett
9f1c2cd3e1 Add dialogs for creating and accessing secret storage
This adds dialogs for creating and accessing secret storage via a passphrase or
recovery key. These flows are adapted from the ones used for key backup.
2019-12-05 15:34:07 +00:00
J. Ryan Stinnett
139e19630a Watch for account data changes in debug panel 2019-12-02 14:34:32 +00:00
J. Ryan Stinnett
c21c0e1150 Add error to debug panel 2019-12-02 14:22:47 +00:00
J. Ryan Stinnett
798d5c8ada Always update cross-signing status even if error 2019-11-29 17:53:39 +00:00
J. Ryan Stinnett
c32c1d201c Rename device signing auth param 2019-11-29 17:49:51 +00:00
J. Ryan Stinnett
6140803b7f Fix key upload auth to test confirmation 2019-11-29 17:43:24 +00:00
J. Ryan Stinnett
a21285143f Add tbody to silence React warning 2019-11-29 11:55:36 +00:00
J. Ryan Stinnett
c103fe4273 Add cross-signing diagnostic panel
This is not part of any designs, so it may be short-lived, but it's quite handy
for diagnosing issues with cross-signing at least while the feature is in
development.
2019-11-29 11:29:08 +00:00