Class: Google::Apis::BinaryauthorizationV1::AttestationOccurrence

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/binaryauthorization_v1/classes.rb,
lib/google/apis/binaryauthorization_v1/representations.rb,
lib/google/apis/binaryauthorization_v1/representations.rb

Overview

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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ AttestationOccurrence

Returns a new instance of AttestationOccurrence.



177
178
179
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 177

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#jwtsArray<Google::Apis::BinaryauthorizationV1::Jwt>

One or more JWTs encoding a self-contained attestation. Each JWT encodes the payload that it verifies within the JWT itself. Verifier implementation SHOULD ignore the serialized_payload field when verifying these JWTs. If only JWTs are present on this AttestationOccurrence, then the serialized_payload SHOULD be left empty. Each JWT SHOULD encode a claim specific to the resource_uri of this Occurrence, but this is not validated by Grafeas metadata API implementations. The JWT itself is opaque to Grafeas. Corresponds to the JSON property jwts



161
162
163
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 161

def jwts
  @jwts
end

#serialized_payloadString

Required. The serialized payload that is verified by one or more signatures. Corresponds to the JSON property serializedPayload NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


167
168
169
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 167

def serialized_payload
  @serialized_payload
end

#signaturesArray<Google::Apis::BinaryauthorizationV1::Signature>

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. Corresponds to the JSON property signatures



175
176
177
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 175

def signatures
  @signatures
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



182
183
184
185
186
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 182

def update!(**args)
  @jwts = args[:jwts] if args.key?(:jwts)
  @serialized_payload = args[:serialized_payload] if args.key?(:serialized_payload)
  @signatures = args[:signatures] if args.key?(:signatures)
end