Table of Contents

Class VerificationMaterial

Namespace
Dev.Sigstore.Bundle.V1
Assembly
Sigstore.dll

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.

public sealed class VerificationMaterial : IMessage<VerificationMaterial>, IEquatable<VerificationMaterial>, IDeepCloneable<VerificationMaterial>, IBufferMessage, IMessage
Inheritance
VerificationMaterial
Implements
IDeepCloneable<VerificationMaterial>
IBufferMessage
IMessage
Inherited Members

Constructors

VerificationMaterial()

public VerificationMaterial()

VerificationMaterial(VerificationMaterial)

public VerificationMaterial(VerificationMaterial other)

Parameters

other VerificationMaterial

Fields

CertificateFieldNumber

Field number for the "certificate" field.

public const int CertificateFieldNumber = 5

Field Value

int

PublicKeyFieldNumber

Field number for the "public_key" field.

public const int PublicKeyFieldNumber = 1

Field Value

int

TimestampVerificationDataFieldNumber

Field number for the "timestamp_verification_data" field.

public const int TimestampVerificationDataFieldNumber = 4

Field Value

int

TlogEntriesFieldNumber

Field number for the "tlog_entries" field.

public const int TlogEntriesFieldNumber = 3

Field Value

int

X509CertificateChainFieldNumber

Field number for the "x509_certificate_chain" field.

public const int X509CertificateChainFieldNumber = 2

Field Value

int

Properties

Certificate

public X509Certificate Certificate { get; set; }

Property Value

X509Certificate

ContentCase

public VerificationMaterial.ContentOneofCase ContentCase { get; }

Property Value

VerificationMaterial.ContentOneofCase

Descriptor

public static MessageDescriptor Descriptor { get; }

Property Value

MessageDescriptor

Parser

public static MessageParser<VerificationMaterial> Parser { get; }

Property Value

MessageParser<VerificationMaterial>

PublicKey

public PublicKeyIdentifier PublicKey { get; set; }

Property Value

PublicKeyIdentifier

TimestampVerificationData

Timestamp may also come from tlog_entries.inclusion_promise.signed_entry_timestamp.

public TimestampVerificationData TimestampVerificationData { get; set; }

Property Value

TimestampVerificationData

TlogEntries

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.

public RepeatedField<TransparencyLogEntry> TlogEntries { get; }

Property Value

RepeatedField<TransparencyLogEntry>

X509CertificateChain

public X509CertificateChain X509CertificateChain { get; set; }

Property Value

X509CertificateChain

Methods

CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

public int CalculateSize()

Returns

int

The number of bytes required to write this message to a coded output stream.

ClearContent()

public void ClearContent()

Clone()

Creates a deep clone of this object.

public VerificationMaterial Clone()

Returns

VerificationMaterial

A deep clone of this object.

Equals(VerificationMaterial)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(VerificationMaterial other)

Parameters

other VerificationMaterial

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object)

Determines whether the specified object is equal to the current object.

public override bool Equals(object other)

Parameters

other object

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

GetHashCode()

Serves as the default hash function.

public override int GetHashCode()

Returns

int

A hash code for the current object.

MergeFrom(VerificationMaterial)

Merges the given message into this one.

public void MergeFrom(VerificationMaterial other)

Parameters

other VerificationMaterial

Remarks

See the user guide for precise merge semantics.

MergeFrom(CodedInputStream)

Merges the data from the specified coded input stream with the current message.

public void MergeFrom(CodedInputStream input)

Parameters

input CodedInputStream

Remarks

See the user guide for precise merge semantics.

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.

WriteTo(CodedOutputStream)

Writes the data to the given coded output stream.

public void WriteTo(CodedOutputStream output)

Parameters

output CodedOutputStream

Coded output stream to write the data to. Must not be null.