hull package verify
Verify a .hull.tgz archive’s .prov signature against a public key or
keyring.
When to use it
- Before installing an archive you received out of band, to confirm it was signed by a key you trust and has not been altered.
- As a gate in CI: verify, then install only if the signature checks out.
What happens
- hull reads
<archive.hull.tgz>and its sibling<archive.hull.tgz>.provprovenance file. - It computes the archive’s digest and checks it against the digest recorded in the signed provenance.
- It validates the PGP signature using the key material in
--keyring(required) — either a single public-key file or a keyring. - On success the command exits 0 and prints nothing. On any mismatch —
missing
.prov, altered archive, or untrusted signer — it exits non-zero with a precise reason.
Usage
hull package verify <archive.hull.tgz> [flags]
Flags
| Flag | Type | Default | Description |
|---|---|---|---|
--keyring |
string | — | public-key file or PGP keyring to verify against (required) |
Worked example
Verify a downloaded archive against the signer’s public key:
hull package verify ./my-app-1.0.0.hull.tgz --keyring ./cosign.pub
No output and exit status 0 mean the signature is valid. Chain it as an install gate — the install runs only if verification passes:
hull package verify ./my-app-1.0.0.hull.tgz --keyring ./cosign.pub && \
hull install my-app ./my-app-1.0.0.hull.tgz -n staging
If the archive was tampered with, verify fails and the install never runs:
Error: signature verification failed
See also
package sign— produce the signaturepackagekeyring— manage trusted public keyspull·install— verify inline with--verify