If you are looking for more details around how the e2ee works in this project, you can take a look at this other repo I created with all utils functions and a big README file
The ssss.ts part is still missing some components and the client is not complete. Again, this project is about helping with the encryption part of matrix-js-sdk.
in root folder run nvm use
to make sure you have the same node version we use in the project
(If you don't use NVM, just make sure you are using Node 16)
then:
npm install
Simply run ionic serve
To see the Cross signing part working, follow those steps:
- open your current client where you have encryption enabled (e.g. Matrix.org).
- Run this client and login to your account
- You will receive a notification on your current client about a new device requesting cross signing
- Accept the incoming request on the client
- You will see the Emoji check opened on both sides
- Validate the emoji check
- You're done. You should now have the device validated and with e2ee working
A lot of easy stuff: Search, Create Chat, etc.
Some less easy stuff (at least for me because I haven't done this before): Validate the mobile from a request coming from the active client (instead of requesting from this ionic client, you click on "Review Device" option on riot.im for example)
I'll be working on those things soon.
I just hope someone can find this helpful. Make sure to take a look at the matrix-js-sdk-e2ee-helpers I added a lot of explanation about the encryption part there.
It also has some great links with explanation about how encryption works (Basic things I didn't know before)