Bruno Windels
bae18c037f
return enum explaining user trust level rather than boolean
2023-03-07 10:53:32 +01:00
Bruno Windels
e00d02a599
fix ts error
2023-03-03 16:18:30 +01:00
Bruno Windels
149f187904
expose user trust in member panel
2023-03-03 15:22:02 +01:00
Bruno Windels
4c7f784911
implement verifying signaturs for user trust (green shield/red shield)
2023-03-03 15:21:37 +01:00
Bruno Windels
774efc17d9
extract method to sign key, as most params are always the same
2023-03-03 12:15:54 +01:00
Bruno Windels
c2ee824c1c
fix lint warning from previous cross-signing PR
2023-03-03 12:03:31 +01:00
Bruno Windels
eff495c36d
also delete old crossSigningKeys field on userIdentities
2023-03-03 11:57:29 +01:00
Bruno Windels
08984ad1bc
log amount of marked user identities in migration
2023-03-03 11:57:15 +01:00
Bruno Windels
2563aa23e1
actually write modified values in migration
2023-03-03 11:56:51 +01:00
Bruno Windels
c747d5f228
rename deviceTrackingStatus to keysTrackingStatus
...
as this field also reflects the tracking status of the cross-signing
keys for a given user.
2023-03-03 11:34:09 +01:00
Bruno Windels
7d806b03b3
mark all existing user identities outdated as cross-signing keys missing
2023-03-03 11:33:19 +01:00
Bruno Windels
1dc3acad03
use enum for device tracking status
2023-03-02 17:32:46 +01:00
Bruno Windels
9789e5881d
cleanup
2023-03-02 17:29:30 +01:00
Bruno Windels
fa662db70b
show cross-sign user option in right panel
2023-03-02 17:16:53 +01:00
Bruno Windels
3a303ff84d
cleanup comments
2023-03-02 17:15:05 +01:00
Bruno Windels
34b113b26e
don't upload pre-existing signatures when signing
2023-03-02 17:14:50 +01:00
Bruno Windels
504d869b38
provide correct user id for signing key owner when signing other user
2023-03-02 17:14:27 +01:00
Bruno Windels
20a6fcda72
don't allow signing own user
2023-03-02 17:14:05 +01:00
Bruno Windels
4dce93e5ef
make sure the key property doesn't leak out of the storage layer
...
as it ends up in the value we're signing and uploading,
corrupting the signature
2023-03-02 17:13:15 +01:00
Bruno Windels
a9412aa57c
fix import paths after TS conversion
2023-03-02 17:12:56 +01:00
Bruno Windels
daf66e1d6c
implement signing users and other devices
2023-03-02 15:02:42 +01:00
Bruno Windels
b8fb2b6df1
Store device keys in format needed to sign/verify, convert to TS
...
In order to sign and verify signatures of design keys, we need
to have them in the format as they are uploaded and downloaded
from the homeserver. So, like the cross-signing keys, we store
them in locally in the same format to avoid constant convertions.
I also renamed deviceIdentities to deviceKeys, analogue to
crossSigningKeys. In order to prevent mistakes in this refactor,
I also converted DeviceTracker to typescript.
2023-02-28 17:25:01 +01:00
Bruno Windels
151090527b
Store cross-signing keys in format as returned from server, in separate store
...
This will make it easier to sign and verify signatures with these keys,
as the signed value needs to have the same layout when signing and
for every verification.
2023-02-28 14:07:55 +01:00
Bruno Windels
1113f2ffb9
Merge pull request #1036 from vector-im/cross-signing/self-sign
...
Allow to sign own device once MSK is trusted
2023-02-14 16:36:29 +01:00
Bruno Windels
2a6baef259
Merge pull request #1031 from vector-im/cross-signing/verify-msk
...
Cross-signing: verify MSK with 4S security key
2023-02-14 16:32:52 +01:00
Bruno Windels
7519878264
add stronger warning to enable cross-signing
2023-02-14 16:30:25 +01:00
Bruno Windels
71d7dcb0ca
store self-signing keys on userIdentity
2023-02-14 16:26:55 +01:00
Bruno Windels
c7a2b4dc2e
expose self-signing in settings UI
2023-02-14 16:26:02 +01:00
Bruno Windels
088fcdc77b
logging type definition fix
2023-02-14 16:25:46 +01:00
Bruno Windels
693640d222
implement signing our own device
2023-02-14 16:25:32 +01:00
Bruno Windels
103ae1e789
fix unit tests
2023-02-14 13:24:26 +01:00
Bruno Windels
45d45cb690
show MSK trust status in settings after enabling key backup
2023-02-14 12:13:07 +01:00
Bruno Windels
fdce098245
create cross-signing class, support deriving msk from 4s stored privkey
...
and check if they match the publicized one and then trust it
2023-02-14 12:12:20 +01:00
Bruno Windels
ce5b27f4b8
support fetching the master signing key for a user in the device tracker
2023-02-14 12:11:59 +01:00
Bruno Windels
2043541f56
fix missing free in key backup
2023-02-10 17:36:14 +01:00
Bruno Windels
ab67a28c74
add feature flag for cross-signing
2023-02-10 17:35:45 +01:00
Bruno Windels
3bb0d26d3f
fix missing msgtype on emote
2023-02-10 16:17:47 +01:00
Bruno Windels
c3da2acfb2
adjust margin on features UI
2023-02-10 14:11:45 +01:00
Bruno Windels
7c1117ddd4
keep token in memory to compare stored token with after /messages
...
and don't look at response.start as it can be different as
the format can change after a server upgrade while
(still pointing at the same location)
2023-02-10 14:08:35 +01:00
Bruno Windels
9e28bdcc88
don't try to fill when we had an error before
2023-02-10 12:35:02 +01:00
Bruno Windels
7777ef83dd
adopt errorViewModel in GapTile to report errors
2023-02-10 12:34:47 +01:00
Bruno Windels
c946319891
remove double experimal warning in UI
2023-02-10 11:33:24 +01:00
Bruno Windels
83d1ea05a1
fix unit test
2023-02-10 11:22:13 +01:00
Bruno Windels
da1b7d4108
UI in settings for toggling features
2023-02-10 09:27:18 +01:00
Bruno Windels
bb477b6aad
fix not passing features to client construction
2023-02-10 08:48:31 +01:00
Bruno Windels
f9fa59609f
fix local variable usage after extracting method
2023-02-10 08:48:10 +01:00
Bruno Windels
4a46c98d12
don't assume the call handler is always set in device message handler
2023-02-09 11:57:45 +01:00
Bruno Windels
22a8182266
feature-gate calls everywhere in the app
2023-02-09 11:57:30 +01:00
Bruno Windels
f86663fe7b
pass features to tilesCreator (and all options really for comfort)
2023-02-09 11:56:22 +01:00
Bruno Windels
d5929d9ebe
make features available in Client and Session
2023-02-09 11:53:39 +01:00