[package]
name = "enprot"
version = "0.5.21"
authors = ["Ribose Inc. <open.source@ribose.com>"]
license = "BSD-2-Clause"
description = "Engyon Protected Text (EPT) — confidentiality processor and capability ledger"
repository = "https://github.com/engyon/enprot"
homepage = "https://github.com/engyon/enprot"
documentation = "https://docs.rs/enprot"
readme = "README.md"
categories = ["command-line-utilities", "cryptography"]
keywords = ["encryption", "engyon", "ept", "botan", "blockchain"]
edition = "2024"
rust-version = "1.88"
autotests = false
[workspace]
members = [".", "enprot-ffi"]
default-members = [".", "enprot-ffi"]
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = ["cli"]
cli = ["dep:clap", "dep:clap_complete"]
sigstore = []
vendored-rnp = ["rnp-rs/vendored"]
wasm = []
[lib]
crate-type = ["rlib"]
[[bin]]
name = "enprot"
path = "src/main.rs"
required-features = ["cli"]
[[test]]
name = "integration"
path = "tests/tests.rs"
[[test]]
name = "rsd-conformance"
path = "tests/rsd-conformance/conformance.rs"
[dependencies]
hex = "0.4"
rpassword = "7"
clap = { version = "4.5", features = ["derive", "wrap_help"], optional = true }
clap_complete = { version = "4", optional = true }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
phf = { version = "0.14", features = ["macros"] }
thiserror = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "1.1"
url = "2"
regex = "1"
aes-gcm-siv = "0.11"
zeroize = { version = "1", features = ["alloc"] }
flate2 = "1"
rnp-rs = "0.1.10"
[target.'cfg(not(windows))'.dependencies]
botan = { version = "0.11", features = ["botan3", "pkg-config"] }
[target.'cfg(windows)'.dependencies]
botan = { version = "0.11", default-features = false, features = ["botan3", "static"] }
[dev-dependencies]
tempfile = "3"
assert_cmd = "2"
predicates = "3"
cpu-time = "1.0"
proptest = "1"
serde_json = "1"
criterion = { version = "0.8", features = ["html_reports"] }
clap_mangen = "0.3"
[[bench]]
name = "crypto"
harness = false
[[bench]]
name = "merkle"
harness = false
[[bench]]
name = "parser"
harness = false
[[bench]]
name = "comparison"
harness = false
[[test]]
name = "proptest_roundtrip"
path = "tests/proptest_roundtrip.rs"
[[test]]
name = "proptest_invariants"
path = "tests/proptest_invariants.rs"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
panic = "abort"
debug = "line-tables-only"
[profile.release.package."*"]
debug = "line-tables-only"
[package.metadata.deb]
maintainer = "Engyon <open.source@ribose.com>"
copyright = "2018-2026 Ribose Inc."
license-file = ["LICENSE", "0"]
depends = "libbotan-3-3, librnp0"
section = "utils"
priority = "optional"
extended-description = """\
Engyon Protected Text (EPT) — confidentiality and provenance for text.
Enprot embeds classification levels, content-addressed storage, and
signed chain anchors inside any text-based file without breaking the
host language's syntax."""
assets = [
["target/release/enprot", "usr/bin/", "755"],
["target/release/enprot.1", "usr/share/man/man1/", "644"],
["target/release/completions/enprot.bash", "usr/share/bash-completion/completions/enprot", "644"],
["target/release/completions/_enprot", "usr/share/zsh/vendor-completions/", "644"],
["target/release/completions/enprot.fish", "usr/share/fish/vendor_completions.d/", "644"],
]
[package.metadata.generate-rpm]
summary = "Engyon Protected Text — confidentiality and provenance for text"
license = "BSD-2-Clause"
vendor = "Ribose Inc."
url = "https://github.com/engyon/enprot"
assets = [
{ source = "target/release/enprot", dest = "/usr/bin/enprot", mode = "755" },
{ source = "target/release/enprot.1", dest = "/usr/share/man/man1/enprot.1", mode = "644" },
{ source = "target/release/completions/enprot.bash", dest = "/usr/share/bash-completion/completions/enprot", mode = "644" },
{ source = "target/release/completions/_enprot", dest = "/usr/share/zsh/site-functions/_enprot", mode = "644" },
{ source = "target/release/completions/enprot.fish", dest = "/usr/share/fish/vendor_completions.d/enprot.fish", mode = "644" },
]
[package.metadata.generate-rpm.requires]
botan = "*"
librnp = "*"