Cargo Features

liboscore-cryptobackend has no features set by default.

[dependencies]
liboscore-cryptobackend = { version = "0.1.0", features = ["aes-ccm", "log_cryptographic_operations_including_secret_keys", "chacha20poly1305", "aes-gcm"] }
aes-ccm = aes, ccm
log_cryptographic_operations_including_secret_keys = log

Log cryptographic operations (AEAD encryption, decryption, HKDF derivation) through the log crate.

This is fundamentally unsafe, cryptography-wise -- you just don't print out secret keys. But when debugging internals of libOSCORE, this is immensely helpful (for example during OSCORE plug tests, to see why the different parties derived different keys). Hence the mouthful name: This is not supposed to be enabled lightly.

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.

chacha20poly1305 implicit feature
ccm aes-ccm?
aes aes-ccm?
aes-gcm implicit feature
log log_cryptographic…secret_keys?