[package] name = "joule-moq-mls" version = "0.1.0" description = "End-to-end encrypted WAI live rooms: one MLS group (RFC 9420) per room, its membership driven by the room's grants and lifecycle, the room's clock as the group's external sender and a committer every member computes alike, and each epoch's per-sender keys for joule-moq's sealed objects (draft-ietf-moq-secure-objects-01). With the room's confidentiality record and the corpus generator of WAI live-conformance/e2ee." edition = "2024" rust-version = "1.97" license = "Apache-2.0" repository = "https://git.transaction.science/Transaction-Science/open-standards" [[bin]] name = "joule_moq_e2ee_vectors" path = "src/bin/joule_moq_e2ee_vectors.rs" [dependencies] joule-moq = { path = "../joule-moq", default-features = false, features = ["secure-objects"] } # MLS (RFC 9420), MIT, pinned exactly: the group, its key schedule and exporter, external # proposals, and the public view of a group a non-member keeps. openmls = "=0.9.1" openmls_rust_crypto = "=0.6.0" openmls_traits = "=0.6.0" tls_codec = "0.5" ed25519-dalek = "2" sha2 = "0.10" blake3 = "1" hex = "0.4" serde = { version = "1", features = ["derive"] } serde_json = "1" # For wasm32-unknown-unknown (feature `js`): getrandom 0.2's browser backend, which the # crypto provider's own generator draws from (openmls's `js` gives getrandom 0.4 its own). getrandom_02 = { package = "getrandom", version = "0.2", features = ["js"], optional = true } [features] # A member in a browser: secure randomness and the clock from the page's JavaScript APIs # (openmls's `js`: getrandom 0.4's `wasm_js` backend and `web-time`), and the same for the # crypto provider's generator. Nothing else changes, and the crate builds for # wasm32-unknown-unknown with it. js = ["openmls/js", "dep:getrandom_02"]