package v1
import "github.com/sigstore/protobuf-specs/gen/pb-go/bundle/v1"
Index ¶
- Variables
- type Bundle
- func (*Bundle) Descriptor() ([]byte, []int)
- func (x *Bundle) GetContent() isBundle_Content
- func (x *Bundle) GetDsseEnvelope() *dsse.Envelope
- func (x *Bundle) GetMediaType() string
- func (x *Bundle) GetMessageSignature() *v1.MessageSignature
- func (x *Bundle) GetVerificationMaterial() *VerificationMaterial
- func (*Bundle) ProtoMessage()
- func (x *Bundle) ProtoReflect() protoreflect.Message
- func (x *Bundle) Reset()
- func (x *Bundle) String() string
- type Bundle_DsseEnvelope
- type Bundle_MessageSignature
- type TimestampVerificationData
- func (*TimestampVerificationData) Descriptor() ([]byte, []int)
- func (x *TimestampVerificationData) GetRfc3161Timestamps() []*v1.RFC3161SignedTimestamp
- func (*TimestampVerificationData) ProtoMessage()
- func (x *TimestampVerificationData) ProtoReflect() protoreflect.Message
- func (x *TimestampVerificationData) Reset()
- func (x *TimestampVerificationData) String() string
- type VerificationMaterial
- func (*VerificationMaterial) Descriptor() ([]byte, []int)
- func (x *VerificationMaterial) GetCertificate() *v1.X509Certificate
- func (x *VerificationMaterial) GetContent() isVerificationMaterial_Content
- func (x *VerificationMaterial) GetPublicKey() *v1.PublicKeyIdentifier
- func (x *VerificationMaterial) GetTimestampVerificationData() *TimestampVerificationData
- func (x *VerificationMaterial) GetTlogEntries() []*v11.TransparencyLogEntry
- func (x *VerificationMaterial) GetX509CertificateChain() *v1.X509CertificateChain
- func (*VerificationMaterial) ProtoMessage()
- func (x *VerificationMaterial) ProtoReflect() protoreflect.Message
- func (x *VerificationMaterial) Reset()
- func (x *VerificationMaterial) String() string
- type VerificationMaterial_Certificate
- type VerificationMaterial_PublicKey
- type VerificationMaterial_X509CertificateChain
Variables ¶
var File_sigstore_bundle_proto protoreflect.FileDescriptor
Types ¶
type Bundle ¶
type Bundle struct {
// MUST be application/vnd.dev.sigstore.bundle.v0.3+json when
// when encoded as JSON.
// Clients must to be able to accept media type using the previously
// defined formats:
// * application/vnd.dev.sigstore.bundle+json;version=0.1
// * application/vnd.dev.sigstore.bundle+json;version=0.2
// * application/vnd.dev.sigstore.bundle+json;version=0.3
MediaType string `protobuf:"bytes,1,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"`
// When a signer is identified by a X.509 certificate, a verifier MUST
// verify that the signature was computed at the time the certificate
// was valid as described in the Sigstore client spec: "Verification
// using a Bundle".
// <https://docs.google.com/document/d/1kbhK2qyPPk8SLavHzYSDM8-Ueul9_oxIMVFuWMWKz0E/edit#heading=h.x8bduppe89ln>
// If the verification material contains a public key identifier
// (key hint) and the `content` is a DSSE envelope, the key hints
// MUST be exactly the same in the verification material and in the
// DSSE envelope.
VerificationMaterial *VerificationMaterial `protobuf:"bytes,2,opt,name=verification_material,json=verificationMaterial,proto3" json:"verification_material,omitempty"`
// Types that are valid to be assigned to Content:
//
// *Bundle_MessageSignature
// *Bundle_DsseEnvelope
Content isBundle_Content `protobuf_oneof:"content"`
// contains filtered or unexported fields
}
func (*Bundle) Descriptor ¶
Deprecated: Use Bundle.ProtoReflect.Descriptor instead.
func (*Bundle) GetContent ¶
func (x *Bundle) GetContent() isBundle_Content
func (*Bundle) GetDsseEnvelope ¶
func (*Bundle) GetMediaType ¶
func (*Bundle) GetMessageSignature ¶
func (x *Bundle) GetMessageSignature() *v1.MessageSignature
func (*Bundle) GetVerificationMaterial ¶
func (x *Bundle) GetVerificationMaterial() *VerificationMaterial
func (*Bundle) ProtoMessage ¶
func (*Bundle) ProtoMessage()
func (*Bundle) ProtoReflect ¶
func (x *Bundle) ProtoReflect() protoreflect.Message
func (*Bundle) Reset ¶
func (x *Bundle) Reset()
func (*Bundle) String ¶
type Bundle_DsseEnvelope ¶
type Bundle_DsseEnvelope struct {
// A DSSE envelope can contain arbitrary payloads.
// Verifiers must verify that the payload type is a
// supported and expected type. This is part of the DSSE
// protocol which is defined here:
// <https://github.com/secure-systems-lab/dsse/blob/master/protocol.md>
// DSSE envelopes in a bundle MUST have exactly one signature.
// This is a limitation from the DSSE spec, as it can contain
// multiple signatures. There are two primary reasons:
// 1. It simplifies the verification logic and policy
// 2. The bundle (currently) can only contain a single
// instance of the required verification materials
//
// During verification a client MUST reject an envelope if
// the number of signatures is not equal to one.
DsseEnvelope *dsse.Envelope `protobuf:"bytes,4,opt,name=dsse_envelope,json=dsseEnvelope,proto3,oneof"`
}
type Bundle_MessageSignature ¶
type Bundle_MessageSignature struct {
MessageSignature *v1.MessageSignature `protobuf:"bytes,3,opt,name=message_signature,json=messageSignature,proto3,oneof"`
}
type TimestampVerificationData ¶
type TimestampVerificationData struct {
// A list of RFC3161 signed timestamps provided by the user.
// This can be used when the entry has not been stored on a
// transparency log, or in conjunction for a stronger trust model.
// Clients MUST verify the hashed message in the message imprint
// against the signature in the bundle.
Rfc3161Timestamps []*v1.RFC3161SignedTimestamp `protobuf:"bytes,1,rep,name=rfc3161_timestamps,json=rfc3161Timestamps,proto3" json:"rfc3161_timestamps,omitempty"`
// contains filtered or unexported fields
}
Various timestamped counter signatures over the artifacts signature. Currently only RFC3161 signatures are provided. More formats may be added in the future.
func (*TimestampVerificationData) Descriptor ¶
func (*TimestampVerificationData) Descriptor() ([]byte, []int)
Deprecated: Use TimestampVerificationData.ProtoReflect.Descriptor instead.
func (*TimestampVerificationData) GetRfc3161Timestamps ¶
func (x *TimestampVerificationData) GetRfc3161Timestamps() []*v1.RFC3161SignedTimestamp
func (*TimestampVerificationData) ProtoMessage ¶
func (*TimestampVerificationData) ProtoMessage()
func (*TimestampVerificationData) ProtoReflect ¶
func (x *TimestampVerificationData) ProtoReflect() protoreflect.Message
func (*TimestampVerificationData) Reset ¶
func (x *TimestampVerificationData) Reset()
func (*TimestampVerificationData) String ¶
func (x *TimestampVerificationData) String() string
type VerificationMaterial ¶
type VerificationMaterial struct {
// The key material for verification purposes.
//
// This allows key material to be conveyed in one of three forms:
//
// 1. An unspecified public key identifier, for retrieving a key
// from an out-of-band mechanism (such as a keyring);
//
// 2. A sequence of one or more X.509 certificates, of which the first member
// MUST be a leaf certificate conveying the signing key. Subsequent members
// SHOULD be in issuing order, meaning that `n + 1` should be an issuer for `n`.
//
// Signers MUST NOT include root CA certificates in bundles, and SHOULD NOT
// include intermediate CA certificates that appear in an independent root of trust
// (such as the Public Good Instance's trusted root).
//
// Verifiers MUST validate the chain carefully to ensure that it chains up
// to a CA certificate that they independently trust. Verifiers SHOULD
// handle old or non-complying bundles that have superfluous intermediate and/or
// root CA certificates by either ignoring them or explicitly considering them
// untrusted for the purposes of chain building.
//
// 3. A single X.509 certificate, which MUST be a leaf certificate conveying
// the signing key.
//
// When used with the Public Good Instance (PGI) of Sigstore for "keyless" signing
// via Fulcio, form (1) MUST NOT be used, regardless of bundle version. Form (1)
// MAY be used with the PGI for self-managed keys.
//
// When used in a `0.1` or `0.2` bundle with the PGI and "keyless" signing,
// form (2) MUST be used.
//
// When used in a `0.3` bundle with the PGI and "keyless" signing,
// form (3) MUST be used.
//
// Types that are valid to be assigned to Content:
//
// *VerificationMaterial_PublicKey
// *VerificationMaterial_X509CertificateChain
// *VerificationMaterial_Certificate
Content isVerificationMaterial_Content `protobuf_oneof:"content"`
// An inclusion proof and an optional signed timestamp from the log.
// Client verification libraries MAY provide an option to support v0.1
// bundles for backwards compatibility, which may contain an inclusion
// promise and not an inclusion proof. In this case, the client MUST
// validate the promise.
// Verifiers SHOULD NOT allow v0.1 bundles if they're used in an
// ecosystem which never produced them.
TlogEntries []*v11.TransparencyLogEntry `protobuf:"bytes,3,rep,name=tlog_entries,json=tlogEntries,proto3" json:"tlog_entries,omitempty"`
// Timestamp may also come from
// tlog_entries.inclusion_promise.signed_entry_timestamp.
TimestampVerificationData *TimestampVerificationData `protobuf:"bytes,4,opt,name=timestamp_verification_data,json=timestampVerificationData,proto3" json:"timestamp_verification_data,omitempty"`
// contains filtered or unexported fields
}
VerificationMaterial captures details on the materials used to verify signatures. This message may be embedded in a DSSE envelope as a signature extension. Specifically, the `ext` field of the extension will expect this message when the signature extension is for Sigstore. This is identified by the `kind` field in the extension, which must be set to application/vnd.dev.sigstore.verificationmaterial;version=0.1 for Sigstore. When used as a DSSE extension, if the `public_key` field is used to indicate the key identifier, it MUST match the `keyid` field of the signature the extension is attached to.
func (*VerificationMaterial) Descriptor ¶
func (*VerificationMaterial) Descriptor() ([]byte, []int)
Deprecated: Use VerificationMaterial.ProtoReflect.Descriptor instead.
func (*VerificationMaterial) GetCertificate ¶
func (x *VerificationMaterial) GetCertificate() *v1.X509Certificate
func (*VerificationMaterial) GetContent ¶
func (x *VerificationMaterial) GetContent() isVerificationMaterial_Content
func (*VerificationMaterial) GetPublicKey ¶
func (x *VerificationMaterial) GetPublicKey() *v1.PublicKeyIdentifier
func (*VerificationMaterial) GetTimestampVerificationData ¶
func (x *VerificationMaterial) GetTimestampVerificationData() *TimestampVerificationData
func (*VerificationMaterial) GetTlogEntries ¶
func (x *VerificationMaterial) GetTlogEntries() []*v11.TransparencyLogEntry
func (*VerificationMaterial) GetX509CertificateChain ¶
func (x *VerificationMaterial) GetX509CertificateChain() *v1.X509CertificateChain
func (*VerificationMaterial) ProtoMessage ¶
func (*VerificationMaterial) ProtoMessage()
func (*VerificationMaterial) ProtoReflect ¶
func (x *VerificationMaterial) ProtoReflect() protoreflect.Message
func (*VerificationMaterial) Reset ¶
func (x *VerificationMaterial) Reset()
func (*VerificationMaterial) String ¶
func (x *VerificationMaterial) String() string
type VerificationMaterial_Certificate ¶
type VerificationMaterial_Certificate struct {
Certificate *v1.X509Certificate `protobuf:"bytes,5,opt,name=certificate,proto3,oneof"`
}
type VerificationMaterial_PublicKey ¶
type VerificationMaterial_PublicKey struct {
PublicKey *v1.PublicKeyIdentifier `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3,oneof"`
}
type VerificationMaterial_X509CertificateChain ¶
type VerificationMaterial_X509CertificateChain struct {
X509CertificateChain *v1.X509CertificateChain `protobuf:"bytes,2,opt,name=x509_certificate_chain,json=x509CertificateChain,proto3,oneof"`
}
Source Files ¶
- Version
- v0.4.3 (latest)
- Published
- Jun 9, 2025
- Platform
- linux/amd64
- Imports
- 9 packages
- Last checked
- 10 months ago –
Tools for package owners.