Skip to main content

ic_auth/
lib.rs

1//! Pure application-token encoding and optional signature/token/session machinery.
2//!
3//! Hashing untrusted material does not authenticate it. Applications must not
4//! admit tokens by hashing them or checking just one signature. Application
5//! authentication admits a token through the optional session engine, then checks
6//! the caller-bound session for each operation with current protected host inputs.
7//! Admission uses one explicit host transaction for verification and replay
8//! consumption. Standalone token verification remains a lower-level proof
9//! primitive; it does not establish a session or authorize application resources.
10
11pub mod admission_budget;
12pub mod canonical;
13pub mod certificate_issuance;
14pub mod chain_key_batch;
15mod limits;
16pub mod portable;
17
18#[cfg(any(
19    feature = "portable-signature-verification",
20    feature = "token-verification"
21))]
22pub mod portable_credential;
23pub mod session_request;
24pub mod token_preparation;
25
26#[cfg(feature = "portable-signature-verification")]
27pub mod portable_signature;
28
29#[cfg(feature = "chain-key-verification")]
30pub mod chain_key_signature;
31
32#[cfg(feature = "canister-signature-preparation")]
33pub mod signature_store;
34
35#[cfg(feature = "canister-signature-verification")]
36pub mod canister_signature;
37
38#[cfg(feature = "token-verification")]
39pub mod token;
40
41#[cfg(feature = "token-verification")]
42pub mod portable_certified;
43
44#[cfg(feature = "sessions")]
45pub mod session;
46
47#[cfg(feature = "sessions")]
48mod storage_codec;