rmls 0.0.4

Messaging Layer Security in Rust
Documentation
[package]
name = "rmls"
version = "0.0.4"
edition = "2021"
authors = ["Rusty Rain <y@liu.mx>"]
description = "Messaging Layer Security in Rust"
license = "MIT OR Apache-2.0"
documentation = "https://docs.rs/rmls"
homepage = "https://rmls.io"
repository = "https://github.com/webrtc-rs/rmls"

[features]
default = ["RustCryptoProvider"] #"RingCryptoProvider"
RingCryptoProvider = ["ring", "signature", "ecdsa", "p256", "p384"] #TODO: use "ring" only for RingCryptoProvider
RustCryptoProvider = ["sha2", "hmac", "hkdf", "ed25519-dalek", "ecdsa", "sec1", "signature", "aead", "aes-gcm", "chacha20poly1305", "p256", "p384"]

[dependencies]
thiserror = "1"
bytes = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"

####CryptoProvider#####
# Common
hpke = "0.10.0"
getrandom = { version = "0.2.10", features = ["js"] } # enable "js" feature to pass wasm32 build
rand_core = "0.6.4"
rand_chacha = "0.3.1"

# RingCryptoProvider feature
ring = { version = "0.16.20", optional = true }

# RustCryptoProvider feature
sha2 = { version = "0.10.7", optional = true }
hmac = { version = "0.12.1", optional = true }
hkdf = { version = "0.12.3", optional = true }
ed25519-dalek = { version = "2.0.0", features = ["rand_core"], optional = true }
ecdsa = { version = "0.16.8", optional = true }
sec1 = { version = "0.7.3", optional = true }
signature = { version = "2.1.0", optional = true }
aead = { version = "0.5.2", features = ["rand_core"], optional = true }
aes-gcm = { version = "0.10.2", optional = true }
chacha20poly1305 = { version = "0.10.1", optional = true }
p256 = { version = "0.13.2", optional = true }
p384 = { version = "0.13.0", optional = true }

[dev-dependencies]
hex = { version = "0.4", features = ["serde"] }