Skip to main content

Crate wsc

Crate wsc 

Source
Expand description

A proof of concept implementation of the WebAssembly module signature proposal.

Modules§

airgapped
Air-gapped verification for embedded devices
audit
Audit logging for security-sensitive operations
build_env
Build environment attestation for SLSA provenance
component
WASM Component Model section types (informational).
composition
Component composition and provenance tracking
container
Container image signing via cosign delegation
dsse
DSSE (Dead Simple Signing Envelope) implementation
format
Format-agnostic artifact signing and verification
http
HTTP client abstraction for sync/async support
intoto
in-toto Statement v1.0 implementation
keyless
metrics
Metrics collection for signing operations (Issue #3)
platform
Platform-specific hardware security integration
policy
Supply chain verification policy engine
pqc
Post-quantum cryptography support (SLH-DSA / FIPS 205)
provisioning
Certificate provisioning for IoT devices
reexports
sct
Signed Certificate Timestamp (SCT) monitoring (Phase 4.2)
secure_file
Secure file operations with restrictive permissions
slsa
SLSA v1.0 Provenance predicate
time
Time validation for offline-first verification
transcoding
Transcoding attestation protocol for WASM-to-native compilation
varint
Variable-length integer encoding (LEB128)

Structs§

CustomSection
A custom section.
KeyPair
A key pair.
Module
A WebAssembly module.
ModuleStreamReader
PublicKey
A public key.
PublicKeySet
A set of multiple public keys.
SecretKey
A secret key.
SectionsIterator
An iterator over the sections of a WebAssembly module.
SignatureData
SignatureForHashes
SignatureInfo
Information about signatures in a WebAssembly module.
SignedHashes
StandardSection
A standard section.

Enums§

Section
A WebAssembly module section.
SectionId
A section identifier.
WSError
The WasmSign2 error type.

Constants§

MAX_HASHES
MAX_SECTIONS
Maximum number of sections accepted by SectionsIterator before the parser aborts with WSError::TooManySections. 4096 is generous for any legitimate module (the wasm-tools spec recommends ~100 typical sections; the Component Model adds a handful more) while bounding worst-case work for adversarial inputs that declare millions of empty sections.
MAX_SIGNATURES
SIGNATURE_SECTION_DELIMITER_NAME
SIGNATURE_SECTION_HEADER_NAME

Traits§

SectionLike
Common functions for a module section.

Functions§

new_delimiter_section
signature_info_from_detached
Get signature information from a detached signature.
signature_info_from_file
Get signature information from a WebAssembly module file.
signature_info_from_reader
Get signature information from a reader in streaming fashion.

Type Aliases§

BoxedPredicate
A sized predicate, used to verify a predicate*public_key matrix.
Header