这个项目能做什么

此仓库提供了一个 Dart 包,封装了 OpenMLS Rust 库,实现了消息层安全 (MLS) 协议 (RFC 9420),用于可扩展的端到端加密群组消息传递。它利用 TreeKEM 实现高效的群组密钥协商、前向保密和后向保密。该库支持经典和实验性的后量子密码套件,包括混合和纯格基选项。所有 MLS 状态在原生平台上使用 SQLCipher 进行静态加密,在 WebAssembly 上使用 Web Crypto AES-256-GCM 进行静态加密,加密密钥存储在平台安全存储中。它针对 Flutter 应用进行了优化,可在 Android、iOS、macOS、Linux、Windows 和 Web(通过 dart2js)上运行。该包包含完整的群组生命周期 API(创建、加入、添加/移除成员、提案、提交)、凭证处理(基本和 X.509),并通过简单的 `MlsEngine` 接口轻松集成。开发人员可以生成密钥包、管理群组、加密/解密应用消息并导出密钥,同时隐藏底层 Rust 实现。构建系统会自动下载预编译的原生库,因此最终用户无需本地 Rust 工具链。已知限制包括在 Web 上不支持 dart2wasm 目标,以及 Flutter 运行期间偶尔跳过构建钩子,这可以通过运行完整的 `flutter build web` 或清理构建标记来缓解。该库非常适合构建需要强大群组加密和后量子就绪能力的跨平台安全消息解决方案。