[package]
edition = "2024"
rust-version = "1.91.0"
name = "ic-auth"
version = "0.14.1"
build = false
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Portable authentication, delegation proof verification and local session machinery"
readme = "README.md"
license = "MIT"
repository = "https://github.com/dragginzgame/ic-auth"
[features]
canister-signature-preparation = [
"dep:ic-platform",
"ic-platform/canister-sig-creation",
"ic-platform/certification",
"dep:serde",
"dep:serde_bytes",
"dep:serde_cbor",
]
canister-signature-verification = [
"dep:ic-platform",
"ic-platform/canister-sig-creation",
"ic-platform/certification",
"ic-platform/signature-verification",
"dep:leb128",
"dep:serde",
"dep:serde_bytes",
"dep:serde_cbor",
]
certified-proof-verification = [
"canister-signature-verification",
"chain-key-verification",
]
chain-key-verification = [
"dep:ic-platform",
"ic-platform/ecdsa",
]
default = []
portable-signature-verification = [
"dep:ic-platform",
"ic-platform/ed25519",
]
session-restore = ["sessions"]
sessions = [
"dep:serde",
"dep:serde_cbor",
]
[lib]
name = "ic_auth"
path = "src/lib.rs"
[[test]]
name = "admission_refusals"
path = "tests/admission_refusals.rs"
[[test]]
name = "canister_signature"
path = "tests/canister_signature.rs"
[[test]]
name = "canonical"
path = "tests/canonical.rs"
[[test]]
name = "certificate_issuance"
path = "tests/certificate_issuance.rs"
[[test]]
name = "certified"
path = "tests/certified.rs"
[[test]]
name = "chain_key_batch"
path = "tests/chain_key_batch.rs"
[[test]]
name = "chain_key_signature"
path = "tests/chain_key_signature.rs"
[[test]]
name = "portable"
path = "tests/portable.rs"
[[test]]
name = "portable_revocation"
path = "tests/portable_revocation.rs"
[[test]]
name = "portable_rules"
path = "tests/portable_rules.rs"
[[test]]
name = "portable_signature"
path = "tests/portable_signature.rs"
[[test]]
name = "session_request"
path = "tests/session_request.rs"
[[test]]
name = "sessions"
path = "tests/sessions.rs"
[[test]]
name = "shape_validation"
path = "tests/shape_validation.rs"
[[test]]
name = "signature_store"
path = "tests/signature_store.rs"
[dependencies.ic-auth-protocol-types]
version = "0.14.1"
[dependencies.ic-platform]
version = "0.6"
optional = true
default-features = false
[dependencies.leb128]
version = "0.2"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_bytes]
version = "0.11"
optional = true
[dependencies.serde_cbor]
version = "0.11"
optional = true
[dependencies.sha2]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dev-dependencies.ic-platform]
version = "0.6"
features = [
"bls",
"ecdsa",
"ed25519",
]
default-features = false
[lints.rust]
unsafe_code = "forbid"