[package]
edition = "2024"
rust-version = "1.88.0"
name = "ic-auth"
version = "0.1.14"
build = false
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Application authentication encoding and optional IC signature, token and local session machinery"
readme = "README.md"
license = "MIT"
repository = "https://github.com/dragginzgame/ic-auth"
[features]
canister-signature-preparation = [
"dep:ic-canister-sig-creation",
"dep:ic-certification",
"dep:serde",
"dep:serde_bytes",
"dep:serde_cbor",
]
canister-signature-verification = [
"dep:ic-canister-sig-creation",
"dep:ic-certification",
"dep:ic-signature-verification",
"dep:leb128",
"dep:serde",
"dep:serde_bytes",
"dep:serde_cbor",
]
default = []
sessions = ["token-verification"]
token-verification = [
"canister-signature-verification",
"dep:k256",
]
[lib]
name = "ic_auth"
path = "src/lib.rs"
[[test]]
name = "canister_signature"
path = "tests/canister_signature.rs"
[[test]]
name = "canonical"
path = "tests/canonical.rs"
[[test]]
name = "signature_store"
path = "tests/signature_store.rs"
[[test]]
name = "token"
path = "tests/token.rs"
[dependencies.ic-auth-protocol-types]
version = "0.1.14"
[dependencies.ic-canister-sig-creation]
version = "1.3.1"
optional = true
[dependencies.ic-certification]
version = "3.2"
optional = true
[dependencies.ic-signature-verification]
version = "0.3"
optional = true
[dependencies.k256]
version = "0.13.4"
features = ["ecdsa"]
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-verify-bls-signature]
version = "0.6"
features = ["alloc"]
default-features = false
[lints.rust]
unsafe_code = "forbid"