[package]
edition = "2024"
name = "kryoptic-lib"
version = "1.5.1"
build = "build.rs"
exclude = [
".github/*",
"openssl/*",
"testdata/CMACGenAES128.rsp",
"testdata/CMACGenAES192.rsp",
"testdata/CMACGenAES256.rsp",
"testdata/KDFCTR_gen.txt",
"testdata/KDFFeedback_gen.txt",
"testdata/kwtestvectors/KWP_AD_128.txt",
"testdata/kwtestvectors/KWP_AD_192.txt",
"testdata/kwtestvectors/KWP_AD_256.txt",
"testdata/kwtestvectors/KWP_AE_128.txt",
"testdata/kwtestvectors/KWP_AE_192.txt",
"testdata/kwtestvectors/KWP_AE_256.txt",
"testdata/kwtestvectors/KW_AD_128.txt",
"testdata/kwtestvectors/KW_AD_192.txt",
"testdata/kwtestvectors/KW_AD_256.txt",
"testdata/kwtestvectors/KW_AE_128.txt",
"testdata/kwtestvectors/KW_AE_192.txt",
"testdata/kwtestvectors/KW_AE_256.txt",
"testdata/slh_dsa_test_vectors.json",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A PKCS #11 software token written in Rust"
homepage = "https://github.com/latchset/kryoptic"
readme = "README.md"
license = "GPL-3.0-or-later"
repository = "https://github.com/latchset/kryoptic"
[features]
aes = []
default = [
"standard",
"dynamic",
]
dynamic = ["ossl/dynamic"]
ec_montgomery = ["ecc"]
ecc = []
ecc_all = [
"ecc_min",
"ec_montgomery",
"eddsa",
]
ecc_min = [
"ecdsa",
"ecdh",
]
ecdh = ["ecc"]
ecdsa = ["ecc"]
eddsa = [
"ecc",
"ossl/ossl320",
]
ffdh = []
fips = [
"ossl/fips",
"sqlitedb",
"rusqlite/bundled",
"aes",
"ecc_all",
"ffdh",
"hash_all",
"kdf_all",
"rsa",
"pqc",
"dep:vsprintf",
]
hash = []
hash_all = [
"hash",
"hmac",
]
hkdf = ["hmac"]
hmac = ["hash"]
kdf_all = [
"hkdf",
"pbkdf2",
"sp800_108",
"sshkdf",
"tlskdf",
"simplekdf",
]
log = [
"dep:log",
"dep:simplelog",
"ossl/log",
]
minimal = [
"sqlitedb",
"aes",
"ecc_min",
"hash_all",
"rsa",
]
mldsa = [
"hash",
"ossl/ossl350",
]
mlkem = ["ossl/ossl350"]
no_sha1 = []
nssdb = [
"dep:rusqlite",
"aes",
"hmac",
"pbkdf2",
]
ossl400 = ["ossl/ossl400"]
pbkdf2 = ["hmac"]
pqc = [
"mlkem",
"mldsa",
"slhdsa",
]
profiles = []
rsa = []
simplekdf = []
slhdsa = [
"hash",
"ossl/ossl350",
]
slow = []
sp800_108 = []
sqlitedb = [
"dep:rusqlite",
"aes",
"hkdf",
"pbkdf2",
]
sshkdf = []
standard = [
"sqlitedb",
"ecc_all",
"ffdh",
"hash_all",
"kdf_all",
"rsa",
]
tlskdf = []
vsprintf = ["dep:vsprintf"]
[lib]
name = "kryoptic_lib"
path = "src/lib.rs"
test = true
[dependencies.asn1]
version = "0.24"
[dependencies.bimap]
version = "0.6.3"
[dependencies.bitflags]
version = "2.4.1"
[dependencies.constant_time_eq]
version = "0.4.2"
[dependencies.data-encoding]
version = "2.4.0"
[dependencies.hex]
version = "0.4.3"
[dependencies.itertools]
version = "0.14.0"
[dependencies.libc]
version = "0.2.151"
[dependencies.log]
version = "0.4.27"
features = ["std"]
optional = true
default-features = false
[dependencies.num-bigint]
version = "0.4.4"
[dependencies.num-integer]
version = "0.1.45"
[dependencies.num-traits]
version = "0.2.17"
[dependencies.ossl]
version = "1.5.1"
default-features = false
[dependencies.rusqlite]
version = "0.38.0"
optional = true
[dependencies.serde]
version = "1.0.180"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.104"
[dependencies.serial_test]
version = "3.1.1"
[dependencies.simplelog]
version = "0.12.2"
optional = true
default-features = false
[dependencies.toml]
version = "1.0.2"
features = [
"display",
"parse",
"serde",
]
default-features = false
[dependencies.uuid]
version = "1.4.1"
features = [
"v4",
"v8",
]
[dependencies.vsprintf]
version = "2.0.0"
optional = true
[build-dependencies.bindgen]
version = "0.72"