Cargo Features

OpenMLS has no features set by default.

[dependencies]
openmls = { version = "0.7.1", features = ["crypto-subtle", "backtrace", "libcrux-provider", "sqlite-provider", "test-utils", "crypto-debug", "content-debug", "js", "extensions-draft-08", "libcrux-provider-js", "fork-resolution"] }
crypto-subtle

Enable subtle crypto APIs that have to be used with care.

backtrace test-utils?

Enables backtrace

libcrux-provider

Enables openmls_libcrux_crypto and libcrux-provider of optional openmls_test

openmls_test:

This needs to be enabled explicity to allow disabling on some platforms

Affects test_utils::OpenMlsLibcrux

sqlite-provider

Enables openmls_sqlite_storage, sqlite-provider of optional openmls_test

test-utils = backtrace

Enables test-utils of openmls_rust_crypto and itertools, once_cell, openmls_basic_credential, and openmls_memory_storage

itertools:

Crypto providers required for KAT and testing - "test-utils" feature

and openmls_test, rand ^0.8, serde_json, and wasm-bindgen-test

rand:

Only required for tests.

Affects encryption_keys::test_utils

crypto-debug

☣️ Enable logging of sensitive cryptographic information

content-debug

☣️ Enable logging of sensitive message content

js

Enables fluvio-wasm-timer, js of getrandom ^0.2.15

extensions-draft-08

Enables extensions-draft-08 of openmls_memory_storage, openmls_sqlite_storage, and openmls_traits

Affects errors::SafeExportSecretError, errors::ProcessedMessageSafeExportSecretError, errors::PendingSafeExportSecretError, errors::StagedSafeExportSecretError, schedule::ApplicationExportSecret

libcrux-provider-js

Enables wasm_js of getrandom

getrandom:

Optional backend: wasm_js
This flag enables the wasm_js backend and uses it by default on wasm32 where the target_os is unknown. The getrandom_backend cfg may override this.
WARNING: It is highly recommended to enable this feature only for binary crates and tests,
i.e. avoid unconditionally enabling it in library crates.

fork-resolution

enable randomness source

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

openmls_rust_crypto test-utils?