Bruno Windels
6abc918ce8
show shield as icon
2023-03-27 10:54:44 +02:00
Bruno Windels
eaa7de8a55
fix import
2023-03-24 23:16:54 +01:00
Bruno Windels
9383246f8d
remove obsolete parameter here as well
2023-03-24 23:14:30 +01:00
Bruno Windels
d170c6f787
crossSigning is an observable value now
2023-03-24 23:10:54 +01:00
Bruno Windels
90faad551a
remove txn argument that was removed in previous commit
2023-03-24 23:07:22 +01:00
RMidhunSuresh
2f7e67d48a
Change type
2023-03-24 20:32:19 +05:30
RMidhunSuresh
8ea484e862
Inline code
2023-03-24 20:30:48 +05:30
RMidhunSuresh
ae60c30ab8
VerificationEventTypes -> VerificationEventType
2023-03-24 20:27:11 +05:30
RMidhunSuresh
225a778d1a
Use deferred
2023-03-24 20:25:19 +05:30
RMidhunSuresh
7c6bcbc09c
Add explaining comment
2023-03-24 19:36:27 +05:30
RMidhunSuresh
589bc161f7
Inherit from EventEmitter
2023-03-24 19:33:41 +05:30
RMidhunSuresh
1c09f20778
Pass device-id through options
2023-03-24 19:28:49 +05:30
RMidhunSuresh
321775b800
Rename CancelTypes -> CancelReason
2023-03-24 19:18:31 +05:30
RMidhunSuresh
e2ae5e716e
Do not emit for now
2023-03-24 19:17:14 +05:30
Bruno Windels
762a91bd16
don't reuse existing transaction to read from 4S, as webcrypto terminates idb transactions
2023-03-24 13:42:19 +01:00
RMidhunSuresh
120c93dceb
Merge branch 'support-arbitrary-toast-notifications' into sas-verification
2023-03-23 16:42:38 +05:30
RMidhunSuresh
93d37aeb93
Create views based on viewmodel
2023-03-22 15:05:58 +05:30
RMidhunSuresh
a1086a7139
Add support for arbitrary notifications
2023-03-22 14:16:02 +05:30
Bruno Windels
dd59f37dce
WIP2
2023-03-21 18:24:46 +01:00
RMidhunSuresh
9d8c045c10
Move import up
2023-03-21 21:47:25 +05:30
RMidhunSuresh
ed9fc14f23
Fix import
2023-03-21 21:46:46 +05:30
RMidhunSuresh
610bbcc1ae
Remove code from room vm
2023-03-15 21:19:00 +05:30
RMidhunSuresh
cd9b3406cd
Refactor Channel
2023-03-15 16:30:14 +05:30
RMidhunSuresh
fc6e56b0ad
Pass log last
2023-03-15 14:36:14 +05:30
RMidhunSuresh
190465918e
Remove comment
2023-03-15 14:07:07 +05:30
RMidhunSuresh
672b0ac13d
Refactor SASVerification class
2023-03-15 00:31:23 +05:30
RMidhunSuresh
a5743e868e
Refactor VerifyMacStage
2023-03-15 00:12:33 +05:30
RMidhunSuresh
ed70feb316
Refactor CalculateSASStage
...
- Expose emoji from stage
- Await promise that resolves when emoji is matched
- Modify tests
2023-03-14 23:58:49 +05:30
RMidhunSuresh
d41746e8b7
Refactor SendAcceptVerificationStage
2023-03-14 23:25:00 +05:30
RMidhunSuresh
d60214da10
Fix string in logger
2023-03-14 23:02:27 +05:30
RMidhunSuresh
f54a4d107e
Refactor SendReadyStage
...
- Change log identifier string
2023-03-14 23:01:03 +05:30
RMidhunSuresh
2cde9b2f33
Refactor SendMacStage
...
- Convert property to argument
- Remove unnecessary olm type
- Use Channel.getEvent
- Fix ILogItem import
2023-03-14 22:58:05 +05:30
RMidhunSuresh
ec66e88180
Fix comment
2023-03-14 18:07:11 +05:30
RMidhunSuresh
fc867892c6
Fix formatting
2023-03-14 18:05:41 +05:30
RMidhunSuresh
c08e136d25
Add more logging
2023-03-14 17:02:18 +05:30
RMidhunSuresh
8e08916502
Remove magic string
2023-03-14 16:21:29 +05:30
RMidhunSuresh
65c0afb027
Rename class
2023-03-14 15:59:13 +05:30
RMidhunSuresh
d70dd660c5
Refactor code
...
1. Remove unused properties from base stage
2. Split UserData into fields
3. Write getter for channel prop
2023-03-14 15:42:02 +05:30
RMidhunSuresh
dedf64d011
Base stage class does not need disposable
2023-03-14 14:28:33 +05:30
RMidhunSuresh
806e672806
Convert console.log to logger calls
2023-03-14 14:21:07 +05:30
RMidhunSuresh
fd96d5843d
Throw error if verification was cancelled
2023-03-14 14:13:57 +05:30
RMidhunSuresh
9c82dd7ce3
Refactor code
2023-03-14 00:54:00 +05:30
RMidhunSuresh
720585b8f2
Write unit tests
2023-03-13 21:17:22 +05:30
RMidhunSuresh
2e653d5f76
Write a class that generates fixtures for test
2023-03-13 21:11:40 +05:30
Bruno Windels
780dfeb199
WIP
2023-03-13 09:15:49 +01:00
Bruno Windels
760da6277a
remove unused transaction
2023-03-09 09:08:01 +01:00
RMidhunSuresh
1f8fb93ba2
Implement timeout and cancel
2023-03-07 23:38:04 +05:30
Bruno Windels
a69246fb5a
return undefined if we don't have the signing key
2023-03-07 14:40:11 +01:00
RMidhunSuresh
0b51fc0168
Throw specific error when cancelled
2023-03-07 17:27:27 +05:30
Bruno Windels
a065189836
delay signature validation of cross-signing keys until calculating trust
...
always store them, if not we'll think that the user hasn't uploaded
the cross-signing keys if we don't store them in spite of invalid or
missing signature.
2023-03-07 11:00:52 +01:00
Bruno Windels
f1ecad5b58
adjust UI to more detailed trust level
2023-03-07 10:54:07 +01:00
Bruno Windels
bae18c037f
return enum explaining user trust level rather than boolean
2023-03-07 10:53:32 +01:00
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
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
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