google-cloud-confidential_computing-v1 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []