kryoptic-lib 1.5.1

A PKCS #11 software token written in Rust
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"