# 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 = "2021"
name = "cosmian_crypto_core"
version = "9.6.1"
authors = [
    "Bruno GRIEDER <bruno.grieder@cosmian.com>",
    "Théophile BRÉZOT <theophile.brezot@cosmian.com>",
    "Emmanuel COSTE <emmanuel.coste@cosmian.com>",
]
build = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cosmian base cryptographic library"
readme = "README.md"
keywords = [
    "cosmian",
    "crypto",
]
categories = ["cryptography"]
license-file = "LICENSE.md"
repository = "https://github.com/Cosmian/crypto_core/"

[package.metadata.cargo-machete]
ignored = ["getrandom"]

[profile.bench]
debug = 2

[lib]
name = "cosmian_crypto_core"
crate-type = [
    "lib",
    "staticlib",
]
path = "src/lib.rs"

[[example]]
name = "main"
path = "examples/main.rs"

[[bench]]
name = "benches"
path = "benches/benches.rs"
harness = false
required-features = ["default"]

[[bench]]
name = "dem"
path = "benches/dem.rs"

[[bench]]
name = "ecies"
path = "benches/ecies.rs"

[[bench]]
name = "signature"
path = "benches/signature.rs"

[dependencies.aead]
version = "0.5"
features = ["stream"]
optional = true

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

[dependencies.blake2]
version = "0.10"
optional = true

[dependencies.chacha20]
version = "0.9"
optional = true

[dependencies.chacha20poly1305]
version = "0.10"
optional = true

[dependencies.crypto_box]
version = "0.9.1"
features = ["seal"]
optional = true

[dependencies.curve25519-dalek]
version = "4.1.3"
optional = true

[dependencies.digest]
version = "0.10"
optional = true

[dependencies.ed25519-dalek]
version = "2.1.1"
features = [
    "default",
    "hazmat",
]
optional = true

[dependencies.elliptic-curve]
version = "0.13.8"
features = [
    "hazmat",
    "sec1",
    "pkcs8",
    "ecdh",
]
optional = true
default-features = false

[dependencies.getrandom]
version = "0.2"
features = ["js"]

[dependencies.leb128]
version = "0.2"
optional = true

[dependencies.p192]
version = "0.13"
optional = true

[dependencies.p224]
version = "0.13"
optional = true

[dependencies.p256]
version = "0.13"
optional = true

[dependencies.p384]
version = "0.13"
optional = true

[dependencies.pkcs8]
version = "0.10"
features = [
    "encryption",
    "std",
    "alloc",
    "pem",
]
optional = true

[dependencies.rand_chacha]
version = "0.3"

[dependencies.rand_core]
version = "0.6.4"
features = ["getrandom"]

[dependencies.rsa]
version = "0.9"
optional = true

[dependencies.sha1]
version = "0.10"
optional = true

[dependencies.sha2]
version = "0.10"
optional = true

[dependencies.sha3]
version = "0.10"
optional = true

[dependencies.signature]
version = "2.2"
optional = true

[dependencies.tiny-keccak]
version = "2.0.2"
features = ["shake"]
optional = true

[dependencies.uuid]
version = "1.11"
features = ["v4"]
optional = true

[dependencies.x509-cert]
version = "0.2.5"
features = [
    "pem",
    "std",
    "builder",
    "arbitrary",
    "hazmat",
]
optional = true

[dependencies.zeroize]
version = "1.8"
features = ["zeroize_derive"]

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.libc]
version = "0.2"

[dev-dependencies.libsodium-sys-stable]
version = "1.22.1"

[dev-dependencies.openssl]
version = "0.10"
features = ["vendored"]

[dev-dependencies.tempfile]
version = "3.13"

[features]
aes = [
    "aead",
    "aes-gcm",
]
blake = ["blake2"]
certificate = [
    "curve25519",
    "x509-cert",
    "uuid",
    "pkcs8",
]
chacha = [
    "aead",
    "chacha20poly1305",
    "chacha20",
]
curve25519 = [
    "curve25519-dalek",
    "ed25519-dalek",
    "signature",
    "sha2",
]
default = [
    "aes",
    "chacha",
    "certificate",
    "ecies",
    "curve25519",
    "certificate",
    "nist_curves",
    "rsa",
    "ser",
    "blake",
    "sha3",
    "rfc5649",
]
ecies = [
    "aead",
    "crypto_box",
]
nist_curves = [
    "p384",
    "p256",
    "p224",
    "p192",
    "elliptic-curve",
    "pkcs8",
]
rfc5649 = [
    "aes",
    "chacha",
]
rsa = [
    "digest",
    "dep:rsa",
    "sha1",
    "sha2",
    "dep:sha3",
    "pkcs8",
    "rfc5649",
]
ser = ["leb128"]
sha3 = ["tiny-keccak"]
