[package] name = "parsec-service" version = "1.4.1" authors = ["Parsec Project Contributors"] description = "A language-agnostic API to secure services in a platform-agnostic way" license = "Apache-2.0" repository = "https://github.com/parallaxsecond/parsec" readme = "README.md" keywords = ["security", "service"] categories = ["cryptography", "hardware-support"] edition = "2018" rust-version = "1.66.0" [[bin]] name = "parsec" path = "src/bin/main.rs" [dependencies] parsec-interface = "0.29.1" rand = { version = "0.8.3", features = ["small_rng"], optional = true } base64 = "0.21.0" threadpool = "1.8.1" signal-hook = "0.3.4" sd-notify = "0.4.1" toml = "0.8.0" serde = { version = "1.0.123", features = ["derive"] } env_logger = "0.10.0" log = { version = "0.4.14", features = ["serde"] } cryptoki = { version = "0.6.0", optional = true, default-features = false } picky-asn1-der = { version = "0.4.0", optional = true } picky-asn1 = { version = "0.8.0", optional = true } tss-esapi = { version = "7.5.0", optional = true } bincode = "1.3.1" # TODO: Fixed until the MSRV is bumped! clap = { version = "=4.3.24", features = ["derive", "std"] } derivative = "2.2.0" hex = { version = "0.4.2", optional = true } psa-crypto = { version = "0.12.0", default-features = false, features = ["operations","std"], optional = true } zeroize = { version = "1.2.0", features = ["zeroize_derive"] } picky-asn1-x509 = { version = "0.12.0", optional = true } libc = "0.2.86" anyhow = "1.0.38" rust-cryptoauthlib = { version = "0.4.5", optional = true } spiffe = { version = "0.2.1", optional = true } prost = { version = "0.9.0", optional = true } rusqlite = { version = "0.29.0", features = ["bundled"] } num-traits = "0.2.14" [dev-dependencies] rand = { version = "0.8.3", features = ["small_rng"] } rust-cryptoauthlib = { version = "0.4.4", features=["software-backend"]} [build-dependencies] bindgen = { version = "0.66.1", optional = true } prost-build = { version = "0.9.0", optional = true } [package.metadata.docs.rs] features = ["pkcs11-provider", "tpm-provider", "mbed-crypto-provider", "cryptoauthlib-provider", "direct-authenticator"] # The features should not be modified in a breaking way. # See https://github.com/parallaxsecond/parsec/issues/408 for details. [features] default = ["unix-peer-credentials-authenticator"] # Providers mbed-crypto-provider = ["psa-crypto"] pkcs11-provider = ["cryptoki", "picky-asn1-der", "picky-asn1", "picky-asn1-x509", "psa-crypto", "rand", "hex"] tpm-provider = ["tss-esapi", "picky-asn1-der", "picky-asn1", "picky-asn1-x509", "hex"] cryptoauthlib-provider = ["rust-cryptoauthlib"] trusted-service-provider = ["psa-crypto", "bindgen", "prost-build", "prost"] all-providers = ["tpm-provider", "pkcs11-provider", "mbed-crypto-provider", "trusted-service-provider"] # Authenticators direct-authenticator = [] unix-peer-credentials-authenticator = [] jwt-svid-authenticator = ["spiffe"] all-authenticators = ["direct-authenticator", "unix-peer-credentials-authenticator", "jwt-svid-authenticator"]