Cargo Features

[dependencies]
kryoptic = { version = "1.1.0", default-features = false, features = ["aes", "ecc", "ecdsa", "ecdh", "eddsa", "ec_montgomery", "hash", "hkdf", "hmac", "pbkdf2", "rsa", "sp800_108", "sshkdf", "tlskdf", "jsondb", "memorydb", "sqlitedb", "nssdb", "ecc_all", "hash_all", "kdf_all", "standard", "ecc_fips", "fips", "dynamic", "pkcs11_3_2", "slow", "mlkem", "pqc"] }
aes fips? memorydb? nssdb? sqlitedb?
ecc ec_montgomery? ecdh? ecdsa? eddsa?

Affects ec::check_ec_point_from_obj, common::EC_NAME, common::get_ossl_name_from_obj, common::EvpPkeyCtx, common::EvpPkey, common::ECDSA_NAME

ecdsa ecc_all? ecc_fips? = ecc

Affects ec::ecdsa, ossl::ecdsa

ecdh ecc_all? ecc_fips? = ecc

Affects ec::ecdh, ossl::ecdh

eddsa ecc_all? = ecc

Affects ec::eddsa, ossl::eddsa, ec::point_len_to_der, ec::point_buf_to_der

ec_montgomery ecc_all? = ecc

Affects ec::montgomery, ossl::montgomery, ec::point_len_to_der, ec::point_buf_to_der

hash hash_all? hmac?

Affects ossl::hash

hkdf kdf_all? memorydb? sqlitedb? = hmac

Affects ossl::hkdf

hmac hash_all? hkdf? nssdb? pbkdf2? = hash

Affects native::hmac, ossl::hmac

pbkdf2 kdf_all? memorydb? nssdb? sqlitedb? = hmac

Affects native::pbkdf2, ossl::pbkdf2

rsa fips? standard

Affects ossl::rsa, common::EvpPkeyCtx, common::EvpPkey

sp800_108 kdf_all?

Affects native::sp800_108, ossl::kbkdf

sshkdf kdf_all?

Affects hash::is_valid_hash, native::sshkdf, ossl::sshkdf

tlskdf kdf_all?

Affects hmac::hash_to_hmac_mech, hmac::register_mechs_only, native::tlskdf

jsondb = memorydb

Databases

Affects storage::json

memorydb jsondb? = aes, hkdf, pbkdf2

for encryption

Affects storage::memory

default = dynamic, standard

These default features are set whenever kryoptic is added without default-features = false somewhere in the dependency tree.

sqlitedb fips? standard = aes, hkdf, pbkdf2

Enables rusqlite ^0.31.0

Affects storage::sqlite

nssdb = aes, hmac, pbkdf2

Enables rusqlite ^0.31.0

Affects storage::nssdb

ecc_all standard = ec_montgomery, ecdh, ecdsa, eddsa
hash_all fips? standard = hash, hmac
kdf_all fips? standard = hkdf, pbkdf2, sp800_108, sshkdf, tlskdf
standard default = ecc_all, hash_all, kdf_all, rsa, sqlitedb
ecc_fips fips? = ecdh, ecdsa
fips = aes, ecc_fips, hash_all, kdf_all, pkcs11_3_2, rsa, sqlitedb

Enables bundled of rusqlite ^0.31.0

Affects config::FipsBehavior, config::Config.fips_behavior, ec::oid_to_bits, kryoptic::OSSL_provider_init, mechanism::MechOperation.fips_approved, ossl::fips, rsa::MIN_RSA_SIZE_BITS, util::check_validation, common::ECDSA_NAME, ossl::hmac, ossl::kbkdf, ossl::pbkdf2, ossl::sshkdf

dynamic default

Builds against system libcrypto.so

pkcs11_3_2 fips? mlkem?

Exposes PKCS#11 3.2 Interfaces and new functions

Affects mechanism::Mechanism.encapsulate, mechanism::Mechanism.decapsulate, interface::CK_FUNCTION_LIST_3_2_PTR

slow

Enables slow tests

mlkem pqc? = pkcs11_3_2

Affects ossl::mlkem

pqc = mlkem