Cargo Features

[dependencies]
libsignal-protocol = { version = "0.1.0", default-features = false, features = ["crypto-native", "crypto-openssl"] }
default = crypto-native

The crypto-native feature is set by default whenever libsignal-protocol is added without default-features = false somewhere in the dependency tree.

crypto-native default = aes, aes-ctr, block-modes, hmac, sha2
crypto-openssl = openssl, rental

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.

openssl crypto-openssl?

Enables openssl

-- Optional Crates --

rental crypto-openssl?
sha2 crypto-native

Enables sha2 ^0.8.0

hmac crypto-native

Enables hmac ^0.7.0

aes crypto-native
block-modes crypto-native

Enables block-modes ^0.3.3

aes-ctr crypto-native

Enables aes-ctr ^0.3.0