# 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"
rust-version = "1.87"
name = "krabitls"
version = "0.2.0"
authors = ["kaidokert <kaidokert@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
A TLS13 client lib for microcontrollers.
"""
homepage = "https://github.com/kaidokert/krabitls-rs"
readme = "README.md"
keywords = [
    "embedded",
    "no-std",
    "no-heap",
    "tls",
]
categories = [
    "cryptography",
    "no-std",
    "no-std::no-alloc",
]
license = "Apache-2.0"
repository = "https://github.com/kaidokert/krabitls-rs"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
cert-der = ["dep:der"]
chacha20 = ["dep:chacha20poly1305"]
cipher-aes = ["dep:aes-gcm"]
default = [
    "cert-der",
    "cipher-aes",
]
dev-utils = []
ip-host = []
jedisct = ["dep:hmac-sha256"]
mldsa = ["dep:krabipqc"]
mlkem = ["dep:krabipqc"]
rsa = [
    "dep:rsa_heapless",
    "dep:sha2_v11",
]
rsa_2048_only = ["rsa"]
rsa_pss_only = ["rsa"]

[lib]
name = "krabitls"
path = "src/lib.rs"

[[test]]
name = "canned_handshake"
path = "tests/canned_handshake.rs"

[[test]]
name = "canned_handshake_chacha"
path = "tests/canned_handshake_chacha.rs"

[[test]]
name = "canned_handshake_mlkem"
path = "tests/canned_handshake_mlkem.rs"

[[test]]
name = "canned_handshake_mtls"
path = "tests/canned_handshake_mtls.rs"

[[test]]
name = "gen_chacha_fixtures"
path = "tests/gen_chacha_fixtures.rs"

[[test]]
name = "gen_chacha_mlkem_mldsa_fixtures"
path = "tests/gen_chacha_mlkem_mldsa_fixtures.rs"

[[test]]
name = "gen_mldsa_fixtures"
path = "tests/gen_mldsa_fixtures.rs"

[[test]]
name = "gen_mlkem_fixtures"
path = "tests/gen_mlkem_fixtures.rs"

[[test]]
name = "gen_mlkem_mldsa_fixtures"
path = "tests/gen_mlkem_mldsa_fixtures.rs"

[[test]]
name = "gen_rsa_fixtures"
path = "tests/gen_rsa_fixtures.rs"

[[test]]
name = "strategy_coverage"
path = "tests/strategy_coverage.rs"

[dependencies.aead]
version = "0.5"
default-features = false

[dependencies.aes-gcm]
version = "0.10"
features = [
    "aes",
    "zeroize",
]
optional = true
default-features = false

[dependencies.chacha20poly1305]
version = "0.10"
optional = true
default-features = false

[dependencies.der]
version = "0.8.0"
features = ["oid"]
optional = true
default-features = false

[dependencies.digest]
version = "0.10"
default-features = false

[dependencies.ed25519_heapless]
version = "0.2.1"
features = [
    "fixed-bigint",
    "sha512-sha2",
]
default-features = false

[dependencies.embedded-io]
version = "0.7.1"
default-features = false

[dependencies.fixed-bigint]
version = "0.3"
features = [
    "use-unsafe",
    "zeroize",
]
default-features = false

[dependencies.heapless]
version = "0.9"
default-features = false

[dependencies.hkdf]
version = "0.12"
default-features = false

[dependencies.hmac]
version = "0.12"
default-features = false

[dependencies.hmac-sha256]
version = "1"
features = ["traits010"]
optional = true
default-features = false

[dependencies.krabipqc]
version = "0.1.1"
optional = true
default-features = false

[dependencies.rand_core]
version = "0.10"
default-features = false

[dependencies.rsa_heapless]
version = "0.2.1"
features = ["modmath"]
optional = true
default-features = false

[dependencies.sha2]
version = "0.10"
features = ["force-soft-compact"]
default-features = false

[dependencies.sha2_v11]
version = "0.11"
features = ["oid"]
optional = true
default-features = false
package = "sha2"

[dependencies.signature]
version = "3"
default-features = false

[dependencies.subtle]
version = "2.6"
default-features = false

[dependencies.thiserror]
version = "2"
default-features = false

[dependencies.zeroize]
version = "1.8"
features = ["derive"]
default-features = false

[dev-dependencies]
