Commit Graph

5561 Commits

Author SHA1 Message Date
RMidhunSuresh
b3cc07cf1e
Accept verification from device message 2023-03-06 16:22:45 +05:30
RMidhunSuresh
4540ba2f37
Implement send ready stage 2023-03-05 15:25:09 +05:30
RMidhunSuresh
c9b462c803
Implement mac and done stage 2023-03-04 22:30:53 +05:30
RMidhunSuresh
78b5d69eb5
Upgrade olm 2023-03-04 22:23:32 +05:30
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
RMidhunSuresh
683e055757
WIP 2023-03-01 16:59:24 +05:30
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
RMidhunSuresh
b6041cd20c
Channel WIP 2023-02-27 23:33:05 +05:30
RMidhunSuresh
e46b760fb7
Remove log 2023-02-27 23:32:05 +05:30
RMidhunSuresh
ed4eb9bde0
Emit event from DeviceMessageHandler 2023-02-27 23:31:30 +05:30
RMidhunSuresh
75688cf6f3
REFACTOR: Extract methods and functions 2023-02-22 13:01:58 +05:30
RMidhunSuresh
af918e3df0
Remove comment 2023-02-22 13:01:34 +05:30
RMidhunSuresh
5e1dca946b
Free olmSas after all stages have completed 2023-02-22 13:00:36 +05:30
RMidhunSuresh
3321859ae6
Add more stages 2023-02-22 12:03:03 +05:30
RMidhunSuresh
e6ea003bef
WIP +1 2023-02-17 17:18:17 +05:30
RMidhunSuresh
d81864e901
WIP 2023-02-16 21:41:33 +05:30
RMidhunSuresh
772d91f924
WIP 2023-02-16 11:27:43 +05:30
Bruno Windels
8c74e54f9d release v0.3.8 2023-02-14 16:38:29 +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