google-cloud-security-private_ca-v1 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +169 -0
- data/LICENSE.md +201 -0
- data/README.md +139 -0
- data/lib/google-cloud-security-private_ca-v1.rb +21 -0
- data/lib/google/cloud/security/private_ca/v1.rb +40 -0
- data/lib/google/cloud/security/private_ca/v1/certificate_authority_service.rb +53 -0
- data/lib/google/cloud/security/private_ca/v1/certificate_authority_service/client.rb +2891 -0
- data/lib/google/cloud/security/private_ca/v1/certificate_authority_service/credentials.rb +53 -0
- data/lib/google/cloud/security/private_ca/v1/certificate_authority_service/operations.rb +657 -0
- data/lib/google/cloud/security/private_ca/v1/certificate_authority_service/paths.rb +155 -0
- data/lib/google/cloud/security/private_ca/v1/version.rb +30 -0
- data/lib/google/cloud/security/privateca/v1/resources_pb.rb +368 -0
- data/lib/google/cloud/security/privateca/v1/service_pb.rb +254 -0
- data/lib/google/cloud/security/privateca/v1/service_services_pb.rb +119 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/field_behavior.rb +65 -0
- data/proto_docs/google/api/resource.rb +283 -0
- data/proto_docs/google/cloud/security/privateca/v1/resources.rb +1188 -0
- data/proto_docs/google/cloud/security/privateca/v1/service.rb +934 -0
- data/proto_docs/google/longrunning/operations.rb +164 -0
- data/proto_docs/google/protobuf/any.rb +141 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +36 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +129 -0
- data/proto_docs/google/rpc/status.rb +46 -0
- data/proto_docs/google/type/expr.rb +75 -0
- metadata +221 -0
@@ -0,0 +1,1188 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2021 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 Cloud
|
22
|
+
module Security
|
23
|
+
module PrivateCA
|
24
|
+
module V1
|
25
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} represents an individual Certificate Authority.
|
26
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} can be used to create {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates}.
|
27
|
+
# @!attribute [r] name
|
28
|
+
# @return [::String]
|
29
|
+
# Output only. The resource name for this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} in the
|
30
|
+
# format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
|
31
|
+
# @!attribute [rw] type
|
32
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority::Type]
|
33
|
+
# Required. Immutable. The {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority::Type Type} of this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}.
|
34
|
+
# @!attribute [rw] config
|
35
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateConfig]
|
36
|
+
# Required. Immutable. The config used to create a self-signed X.509 certificate or CSR.
|
37
|
+
# @!attribute [rw] lifetime
|
38
|
+
# @return [::Google::Protobuf::Duration]
|
39
|
+
# Required. The desired lifetime of the CA certificate. Used to create the
|
40
|
+
# "not_before_time" and "not_after_time" fields inside an X.509
|
41
|
+
# certificate.
|
42
|
+
# @!attribute [rw] key_spec
|
43
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority::KeyVersionSpec]
|
44
|
+
# Required. Immutable. Used when issuing certificates for this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}. If this
|
45
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} is a self-signed CertificateAuthority, this key
|
46
|
+
# is also used to sign the self-signed CA certificate. Otherwise, it
|
47
|
+
# is used to sign a CSR.
|
48
|
+
# @!attribute [rw] subordinate_config
|
49
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::SubordinateConfig]
|
50
|
+
# Optional. If this is a subordinate {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}, this field will be set
|
51
|
+
# with the subordinate configuration, which describes its issuers. This may
|
52
|
+
# be updated, but this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} must continue to validate.
|
53
|
+
# @!attribute [r] tier
|
54
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CaPool::Tier]
|
55
|
+
# Output only. The {::Google::Cloud::Security::PrivateCA::V1::CaPool::Tier CaPool.Tier} of the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool} that includes this
|
56
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}.
|
57
|
+
# @!attribute [r] state
|
58
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority::State]
|
59
|
+
# Output only. The {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority::State State} for this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}.
|
60
|
+
# @!attribute [r] pem_ca_certificates
|
61
|
+
# @return [::Array<::String>]
|
62
|
+
# Output only. This {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}'s certificate chain, including the current
|
63
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}'s certificate. Ordered such that the root issuer
|
64
|
+
# is the final element (consistent with RFC 5246). For a self-signed CA, this
|
65
|
+
# will only list the current {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}'s certificate.
|
66
|
+
# @!attribute [r] ca_certificate_descriptions
|
67
|
+
# @return [::Array<::Google::Cloud::Security::PrivateCA::V1::CertificateDescription>]
|
68
|
+
# Output only. A structured description of this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}'s CA certificate
|
69
|
+
# and its issuers. Ordered as self-to-root.
|
70
|
+
# @!attribute [rw] gcs_bucket
|
71
|
+
# @return [::String]
|
72
|
+
# Immutable. The name of a Cloud Storage bucket where this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} will
|
73
|
+
# publish content, such as the CA certificate and CRLs. This must be a bucket
|
74
|
+
# name, without any prefixes (such as `gs://`) or suffixes (such as
|
75
|
+
# `.googleapis.com`). For example, to use a bucket named `my-bucket`, you
|
76
|
+
# would simply specify `my-bucket`. If not specified, a managed bucket will
|
77
|
+
# be created.
|
78
|
+
# @!attribute [r] access_urls
|
79
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority::AccessUrls]
|
80
|
+
# Output only. URLs for accessing content published by this CA, such as the CA certificate
|
81
|
+
# and CRLs.
|
82
|
+
# @!attribute [r] create_time
|
83
|
+
# @return [::Google::Protobuf::Timestamp]
|
84
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} was created.
|
85
|
+
# @!attribute [r] update_time
|
86
|
+
# @return [::Google::Protobuf::Timestamp]
|
87
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} was last updated.
|
88
|
+
# @!attribute [r] delete_time
|
89
|
+
# @return [::Google::Protobuf::Timestamp]
|
90
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} was soft deleted, if
|
91
|
+
# it is in the {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority::State::DELETED DELETED} state.
|
92
|
+
# @!attribute [r] expire_time
|
93
|
+
# @return [::Google::Protobuf::Timestamp]
|
94
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} will be permanently purged,
|
95
|
+
# if it is in the {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority::State::DELETED DELETED} state.
|
96
|
+
# @!attribute [rw] labels
|
97
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
98
|
+
# Optional. Labels with user-defined metadata.
|
99
|
+
class CertificateAuthority
|
100
|
+
include ::Google::Protobuf::MessageExts
|
101
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
102
|
+
|
103
|
+
# URLs where a {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} will publish content.
|
104
|
+
# @!attribute [rw] ca_certificate_access_url
|
105
|
+
# @return [::String]
|
106
|
+
# The URL where this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}'s CA certificate is
|
107
|
+
# published. This will only be set for CAs that have been activated.
|
108
|
+
# @!attribute [rw] crl_access_urls
|
109
|
+
# @return [::Array<::String>]
|
110
|
+
# The URLs where this {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}'s CRLs are published. This
|
111
|
+
# will only be set for CAs that have been activated.
|
112
|
+
class AccessUrls
|
113
|
+
include ::Google::Protobuf::MessageExts
|
114
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
115
|
+
end
|
116
|
+
|
117
|
+
# A Cloud KMS key configuration that a {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} will use.
|
118
|
+
# @!attribute [rw] cloud_kms_key_version
|
119
|
+
# @return [::String]
|
120
|
+
# The resource name for an existing Cloud KMS CryptoKeyVersion in the
|
121
|
+
# format
|
122
|
+
# `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
|
123
|
+
# This option enables full flexibility in the key's capabilities and
|
124
|
+
# properties.
|
125
|
+
# @!attribute [rw] algorithm
|
126
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority::SignHashAlgorithm]
|
127
|
+
# The algorithm to use for creating a managed Cloud KMS key for a for a
|
128
|
+
# simplified experience. All managed keys will be have their
|
129
|
+
# [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] as `HSM`.
|
130
|
+
class KeyVersionSpec
|
131
|
+
include ::Google::Protobuf::MessageExts
|
132
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
133
|
+
end
|
134
|
+
|
135
|
+
# @!attribute [rw] key
|
136
|
+
# @return [::String]
|
137
|
+
# @!attribute [rw] value
|
138
|
+
# @return [::String]
|
139
|
+
class LabelsEntry
|
140
|
+
include ::Google::Protobuf::MessageExts
|
141
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
142
|
+
end
|
143
|
+
|
144
|
+
# The type of a {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}, indicating its issuing chain.
|
145
|
+
module Type
|
146
|
+
# Not specified.
|
147
|
+
TYPE_UNSPECIFIED = 0
|
148
|
+
|
149
|
+
# Self-signed CA.
|
150
|
+
SELF_SIGNED = 1
|
151
|
+
|
152
|
+
# Subordinate CA. Could be issued by a Private CA {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}
|
153
|
+
# or an unmanaged CA.
|
154
|
+
SUBORDINATE = 2
|
155
|
+
end
|
156
|
+
|
157
|
+
# The state of a {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}, indicating if it can be used.
|
158
|
+
module State
|
159
|
+
# Not specified.
|
160
|
+
STATE_UNSPECIFIED = 0
|
161
|
+
|
162
|
+
# Certificates can be issued from this CA. CRLs will be generated for this
|
163
|
+
# CA. The CA will be part of the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}'s trust anchor, and will be
|
164
|
+
# used to issue certificates from the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
165
|
+
ENABLED = 1
|
166
|
+
|
167
|
+
# Certificates cannot be issued from this CA. CRLs will still be generated.
|
168
|
+
# The CA will be part of the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}'s trust anchor, but will not be
|
169
|
+
# used to issue certificates from the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
170
|
+
DISABLED = 2
|
171
|
+
|
172
|
+
# Certificates can be issued from this CA. CRLs will be generated for this
|
173
|
+
# CA. The CA will be part of the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}'s trust anchor, but will not
|
174
|
+
# be used to issue certificates from the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
175
|
+
STAGED = 3
|
176
|
+
|
177
|
+
# Certificates cannot be issued from this CA. CRLs will not be generated.
|
178
|
+
# The CA will not be part of the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}'s trust anchor, and will not be
|
179
|
+
# used to issue certificates from the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
180
|
+
AWAITING_USER_ACTIVATION = 4
|
181
|
+
|
182
|
+
# Certificates cannot be issued from this CA. CRLs will not be generated.
|
183
|
+
# The CA may still be recovered by calling
|
184
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthorityService::Client#undelete_certificate_authority CertificateAuthorityService.UndeleteCertificateAuthority} before
|
185
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority#expire_time expire_time}.
|
186
|
+
# The CA will not be part of the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}'s trust anchor, and will not be
|
187
|
+
# used to issue certificates from the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
188
|
+
DELETED = 5
|
189
|
+
end
|
190
|
+
|
191
|
+
# The algorithm of a Cloud KMS CryptoKeyVersion of a
|
192
|
+
# [CryptoKey][google.cloud.kms.v1.CryptoKey] with the
|
193
|
+
# [CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose] value
|
194
|
+
# `ASYMMETRIC_SIGN`. These values correspond to the
|
195
|
+
# [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
|
196
|
+
# values. For RSA signing algorithms, the PSS algorithms should be preferred,
|
197
|
+
# use PKCS1 algorithms if required for compatibility. For further
|
198
|
+
# recommandations, see
|
199
|
+
# https://cloud.google.com/kms/docs/algorithms#algorithm_recommendations.
|
200
|
+
module SignHashAlgorithm
|
201
|
+
# Not specified.
|
202
|
+
SIGN_HASH_ALGORITHM_UNSPECIFIED = 0
|
203
|
+
|
204
|
+
# maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_2048_SHA256
|
205
|
+
RSA_PSS_2048_SHA256 = 1
|
206
|
+
|
207
|
+
# maps to CryptoKeyVersionAlgorithm. RSA_SIGN_PSS_3072_SHA256
|
208
|
+
RSA_PSS_3072_SHA256 = 2
|
209
|
+
|
210
|
+
# maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_4096_SHA256
|
211
|
+
RSA_PSS_4096_SHA256 = 3
|
212
|
+
|
213
|
+
# maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_2048_SHA256
|
214
|
+
RSA_PKCS1_2048_SHA256 = 6
|
215
|
+
|
216
|
+
# maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_3072_SHA256
|
217
|
+
RSA_PKCS1_3072_SHA256 = 7
|
218
|
+
|
219
|
+
# maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_4096_SHA256
|
220
|
+
RSA_PKCS1_4096_SHA256 = 8
|
221
|
+
|
222
|
+
# maps to CryptoKeyVersionAlgorithm.EC_SIGN_P256_SHA256
|
223
|
+
EC_P256_SHA256 = 4
|
224
|
+
|
225
|
+
# maps to CryptoKeyVersionAlgorithm.EC_SIGN_P384_SHA384
|
226
|
+
EC_P384_SHA384 = 5
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool} represents a group of
|
231
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthorities} that form a trust anchor. A
|
232
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool} can be used to manage issuance policies for one or more
|
233
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} resources and to rotate CA certificates in and out
|
234
|
+
# of the trust anchor.
|
235
|
+
# @!attribute [r] name
|
236
|
+
# @return [::String]
|
237
|
+
# Output only. The resource name for this {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool} in the
|
238
|
+
# format `projects/*/locations/*/caPools/*`.
|
239
|
+
# @!attribute [rw] tier
|
240
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CaPool::Tier]
|
241
|
+
# Required. Immutable. The {::Google::Cloud::Security::PrivateCA::V1::CaPool::Tier Tier} of this {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
242
|
+
# @!attribute [rw] issuance_policy
|
243
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy]
|
244
|
+
# Optional. The {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy IssuancePolicy} to control how {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates}
|
245
|
+
# will be issued from this {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
246
|
+
# @!attribute [rw] publishing_options
|
247
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CaPool::PublishingOptions]
|
248
|
+
# Optional. The {::Google::Cloud::Security::PrivateCA::V1::CaPool::PublishingOptions PublishingOptions} to follow when issuing
|
249
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates} from any {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} in this
|
250
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
251
|
+
# @!attribute [rw] labels
|
252
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
253
|
+
# Optional. Labels with user-defined metadata.
|
254
|
+
class CaPool
|
255
|
+
include ::Google::Protobuf::MessageExts
|
256
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
257
|
+
|
258
|
+
# Options relating to the publication of each {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}'s CA
|
259
|
+
# certificate and CRLs and their inclusion as extensions in issued
|
260
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates}. The options set here apply to certificates
|
261
|
+
# issued by any {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} in the {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
262
|
+
# @!attribute [rw] publish_ca_cert
|
263
|
+
# @return [::Boolean]
|
264
|
+
# Required. When true, publishes each {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}'s CA certificate and
|
265
|
+
# includes its URL in the "Authority Information Access" X.509 extension
|
266
|
+
# in all issued {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates}. If this is false, the CA
|
267
|
+
# certificate will not be published and the corresponding X.509 extension
|
268
|
+
# will not be written in issued certificates.
|
269
|
+
# @!attribute [rw] publish_crl
|
270
|
+
# @return [::Boolean]
|
271
|
+
# Required. When true, publishes each {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}'s CRL and includes its
|
272
|
+
# URL in the "CRL Distribution Points" X.509 extension in all issued
|
273
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates}. If this is false, CRLs will not be published
|
274
|
+
# and the corresponding X.509 extension will not be written in issued
|
275
|
+
# certificates.
|
276
|
+
# CRLs will expire 7 days from their creation. However, we will rebuild
|
277
|
+
# daily. CRLs are also rebuilt shortly after a certificate is revoked.
|
278
|
+
class PublishingOptions
|
279
|
+
include ::Google::Protobuf::MessageExts
|
280
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
281
|
+
end
|
282
|
+
|
283
|
+
# Defines controls over all certificate issuance within a {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
284
|
+
# @!attribute [rw] allowed_key_types
|
285
|
+
# @return [::Array<::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy::AllowedKeyType>]
|
286
|
+
# Optional. If any {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy::AllowedKeyType AllowedKeyType} is specified, then the certificate request's
|
287
|
+
# public key must match one of the key types listed here. Otherwise,
|
288
|
+
# any key may be used.
|
289
|
+
# @!attribute [rw] maximum_lifetime
|
290
|
+
# @return [::Google::Protobuf::Duration]
|
291
|
+
# Optional. The maximum lifetime allowed for issued {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates}. Note
|
292
|
+
# that if the issuing {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} expires before a
|
293
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}'s requested maximum_lifetime, the effective lifetime will
|
294
|
+
# be explicitly truncated to match it.
|
295
|
+
# @!attribute [rw] allowed_issuance_modes
|
296
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy::IssuanceModes]
|
297
|
+
# Optional. If specified, then only methods allowed in the {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy::IssuanceModes IssuanceModes} may be
|
298
|
+
# used to issue {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates}.
|
299
|
+
# @!attribute [rw] baseline_values
|
300
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::X509Parameters]
|
301
|
+
# Optional. A set of X.509 values that will be applied to all certificates issued
|
302
|
+
# through this {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}. If a certificate request includes conflicting
|
303
|
+
# values for the same properties, they will be overwritten by the values
|
304
|
+
# defined here. If a certificate request uses a {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate CertificateTemplate}
|
305
|
+
# that defines conflicting
|
306
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate#predefined_values predefined_values} for the same
|
307
|
+
# properties, the certificate issuance request will fail.
|
308
|
+
# @!attribute [rw] identity_constraints
|
309
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateIdentityConstraints]
|
310
|
+
# Optional. Describes constraints on identities that may appear in
|
311
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates} issued through this {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
312
|
+
# If this is omitted, then this {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool} will not add restrictions on a
|
313
|
+
# certificate's identity.
|
314
|
+
# @!attribute [rw] passthrough_extensions
|
315
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateExtensionConstraints]
|
316
|
+
# Optional. Describes the set of X.509 extensions that may appear in a
|
317
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} issued through this {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}. If a certificate request
|
318
|
+
# sets extensions that don't appear in the {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy#passthrough_extensions passthrough_extensions},
|
319
|
+
# those extensions will be dropped. If a certificate request uses a
|
320
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate CertificateTemplate} with
|
321
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate#predefined_values predefined_values} that don't
|
322
|
+
# appear here, the certificate issuance request will fail. If this is
|
323
|
+
# omitted, then this {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool} will not add restrictions on a
|
324
|
+
# certificate's X.509 extensions. These constraints do not apply to X.509
|
325
|
+
# extensions set in this {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}'s {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy#baseline_values baseline_values}.
|
326
|
+
class IssuancePolicy
|
327
|
+
include ::Google::Protobuf::MessageExts
|
328
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
329
|
+
|
330
|
+
# Describes a "type" of key that may be used in a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} issued
|
331
|
+
# from a {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
332
|
+
# Note that a single {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy::AllowedKeyType AllowedKeyType} may refer to either a
|
333
|
+
# fully-qualified key algorithm, such as RSA 4096, or a family of key
|
334
|
+
# algorithms, such as any RSA key.
|
335
|
+
# @!attribute [rw] rsa
|
336
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy::AllowedKeyType::RsaKeyType]
|
337
|
+
# Represents an allowed RSA key type.
|
338
|
+
# @!attribute [rw] elliptic_curve
|
339
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy::AllowedKeyType::EcKeyType]
|
340
|
+
# Represents an allowed Elliptic Curve key type.
|
341
|
+
class AllowedKeyType
|
342
|
+
include ::Google::Protobuf::MessageExts
|
343
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
344
|
+
|
345
|
+
# Describes an RSA key that may be used in a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} issued from
|
346
|
+
# a {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
347
|
+
# @!attribute [rw] min_modulus_size
|
348
|
+
# @return [::Integer]
|
349
|
+
# Optional. The minimum allowed RSA modulus size, in bits. If this is not set,
|
350
|
+
# or if set to zero, the service-level min RSA modulus size will
|
351
|
+
# continue to apply.
|
352
|
+
# @!attribute [rw] max_modulus_size
|
353
|
+
# @return [::Integer]
|
354
|
+
# Optional. The maximum allowed RSA modulus size, in bits. If this is not set,
|
355
|
+
# or if set to zero, the service will not enforce an explicit upper
|
356
|
+
# bound on RSA modulus sizes.
|
357
|
+
class RsaKeyType
|
358
|
+
include ::Google::Protobuf::MessageExts
|
359
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
360
|
+
end
|
361
|
+
|
362
|
+
# Describes an Elliptic Curve key that may be used in a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}
|
363
|
+
# issued from a {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
364
|
+
# @!attribute [rw] signature_algorithm
|
365
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy::AllowedKeyType::EcKeyType::EcSignatureAlgorithm]
|
366
|
+
# Optional. A signature algorithm that must be used. If this is omitted, any
|
367
|
+
# EC-based signature algorithm will be allowed.
|
368
|
+
class EcKeyType
|
369
|
+
include ::Google::Protobuf::MessageExts
|
370
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
371
|
+
|
372
|
+
# Describes an elliptic curve-based signature algorithm that may be
|
373
|
+
# used in a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} issued from a {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
374
|
+
module EcSignatureAlgorithm
|
375
|
+
# Not specified. Signifies that any signature algorithm may be used.
|
376
|
+
EC_SIGNATURE_ALGORITHM_UNSPECIFIED = 0
|
377
|
+
|
378
|
+
# Refers to the Elliptic Curve Digital Signature Algorithm over the
|
379
|
+
# NIST P-256 curve.
|
380
|
+
ECDSA_P256 = 1
|
381
|
+
|
382
|
+
# Refers to the Elliptic Curve Digital Signature Algorithm over the
|
383
|
+
# NIST P-384 curve.
|
384
|
+
ECDSA_P384 = 2
|
385
|
+
|
386
|
+
# Refers to the Edwards-curve Digital Signature Algorithm over curve
|
387
|
+
# 25519, as described in RFC 8410.
|
388
|
+
EDDSA_25519 = 3
|
389
|
+
end
|
390
|
+
end
|
391
|
+
end
|
392
|
+
|
393
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy::IssuanceModes IssuanceModes} specifies the allowed ways in which
|
394
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates} may be requested from this
|
395
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}.
|
396
|
+
# @!attribute [rw] allow_csr_based_issuance
|
397
|
+
# @return [::Boolean]
|
398
|
+
# Required. When true, allows callers to create {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates} by
|
399
|
+
# specifying a CSR.
|
400
|
+
# @!attribute [rw] allow_config_based_issuance
|
401
|
+
# @return [::Boolean]
|
402
|
+
# Required. When true, allows callers to create {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates} by
|
403
|
+
# specifying a {::Google::Cloud::Security::PrivateCA::V1::CertificateConfig CertificateConfig}.
|
404
|
+
class IssuanceModes
|
405
|
+
include ::Google::Protobuf::MessageExts
|
406
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
407
|
+
end
|
408
|
+
end
|
409
|
+
|
410
|
+
# @!attribute [rw] key
|
411
|
+
# @return [::String]
|
412
|
+
# @!attribute [rw] value
|
413
|
+
# @return [::String]
|
414
|
+
class LabelsEntry
|
415
|
+
include ::Google::Protobuf::MessageExts
|
416
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
417
|
+
end
|
418
|
+
|
419
|
+
# The tier of a {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}, indicating its supported functionality and/or
|
420
|
+
# billing SKU.
|
421
|
+
module Tier
|
422
|
+
# Not specified.
|
423
|
+
TIER_UNSPECIFIED = 0
|
424
|
+
|
425
|
+
# Enterprise tier.
|
426
|
+
ENTERPRISE = 1
|
427
|
+
|
428
|
+
# DevOps tier.
|
429
|
+
DEVOPS = 2
|
430
|
+
end
|
431
|
+
end
|
432
|
+
|
433
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList CertificateRevocationList} corresponds to a signed X.509 certificate
|
434
|
+
# Revocation List (CRL). A CRL contains the serial numbers of certificates that
|
435
|
+
# should no longer be trusted.
|
436
|
+
# @!attribute [r] name
|
437
|
+
# @return [::String]
|
438
|
+
# Output only. The resource name for this {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList CertificateRevocationList} in
|
439
|
+
# the format
|
440
|
+
# `projects/*/locations/*/caPools/*certificateAuthorities/*/
|
441
|
+
# certificateRevocationLists/*`.
|
442
|
+
# @!attribute [r] sequence_number
|
443
|
+
# @return [::Integer]
|
444
|
+
# Output only. The CRL sequence number that appears in pem_crl.
|
445
|
+
# @!attribute [r] revoked_certificates
|
446
|
+
# @return [::Array<::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList::RevokedCertificate>]
|
447
|
+
# Output only. The revoked serial numbers that appear in pem_crl.
|
448
|
+
# @!attribute [r] pem_crl
|
449
|
+
# @return [::String]
|
450
|
+
# Output only. The PEM-encoded X.509 CRL.
|
451
|
+
# @!attribute [r] access_url
|
452
|
+
# @return [::String]
|
453
|
+
# Output only. The location where 'pem_crl' can be accessed.
|
454
|
+
# @!attribute [r] state
|
455
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList::State]
|
456
|
+
# Output only. The {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList::State State} for this {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList CertificateRevocationList}.
|
457
|
+
# @!attribute [r] create_time
|
458
|
+
# @return [::Google::Protobuf::Timestamp]
|
459
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList CertificateRevocationList} was created.
|
460
|
+
# @!attribute [r] update_time
|
461
|
+
# @return [::Google::Protobuf::Timestamp]
|
462
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList CertificateRevocationList} was updated.
|
463
|
+
# @!attribute [r] revision_id
|
464
|
+
# @return [::String]
|
465
|
+
# Output only. The revision ID of this {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList CertificateRevocationList}. A new revision is
|
466
|
+
# committed whenever a new CRL is published. The format is an 8-character
|
467
|
+
# hexadecimal string.
|
468
|
+
# @!attribute [rw] labels
|
469
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
470
|
+
# Optional. Labels with user-defined metadata.
|
471
|
+
class CertificateRevocationList
|
472
|
+
include ::Google::Protobuf::MessageExts
|
473
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
474
|
+
|
475
|
+
# Describes a revoked {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}.
|
476
|
+
# @!attribute [rw] certificate
|
477
|
+
# @return [::String]
|
478
|
+
# The resource name for the {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} in the format
|
479
|
+
# `projects/*/locations/*/caPools/*/certificates/*`.
|
480
|
+
# @!attribute [rw] hex_serial_number
|
481
|
+
# @return [::String]
|
482
|
+
# The serial number of the {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}.
|
483
|
+
# @!attribute [rw] revocation_reason
|
484
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::RevocationReason]
|
485
|
+
# The reason the {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} was revoked.
|
486
|
+
class RevokedCertificate
|
487
|
+
include ::Google::Protobuf::MessageExts
|
488
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
489
|
+
end
|
490
|
+
|
491
|
+
# @!attribute [rw] key
|
492
|
+
# @return [::String]
|
493
|
+
# @!attribute [rw] value
|
494
|
+
# @return [::String]
|
495
|
+
class LabelsEntry
|
496
|
+
include ::Google::Protobuf::MessageExts
|
497
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
498
|
+
end
|
499
|
+
|
500
|
+
# The state of a {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList CertificateRevocationList}, indicating if it is current.
|
501
|
+
module State
|
502
|
+
# Not specified.
|
503
|
+
STATE_UNSPECIFIED = 0
|
504
|
+
|
505
|
+
# The {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList CertificateRevocationList} is up to date.
|
506
|
+
ACTIVE = 1
|
507
|
+
|
508
|
+
# The {::Google::Cloud::Security::PrivateCA::V1::CertificateRevocationList CertificateRevocationList} is no longer current.
|
509
|
+
SUPERSEDED = 2
|
510
|
+
end
|
511
|
+
end
|
512
|
+
|
513
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} corresponds to a signed X.509 certificate issued by a
|
514
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}.
|
515
|
+
# @!attribute [r] name
|
516
|
+
# @return [::String]
|
517
|
+
# Output only. The resource name for this {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} in the format
|
518
|
+
# `projects/*/locations/*/caPools/*/certificates/*`.
|
519
|
+
# @!attribute [rw] pem_csr
|
520
|
+
# @return [::String]
|
521
|
+
# Immutable. A pem-encoded X.509 certificate signing request (CSR).
|
522
|
+
# @!attribute [rw] config
|
523
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateConfig]
|
524
|
+
# Immutable. A description of the certificate and key that does not require X.509 or
|
525
|
+
# ASN.1.
|
526
|
+
# @!attribute [r] issuer_certificate_authority
|
527
|
+
# @return [::String]
|
528
|
+
# Output only. The resource name of the issuing {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} in the format
|
529
|
+
# `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
|
530
|
+
# @!attribute [rw] lifetime
|
531
|
+
# @return [::Google::Protobuf::Duration]
|
532
|
+
# Required. Immutable. The desired lifetime of a certificate. Used to create the
|
533
|
+
# "not_before_time" and "not_after_time" fields inside an X.509
|
534
|
+
# certificate. Note that the lifetime may be truncated if it would extend
|
535
|
+
# past the life of any certificate authority in the issuing chain.
|
536
|
+
# @!attribute [rw] certificate_template
|
537
|
+
# @return [::String]
|
538
|
+
# Immutable. The resource name for a {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate CertificateTemplate} used to issue this
|
539
|
+
# certificate, in the format
|
540
|
+
# `projects/*/locations/*/certificateTemplates/*`.
|
541
|
+
# If this is specified, the caller must have the necessary permission to
|
542
|
+
# use this template. If this is omitted, no template will be used.
|
543
|
+
# This template must be in the same location as the {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}.
|
544
|
+
# @!attribute [rw] subject_mode
|
545
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::SubjectRequestMode]
|
546
|
+
# Immutable. Specifies how the {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}'s identity fields are to be decided.
|
547
|
+
# If this is omitted, the `DEFAULT` subject mode will be used.
|
548
|
+
# @!attribute [r] revocation_details
|
549
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::Certificate::RevocationDetails]
|
550
|
+
# Output only. Details regarding the revocation of this {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}. This
|
551
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} is considered revoked if and only if this field is present.
|
552
|
+
# @!attribute [r] pem_certificate
|
553
|
+
# @return [::String]
|
554
|
+
# Output only. The pem-encoded, signed X.509 certificate.
|
555
|
+
# @!attribute [r] certificate_description
|
556
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateDescription]
|
557
|
+
# Output only. A structured description of the issued X.509 certificate.
|
558
|
+
# @!attribute [r] pem_certificate_chain
|
559
|
+
# @return [::Array<::String>]
|
560
|
+
# Output only. The chain that may be used to verify the X.509 certificate. Expected to be
|
561
|
+
# in issuer-to-root order according to RFC 5246.
|
562
|
+
# @!attribute [r] create_time
|
563
|
+
# @return [::Google::Protobuf::Timestamp]
|
564
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} was created.
|
565
|
+
# @!attribute [r] update_time
|
566
|
+
# @return [::Google::Protobuf::Timestamp]
|
567
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} was updated.
|
568
|
+
# @!attribute [rw] labels
|
569
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
570
|
+
# Optional. Labels with user-defined metadata.
|
571
|
+
class Certificate
|
572
|
+
include ::Google::Protobuf::MessageExts
|
573
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
574
|
+
|
575
|
+
# Describes fields that are relavent to the revocation of a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}.
|
576
|
+
# @!attribute [rw] revocation_state
|
577
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::RevocationReason]
|
578
|
+
# Indicates why a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} was revoked.
|
579
|
+
# @!attribute [rw] revocation_time
|
580
|
+
# @return [::Google::Protobuf::Timestamp]
|
581
|
+
# The time at which this {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} was revoked.
|
582
|
+
class RevocationDetails
|
583
|
+
include ::Google::Protobuf::MessageExts
|
584
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
585
|
+
end
|
586
|
+
|
587
|
+
# @!attribute [rw] key
|
588
|
+
# @return [::String]
|
589
|
+
# @!attribute [rw] value
|
590
|
+
# @return [::String]
|
591
|
+
class LabelsEntry
|
592
|
+
include ::Google::Protobuf::MessageExts
|
593
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
594
|
+
end
|
595
|
+
end
|
596
|
+
|
597
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate CertificateTemplate} refers to a managed template for certificate
|
598
|
+
# issuance.
|
599
|
+
# @!attribute [r] name
|
600
|
+
# @return [::String]
|
601
|
+
# Output only. The resource name for this {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate CertificateTemplate} in the format
|
602
|
+
# `projects/*/locations/*/certificateTemplates/*`.
|
603
|
+
# @!attribute [rw] predefined_values
|
604
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::X509Parameters]
|
605
|
+
# Optional. A set of X.509 values that will be applied to all issued certificates that
|
606
|
+
# use this template. If the certificate request includes conflicting values
|
607
|
+
# for the same properties, they will be overwritten by the values defined
|
608
|
+
# here. If the issuing {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}'s {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy IssuancePolicy}
|
609
|
+
# defines conflicting
|
610
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy#baseline_values baseline_values} for the same
|
611
|
+
# properties, the certificate issuance request will fail.
|
612
|
+
# @!attribute [rw] identity_constraints
|
613
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateIdentityConstraints]
|
614
|
+
# Optional. Describes constraints on identities that may be appear in
|
615
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates} issued using this template. If this is omitted,
|
616
|
+
# then this template will not add restrictions on a certificate's identity.
|
617
|
+
# @!attribute [rw] passthrough_extensions
|
618
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateExtensionConstraints]
|
619
|
+
# Optional. Describes the set of X.509 extensions that may appear in a
|
620
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} issued using this {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate CertificateTemplate}. If a certificate
|
621
|
+
# request sets extensions that don't appear in the
|
622
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate#passthrough_extensions passthrough_extensions}, those extensions will be dropped. If the
|
623
|
+
# issuing {::Google::Cloud::Security::PrivateCA::V1::CaPool CaPool}'s {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy IssuancePolicy} defines
|
624
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CaPool::IssuancePolicy#baseline_values baseline_values} that don't appear
|
625
|
+
# here, the certificate issuance request will fail. If this is omitted, then
|
626
|
+
# this template will not add restrictions on a certificate's X.509
|
627
|
+
# extensions. These constraints do not apply to X.509 extensions set in this
|
628
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate CertificateTemplate}'s {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate#predefined_values predefined_values}.
|
629
|
+
# @!attribute [rw] description
|
630
|
+
# @return [::String]
|
631
|
+
# Optional. A human-readable description of scenarios this template is intended for.
|
632
|
+
# @!attribute [r] create_time
|
633
|
+
# @return [::Google::Protobuf::Timestamp]
|
634
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate CertificateTemplate} was created.
|
635
|
+
# @!attribute [r] update_time
|
636
|
+
# @return [::Google::Protobuf::Timestamp]
|
637
|
+
# Output only. The time at which this {::Google::Cloud::Security::PrivateCA::V1::CertificateTemplate CertificateTemplate} was updated.
|
638
|
+
# @!attribute [rw] labels
|
639
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
640
|
+
# Optional. Labels with user-defined metadata.
|
641
|
+
class CertificateTemplate
|
642
|
+
include ::Google::Protobuf::MessageExts
|
643
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
644
|
+
|
645
|
+
# @!attribute [rw] key
|
646
|
+
# @return [::String]
|
647
|
+
# @!attribute [rw] value
|
648
|
+
# @return [::String]
|
649
|
+
class LabelsEntry
|
650
|
+
include ::Google::Protobuf::MessageExts
|
651
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
652
|
+
end
|
653
|
+
end
|
654
|
+
|
655
|
+
# An {::Google::Cloud::Security::PrivateCA::V1::X509Parameters X509Parameters} is used to describe certain fields of an
|
656
|
+
# X.509 certificate, such as the key usage fields, fields specific to CA
|
657
|
+
# certificates, certificate policy extensions and custom extensions.
|
658
|
+
# @!attribute [rw] key_usage
|
659
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::KeyUsage]
|
660
|
+
# Optional. Indicates the intended use for keys that correspond to a certificate.
|
661
|
+
# @!attribute [rw] ca_options
|
662
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::X509Parameters::CaOptions]
|
663
|
+
# Optional. Describes options in this {::Google::Cloud::Security::PrivateCA::V1::X509Parameters X509Parameters} that are relevant in a CA
|
664
|
+
# certificate.
|
665
|
+
# @!attribute [rw] policy_ids
|
666
|
+
# @return [::Array<::Google::Cloud::Security::PrivateCA::V1::ObjectId>]
|
667
|
+
# Optional. Describes the X.509 certificate policy object identifiers, per
|
668
|
+
# https://tools.ietf.org/html/rfc5280#section-4.2.1.4.
|
669
|
+
# @!attribute [rw] aia_ocsp_servers
|
670
|
+
# @return [::Array<::String>]
|
671
|
+
# Optional. Describes Online Certificate Status Protocol (OCSP) endpoint addresses
|
672
|
+
# that appear in the "Authority Information Access" extension in the
|
673
|
+
# certificate.
|
674
|
+
# @!attribute [rw] additional_extensions
|
675
|
+
# @return [::Array<::Google::Cloud::Security::PrivateCA::V1::X509Extension>]
|
676
|
+
# Optional. Describes custom X.509 extensions.
|
677
|
+
class X509Parameters
|
678
|
+
include ::Google::Protobuf::MessageExts
|
679
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
680
|
+
|
681
|
+
# Describes values that are relevant in a CA certificate.
|
682
|
+
# @!attribute [rw] is_ca
|
683
|
+
# @return [::Boolean]
|
684
|
+
# Optional. Refers to the "CA" X.509 extension, which is a boolean value. When this
|
685
|
+
# value is missing, the extension will be omitted from the CA certificate.
|
686
|
+
# @!attribute [rw] max_issuer_path_length
|
687
|
+
# @return [::Integer]
|
688
|
+
# Optional. Refers to the path length restriction X.509 extension. For a CA
|
689
|
+
# certificate, this value describes the depth of subordinate CA
|
690
|
+
# certificates that are allowed.
|
691
|
+
# If this value is less than 0, the request will fail.
|
692
|
+
# If this value is missing, the max path length will be omitted from the
|
693
|
+
# CA certificate.
|
694
|
+
class CaOptions
|
695
|
+
include ::Google::Protobuf::MessageExts
|
696
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
697
|
+
end
|
698
|
+
end
|
699
|
+
|
700
|
+
# Describes a subordinate CA's issuers. This is either a resource name to a
|
701
|
+
# known issuing {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}, or a PEM issuer certificate chain.
|
702
|
+
# @!attribute [rw] certificate_authority
|
703
|
+
# @return [::String]
|
704
|
+
# Required. This can refer to a {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} in the same project that
|
705
|
+
# was used to create a subordinate {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}. This field
|
706
|
+
# is used for information and usability purposes only. The resource name
|
707
|
+
# is in the format
|
708
|
+
# `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
|
709
|
+
# @!attribute [rw] pem_issuer_chain
|
710
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::SubordinateConfig::SubordinateConfigChain]
|
711
|
+
# Required. Contains the PEM certificate chain for the issuers of this
|
712
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority}, but not pem certificate for this CA itself.
|
713
|
+
class SubordinateConfig
|
714
|
+
include ::Google::Protobuf::MessageExts
|
715
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
716
|
+
|
717
|
+
# This message describes a subordinate CA's issuer certificate chain. This
|
718
|
+
# wrapper exists for compatibility reasons.
|
719
|
+
# @!attribute [rw] pem_certificates
|
720
|
+
# @return [::Array<::String>]
|
721
|
+
# Required. Expected to be in leaf-to-root order according to RFC 5246.
|
722
|
+
class SubordinateConfigChain
|
723
|
+
include ::Google::Protobuf::MessageExts
|
724
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
725
|
+
end
|
726
|
+
end
|
727
|
+
|
728
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::PublicKey PublicKey} describes a public key.
|
729
|
+
# @!attribute [rw] key
|
730
|
+
# @return [::String]
|
731
|
+
# Required. A public key. The padding and encoding
|
732
|
+
# must match with the `KeyFormat` value specified for the `format` field.
|
733
|
+
# @!attribute [rw] format
|
734
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::PublicKey::KeyFormat]
|
735
|
+
# Required. The format of the public key.
|
736
|
+
class PublicKey
|
737
|
+
include ::Google::Protobuf::MessageExts
|
738
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
739
|
+
|
740
|
+
# Types of public keys formats that are supported. Currently, only `PEM`
|
741
|
+
# format is supported.
|
742
|
+
module KeyFormat
|
743
|
+
# Default unspecified value.
|
744
|
+
KEY_FORMAT_UNSPECIFIED = 0
|
745
|
+
|
746
|
+
# The key is PEM-encoded as defined in [RFC
|
747
|
+
# 7468](https://tools.ietf.org/html/rfc7468). It can be any of the
|
748
|
+
# following: a PEM-encoded PKCS#1/RFC 3447 RSAPublicKey
|
749
|
+
# structure, an RFC 5280
|
750
|
+
# [SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1)
|
751
|
+
# or a PEM-encoded X.509 certificate signing request (CSR). If a
|
752
|
+
# [SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1)
|
753
|
+
# is specified, it can contain a A PEM-encoded PKCS#1/RFC 3447 RSAPublicKey
|
754
|
+
# or a NIST P-256/secp256r1/prime256v1 or P-384 key. If a CSR is specified,
|
755
|
+
# it will used solely for the purpose of extracting the public key. When
|
756
|
+
# generated by the service, it will always be an RFC 5280
|
757
|
+
# [SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1)
|
758
|
+
# structure containing an algorithm identifier and a key.
|
759
|
+
PEM = 1
|
760
|
+
end
|
761
|
+
end
|
762
|
+
|
763
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::CertificateConfig CertificateConfig} describes an X.509 certificate or CSR that is to be
|
764
|
+
# created, as an alternative to using ASN.1.
|
765
|
+
# @!attribute [rw] subject_config
|
766
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateConfig::SubjectConfig]
|
767
|
+
# Required. Specifies some of the values in a certificate that are related to the
|
768
|
+
# subject.
|
769
|
+
# @!attribute [rw] x509_config
|
770
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::X509Parameters]
|
771
|
+
# Required. Describes how some of the technical X.509 fields in a certificate should be
|
772
|
+
# populated.
|
773
|
+
# @!attribute [rw] public_key
|
774
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::PublicKey]
|
775
|
+
# Optional. The public key that corresponds to this config. This is, for example, used
|
776
|
+
# when issuing {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificates}, but not when creating a
|
777
|
+
# self-signed {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} or {::Google::Cloud::Security::PrivateCA::V1::CertificateAuthority CertificateAuthority} CSR.
|
778
|
+
class CertificateConfig
|
779
|
+
include ::Google::Protobuf::MessageExts
|
780
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
781
|
+
|
782
|
+
# These values are used to create the distinguished name and subject
|
783
|
+
# alternative name fields in an X.509 certificate.
|
784
|
+
# @!attribute [rw] subject
|
785
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::Subject]
|
786
|
+
# Required. Contains distinguished name fields such as the common name, location and
|
787
|
+
# organization.
|
788
|
+
# @!attribute [rw] subject_alt_name
|
789
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames]
|
790
|
+
# Optional. The subject alternative name fields.
|
791
|
+
class SubjectConfig
|
792
|
+
include ::Google::Protobuf::MessageExts
|
793
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
794
|
+
end
|
795
|
+
end
|
796
|
+
|
797
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::CertificateDescription CertificateDescription} describes an X.509 certificate or CSR that has
|
798
|
+
# been issued, as an alternative to using ASN.1 / X.509.
|
799
|
+
# @!attribute [rw] subject_description
|
800
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateDescription::SubjectDescription]
|
801
|
+
# Describes some of the values in a certificate that are related to the
|
802
|
+
# subject and lifetime.
|
803
|
+
# @!attribute [rw] x509_description
|
804
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::X509Parameters]
|
805
|
+
# Describes some of the technical X.509 fields in a certificate.
|
806
|
+
# @!attribute [rw] public_key
|
807
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::PublicKey]
|
808
|
+
# The public key that corresponds to an issued certificate.
|
809
|
+
# @!attribute [rw] subject_key_id
|
810
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateDescription::KeyId]
|
811
|
+
# Provides a means of identifiying certificates that contain a particular
|
812
|
+
# public key, per https://tools.ietf.org/html/rfc5280#section-4.2.1.2.
|
813
|
+
# @!attribute [rw] authority_key_id
|
814
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateDescription::KeyId]
|
815
|
+
# Identifies the subject_key_id of the parent certificate, per
|
816
|
+
# https://tools.ietf.org/html/rfc5280#section-4.2.1.1
|
817
|
+
# @!attribute [rw] crl_distribution_points
|
818
|
+
# @return [::Array<::String>]
|
819
|
+
# Describes a list of locations to obtain CRL information, i.e.
|
820
|
+
# the DistributionPoint.fullName described by
|
821
|
+
# https://tools.ietf.org/html/rfc5280#section-4.2.1.13
|
822
|
+
# @!attribute [rw] aia_issuing_certificate_urls
|
823
|
+
# @return [::Array<::String>]
|
824
|
+
# Describes lists of issuer CA certificate URLs that appear in the
|
825
|
+
# "Authority Information Access" extension in the certificate.
|
826
|
+
# @!attribute [rw] cert_fingerprint
|
827
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::CertificateDescription::CertificateFingerprint]
|
828
|
+
# The hash of the x.509 certificate.
|
829
|
+
class CertificateDescription
|
830
|
+
include ::Google::Protobuf::MessageExts
|
831
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
832
|
+
|
833
|
+
# These values describe fields in an issued X.509 certificate such as the
|
834
|
+
# distinguished name, subject alternative names, serial number, and lifetime.
|
835
|
+
# @!attribute [rw] subject
|
836
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::Subject]
|
837
|
+
# Contains distinguished name fields such as the common name, location and
|
838
|
+
# / organization.
|
839
|
+
# @!attribute [rw] subject_alt_name
|
840
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames]
|
841
|
+
# The subject alternative name fields.
|
842
|
+
# @!attribute [rw] hex_serial_number
|
843
|
+
# @return [::String]
|
844
|
+
# The serial number encoded in lowercase hexadecimal.
|
845
|
+
# @!attribute [rw] lifetime
|
846
|
+
# @return [::Google::Protobuf::Duration]
|
847
|
+
# For convenience, the actual lifetime of an issued certificate.
|
848
|
+
# Corresponds to 'not_after_time' - 'not_before_time'.
|
849
|
+
# @!attribute [rw] not_before_time
|
850
|
+
# @return [::Google::Protobuf::Timestamp]
|
851
|
+
# The time at which the certificate becomes valid.
|
852
|
+
# @!attribute [rw] not_after_time
|
853
|
+
# @return [::Google::Protobuf::Timestamp]
|
854
|
+
# The time at which the certificate expires.
|
855
|
+
class SubjectDescription
|
856
|
+
include ::Google::Protobuf::MessageExts
|
857
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
858
|
+
end
|
859
|
+
|
860
|
+
# A KeyId identifies a specific public key, usually by hashing the public
|
861
|
+
# key.
|
862
|
+
# @!attribute [rw] key_id
|
863
|
+
# @return [::String]
|
864
|
+
# Optional. The value of this KeyId encoded in lowercase hexadecimal. This is most
|
865
|
+
# likely the 160 bit SHA-1 hash of the public key.
|
866
|
+
class KeyId
|
867
|
+
include ::Google::Protobuf::MessageExts
|
868
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
869
|
+
end
|
870
|
+
|
871
|
+
# A group of fingerprints for the x509 certificate.
|
872
|
+
# @!attribute [rw] sha256_hash
|
873
|
+
# @return [::String]
|
874
|
+
# The SHA 256 hash, encoded in hexadecimal, of the DER x509 certificate.
|
875
|
+
class CertificateFingerprint
|
876
|
+
include ::Google::Protobuf::MessageExts
|
877
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
878
|
+
end
|
879
|
+
end
|
880
|
+
|
881
|
+
# An {::Google::Cloud::Security::PrivateCA::V1::ObjectId ObjectId} specifies an object identifier (OID). These provide context
|
882
|
+
# and describe types in ASN.1 messages.
|
883
|
+
# @!attribute [rw] object_id_path
|
884
|
+
# @return [::Array<::Integer>]
|
885
|
+
# Required. The parts of an OID path. The most significant parts of the path come
|
886
|
+
# first.
|
887
|
+
class ObjectId
|
888
|
+
include ::Google::Protobuf::MessageExts
|
889
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
890
|
+
end
|
891
|
+
|
892
|
+
# An {::Google::Cloud::Security::PrivateCA::V1::X509Extension X509Extension} specifies an X.509 extension, which may be used in
|
893
|
+
# different parts of X.509 objects like certificates, CSRs, and CRLs.
|
894
|
+
# @!attribute [rw] object_id
|
895
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::ObjectId]
|
896
|
+
# Required. The OID for this X.509 extension.
|
897
|
+
# @!attribute [rw] critical
|
898
|
+
# @return [::Boolean]
|
899
|
+
# Required. Indicates whether or not this extension is critical (i.e., if the client
|
900
|
+
# does not know how to handle this extension, the client should consider this
|
901
|
+
# to be an error).
|
902
|
+
# @!attribute [rw] value
|
903
|
+
# @return [::String]
|
904
|
+
# Required. The value of this X.509 extension.
|
905
|
+
class X509Extension
|
906
|
+
include ::Google::Protobuf::MessageExts
|
907
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
908
|
+
end
|
909
|
+
|
910
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::KeyUsage KeyUsage} describes key usage values that may appear in an X.509
|
911
|
+
# certificate.
|
912
|
+
# @!attribute [rw] base_key_usage
|
913
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::KeyUsage::KeyUsageOptions]
|
914
|
+
# Describes high-level ways in which a key may be used.
|
915
|
+
# @!attribute [rw] extended_key_usage
|
916
|
+
# @return [::Google::Cloud::Security::PrivateCA::V1::KeyUsage::ExtendedKeyUsageOptions]
|
917
|
+
# Detailed scenarios in which a key may be used.
|
918
|
+
# @!attribute [rw] unknown_extended_key_usages
|
919
|
+
# @return [::Array<::Google::Cloud::Security::PrivateCA::V1::ObjectId>]
|
920
|
+
# Used to describe extended key usages that are not listed in the
|
921
|
+
# {::Google::Cloud::Security::PrivateCA::V1::KeyUsage::ExtendedKeyUsageOptions KeyUsage.ExtendedKeyUsageOptions} message.
|
922
|
+
class KeyUsage
|
923
|
+
include ::Google::Protobuf::MessageExts
|
924
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
925
|
+
|
926
|
+
# {::Google::Cloud::Security::PrivateCA::V1::KeyUsage::KeyUsageOptions KeyUsage.KeyUsageOptions} corresponds to the key usage values
|
927
|
+
# described in https://tools.ietf.org/html/rfc5280#section-4.2.1.3.
|
928
|
+
# @!attribute [rw] digital_signature
|
929
|
+
# @return [::Boolean]
|
930
|
+
# The key may be used for digital signatures.
|
931
|
+
# @!attribute [rw] content_commitment
|
932
|
+
# @return [::Boolean]
|
933
|
+
# The key may be used for cryptographic commitments. Note that this may
|
934
|
+
# also be referred to as "non-repudiation".
|
935
|
+
# @!attribute [rw] key_encipherment
|
936
|
+
# @return [::Boolean]
|
937
|
+
# The key may be used to encipher other keys.
|
938
|
+
# @!attribute [rw] data_encipherment
|
939
|
+
# @return [::Boolean]
|
940
|
+
# The key may be used to encipher data.
|
941
|
+
# @!attribute [rw] key_agreement
|
942
|
+
# @return [::Boolean]
|
943
|
+
# The key may be used in a key agreement protocol.
|
944
|
+
# @!attribute [rw] cert_sign
|
945
|
+
# @return [::Boolean]
|
946
|
+
# The key may be used to sign certificates.
|
947
|
+
# @!attribute [rw] crl_sign
|
948
|
+
# @return [::Boolean]
|
949
|
+
# The key may be used sign certificate revocation lists.
|
950
|
+
# @!attribute [rw] encipher_only
|
951
|
+
# @return [::Boolean]
|
952
|
+
# The key may be used to encipher only.
|
953
|
+
# @!attribute [rw] decipher_only
|
954
|
+
# @return [::Boolean]
|
955
|
+
# The key may be used to decipher only.
|
956
|
+
class KeyUsageOptions
|
957
|
+
include ::Google::Protobuf::MessageExts
|
958
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
959
|
+
end
|
960
|
+
|
961
|
+
# {::Google::Cloud::Security::PrivateCA::V1::KeyUsage::ExtendedKeyUsageOptions KeyUsage.ExtendedKeyUsageOptions} has fields that correspond to
|
962
|
+
# certain common OIDs that could be specified as an extended key usage value.
|
963
|
+
# @!attribute [rw] server_auth
|
964
|
+
# @return [::Boolean]
|
965
|
+
# Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW
|
966
|
+
# server authentication", though regularly used for non-WWW TLS.
|
967
|
+
# @!attribute [rw] client_auth
|
968
|
+
# @return [::Boolean]
|
969
|
+
# Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW
|
970
|
+
# client authentication", though regularly used for non-WWW TLS.
|
971
|
+
# @!attribute [rw] code_signing
|
972
|
+
# @return [::Boolean]
|
973
|
+
# Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of
|
974
|
+
# downloadable executable code client authentication".
|
975
|
+
# @!attribute [rw] email_protection
|
976
|
+
# @return [::Boolean]
|
977
|
+
# Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email
|
978
|
+
# protection".
|
979
|
+
# @!attribute [rw] time_stamping
|
980
|
+
# @return [::Boolean]
|
981
|
+
# Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding
|
982
|
+
# the hash of an object to a time".
|
983
|
+
# @!attribute [rw] ocsp_signing
|
984
|
+
# @return [::Boolean]
|
985
|
+
# Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing
|
986
|
+
# OCSP responses".
|
987
|
+
class ExtendedKeyUsageOptions
|
988
|
+
include ::Google::Protobuf::MessageExts
|
989
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
990
|
+
end
|
991
|
+
end
|
992
|
+
|
993
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Subject Subject} describes parts of a distinguished name that, in turn,
|
994
|
+
# describes the subject of the certificate.
|
995
|
+
# @!attribute [rw] common_name
|
996
|
+
# @return [::String]
|
997
|
+
# The "common name" of the subject.
|
998
|
+
# @!attribute [rw] country_code
|
999
|
+
# @return [::String]
|
1000
|
+
# The country code of the subject.
|
1001
|
+
# @!attribute [rw] organization
|
1002
|
+
# @return [::String]
|
1003
|
+
# The organization of the subject.
|
1004
|
+
# @!attribute [rw] organizational_unit
|
1005
|
+
# @return [::String]
|
1006
|
+
# The organizational_unit of the subject.
|
1007
|
+
# @!attribute [rw] locality
|
1008
|
+
# @return [::String]
|
1009
|
+
# The locality or city of the subject.
|
1010
|
+
# @!attribute [rw] province
|
1011
|
+
# @return [::String]
|
1012
|
+
# The province, territory, or regional state of the subject.
|
1013
|
+
# @!attribute [rw] street_address
|
1014
|
+
# @return [::String]
|
1015
|
+
# The street address of the subject.
|
1016
|
+
# @!attribute [rw] postal_code
|
1017
|
+
# @return [::String]
|
1018
|
+
# The postal code of the subject.
|
1019
|
+
class Subject
|
1020
|
+
include ::Google::Protobuf::MessageExts
|
1021
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1022
|
+
end
|
1023
|
+
|
1024
|
+
# {::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames SubjectAltNames} corresponds to a more modern way of listing what
|
1025
|
+
# the asserted identity is in a certificate (i.e., compared to the "common
|
1026
|
+
# name" in the distinguished name).
|
1027
|
+
# @!attribute [rw] dns_names
|
1028
|
+
# @return [::Array<::String>]
|
1029
|
+
# Contains only valid, fully-qualified host names.
|
1030
|
+
# @!attribute [rw] uris
|
1031
|
+
# @return [::Array<::String>]
|
1032
|
+
# Contains only valid RFC 3986 URIs.
|
1033
|
+
# @!attribute [rw] email_addresses
|
1034
|
+
# @return [::Array<::String>]
|
1035
|
+
# Contains only valid RFC 2822 E-mail addresses.
|
1036
|
+
# @!attribute [rw] ip_addresses
|
1037
|
+
# @return [::Array<::String>]
|
1038
|
+
# Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses.
|
1039
|
+
# @!attribute [rw] custom_sans
|
1040
|
+
# @return [::Array<::Google::Cloud::Security::PrivateCA::V1::X509Extension>]
|
1041
|
+
# Contains additional subject alternative name values.
|
1042
|
+
class SubjectAltNames
|
1043
|
+
include ::Google::Protobuf::MessageExts
|
1044
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1045
|
+
end
|
1046
|
+
|
1047
|
+
# Describes constraints on a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}'s {::Google::Cloud::Security::PrivateCA::V1::Subject Subject} and
|
1048
|
+
# {::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames SubjectAltNames}.
|
1049
|
+
# @!attribute [rw] cel_expression
|
1050
|
+
# @return [::Google::Type::Expr]
|
1051
|
+
# Optional. A CEL expression that may be used to validate the resolved X.509 Subject
|
1052
|
+
# and/or Subject Alternative Name before a certificate is signed.
|
1053
|
+
# To see the full allowed syntax and some examples, see
|
1054
|
+
# https://cloud.google.com/certificate-authority-service/docs/cel-guide
|
1055
|
+
# @!attribute [rw] allow_subject_passthrough
|
1056
|
+
# @return [::Boolean]
|
1057
|
+
# Required. If this is true, the {::Google::Cloud::Security::PrivateCA::V1::Subject Subject} field may be copied from a certificate
|
1058
|
+
# request into the signed certificate. Otherwise, the requested {::Google::Cloud::Security::PrivateCA::V1::Subject Subject}
|
1059
|
+
# will be discarded. The bool is optional to indicate an unset field, which suggests a forgotten value that needs to be set by the caller.
|
1060
|
+
# @!attribute [rw] allow_subject_alt_names_passthrough
|
1061
|
+
# @return [::Boolean]
|
1062
|
+
# Required. If this is true, the {::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames SubjectAltNames} extension may be copied from a
|
1063
|
+
# certificate request into the signed certificate. Otherwise, the requested
|
1064
|
+
# {::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames SubjectAltNames} will be discarded.
|
1065
|
+
# The bool is optional to indicate an unset field, which suggests a forgotten value that needs to be set by the caller.
|
1066
|
+
class CertificateIdentityConstraints
|
1067
|
+
include ::Google::Protobuf::MessageExts
|
1068
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1069
|
+
end
|
1070
|
+
|
1071
|
+
# Describes a set of X.509 extensions that may be part of some certificate
|
1072
|
+
# issuance controls.
|
1073
|
+
# @!attribute [rw] known_extensions
|
1074
|
+
# @return [::Array<::Google::Cloud::Security::PrivateCA::V1::CertificateExtensionConstraints::KnownCertificateExtension>]
|
1075
|
+
# Optional. A set of named X.509 extensions. Will be combined with
|
1076
|
+
# {::Google::Cloud::Security::PrivateCA::V1::CertificateExtensionConstraints#additional_extensions additional_extensions} to determine the full set of X.509 extensions.
|
1077
|
+
# @!attribute [rw] additional_extensions
|
1078
|
+
# @return [::Array<::Google::Cloud::Security::PrivateCA::V1::ObjectId>]
|
1079
|
+
# Optional. A set of {::Google::Cloud::Security::PrivateCA::V1::ObjectId ObjectIds} identifying custom X.509 extensions.
|
1080
|
+
# Will be combined with {::Google::Cloud::Security::PrivateCA::V1::CertificateExtensionConstraints#known_extensions known_extensions} to determine the full set of
|
1081
|
+
# X.509 extensions.
|
1082
|
+
class CertificateExtensionConstraints
|
1083
|
+
include ::Google::Protobuf::MessageExts
|
1084
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
1085
|
+
|
1086
|
+
# Describes well-known X.509 extensions that can appear in a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate},
|
1087
|
+
# not including the {::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames SubjectAltNames} extension.
|
1088
|
+
module KnownCertificateExtension
|
1089
|
+
# Not specified.
|
1090
|
+
KNOWN_CERTIFICATE_EXTENSION_UNSPECIFIED = 0
|
1091
|
+
|
1092
|
+
# Refers to a certificate's Key Usage extension, as described in [RFC 5280
|
1093
|
+
# section 4.2.1.3](https://tools.ietf.org/html/rfc5280#section-4.2.1.3).
|
1094
|
+
# This corresponds to the {::Google::Cloud::Security::PrivateCA::V1::KeyUsage#base_key_usage KeyUsage.base_key_usage} field.
|
1095
|
+
BASE_KEY_USAGE = 1
|
1096
|
+
|
1097
|
+
# Refers to a certificate's Extended Key Usage extension, as described in
|
1098
|
+
# [RFC 5280
|
1099
|
+
# section 4.2.1.12](https://tools.ietf.org/html/rfc5280#section-4.2.1.12).
|
1100
|
+
# This corresponds to the {::Google::Cloud::Security::PrivateCA::V1::KeyUsage#extended_key_usage KeyUsage.extended_key_usage} message.
|
1101
|
+
EXTENDED_KEY_USAGE = 2
|
1102
|
+
|
1103
|
+
# Refers to a certificate's Basic Constraints extension, as described in
|
1104
|
+
# [RFC 5280
|
1105
|
+
# section 4.2.1.9](https://tools.ietf.org/html/rfc5280#section-4.2.1.9).
|
1106
|
+
# This corresponds to the {::Google::Cloud::Security::PrivateCA::V1::X509Parameters#ca_options X509Parameters.ca_options} field.
|
1107
|
+
CA_OPTIONS = 3
|
1108
|
+
|
1109
|
+
# Refers to a certificate's Policy object identifiers, as described in
|
1110
|
+
# [RFC 5280
|
1111
|
+
# section 4.2.1.4](https://tools.ietf.org/html/rfc5280#section-4.2.1.4).
|
1112
|
+
# This corresponds to the {::Google::Cloud::Security::PrivateCA::V1::X509Parameters#policy_ids X509Parameters.policy_ids} field.
|
1113
|
+
POLICY_IDS = 4
|
1114
|
+
|
1115
|
+
# Refers to OCSP servers in a certificate's Authority Information Access
|
1116
|
+
# extension, as described in
|
1117
|
+
# [RFC 5280
|
1118
|
+
# section 4.2.2.1](https://tools.ietf.org/html/rfc5280#section-4.2.2.1),
|
1119
|
+
# This corresponds to the {::Google::Cloud::Security::PrivateCA::V1::X509Parameters#aia_ocsp_servers X509Parameters.aia_ocsp_servers} field.
|
1120
|
+
AIA_OCSP_SERVERS = 5
|
1121
|
+
end
|
1122
|
+
end
|
1123
|
+
|
1124
|
+
# A {::Google::Cloud::Security::PrivateCA::V1::RevocationReason RevocationReason} indicates whether a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} has been revoked,
|
1125
|
+
# and the reason for revocation. These correspond to standard revocation
|
1126
|
+
# reasons from RFC 5280. Note that the enum labels and values in this
|
1127
|
+
# definition are not the same ASN.1 values defined in RFC 5280. These values
|
1128
|
+
# will be translated to the correct ASN.1 values when a CRL is created.
|
1129
|
+
module RevocationReason
|
1130
|
+
# Default unspecified value. This value does indicate that a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}
|
1131
|
+
# has been revoked, but that a reason has not been recorded.
|
1132
|
+
REVOCATION_REASON_UNSPECIFIED = 0
|
1133
|
+
|
1134
|
+
# Key material for this {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} may have leaked.
|
1135
|
+
KEY_COMPROMISE = 1
|
1136
|
+
|
1137
|
+
# The key material for a certificate authority in the issuing path may have
|
1138
|
+
# leaked.
|
1139
|
+
CERTIFICATE_AUTHORITY_COMPROMISE = 2
|
1140
|
+
|
1141
|
+
# The subject or other attributes in this {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} have changed.
|
1142
|
+
AFFILIATION_CHANGED = 3
|
1143
|
+
|
1144
|
+
# This {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} has been superseded.
|
1145
|
+
SUPERSEDED = 4
|
1146
|
+
|
1147
|
+
# This {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} or entities in the issuing path have ceased to
|
1148
|
+
# operate.
|
1149
|
+
CESSATION_OF_OPERATION = 5
|
1150
|
+
|
1151
|
+
# This {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} should not be considered valid, it is expected that it
|
1152
|
+
# may become valid in the future.
|
1153
|
+
CERTIFICATE_HOLD = 6
|
1154
|
+
|
1155
|
+
# This {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate} no longer has permission to assert the listed
|
1156
|
+
# attributes.
|
1157
|
+
PRIVILEGE_WITHDRAWN = 7
|
1158
|
+
|
1159
|
+
# The authority which determines appropriate attributes for a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}
|
1160
|
+
# may have been compromised.
|
1161
|
+
ATTRIBUTE_AUTHORITY_COMPROMISE = 8
|
1162
|
+
end
|
1163
|
+
|
1164
|
+
# Describes the way in which a {::Google::Cloud::Security::PrivateCA::V1::Certificate Certificate}'s {::Google::Cloud::Security::PrivateCA::V1::Subject Subject} and/or
|
1165
|
+
# {::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames SubjectAltNames} will be resolved.
|
1166
|
+
module SubjectRequestMode
|
1167
|
+
# Not specified.
|
1168
|
+
SUBJECT_REQUEST_MODE_UNSPECIFIED = 0
|
1169
|
+
|
1170
|
+
# The default mode used in most cases. Indicates that the certificate's
|
1171
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Subject Subject} and/or {::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames SubjectAltNames} are specified in the certificate
|
1172
|
+
# request. This mode requires the caller to have the
|
1173
|
+
# `privateca.certificates.create` permission.
|
1174
|
+
DEFAULT = 1
|
1175
|
+
|
1176
|
+
# A mode reserved for special cases. Indicates that the certificate should
|
1177
|
+
# have one or more SPIFFE {::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames SubjectAltNames} set by the service based
|
1178
|
+
# on the caller's identity. This mode will ignore any explicitly specified
|
1179
|
+
# {::Google::Cloud::Security::PrivateCA::V1::Subject Subject} and/or {::Google::Cloud::Security::PrivateCA::V1::SubjectAltNames SubjectAltNames} in the certificate request.
|
1180
|
+
# This mode requires the caller to have the
|
1181
|
+
# `privateca.certificates.createForSelf` permission.
|
1182
|
+
REFLECTED_SPIFFE = 2
|
1183
|
+
end
|
1184
|
+
end
|
1185
|
+
end
|
1186
|
+
end
|
1187
|
+
end
|
1188
|
+
end
|