Skip to main content

Crate auths_verifier

Crate auths_verifier 

Source
Expand description

§auths-verifier

Attestation verification library for Auths.

This crate provides signature and chain verification without requiring access to private keys or platform keychains. It’s designed to be:

  • Lightweight — minimal dependencies
  • Cross-platform — works on any target including WASM
  • FFI-friendly — C-compatible interface available

§Quick Start

use auths_verifier::{verify_chain, VerificationStatus};

let report = verify_chain(&attestations)?;

match report.status {
    VerificationStatus::Valid => println!("Chain verified!"),
    VerificationStatus::Expired { at } => println!("Expired at {}", at),
    VerificationStatus::InvalidSignature { step } => {
        println!("Bad signature at step {}", step);
    }
    _ => println!("Verification failed"),
}

§With Capability Checking

use auths_verifier::{verify_with_capability, Capability};

// Verify device has sign-commit permission
let report = verify_with_capability(&chain, Capability::SignCommit)?;

§Feature Flags

  • wasm — Enable WASM bindings via wasm-bindgen

Re-exports§

pub use types::DeviceDID;
pub use types::IdentityDID;
pub use types::VerificationReport;
pub use types::VerificationStatus;
pub use core::Capability;
pub use core::CapabilityError;
pub use core::Ed25519KeyError;
pub use core::Ed25519PublicKey;
pub use core::Ed25519Signature;
pub use core::IdentityBundle;
pub use core::MAX_ATTESTATION_JSON_SIZE;
pub use core::MAX_JSON_BATCH_SIZE;
pub use core::ResourceId;
pub use core::Role;
pub use core::RoleParseError;
pub use core::SignatureLengthError;
pub use core::ThresholdPolicy;
pub use core::VerifiedAttestation;
pub use error::AttestationError;
pub use error::AuthsErrorInfo;
pub use verifier::Verifier;
pub use verify::verify_at_time;
pub use verify::verify_chain;
pub use verify::verify_chain_with_capability;
pub use verify::verify_chain_with_witnesses;
pub use verify::verify_device_authorization;
pub use verify::verify_with_capability;
pub use verify::verify_with_keys;
pub use verify::DeviceLinkVerification;
pub use verify::compute_attestation_seal_digest;
pub use verify::did_to_ed25519;
pub use verify::is_device_listed;
pub use witness::WitnessQuorum;
pub use witness::WitnessReceipt;
pub use witness::WitnessReceiptResult;
pub use witness::WitnessVerifyConfig;
pub use keri::IcpEvent as KeriIcpEvent;
pub use keri::IxnEvent as KeriIxnEvent;
pub use keri::KeriEvent;
pub use keri::KeriKeyState;
pub use keri::KeriTypeError;
pub use keri::KeriVerifyError;
pub use keri::Prefix;
pub use keri::RotEvent as KeriRotEvent;
pub use keri::Said;
pub use keri::Seal as KeriSeal;
pub use keri::compute_said;
pub use keri::find_seal_in_kel;
pub use keri::parse_kel_json;
pub use keri::verify_kel;
pub use clock::ClockProvider;
pub use clock::SystemClock;

Modules§

clock
Clock provider abstraction for injectable time.
core
Core attestation types and canonical serialization.
error
Error types for attestation and verification operations.
keri
Stateless KERI KEL verification.
types
Verification types: reports, statuses, and device DIDs.
verifier
Dependency-injected Verifier for attestation and chain verification.
verify
Free-function verification API wrapping crate::verifier::Verifier.
witness
Witness receipt verification for the auths-verifier crate.

Traits§

CryptoProvider
Abstraction for Ed25519 cryptographic operations across target architectures.