Skip to main content
Version: development

Signature Commands

Manage digital signatures for PVR state documents using JSON Web Signatures (JWS). Signatures protect the integrity of container configurations and firmware updates.


pvr sig add

Embed a JWS signature protecting JSON document elements of a selected part.

pvr sig add --part nginx
pvr sig add --part nginx --key ./private.pem
pvr sig add --parts="nginx,base-os" --include="**/*.json" --exclude="src.json"
pvr sig add --noconfig # exclude _config parts

Flags:

FlagEnvDescription
--part, -pSelect which part to sign
--raw, -rUse raw include/exclude (bypasses --noconfig)
--include, -iGlob patterns for files to include. Default: **
--exclude, -eGlob patterns for files to exclude. Default: src.json
--noconfig, -nExclude _config parts from signature

Parent flags (shared by all pvr sig subcommands):

FlagEnvDescription
--key, -kPVR_SIG_KEYPrivate key in PEM format
--x5c, -xPVR_X5C_PATHPath to cert chain for JWS x5c header. Use no to exclude
--pubkey, -pPVR_SIG_PUBKEYPublic key store for signature validation
--cacerts, -cPVR_SIG_CACERTSCA cert file/directory. Use __system__ for system store
--certs-urlPVS_CERTS_URLURL for downloading PVS certificates tarball
--with-payloadPVS_SIG_WITH_PAYLOADInclude full payload in JOSE serialization
--outputPVS_SIG_OUTPUTOutput file for signature. - prints to stdout

pvr sig update

Re-sign an existing pvs@2 signature using the encoded match rule.

pvr sig update --part nginx --key ./private.pem

Uses the same match rule from the original sig add. Useful after modifying the protected files.

Parent flags: same as pvr sig add


pvr sig ls

Verify and list signatures in the repository.

pvr sig ls # list all signatures
pvr sig ls nginx # list a specific signature
pvr sig ls --with-sigs # show full JWS in output
pvr sig ls --part nginx # filter by part

Flags:

FlagEnvDescription
--part, -pPVR_SIG_ADD_PARTFilter signatures by part
--with-sigs, -sPVR_SIG_LS_WITH_SIGSShow full JWS serializations

pvr sig download

Download PVS certificates (CA cert, signing key, x5c chain).

pvr sig download # default URL
pvr sig download --url https://example.com/certs.tar.gz

Used during CI/CD image builds to provision signing materials.

Flags:

FlagEnvDescription
--urlPVR_SIG_CERTS_URLURL to download certificates from