google-cloud-confidential_computing-v1 0.2.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '099e694a67a273aae8f4493f8d94ea558fe51daa076f857372895343a5bfeac4'
4
- data.tar.gz: 95807c707e30f8436ee1a16142fc5f7a1c5b7990301af7dcb239d32f6137e2e3
3
+ metadata.gz: 0e6ccf10c1eca851e8e19e98e9820ddccfb0e8344ac00652ac68cff23c2617f3
4
+ data.tar.gz: 8726f8435bb2041cafa6f6e2d5840709845b68a176ae082e7a15d7b8c88ce9c1
5
5
  SHA512:
6
- metadata.gz: 898524162abf67fc03f56c6c1c72423ab48fba62fc1235b652f9c498ac7f3d0a0ee34a82e5162962ed3b80c5c6e98e93b96fbecebb6b7fa215edf2628189d0de
7
- data.tar.gz: 850f8a951a7bc1e02152776602d65575377266bcf02a817cd4f2f237786a051edc3cb20ea397a9d2eb45adae46b11923a64eb883f23aed906a8b4aa96df7f5ff
6
+ metadata.gz: 60469fa21e678180baf43e96c7ef911fb059bbea91fcf541b0ccae97209f24cd7c6f56e64002c41213f8b9b2171f6050b6a207c801497a32641d4e0548670d92
7
+ data.tar.gz: 4076a6885fe1f9d22d11535578599bf7daf8d311d3357171457c635e115515050cc1888b6789a5ddd2f9653c5356cf0b56d27dc8a44dc9c448aae71fd128625d
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # Ruby Client for the Confidential Computing V1 API
2
2
 
3
- API Client library for the Confidential Computing V1 API
3
+ Attestation verifier for Confidential Space.
4
4
 
5
- google-cloud-confidential_computing-v1 is the official client library for the Confidential Computing V1 API.
5
+ Attestation verifier for Confidential Space.
6
6
 
7
7
  https://github.com/googleapis/google-cloud-ruby
8
8
 
@@ -272,7 +272,7 @@ module Google
272
272
  # @param options [::Gapic::CallOptions, ::Hash]
273
273
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
274
274
  #
275
- # @overload verify_attestation(challenge: nil, gcp_credentials: nil, tpm_attestation: nil)
275
+ # @overload verify_attestation(challenge: nil, gcp_credentials: nil, tpm_attestation: nil, confidential_space_info: nil, token_options: nil)
276
276
  # Pass arguments to `verify_attestation` via keyword arguments. Note that at
277
277
  # least one keyword argument is required. To specify no parameters, or to keep all
278
278
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -287,6 +287,11 @@ module Google
287
287
  # @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
288
288
  # Required. The TPM-specific data provided by the attesting platform, used to
289
289
  # populate any of the claims regarding platform state.
290
+ # @param confidential_space_info [::Google::Cloud::ConfidentialComputing::V1::ConfidentialSpaceInfo, ::Hash]
291
+ # Optional. Optional information related to the Confidential Space TEE.
292
+ # @param token_options [::Google::Cloud::ConfidentialComputing::V1::TokenOptions, ::Hash]
293
+ # Optional. A collection of optional, workload-specified claims that modify
294
+ # the token output.
290
295
  #
291
296
  # @yield [response, operation] Access the result along with the RPC operation
292
297
  # @yieldparam response [::Google::Cloud::ConfidentialComputing::V1::VerifyAttestationResponse]
@@ -241,7 +241,7 @@ module Google
241
241
  # @param options [::Gapic::CallOptions, ::Hash]
242
242
  # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
243
243
  #
244
- # @overload verify_attestation(challenge: nil, gcp_credentials: nil, tpm_attestation: nil)
244
+ # @overload verify_attestation(challenge: nil, gcp_credentials: nil, tpm_attestation: nil, confidential_space_info: nil, token_options: nil)
245
245
  # Pass arguments to `verify_attestation` via keyword arguments. Note that at
246
246
  # least one keyword argument is required. To specify no parameters, or to keep all
247
247
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -256,6 +256,11 @@ module Google
256
256
  # @param tpm_attestation [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation, ::Hash]
257
257
  # Required. The TPM-specific data provided by the attesting platform, used to
258
258
  # populate any of the claims regarding platform state.
259
+ # @param confidential_space_info [::Google::Cloud::ConfidentialComputing::V1::ConfidentialSpaceInfo, ::Hash]
260
+ # Optional. Optional information related to the Confidential Space TEE.
261
+ # @param token_options [::Google::Cloud::ConfidentialComputing::V1::TokenOptions, ::Hash]
262
+ # Optional. A collection of optional, workload-specified claims that modify
263
+ # the token output.
259
264
  # @yield [result, operation] Access the result along with the TransportOperation object
260
265
  # @yieldparam result [::Google::Cloud::ConfidentialComputing::V1::VerifyAttestationResponse]
261
266
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module ConfidentialComputing
23
23
  module V1
24
- VERSION = "0.2.0"
24
+ VERSION = "0.4.0"
25
25
  end
26
26
  end
27
27
  end
@@ -9,9 +9,10 @@ require 'google/api/client_pb'
9
9
  require 'google/api/field_behavior_pb'
10
10
  require 'google/api/resource_pb'
11
11
  require 'google/protobuf/timestamp_pb'
12
+ require 'google/rpc/status_pb'
12
13
 
13
14
 
14
- descriptor_data = "\n3google/cloud/confidentialcomputing/v1/service.proto\x12%google.cloud.confidentialcomputing.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa5\x02\n\tChallenge\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04used\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\x12\x16\n\ttpm_nonce\x18\x06 \x01(\tB\x03\xe0\x41\x03:n\xea\x41k\n.confidentialcomputing.googleapis.com/Challenge\x12\x39projects/{project}/locations/{location}/challenges/{uuid}\"\x9d\x01\n\x16\x43reateChallengeRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12H\n\tchallenge\x18\x02 \x01(\x0b\x32\x30.google.cloud.confidentialcomputing.v1.ChallengeB\x03\xe0\x41\x02\"\x8f\x02\n\x18VerifyAttestationRequest\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/Challenge\x12S\n\x0fgcp_credentials\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.GcpCredentialsB\x03\xe0\x41\x01\x12S\n\x0ftpm_attestation\x18\x03 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationB\x03\xe0\x41\x02\";\n\x19VerifyAttestationResponse\x12\x1e\n\x11oidc_claims_token\x18\x02 \x01(\tB\x03\xe0\x41\x03\"3\n\x0eGcpCredentials\x12!\n\x19service_account_id_tokens\x18\x02 \x03(\t\"\x8f\x03\n\x0eTpmAttestation\x12K\n\x06quotes\x18\x01 \x03(\x0b\x32;.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote\x12\x15\n\rtcg_event_log\x18\x02 \x01(\x0c\x12\x1b\n\x13\x63\x61nonical_event_log\x18\x03 \x01(\x0c\x12\x0f\n\x07\x61k_cert\x18\x04 \x01(\x0c\x12\x12\n\ncert_chain\x18\x05 \x03(\x0c\x1a\xd6\x01\n\x05Quote\x12\x11\n\thash_algo\x18\x01 \x01(\x05\x12^\n\npcr_values\x18\x02 \x03(\x0b\x32J.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote.PcrValuesEntry\x12\x11\n\traw_quote\x18\x03 \x01(\x0c\x12\x15\n\rraw_signature\x18\x04 \x01(\x0c\x1a\x30\n\x0ePcrValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x32\xb7\x04\n\x15\x43onfidentialComputing\x12\xd8\x01\n\x0f\x43reateChallenge\x12=.google.cloud.confidentialcomputing.v1.CreateChallengeRequest\x1a\x30.google.cloud.confidentialcomputing.v1.Challenge\"T\x82\xd3\xe4\x93\x02;\"./v1/{parent=projects/*/locations/*}/challenges:\tchallenge\xda\x41\x10parent,challenge\x12\xe8\x01\n\x11VerifyAttestation\x12?.google.cloud.confidentialcomputing.v1.VerifyAttestationRequest\x1a@.google.cloud.confidentialcomputing.v1.VerifyAttestationResponse\"P\x82\xd3\xe4\x93\x02J\"E/v1/{challenge=projects/*/locations/*/challenges/*}:verifyAttestation:\x01*\x1aX\xca\x41$confidentialcomputing.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x97\x02\n)com.google.cloud.confidentialcomputing.v1B\x0cServiceProtoP\x01Z_cloud.google.com/go/confidentialcomputing/apiv1/confidentialcomputingpb;confidentialcomputingpb\xaa\x02%Google.Cloud.ConfidentialComputing.V1\xca\x02%Google\\Cloud\\ConfidentialComputing\\V1\xea\x02(Google::Cloud::ConfidentialComputing::V1b\x06proto3"
15
+ descriptor_data = "\n3google/cloud/confidentialcomputing/v1/service.proto\x12%google.cloud.confidentialcomputing.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\"\xa5\x02\n\tChallenge\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0b\x65xpire_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x11\n\x04used\x18\x04 \x01(\x08\x42\x03\xe0\x41\x03\x12\x16\n\ttpm_nonce\x18\x06 \x01(\tB\x03\xe0\x41\x03:n\xea\x41k\n.confidentialcomputing.googleapis.com/Challenge\x12\x39projects/{project}/locations/{location}/challenges/{uuid}\"\x9d\x01\n\x16\x43reateChallengeRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12H\n\tchallenge\x18\x02 \x01(\x0b\x32\x30.google.cloud.confidentialcomputing.v1.ChallengeB\x03\xe0\x41\x02\"\xc4\x03\n\x18VerifyAttestationRequest\x12I\n\tchallenge\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.confidentialcomputing.googleapis.com/Challenge\x12S\n\x0fgcp_credentials\x18\x02 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.GcpCredentialsB\x03\xe0\x41\x01\x12S\n\x0ftpm_attestation\x18\x03 \x01(\x0b\x32\x35.google.cloud.confidentialcomputing.v1.TpmAttestationB\x03\xe0\x41\x02\x12\x62\n\x17\x63onfidential_space_info\x18\x04 \x01(\x0b\x32<.google.cloud.confidentialcomputing.v1.ConfidentialSpaceInfoB\x03\xe0\x41\x01\x12O\n\rtoken_options\x18\x05 \x01(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.TokenOptionsB\x03\xe0\x41\x01\"l\n\x19VerifyAttestationResponse\x12\x1e\n\x11oidc_claims_token\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12/\n\x0epartial_errors\x18\x03 \x03(\x0b\x32\x12.google.rpc.StatusB\x03\xe0\x41\x03\"3\n\x0eGcpCredentials\x12!\n\x19service_account_id_tokens\x18\x02 \x03(\t\"9\n\x0cTokenOptions\x12\x15\n\x08\x61udience\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x12\n\x05nonce\x18\x02 \x03(\tB\x03\xe0\x41\x01\"\x8f\x03\n\x0eTpmAttestation\x12K\n\x06quotes\x18\x01 \x03(\x0b\x32;.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote\x12\x15\n\rtcg_event_log\x18\x02 \x01(\x0c\x12\x1b\n\x13\x63\x61nonical_event_log\x18\x03 \x01(\x0c\x12\x0f\n\x07\x61k_cert\x18\x04 \x01(\x0c\x12\x12\n\ncert_chain\x18\x05 \x03(\x0c\x1a\xd6\x01\n\x05Quote\x12\x11\n\thash_algo\x18\x01 \x01(\x05\x12^\n\npcr_values\x18\x02 \x03(\x0b\x32J.google.cloud.confidentialcomputing.v1.TpmAttestation.Quote.PcrValuesEntry\x12\x11\n\traw_quote\x18\x03 \x01(\x0c\x12\x15\n\rraw_signature\x18\x04 \x01(\x0c\x1a\x30\n\x0ePcrValuesEntry\x12\x0b\n\x03key\x18\x01 \x01(\x05\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"j\n\x15\x43onfidentialSpaceInfo\x12Q\n\x0fsigned_entities\x18\x01 \x03(\x0b\x32\x33.google.cloud.confidentialcomputing.v1.SignedEntityB\x03\xe0\x41\x01\"w\n\x0cSignedEntity\x12g\n\x1a\x63ontainer_image_signatures\x18\x01 \x03(\x0b\x32>.google.cloud.confidentialcomputing.v1.ContainerImageSignatureB\x03\xe0\x41\x01\"\xaf\x01\n\x17\x43ontainerImageSignature\x12\x14\n\x07payload\x18\x01 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x16\n\tsignature\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x01\x12\x17\n\npublic_key\x18\x03 \x01(\x0c\x42\x03\xe0\x41\x01\x12M\n\x07sig_alg\x18\x04 \x01(\x0e\x32\x37.google.cloud.confidentialcomputing.v1.SigningAlgorithmB\x03\xe0\x41\x01*\x7f\n\x10SigningAlgorithm\x12!\n\x1dSIGNING_ALGORITHM_UNSPECIFIED\x10\x00\x12\x15\n\x11RSASSA_PSS_SHA256\x10\x01\x12\x1a\n\x16RSASSA_PKCS1V15_SHA256\x10\x02\x12\x15\n\x11\x45\x43\x44SA_P256_SHA256\x10\x03\x32\xb7\x04\n\x15\x43onfidentialComputing\x12\xd8\x01\n\x0f\x43reateChallenge\x12=.google.cloud.confidentialcomputing.v1.CreateChallengeRequest\x1a\x30.google.cloud.confidentialcomputing.v1.Challenge\"T\x82\xd3\xe4\x93\x02;\"./v1/{parent=projects/*/locations/*}/challenges:\tchallenge\xda\x41\x10parent,challenge\x12\xe8\x01\n\x11VerifyAttestation\x12?.google.cloud.confidentialcomputing.v1.VerifyAttestationRequest\x1a@.google.cloud.confidentialcomputing.v1.VerifyAttestationResponse\"P\x82\xd3\xe4\x93\x02J\"E/v1/{challenge=projects/*/locations/*/challenges/*}:verifyAttestation:\x01*\x1aX\xca\x41$confidentialcomputing.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\x97\x02\n)com.google.cloud.confidentialcomputing.v1B\x0cServiceProtoP\x01Z_cloud.google.com/go/confidentialcomputing/apiv1/confidentialcomputingpb;confidentialcomputingpb\xaa\x02%Google.Cloud.ConfidentialComputing.V1\xca\x02%Google\\Cloud\\ConfidentialComputing\\V1\xea\x02(Google::Cloud::ConfidentialComputing::V1b\x06proto3"
15
16
 
16
17
  pool = Google::Protobuf::DescriptorPool.generated_pool
17
18
 
@@ -27,6 +28,7 @@ rescue TypeError => e
27
28
  warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
28
29
  imports = [
29
30
  ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
31
+ ["google.rpc.Status", "google/rpc/status.proto"],
30
32
  ]
31
33
  imports.each do |type_name, expected_filename|
32
34
  import_file = pool.lookup(type_name).file_descriptor
@@ -47,8 +49,13 @@ module Google
47
49
  VerifyAttestationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyAttestationRequest").msgclass
48
50
  VerifyAttestationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.VerifyAttestationResponse").msgclass
49
51
  GcpCredentials = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.GcpCredentials").msgclass
52
+ TokenOptions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TokenOptions").msgclass
50
53
  TpmAttestation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TpmAttestation").msgclass
51
54
  TpmAttestation::Quote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.TpmAttestation.Quote").msgclass
55
+ ConfidentialSpaceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.ConfidentialSpaceInfo").msgclass
56
+ SignedEntity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.SignedEntity").msgclass
57
+ ContainerImageSignature = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.ContainerImageSignature").msgclass
58
+ SigningAlgorithm = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.confidentialcomputing.v1.SigningAlgorithm").enummodule
52
59
  end
53
60
  end
54
61
  end
@@ -73,6 +73,13 @@ module Google
73
73
  # @return [::Google::Cloud::ConfidentialComputing::V1::TpmAttestation]
74
74
  # Required. The TPM-specific data provided by the attesting platform, used to
75
75
  # populate any of the claims regarding platform state.
76
+ # @!attribute [rw] confidential_space_info
77
+ # @return [::Google::Cloud::ConfidentialComputing::V1::ConfidentialSpaceInfo]
78
+ # Optional. Optional information related to the Confidential Space TEE.
79
+ # @!attribute [rw] token_options
80
+ # @return [::Google::Cloud::ConfidentialComputing::V1::TokenOptions]
81
+ # Optional. A collection of optional, workload-specified claims that modify
82
+ # the token output.
76
83
  class VerifyAttestationRequest
77
84
  include ::Google::Protobuf::MessageExts
78
85
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -83,6 +90,10 @@ module Google
83
90
  # @!attribute [r] oidc_claims_token
84
91
  # @return [::String]
85
92
  # Output only. Same as claims_token, but as a string.
93
+ # @!attribute [r] partial_errors
94
+ # @return [::Array<::Google::Rpc::Status>]
95
+ # Output only. A list of messages that carry the partial error details
96
+ # related to VerifyAttestation.
86
97
  class VerifyAttestationResponse
87
98
  include ::Google::Protobuf::MessageExts
88
99
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -98,6 +109,21 @@ module Google
98
109
  extend ::Google::Protobuf::MessageExts::ClassMethods
99
110
  end
100
111
 
112
+ # Options to modify claims in the token to generate custom-purpose tokens.
113
+ # @!attribute [rw] audience
114
+ # @return [::String]
115
+ # Optional. Optional string to issue the token with a custom audience claim.
116
+ # Required if one or more nonces are specified.
117
+ # @!attribute [rw] nonce
118
+ # @return [::Array<::String>]
119
+ # Optional. Optional parameter to place one or more nonces in the eat_nonce
120
+ # claim in the output token. The minimum size for JSON-encoded EATs is 10
121
+ # bytes and the maximum size is 74 bytes.
122
+ class TokenOptions
123
+ include ::Google::Protobuf::MessageExts
124
+ extend ::Google::Protobuf::MessageExts::ClassMethods
125
+ end
126
+
101
127
  # TPM2 data containing everything necessary to validate any platform state
102
128
  # measured into the TPM.
103
129
  # @!attribute [rw] quotes
@@ -153,6 +179,70 @@ module Google
153
179
  end
154
180
  end
155
181
  end
182
+
183
+ # ConfidentialSpaceInfo contains information related to the Confidential Space
184
+ # TEE.
185
+ # @!attribute [rw] signed_entities
186
+ # @return [::Array<::Google::Cloud::ConfidentialComputing::V1::SignedEntity>]
187
+ # Optional. A list of signed entities containing container image signatures
188
+ # that can be used for server-side signature verification.
189
+ class ConfidentialSpaceInfo
190
+ include ::Google::Protobuf::MessageExts
191
+ extend ::Google::Protobuf::MessageExts::ClassMethods
192
+ end
193
+
194
+ # SignedEntity represents an OCI image object containing everything necessary
195
+ # to verify container image signatures.
196
+ # @!attribute [rw] container_image_signatures
197
+ # @return [::Array<::Google::Cloud::ConfidentialComputing::V1::ContainerImageSignature>]
198
+ # Optional. A list of container image signatures attached to an OCI image
199
+ # object.
200
+ class SignedEntity
201
+ include ::Google::Protobuf::MessageExts
202
+ extend ::Google::Protobuf::MessageExts::ClassMethods
203
+ end
204
+
205
+ # ContainerImageSignature holds necessary metadata to verify a container image
206
+ # signature.
207
+ # @!attribute [rw] payload
208
+ # @return [::String]
209
+ # Optional. The binary signature payload following the SimpleSigning format
210
+ # https://github.com/sigstore/cosign/blob/main/specs/SIGNATURE_SPEC.md#simple-signing.
211
+ # This payload includes the container image digest.
212
+ # @!attribute [rw] signature
213
+ # @return [::String]
214
+ # Optional. A signature over the payload.
215
+ # The container image digest is incorporated into the signature as follows:
216
+ # 1. Generate a SimpleSigning format payload that includes the container
217
+ # image digest.
218
+ # 2. Generate a signature over SHA256 digest of the payload.
219
+ # The signature generation process can be represented as follows:
220
+ # `Sign(sha256(SimpleSigningPayload(sha256(Image Manifest))))`
221
+ # @!attribute [rw] public_key
222
+ # @return [::String]
223
+ # Optional. Reserved for future use.
224
+ # @!attribute [rw] sig_alg
225
+ # @return [::Google::Cloud::ConfidentialComputing::V1::SigningAlgorithm]
226
+ # Optional. Reserved for future use.
227
+ class ContainerImageSignature
228
+ include ::Google::Protobuf::MessageExts
229
+ extend ::Google::Protobuf::MessageExts::ClassMethods
230
+ end
231
+
232
+ # SigningAlgorithm enumerates all the supported signing algorithms.
233
+ module SigningAlgorithm
234
+ # Unspecified signing algorithm.
235
+ SIGNING_ALGORITHM_UNSPECIFIED = 0
236
+
237
+ # RSASSA-PSS with a SHA256 digest.
238
+ RSASSA_PSS_SHA256 = 1
239
+
240
+ # RSASSA-PKCS1 v1.5 with a SHA256 digest.
241
+ RSASSA_PKCS1V15_SHA256 = 2
242
+
243
+ # ECDSA on the P-256 Curve with a SHA256 digest.
244
+ ECDSA_P256_SHA256 = 3
245
+ end
156
246
  end
157
247
  end
158
248
  end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Rpc
22
+ # The `Status` type defines a logical error model that is suitable for
23
+ # different programming environments, including REST APIs and RPC APIs. It is
24
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
25
+ # three pieces of data: error code, error message, and error details.
26
+ #
27
+ # You can find out more about this error model and how to work with it in the
28
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
29
+ # @!attribute [rw] code
30
+ # @return [::Integer]
31
+ # The status code, which should be an enum value of
32
+ # [google.rpc.Code][google.rpc.Code].
33
+ # @!attribute [rw] message
34
+ # @return [::String]
35
+ # A developer-facing error message, which should be in English. Any
36
+ # user-facing error message should be localized and sent in the
37
+ # {::Google::Rpc::Status#details google.rpc.Status.details} field, or localized
38
+ # by the client.
39
+ # @!attribute [rw] details
40
+ # @return [::Array<::Google::Protobuf::Any>]
41
+ # A list of messages that carry the error details. There is a common set of
42
+ # message types for APIs to use.
43
+ class Status
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+ end
47
+ end
48
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-confidential_computing-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-06 00:00:00.000000000 Z
11
+ date: 2023-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -176,8 +176,7 @@ dependencies:
176
176
  - - "~>"
177
177
  - !ruby/object:Gem::Version
178
178
  version: '0.9'
179
- description: google-cloud-confidential_computing-v1 is the official client library
180
- for the Confidential Computing V1 API. Note that google-cloud-confidential_computing-v1
179
+ description: Attestation verifier for Confidential Space. Note that google-cloud-confidential_computing-v1
181
180
  is a version-specific client library. For most uses, we recommend installing the
182
181
  main client library google-cloud-confidential_computing instead. See the readme
183
182
  for more details.
@@ -213,6 +212,7 @@ files:
213
212
  - proto_docs/google/protobuf/any.rb
214
213
  - proto_docs/google/protobuf/duration.rb
215
214
  - proto_docs/google/protobuf/timestamp.rb
215
+ - proto_docs/google/rpc/status.rb
216
216
  homepage: https://github.com/googleapis/google-cloud-ruby
217
217
  licenses:
218
218
  - Apache-2.0
@@ -235,5 +235,5 @@ requirements: []
235
235
  rubygems_version: 3.4.2
236
236
  signing_key:
237
237
  specification_version: 4
238
- summary: API Client library for the Confidential Computing V1 API
238
+ summary: Attestation verifier for Confidential Space.
239
239
  test_files: []