protobug_fulcio_protos 0.2.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 74b3a6b42eb4ce413c2336632938d49b758060253d1a6808b85dab530ee1986e
4
+ data.tar.gz: 3b23fa735a6b7e0ee535ffaec8159056bfc4ad292e2025925ba2c513462b46b9
5
+ SHA512:
6
+ metadata.gz: 80d8d2b2513030e977722b8c3694e740d82d4cb05dfaf1b768a6f39300f9904a9720bc9b25b2ca03996b66943f2807165b7ec23defe6cfd6da0853a4458ccdb9
7
+ data.tar.gz: 71cca4c7bd0a1a6035b26d55ef216248a5e97ea789dbaa72fa1de87d7604887eddc72980c620cc4e12b9783846bdaa761876494f926550317b813c299c78bea6
@@ -0,0 +1,404 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Code generated by protoc-gen-protobug. DO NOT EDIT.
4
+
5
+ # source: fulcio.proto
6
+ # syntax: proto3
7
+ # package: dev.sigstore.fulcio.v2
8
+ # options:
9
+ # java_package: "dev.sigstore.fulcio.v2"
10
+ # java_outer_classname: "FulcioProto"
11
+ # java_multiple_files: true
12
+ # go_package: "github.com/sigstore/fulcio/pkg/generated/protobuf"
13
+
14
+ #
15
+ # Copyright 2022 The Sigstore Authors.
16
+ #
17
+ # Licensed under the Apache License, Version 2.0 (the "License");
18
+ # you may not use this file except in compliance with the License.
19
+ # You may obtain a copy of the License at
20
+ #
21
+ # http://www.apache.org/licenses/LICENSE-2.0
22
+ #
23
+ # Unless required by applicable law or agreed to in writing, software
24
+ # distributed under the License is distributed on an "AS IS" BASIS,
25
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26
+ # See the License for the specific language governing permissions and
27
+ # limitations under the License.
28
+
29
+ require "protobug"
30
+
31
+ require "google/api/annotations_pb"
32
+ require "google/api/field_behavior_pb"
33
+ require "grpc/gateway/protoc_gen_openapiv2/options/annotations_pb"
34
+
35
+ module Dev
36
+ module Sigstore
37
+ module Fulcio
38
+ module V2
39
+ # For Fulcio developers: All features should be designed with HTTP support in
40
+ # mind, since some clients may access this API over HTTP rather than gRPC.
41
+ #
42
+ # If there's a feature that you think would negatively impact the HTTP API,
43
+ # open an issue to discuss.
44
+
45
+ class CA
46
+ # *
47
+ # Returns an X.509 certificate created by the Fulcio certificate authority for the given request parameters
48
+ def create_signing_certificate(...)
49
+ raise(NotImplementedError)
50
+ end
51
+
52
+ # *
53
+ # Returns the bundle of certificates that can be used to validate code signing certificates issued by this Fulcio instance
54
+ def get_trust_bundle(...)
55
+ raise(NotImplementedError)
56
+ end
57
+
58
+ # *
59
+ # Returns the configuration of supported OIDC issuers, including the required challenge for each issuer.
60
+ def get_configuration(...)
61
+ raise(NotImplementedError)
62
+ end
63
+ end
64
+
65
+ class CreateSigningCertificateRequest
66
+ extend Protobug::Message
67
+
68
+ self.full_name = "dev.sigstore.fulcio.v2.CreateSigningCertificateRequest"
69
+
70
+ #
71
+ # Identity information about who possesses the private / public key pair presented
72
+ optional(
73
+ 1,
74
+ "credentials",
75
+ type: :message,
76
+ message_type: "dev.sigstore.fulcio.v2.Credentials",
77
+ proto3_optional: false
78
+ )
79
+ #
80
+ # The public key to be stored in the requested certificate along with a signed
81
+ # challenge as proof of possession of the private key.
82
+ optional(
83
+ 2,
84
+ "public_key_request",
85
+ type: :message,
86
+ message_type: "dev.sigstore.fulcio.v2.PublicKeyRequest",
87
+ json_name: "publicKeyRequest",
88
+ oneof: :key,
89
+ proto3_optional: false
90
+ )
91
+ #
92
+ # PKCS#10 PEM-encoded certificate signing request
93
+ #
94
+ # Contains the public key to be stored in the requested certificate. All other CSR fields
95
+ # are ignored. Since the CSR is self-signed, it also acts as a proof of possession of
96
+ # the private key.
97
+ #
98
+ # In particular, the CSR's subject name is not verified, or tested for
99
+ # compatibility with its specified X.509 name type (e.g. email address).
100
+ optional(
101
+ 3,
102
+ "certificate_signing_request",
103
+ type: :bytes,
104
+ json_name: "certificateSigningRequest",
105
+ oneof: :key,
106
+ proto3_optional: false
107
+ )
108
+ end
109
+
110
+ class Credentials
111
+ extend Protobug::Message
112
+
113
+ self.full_name = "dev.sigstore.fulcio.v2.Credentials"
114
+
115
+ #
116
+ # The OIDC token that identifies the caller
117
+ optional(
118
+ 1,
119
+ "oidc_identity_token",
120
+ type: :string,
121
+ json_name: "oidcIdentityToken",
122
+ oneof: :credentials,
123
+ proto3_optional: false
124
+ )
125
+ end
126
+
127
+ class PublicKeyRequest
128
+ extend Protobug::Message
129
+
130
+ self.full_name = "dev.sigstore.fulcio.v2.PublicKeyRequest"
131
+
132
+ #
133
+ # The public key to be stored in the requested certificate
134
+ optional(
135
+ 1,
136
+ "public_key",
137
+ type: :message,
138
+ message_type: "dev.sigstore.fulcio.v2.PublicKey",
139
+ json_name: "publicKey",
140
+ proto3_optional: false
141
+ )
142
+ #
143
+ # Proof that the client possesses the private key; must be verifiable by provided public key
144
+ #
145
+ # This is a currently a signature over the `sub` claim from the OIDC identity token
146
+ optional(
147
+ 2,
148
+ "proof_of_possession",
149
+ type: :bytes,
150
+ json_name: "proofOfPossession",
151
+ proto3_optional: false
152
+ )
153
+ end
154
+
155
+ class PublicKey
156
+ extend Protobug::Message
157
+
158
+ self.full_name = "dev.sigstore.fulcio.v2.PublicKey"
159
+
160
+ #
161
+ # The cryptographic algorithm to use with the key material
162
+ optional(
163
+ 1,
164
+ "algorithm",
165
+ type: :enum,
166
+ enum_type: "dev.sigstore.fulcio.v2.PublicKeyAlgorithm",
167
+ proto3_optional: false
168
+ )
169
+ #
170
+ # PKIX, ASN.1 DER or PEM-encoded public key. PEM is typically
171
+ # of type PUBLIC KEY.
172
+ optional(2, "content", type: :string, proto3_optional: false)
173
+ end
174
+
175
+ class SigningCertificate
176
+ extend Protobug::Message
177
+
178
+ self.full_name = "dev.sigstore.fulcio.v2.SigningCertificate"
179
+
180
+ optional(
181
+ 1,
182
+ "signed_certificate_detached_sct",
183
+ type: :message,
184
+ message_type:
185
+ "dev.sigstore.fulcio.v2.SigningCertificateDetachedSCT",
186
+ json_name: "signedCertificateDetachedSct",
187
+ oneof: :certificate,
188
+ proto3_optional: false
189
+ )
190
+ optional(
191
+ 2,
192
+ "signed_certificate_embedded_sct",
193
+ type: :message,
194
+ message_type:
195
+ "dev.sigstore.fulcio.v2.SigningCertificateEmbeddedSCT",
196
+ json_name: "signedCertificateEmbeddedSct",
197
+ oneof: :certificate,
198
+ proto3_optional: false
199
+ )
200
+ end
201
+
202
+ # (-- api-linter: core::0142::time-field-type=disabled
203
+ # aip.dev/not-precedent: SCT is defined in RFC6962 and we keep the name consistent for easier understanding. --)
204
+ class SigningCertificateDetachedSCT
205
+ extend Protobug::Message
206
+
207
+ self.full_name = "dev.sigstore.fulcio.v2.SigningCertificateDetachedSCT"
208
+
209
+ #
210
+ # The certificate chain serialized with the leaf certificate first, followed
211
+ # by all intermediate certificates (if present), finishing with the root certificate.
212
+ #
213
+ # All values are PEM-encoded certificates.
214
+ optional(
215
+ 1,
216
+ "chain",
217
+ type: :message,
218
+ message_type: "dev.sigstore.fulcio.v2.CertificateChain",
219
+ proto3_optional: false
220
+ )
221
+ #
222
+ # The Signed Certificate Timestamp (SCT) is a promise for including the certificate in
223
+ # a certificate transparency log. It can be "stapled" to verify the inclusion of
224
+ # a certificate in the log in an offline fashion.
225
+ #
226
+ # The SCT format is an AddChainResponse struct, defined in
227
+ # https://github.com/google/certificate-transparency-go
228
+ optional(
229
+ 2,
230
+ "signed_certificate_timestamp",
231
+ type: :bytes,
232
+ json_name: "signedCertificateTimestamp",
233
+ proto3_optional: false
234
+ )
235
+ end
236
+
237
+ class SigningCertificateEmbeddedSCT
238
+ extend Protobug::Message
239
+
240
+ self.full_name = "dev.sigstore.fulcio.v2.SigningCertificateEmbeddedSCT"
241
+
242
+ #
243
+ # The certificate chain serialized with the leaf certificate first, followed
244
+ # by all intermediate certificates (if present), finishing with the root certificate.
245
+ #
246
+ # All values are PEM-encoded certificates.
247
+ #
248
+ # The leaf certificate contains an embedded Signed Certificate Timestamp (SCT) to
249
+ # verify inclusion of the certificate in a log. The SCT format is a SignedCertificateTimestampList,
250
+ # as defined in https://datatracker.ietf.org/doc/html/rfc6962#section-3.3
251
+ optional(
252
+ 1,
253
+ "chain",
254
+ type: :message,
255
+ message_type: "dev.sigstore.fulcio.v2.CertificateChain",
256
+ proto3_optional: false
257
+ )
258
+ end
259
+
260
+ # This is created for forward compatibility in case we want to add fields to the TrustBundle service in the future
261
+ class GetTrustBundleRequest
262
+ extend Protobug::Message
263
+
264
+ self.full_name = "dev.sigstore.fulcio.v2.GetTrustBundleRequest"
265
+ end
266
+
267
+ class TrustBundle
268
+ extend Protobug::Message
269
+
270
+ self.full_name = "dev.sigstore.fulcio.v2.TrustBundle"
271
+
272
+ #
273
+ # The set of PEM-encoded certificate chains for this Fulcio instance; each chain will start with any
274
+ # intermediate certificates (if present), finishing with the root certificate.
275
+ repeated(
276
+ 1,
277
+ "chains",
278
+ type: :message,
279
+ message_type: "dev.sigstore.fulcio.v2.CertificateChain"
280
+ )
281
+ end
282
+
283
+ class CertificateChain
284
+ extend Protobug::Message
285
+
286
+ self.full_name = "dev.sigstore.fulcio.v2.CertificateChain"
287
+
288
+ #
289
+ # The PEM-encoded certificate chain, ordered from leaf to intermediate to root as applicable.
290
+ repeated(1, "certificates", type: :string)
291
+ end
292
+
293
+ class PublicKeyAlgorithm
294
+ extend Protobug::Enum
295
+
296
+ self.full_name = "dev.sigstore.fulcio.v2.PublicKeyAlgorithm"
297
+
298
+ PUBLIC_KEY_ALGORITHM_UNSPECIFIED = new(
299
+ "PUBLIC_KEY_ALGORITHM_UNSPECIFIED",
300
+ 0
301
+ ).freeze
302
+ RSA_PSS = new("RSA_PSS", 1).freeze
303
+ ECDSA = new("ECDSA", 2).freeze
304
+ ED25519 = new("ED25519", 3).freeze
305
+ end
306
+
307
+ # This is created for forward compatibility in case we want to add fields in the future.
308
+ class GetConfigurationRequest
309
+ extend Protobug::Message
310
+
311
+ self.full_name = "dev.sigstore.fulcio.v2.GetConfigurationRequest"
312
+ end
313
+
314
+ # The configuration for the Fulcio instance.
315
+ class Configuration
316
+ extend Protobug::Message
317
+
318
+ self.full_name = "dev.sigstore.fulcio.v2.Configuration"
319
+
320
+ # The OIDC issuers supported by this Fulcio instance.
321
+ repeated(
322
+ 1,
323
+ "issuers",
324
+ type: :message,
325
+ message_type: "dev.sigstore.fulcio.v2.OIDCIssuer"
326
+ )
327
+ end
328
+
329
+ # Metadata about an OIDC issuer.
330
+ class OIDCIssuer
331
+ extend Protobug::Message
332
+
333
+ self.full_name = "dev.sigstore.fulcio.v2.OIDCIssuer"
334
+
335
+ # The URL of the OIDC issuer.
336
+ optional(
337
+ 1,
338
+ "issuer_url",
339
+ type: :string,
340
+ json_name: "issuerUrl",
341
+ oneof: :issuer,
342
+ proto3_optional: false
343
+ )
344
+ # The URL of wildcard OIDC issuer, e.g. "https://oidc.eks.*.amazonaws.com/id/*".
345
+ # When comparing the issuer, the wildcards will be replaced by "[-_a-zA-Z0-9]+".
346
+ optional(
347
+ 2,
348
+ "wildcard_issuer_url",
349
+ type: :string,
350
+ json_name: "wildcardIssuerUrl",
351
+ oneof: :issuer,
352
+ proto3_optional: false
353
+ )
354
+ # The expected audience of the OIDC token for the issuer.
355
+ optional(3, "audience", type: :string, proto3_optional: false)
356
+ # The OIDC claim that must be signed for a proof of possession challenge.
357
+ optional(
358
+ 4,
359
+ "challenge_claim",
360
+ type: :string,
361
+ json_name: "challengeClaim",
362
+ proto3_optional: false
363
+ )
364
+ # The expected SPIFFE trust domain. Only present when the OIDC issuer issues tokens for SPIFFE identities.
365
+ optional(
366
+ 5,
367
+ "spiffe_trust_domain",
368
+ type: :string,
369
+ json_name: "spiffeTrustDomain",
370
+ proto3_optional: false
371
+ )
372
+ end
373
+
374
+ def self.register_fulcio_protos(registry)
375
+ Google::Api.register_annotations_protos(registry)
376
+ Google::Api.register_field_behavior_protos(registry)
377
+ Grpc::Gateway::ProtocGenOpenapiv2::Options.register_annotations_protos(
378
+ registry
379
+ )
380
+ registry.register(
381
+ Dev::Sigstore::Fulcio::V2::CreateSigningCertificateRequest
382
+ )
383
+ registry.register(Dev::Sigstore::Fulcio::V2::Credentials)
384
+ registry.register(Dev::Sigstore::Fulcio::V2::PublicKeyRequest)
385
+ registry.register(Dev::Sigstore::Fulcio::V2::PublicKey)
386
+ registry.register(Dev::Sigstore::Fulcio::V2::SigningCertificate)
387
+ registry.register(
388
+ Dev::Sigstore::Fulcio::V2::SigningCertificateDetachedSCT
389
+ )
390
+ registry.register(
391
+ Dev::Sigstore::Fulcio::V2::SigningCertificateEmbeddedSCT
392
+ )
393
+ registry.register(Dev::Sigstore::Fulcio::V2::GetTrustBundleRequest)
394
+ registry.register(Dev::Sigstore::Fulcio::V2::TrustBundle)
395
+ registry.register(Dev::Sigstore::Fulcio::V2::CertificateChain)
396
+ registry.register(Dev::Sigstore::Fulcio::V2::PublicKeyAlgorithm)
397
+ registry.register(Dev::Sigstore::Fulcio::V2::GetConfigurationRequest)
398
+ registry.register(Dev::Sigstore::Fulcio::V2::Configuration)
399
+ registry.register(Dev::Sigstore::Fulcio::V2::OIDCIssuer)
400
+ end
401
+ end
402
+ end
403
+ end
404
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "protobug"
4
+
5
+ require_relative "dev/sigstore/fulcio/v2/fulcio_pb"
metadata ADDED
@@ -0,0 +1,116 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: protobug_fulcio_protos
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Samuel Giddins
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-06-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: protobug
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.2.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.2.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: protobug_well_known_protos
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.2.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: protobug_googleapis_field_behavior_protos
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '='
46
+ - !ruby/object:Gem::Version
47
+ version: 0.2.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.2.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: protobug_googleapis_annotations_protos
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 0.2.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: protobug_protoc_gen_openapiv2_protos
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.2.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.2.0
83
+ description:
84
+ email:
85
+ - segiddins@segiddins.me
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - lib/dev/sigstore/fulcio/v2/fulcio_pb.rb
91
+ - lib/protobug_fulcio_protos.rb
92
+ homepage: https://github.com/segiddins/protobug/blob/v0.2.0/gen/protobug_fulcio_protos
93
+ licenses:
94
+ - Unlicense
95
+ metadata:
96
+ rubygems_mfa_required: 'true'
97
+ post_install_message:
98
+ rdoc_options: []
99
+ require_paths:
100
+ - lib
101
+ required_ruby_version: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: 3.0.0
106
+ required_rubygems_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ requirements: []
112
+ rubygems_version: 3.5.9
113
+ signing_key:
114
+ specification_version: 4
115
+ summary: Compiled protos for protobug from https://github.com/sigstore/fulcio (fulcio_protos)
116
+ test_files: []