public sealed class AttestationOccurrence : IMessage<AttestationOccurrence>, IEquatable<AttestationOccurrence>, IDeepCloneable<AttestationOccurrence>, IBufferMessage, IMessage
Occurrence that represents a single "attestation". The authenticity of an
attestation can be verified using the attached signature. If the verifier
trusts the public key of the signer, then verifying the signature is
sufficient to establish trust. In this circumstance, the authority to which
this attestation is attached is primarily useful for lookup (how to find
this attestation if you already know the authority and artifact to be
verified) and intent (for which authority this attestation was intended to
sign.
public RepeatedField<Signature> Signatures { get; }
One or more signatures over serialized_payload. Verifier implementations
should consider this attestation message verified if at least one
signature verifies serialized_payload. See Signature in common.proto
for more details on signature structure and verification.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version of the \u003ccode\u003eAttestationOccurrence\u003c/code\u003e is 3.7.0, with other versions available ranging from 3.6.0 down to 2.2.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eAttestationOccurrence\u003c/code\u003e represents a single attestation, and its authenticity can be verified through the attached signature.\u003c/p\u003e\n"],["\u003cp\u003eThis attestation is implemented through the \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e interfaces, inheriting from the base \u003ccode\u003eObject\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eSerializedPayload\u003c/code\u003e property holds the data that is verified by one or more signatures, and the \u003ccode\u003eSignatures\u003c/code\u003e property contains the signatures over this payload.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eAttestationOccurrence\u003c/code\u003e class offers two constructors, one default and one that accepts another \u003ccode\u003eAttestationOccurrence\u003c/code\u003e object for copying.\u003c/p\u003e\n"]]],[],null,[]]