Bruno Windels
2b59c8bb7c
store ed25519 key from olm event rather than one in m.room_key payload
...
that's the docs/js-sdk do it, even though it probably
doesn't matter much as we verify the key anyway
2020-09-08 10:52:02 +02:00
Bruno Windels
40ed66dc5e
document return type
2020-09-08 10:51:45 +02:00
Bruno Windels
4cf3b3569d
storage method takes EventKey actually
2020-09-08 10:51:28 +02:00
Bruno Windels
3e100ff5ec
ensure /keys/query devices have the keys we need
2020-09-08 10:51:01 +02:00
Bruno Windels
c32ac2c764
use decryption result to show message verification status in timeline
2020-09-08 10:50:39 +02:00
Bruno Windels
9137d5dcbb
make decryption algorithms return DecryptionResult
...
which contains curve25519 key and claimed ed25519 key as well as payload
2020-09-08 10:48:11 +02:00
Bruno Windels
fbb534fa16
add todo
2020-09-04 16:46:13 +02:00
Bruno Windels
a817a9aaf9
return decrypted type and content
2020-09-04 16:41:03 +02:00
Bruno Windels
7bfcfc9eed
correct store name
2020-09-04 16:40:51 +02:00
Bruno Windels
f31efe3e87
encode key with proper names
2020-09-04 16:40:39 +02:00
Bruno Windels
8e5d5db32b
add event prop on entry
2020-09-04 16:40:15 +02:00
Bruno Windels
e06cb1eb5f
fix param order
2020-09-04 16:29:20 +02:00
Bruno Windels
1af118a443
don't assume we have a timeline
2020-09-04 16:27:39 +02:00
Bruno Windels
9b771120e4
actually accept megolm decryption dep
2020-09-04 16:27:14 +02:00
Bruno Windels
dc0576f2db
cleanup
2020-09-04 15:31:45 +02:00
Bruno Windels
baad4bd37f
hookup megolm decryption in session
2020-09-04 15:31:27 +02:00
Bruno Windels
32a399afec
implement storage changes for megolm decryption
2020-09-04 15:31:00 +02:00
Bruno Windels
5a731903da
implement decrypting when loading timeline
2020-09-04 15:30:06 +02:00
Bruno Windels
62bcb27784
implement decryption retrying and decrypting of gap/load entries
...
turns out we do have to always check for replay attacks because
failing to decrypt doesn't prevent an item from being stored,
so if you reload and then load you might be decrypting it
for the first time
2020-09-04 15:29:58 +02:00
Bruno Windels
565fdb0f8c
use proper error codes
2020-09-04 12:10:36 +02:00
Bruno Windels
28b46a1e5b
add some comments
2020-09-04 12:10:28 +02:00
Bruno Windels
fe9245dd04
first draft of retrying decryption when receiving room keys
2020-09-04 12:10:12 +02:00
Bruno Windels
502ba5deea
first draft of decryption in Room and RoomEncryption
2020-09-04 12:09:19 +02:00
Bruno Windels
fab58e8724
first draft of megolm decryption
2020-09-04 12:06:26 +02:00
Bruno Windels
80ede4f411
session will always be true here, we want to check sessionEntry
2020-09-04 12:05:58 +02:00
Bruno Windels
8ac80314c2
cleanup
2020-09-03 17:51:20 +02:00
Bruno Windels
c5efa582b1
check algorithm
2020-09-03 17:51:00 +02:00
Bruno Windels
c5c9505ce2
hookup megolm encryption in session
2020-09-03 17:50:28 +02:00
Bruno Windels
be4d887178
add outbound group session storage
2020-09-03 17:49:20 +02:00
Bruno Windels
6bc30bb824
implement megolm encryption
2020-09-03 17:48:59 +02:00
Bruno Windels
b1226d9220
add infrastructure to encrypt while sending
2020-09-03 15:36:48 +02:00
Bruno Windels
5cafef96f5
add RoomEncryption to room
2020-09-03 15:36:17 +02:00
Bruno Windels
2a40c89a24
implement hsapi /keys/claim endpoint
2020-09-03 15:33:23 +02:00
Bruno Windels
dde8c66196
implement store changes for olm encryption
2020-09-03 15:33:03 +02:00
Bruno Windels
792f0cf9a0
log our identity keys after load
2020-09-03 15:32:33 +02:00
Bruno Windels
1d4a5cd6d4
instantiate olm encryption in session
2020-09-03 15:32:08 +02:00
Bruno Windels
4401012312
no need to call decrypt when there are no events
2020-09-03 15:30:54 +02:00
Bruno Windels
408ff3322d
content already exists here
2020-09-03 15:30:42 +02:00
Bruno Windels
620fc0d210
JSON stringify payload, olm_encrypt does not do objects
2020-09-03 15:30:18 +02:00
Bruno Windels
8676909a26
don't swallow errors!
2020-09-03 15:30:09 +02:00
Bruno Windels
a943467e71
await txns
2020-09-03 15:30:01 +02:00
Bruno Windels
71ba2dd714
name userId -> ownUserId as elsewhere
2020-09-03 15:29:35 +02:00
Bruno Windels
8d0d4570dd
fix import path
2020-09-03 15:29:09 +02:00
Bruno Windels
b2fffee037
give better error when olm plaintext is not json
2020-09-03 15:28:49 +02:00
Bruno Windels
1f8005cdfd
forgot to pass account
2020-09-03 15:28:38 +02:00
Bruno Windels
e22131bf57
don't store or return our own device
2020-09-03 15:28:20 +02:00
Bruno Windels
eda15e1141
forgot to remove this after extracting function
2020-09-03 15:27:40 +02:00
Bruno Windels
8d64fa54fe
using wrong method here
2020-09-03 15:27:00 +02:00
Bruno Windels
4f4808b94c
lock on senderKey while enc/decrypting olm sessions
2020-09-03 12:12:33 +02:00
Bruno Windels
4ecd853348
Merge branch 'bwindels/e2ee' into bwindels/olm-encrypt
2020-09-03 11:44:36 +02:00