pulith-verify 0.1.0

Content verification primitives for downloaded artifacts
Documentation

pulith-verify

Streaming content verification primitives.

Role

pulith-verify verifies bytes. It should stay verification-only.

It does not own:

  • fetch orchestration
  • trust-policy decisions
  • resource semantics

Main APIs

  • VerifiedReader
  • Hasher
  • DigestHasher
  • Sha256Hasher (feature)
  • Blake3Hasher (feature)

Basic Usage

use pulith_verify::{Sha256Hasher, VerifiedReader};
use std::io::Read;

let data = std::io::Cursor::new(b"hello".to_vec());
let mut reader = VerifiedReader::new(data, Sha256Hasher::new());
let mut out = Vec::new();
reader.read_to_end(&mut out)?;
# Ok::<(), std::io::Error>(())

How To Use It

Use this crate to stream data through a verifier while another crate decides:

  • where bytes come from
  • whether a failure is retriable
  • what trust policy to enforce

See docs/design/verify.md.