2323__protobuf__ = proto .module (
2424 package = "google.cloud.confidentialcomputing.v1" ,
2525 manifest = {
26+ "SigningAlgorithm" ,
2627 "Challenge" ,
2728 "CreateChallengeRequest" ,
2829 "VerifyAttestationRequest" ,
2930 "VerifyAttestationResponse" ,
3031 "GcpCredentials" ,
32+ "TokenOptions" ,
3133 "TpmAttestation" ,
34+ "ConfidentialSpaceInfo" ,
35+ "SignedEntity" ,
36+ "ContainerImageSignature" ,
3237 },
3338)
3439
3540
41+ class SigningAlgorithm (proto .Enum ):
42+ r"""SigningAlgorithm enumerates all the supported signing
43+ algorithms.
44+
45+ Values:
46+ SIGNING_ALGORITHM_UNSPECIFIED (0):
47+ Unspecified signing algorithm.
48+ RSASSA_PSS_SHA256 (1):
49+ RSASSA-PSS with a SHA256 digest.
50+ RSASSA_PKCS1V15_SHA256 (2):
51+ RSASSA-PKCS1 v1.5 with a SHA256 digest.
52+ ECDSA_P256_SHA256 (3):
53+ ECDSA on the P-256 Curve with a SHA256
54+ digest.
55+ """
56+ SIGNING_ALGORITHM_UNSPECIFIED = 0
57+ RSASSA_PSS_SHA256 = 1
58+ RSASSA_PKCS1V15_SHA256 = 2
59+ ECDSA_P256_SHA256 = 3
60+
61+
3662class Challenge (proto .Message ):
3763 r"""A Challenge from the server used to guarantee freshness of
3864 attestations
@@ -124,6 +150,13 @@ class VerifyAttestationRequest(proto.Message):
124150 Required. The TPM-specific data provided by
125151 the attesting platform, used to populate any of
126152 the claims regarding platform state.
153+ confidential_space_info (google.cloud.confidentialcomputing_v1.types.ConfidentialSpaceInfo):
154+ Optional. Optional information related to the
155+ Confidential Space TEE.
156+ token_options (google.cloud.confidentialcomputing_v1.types.TokenOptions):
157+ Optional. A collection of optional,
158+ workload-specified claims that modify the token
159+ output.
127160 """
128161
129162 challenge : str = proto .Field (
@@ -140,6 +173,16 @@ class VerifyAttestationRequest(proto.Message):
140173 number = 3 ,
141174 message = "TpmAttestation" ,
142175 )
176+ confidential_space_info : "ConfidentialSpaceInfo" = proto .Field (
177+ proto .MESSAGE ,
178+ number = 4 ,
179+ message = "ConfidentialSpaceInfo" ,
180+ )
181+ token_options : "TokenOptions" = proto .Field (
182+ proto .MESSAGE ,
183+ number = 5 ,
184+ message = "TokenOptions" ,
185+ )
143186
144187
145188class VerifyAttestationResponse (proto .Message ):
@@ -173,6 +216,32 @@ class GcpCredentials(proto.Message):
173216 )
174217
175218
219+ class TokenOptions (proto .Message ):
220+ r"""Options to modify claims in the token to generate
221+ custom-purpose tokens.
222+
223+ Attributes:
224+ audience (str):
225+ Optional. Optional string to issue the token
226+ with a custom audience claim. Required if one or
227+ more nonces are specified.
228+ nonce (MutableSequence[str]):
229+ Optional. Optional parameter to place one or more nonces in
230+ the eat_nonce claim in the output token. The minimum size
231+ for JSON-encoded EATs is 10 bytes and the maximum size is 74
232+ bytes.
233+ """
234+
235+ audience : str = proto .Field (
236+ proto .STRING ,
237+ number = 1 ,
238+ )
239+ nonce : MutableSequence [str ] = proto .RepeatedField (
240+ proto .STRING ,
241+ number = 2 ,
242+ )
243+
244+
176245class TpmAttestation (proto .Message ):
177246 r"""TPM2 data containing everything necessary to validate any
178247 platform state measured into the TPM.
@@ -260,4 +329,88 @@ class Quote(proto.Message):
260329 )
261330
262331
332+ class ConfidentialSpaceInfo (proto .Message ):
333+ r"""ConfidentialSpaceInfo contains information related to the
334+ Confidential Space TEE.
335+
336+ Attributes:
337+ signed_entities (MutableSequence[google.cloud.confidentialcomputing_v1.types.SignedEntity]):
338+ Optional. A list of signed entities
339+ containing container image signatures that can
340+ be used for server-side signature verification.
341+ """
342+
343+ signed_entities : MutableSequence ["SignedEntity" ] = proto .RepeatedField (
344+ proto .MESSAGE ,
345+ number = 1 ,
346+ message = "SignedEntity" ,
347+ )
348+
349+
350+ class SignedEntity (proto .Message ):
351+ r"""SignedEntity represents an OCI image object containing
352+ everything necessary to verify container image signatures.
353+
354+ Attributes:
355+ container_image_signatures (MutableSequence[google.cloud.confidentialcomputing_v1.types.ContainerImageSignature]):
356+ Optional. A list of container image
357+ signatures attached to an OCI image object.
358+ """
359+
360+ container_image_signatures : MutableSequence [
361+ "ContainerImageSignature"
362+ ] = proto .RepeatedField (
363+ proto .MESSAGE ,
364+ number = 1 ,
365+ message = "ContainerImageSignature" ,
366+ )
367+
368+
369+ class ContainerImageSignature (proto .Message ):
370+ r"""ContainerImageSignature holds necessary metadata to verify a
371+ container image signature.
372+
373+ Attributes:
374+ payload (bytes):
375+ Required. The binary signature payload following the
376+ SimpleSigning format
377+ https://github.com/sigstore/cosign/blob/main/specs/SIGNATURE_SPEC.md#simple-signing.
378+ This payload includes the container image digest.
379+ signature (bytes):
380+ Required. A signature over the payload. The container image
381+ digest is incorporated into the signature as follows:
382+
383+ 1. Generate a SimpleSigning format payload that includes the
384+ container image digest.
385+ 2. Generate a signature over SHA256 digest of the payload.
386+ The signature generation process can be represented as
387+ follows:
388+ ``Sign(sha256(SimpleSigningPayload(sha256(Image Manifest))))``
389+ public_key (bytes):
390+ Required. An associated public key used to
391+ verify the signature.
392+ sig_alg (google.cloud.confidentialcomputing_v1.types.SigningAlgorithm):
393+ Required. The algorithm used to produce the
394+ container image signature.
395+ """
396+
397+ payload : bytes = proto .Field (
398+ proto .BYTES ,
399+ number = 1 ,
400+ )
401+ signature : bytes = proto .Field (
402+ proto .BYTES ,
403+ number = 2 ,
404+ )
405+ public_key : bytes = proto .Field (
406+ proto .BYTES ,
407+ number = 3 ,
408+ )
409+ sig_alg : "SigningAlgorithm" = proto .Field (
410+ proto .ENUM ,
411+ number = 4 ,
412+ enum = "SigningAlgorithm" ,
413+ )
414+
415+
263416__all__ = tuple (sorted (__protobuf__ .manifest ))
0 commit comments