hashicorp/packer · error
envelope has no signatures
Error message
envelope has no signatures
What it means
Verification error from VerifyEnvelope: the DSSE envelope being checked contains zero signatures, so there is nothing to verify. Usually means the envelope was constructed without signing or was truncated/corrupted.
Source
Thrown at internal/attestation/signer.go:74
factory, ok := signerFactories[cfg.Mode]
if !ok {
return nil, fmt.Errorf("signing_mode %q is not implemented", cfg.Mode)
}
return factory(ctx, cfg)
}
func NewVerifier(ctx context.Context, cfg BackendConfig, signer Signer) (Verifier, error) {
if cfg.VerifierRef != "" {
return LoadPEMVerifier(cfg.VerifierRef)
}
return signer.Verifier(ctx, cfg)
}
func VerifyEnvelope(ctx context.Context, envelope Envelope, verifier Verifier) error {
if len(envelope.Signatures) == 0 {
return fmt.Errorf("envelope has no signatures")
}
payload, err := DecodeEnvelopePayload(envelope)
if err != nil {
return err
}
for _, signature := range envelope.Signatures {
decodedSignature, decodeErr := DecodeEnvelopeSignature(signature)
if decodeErr != nil {
return decodeErr
}
if verifyErr := verifier.Verify(ctx, envelope.PayloadType, payload, decodedSignature); verifyErr == nil {
return nil
}
}
View on GitHub (pinned to eb36e3c3e4)
Solutions
- Regenerate the attestation with signing enabled so the envelope carries at least one signature
- Verify you are pointing at the complete, unmodified attestation file
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/attestation/signer.go:74 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hashicorp/packer@eb36e3c3e4 (2026-09-05).
Data as JSON: /api/errors/45b112763b2d35f1.
Report an issue: GitHub.