Cargo Features

[dependencies]
kryoptic = { version = "1.0.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", "slow"] }
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 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, rsa

Enables bundled of rusqlite ^0.31.0

Affects 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

slow

Enables slow tests