[package]
edition = "2021"
name = "tasign"
version = "0.2.0"
authors = ["yubo <yubo1@kylinos.cn>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "TA ELF signing utilities with CMS/PKCS#7 support"
readme = false
license = "Apache-2.0"
repository = "https://gitee.com/openkylin/tasign"
[features]
alloc = []
backend-mbedtls = [
"alloc",
"dep:mbedtls",
"dep:mbedtls-platform-support-smx",
"dep:mbedtls-sys-auto",
"mbedtls/std",
"mbedtls-platform-support-smx/std",
"mbedtls-sys-auto/std",
"dep:pem",
"dep:pkcs8",
"dep:sec1",
"dep:num-bigint",
]
backend-rustcrypto = [
"alloc",
"dep:digest",
"dep:hmac",
"dep:pbkdf2",
"dep:sm3",
"dep:sha2",
"dep:sm2",
"dep:elliptic-curve",
"dep:signature",
"dep:rand_core_0_10",
"dep:x509-cert",
"dep:der",
"dep:spki",
"dep:rsa",
"dep:p256",
"dep:ecdsa",
]
bjca = ["std"]
default = [
"std",
"backend-rustcrypto",
]
interop-bytes = ["backend-rustcrypto"]
kernel-verify = [
"dep:goblin",
"alloc",
"backend-rustcrypto",
]
p384 = []
pkix-internal-tests = []
serde = []
std = [
"rasn/std",
"thiserror/std",
"base64/std",
"dep:goblin",
"goblin/std",
"dep:object",
"dep:chrono",
"dep:x509-parser",
"dep:tempfile",
"dep:pem",
"dep:num-bigint",
"alloc",
"dep:pkcs8",
"dep:sec1",
"dep:der",
"der/std",
"sm2/pkcs8",
"dep:rand_core",
"rand_core/getrandom",
"dep:rand_chacha",
"dep:cipher",
"dep:cbc",
"dep:sm4",
"der/std",
"spki/std",
"x509-cert/std",
"log/std",
"dep:env_logger",
]
[lib]
name = "tasign"
path = "src/lib.rs"
[[bin]]
name = "tasign-tool"
path = "src/main.rs"
required-features = ["std"]
[[test]]
name = "cms_ecdsa_openssl_verify"
path = "tests/cms_ecdsa_openssl_verify.rs"
[[test]]
name = "cms_roundtrip"
path = "tests/cms_roundtrip.rs"
[[test]]
name = "cms_rsa_openssl_verify"
path = "tests/cms_rsa_openssl_verify.rs"
[[test]]
name = "e2e_elf"
path = "tests/e2e_elf.rs"
[[test]]
name = "e2e_real_elf"
path = "tests/e2e_real_elf.rs"
[[test]]
name = "key_parse_api"
path = "tests/key_parse_api.rs"
[[test]]
name = "mbedtls_chain_roundtrip"
path = "tests/mbedtls_chain_roundtrip.rs"
[[test]]
name = "mbedtls_pk_roundtrip"
path = "tests/mbedtls_pk_roundtrip.rs"
[[test]]
name = "mbedtls_x509_chain"
path = "tests/mbedtls_x509_chain.rs"
[[test]]
name = "object_plain_roundtrip"
path = "tests/object_plain_roundtrip.rs"
[[test]]
name = "rustcrypto_sm2_sign"
path = "tests/rustcrypto_sm2_sign.rs"
[[test]]
name = "script_elf_sign_verify_demos"
path = "tests/script_elf_sign_verify_demos.rs"
[[test]]
name = "tasign_chain_order"
path = "tests/tasign_chain_order.rs"
[[test]]
name = "tasign_mbedtls_api_coverage"
path = "tests/tasign_mbedtls_api_coverage.rs"
[[test]]
name = "verify_limits"
path = "tests/verify_limits.rs"
[dependencies.base64]
version = "0.22"
features = ["alloc"]
default-features = false
[dependencies.cbc]
version = "0.2"
optional = true
default-features = false
[dependencies.chrono]
version = "0.4"
optional = true
[dependencies.cipher]
version = "0.5"
optional = true
default-features = false
[dependencies.der]
version = "0.8"
features = [
"alloc",
"derive",
"flagset",
"oid",
]
optional = true
default-features = false
[dependencies.digest]
version = "0.11.3"
optional = true
default-features = false
[dependencies.ecdsa]
version = "=0.17.0-rc.20"
features = [
"digest",
"hazmat",
"der",
"algorithm",
]
optional = true
default-features = false
[dependencies.elliptic-curve]
version = "=0.14.0-rc.35"
features = [
"sec1",
"pkcs8",
]
optional = true
default-features = false
[dependencies.env_logger]
version = "0.11"
optional = true
[dependencies.goblin]
version = "0.9"
features = [
"alloc",
"elf32",
"elf64",
"endian_fd",
]
optional = true
default-features = false
[dependencies.hmac]
version = "0.13"
optional = true
default-features = false
[dependencies.log]
version = "0.4"
default-features = false
[dependencies.mbedtls]
version = "0.13"
features = [
"std",
"x509",
]
optional = true
default-features = false
package = "mbedtls-smx"
[dependencies.mbedtls-platform-support-smx]
version = "0.1"
optional = true
default-features = false
package = "mbedtls-platform-support-smx"
[dependencies.mbedtls-sys-auto]
version = "2.28"
optional = true
default-features = false
package = "mbedtls-sys-auto-smx"
[dependencies.num-bigint]
version = "0.4"
optional = true
[dependencies.object]
version = "0.36"
features = [
"read",
"write",
"std",
"elf",
]
optional = true
default-features = false
[dependencies.p256]
version = "=0.14.0-rc.12"
features = [
"ecdsa",
"pkcs8",
]
optional = true
default-features = false
[dependencies.pbkdf2]
version = "0.13"
optional = true
default-features = false
[dependencies.pem]
version = "3"
optional = true
[dependencies.pkcs8]
version = "0.11"
features = [
"alloc",
"pkcs5",
"encryption",
]
optional = true
default-features = false
[dependencies.rand_chacha]
version = "0.3"
optional = true
default-features = false
[dependencies.rand_core]
version = "0.6"
optional = true
default-features = false
[dependencies.rand_core_0_10]
version = "0.10"
optional = true
default-features = false
package = "rand_core"
[dependencies.rasn]
version = "0.28"
features = [
"bytes",
"f32",
"f64",
]
default-features = false
[dependencies.rasn-cms]
version = "0.28"
default-features = false
[dependencies.rasn-pkix]
version = "0.28"
default-features = false
[dependencies.rsa]
version = "0.10.0-rc.18"
features = [
"sha2",
"hazmat",
"encoding",
]
optional = true
default-features = false
[dependencies.sec1]
version = "0.8"
features = [
"alloc",
"der",
]
optional = true
default-features = false
[dependencies.sha2]
version = "0.11.0"
features = ["oid"]
optional = true
default-features = false
[dependencies.signature]
version = "3.0.0"
optional = true
default-features = false
[dependencies.sm2]
version = "=0.14.0-rc.12"
features = [
"dsa",
"alloc",
"der",
"pkcs8",
]
optional = true
default-features = false
[dependencies.sm3]
version = "0.5.0"
optional = true
default-features = false
[dependencies.sm4]
version = "0.6"
optional = true
default-features = false
[dependencies.spki]
version = "0.8"
features = ["alloc"]
optional = true
default-features = false
[dependencies.tempfile]
version = "3"
optional = true
[dependencies.thiserror]
version = "2"
default-features = false
[dependencies.x509-cert]
version = "0.3.0-rc.4"
features = ["pem"]
optional = true
default-features = false
[dependencies.x509-parser]
version = "0.16"
optional = true
[dev-dependencies.hex]
version = "0.4"
features = ["alloc"]
default-features = false
[dev-dependencies.object]
version = "0.36"
features = [
"read",
"write",
"std",
"elf",
]
default-features = false
[build-dependencies.bindgen]
version = "0.72"