matrix-dart-sdk/doc/end-to-end-encryption.md

889 B

To enable end to end encryption you need to setup Vodozemac. For this you need Rust installed locally: rust-lang.org/tools/install

For Flutter you can use flutter_vodozemac.

flutter pub add flutter_vodozemac

You also need flutter_openssl_crypto.

flutter pub add flutter_openssl_crypto

Now before you create your Client, init vodozemac:

import 'package:flutter_vodozemac/flutter_vodozemac' as vod;

// ...

await vod.init();

final client = Client(/*...*/);

This should work on Android, iOS, macOS, Linux and Windows.

For web you need to compile vodozemac to wasm. Please refer to the Vodozemac bindings documentation.