| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 15c2796 commit cd7fed3
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -28,6 +28,7 @@ proto_library( | |||
| 28 | 28 | "//google/api:annotations_proto", | |
| 29 | 29 | "//google/api:client_proto", | |
| 30 | 30 | "//google/api:field_behavior_proto", | |
| 31 | + "//google/api:field_info_proto", | ||
| 31 | 32 | "//google/api:resource_proto", | |
| 32 | 33 | "//google/longrunning:operations_proto", | |
| 33 | 34 | "//google/type:expr_proto", | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -22,7 +22,6 @@ import "google/protobuf/duration.proto"; | |||
| 22 | 22 | import "google/protobuf/timestamp.proto"; | |
| 23 | 23 | import "google/type/expr.proto"; | |
| 24 | 24 | ||
| 25 | - option cc_enable_arenas = true; | ||
| 26 | 25 | option csharp_namespace = "Google.Cloud.Security.PrivateCA.V1"; | |
| 27 | 26 | option go_package = "cloud.google.com/go/security/privateca/apiv1/privatecapb;privatecapb"; | |
| 28 | 27 | option java_multiple_files = true; | |
@@ -180,10 +179,32 @@ message CertificateAuthority { | |||
| 180 | 179 | EC_P384_SHA384 = 5; | |
| 181 | 180 | } | |
| 182 | 181 | ||
| 183 | - // Output only. The resource name for this | ||
| 182 | + // User-defined URLs for accessing content published by this | ||
| 183 | + // [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]. | ||
| 184 | + message UserDefinedAccessUrls { | ||
| 185 | + // Optional. A list of URLs where the issuer CA certificate may be | ||
| 186 | + // downloaded, which appears in the "Authority Information Access" extension | ||
| 187 | + // in the certificate. If specified, the default [Cloud Storage | ||
| 188 | + // URLs][google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.ca_certificate_access_url] | ||
| 189 | + // will be omitted. | ||
| 190 | + repeated string aia_issuing_certificate_urls = 1 | ||
| 191 | + [(google.api.field_behavior) = OPTIONAL]; | ||
| 192 | + | ||
| 193 | + // Optional. A list of URLs where to obtain CRL information, i.e. | ||
| 194 | + // the DistributionPoint.fullName described by | ||
| 195 | + // https://tools.ietf.org/html/rfc5280#section-4.2.1.13. | ||
| 196 | + // If specified, the default | ||
| 197 | + // [Cloud Storage | ||
| 198 | + // URLs][google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.crl_access_urls] | ||
| 199 | + // will be omitted. | ||
| 200 | + repeated string crl_access_urls = 2 | ||
| 201 | + [(google.api.field_behavior) = OPTIONAL]; | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + // Identifier. The resource name for this | ||
| 184 | 205 | // [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] | |
| 185 | 206 | // in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`. | |
| 186 | - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; | ||
| 207 | + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; | ||
| 187 | 208 | ||
| 188 | 209 | // Required. Immutable. The | |
| 189 | 210 | // [Type][google.cloud.security.privateca.v1.CertificateAuthority.Type] of | |
@@ -302,6 +323,18 @@ message CertificateAuthority { | |||
| 302 | 323 | ||
| 303 | 324 | // Optional. Labels with user-defined metadata. | |
| 304 | 325 | map<string, string> labels = 17 [(google.api.field_behavior) = OPTIONAL]; | |
| 326 | + | ||
| 327 | + // Optional. User-defined URLs for CA certificate and CRLs. The service does | ||
| 328 | + // not publish content to these URLs. It is up to the user to mirror content | ||
| 329 | + // to these URLs. | ||
| 330 | + UserDefinedAccessUrls user_defined_access_urls = 18 | ||
| 331 | + [(google.api.field_behavior) = OPTIONAL]; | ||
| 332 | + | ||
| 333 | + // Output only. Reserved for future use. | ||
| 334 | + bool satisfies_pzs = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; | ||
| 335 | + | ||
| 336 | + // Output only. Reserved for future use. | ||
| 337 | + bool satisfies_pzi = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; | ||
| 305 | 338 | } | |
| 306 | 339 | ||
| 307 | 340 | // A [CaPool][google.cloud.security.privateca.v1.CaPool] represents a group of | |
@@ -472,6 +505,16 @@ message CaPool { | |||
| 472 | 505 | repeated AllowedKeyType allowed_key_types = 1 | |
| 473 | 506 | [(google.api.field_behavior) = OPTIONAL]; | |
| 474 | 507 | ||
| 508 | + // Optional. The duration to backdate all certificates issued from this | ||
| 509 | + // [CaPool][google.cloud.security.privateca.v1.CaPool]. If not set, the | ||
| 510 | + // certificates will be issued with a not_before_time of the issuance time | ||
| 511 | + // (i.e. the current time). If set, the certificates will be issued with a | ||
| 512 | + // not_before_time of the issuance time minus the backdate_duration. The | ||
| 513 | + // not_after_time will be adjusted to preserve the requested lifetime. The | ||
| 514 | + // backdate_duration must be less than or equal to 48 hours. | ||
| 515 | + google.protobuf.Duration backdate_duration = 7 | ||
| 516 | + [(google.api.field_behavior) = OPTIONAL]; | ||
| 517 | + | ||
| 475 | 518 | // Optional. The maximum lifetime allowed for issued | |
| 476 | 519 | // [Certificates][google.cloud.security.privateca.v1.Certificate]. Note that | |
| 477 | 520 | // if the issuing | |
@@ -529,10 +572,10 @@ message CaPool { | |||
| 529 | 572 | [(google.api.field_behavior) = OPTIONAL]; | |
| 530 | 573 | } | |
| 531 | 574 | ||
| 532 | - // Output only. The resource name for this | ||
| 575 | + // Identifier. The resource name for this | ||
| 533 | 576 | // [CaPool][google.cloud.security.privateca.v1.CaPool] in the format | |
| 534 | 577 | // `projects/*/locations/*/caPools/*`. | |
| 535 | - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; | ||
| 578 | + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; | ||
| 536 | 579 | ||
| 537 | 580 | // Required. Immutable. The | |
| 538 | 581 | // [Tier][google.cloud.security.privateca.v1.CaPool.Tier] of this | |
@@ -610,11 +653,11 @@ message CertificateRevocationList { | |||
| 610 | 653 | SUPERSEDED = 2; | |
| 611 | 654 | } | |
| 612 | 655 | ||
| 613 | - // Output only. The resource name for this | ||
| 656 | + // Identifier. The resource name for this | ||
| 614 | 657 | // [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] | |
| 615 | 658 | // in the format `projects/*/locations/*/caPools/*certificateAuthorities/*/ | |
| 616 | 659 | // certificateRevocationLists/*`. | |
| 617 | - string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; | ||
| 660 | + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; | ||
| 618 | 661 | ||
| 619 | 662 | // Output only. The CRL sequence number that appears in pem_crl. | |
| 620 | 663 | int64 sequence_number = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; | |
@@ -680,15 +723,10 @@ message Certificate { | |||
| 680 | 723 | google.protobuf.Timestamp revocation_time = 2; | |
| 681 | 724 | } | |
| 682 | 725 | ||
| 683 | - // Output only. The resource name for this | ||
| 726 | + // Identifier. The resource name for this | ||
| 684 | 727 | // [Certificate][google.cloud.security.privateca.v1.Certificate] in the format | |
| 685 | 728 | // `projects/*/locations/*/caPools/*/certificates/*`. | |
| 686 | - string name = 1 [ | ||
| 687 | - (google.api.field_behavior) = OUTPUT_ONLY, | ||
| 688 | - (google.api.resource_reference) = { | ||
| 689 | - type: "privateca.googleapis.com/Certificate" | ||
| 690 | - } | ||
| 691 | - ]; | ||
| 729 | + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; | ||
| 692 | 730 | ||
| 693 | 731 | // The config used to create a signed X.509 certificate. | |
| 694 | 732 | oneof certificate_config { | |
@@ -782,15 +820,10 @@ message CertificateTemplate { | |||
| 782 | 820 | pattern: "projects/{project}/locations/{location}/certificateTemplates/{certificate_template}" | |
| 783 | 821 | }; | |
| 784 | 822 | ||
| 785 | - // Output only. The resource name for this | ||
| 823 | + // Identifier. The resource name for this | ||
| 786 | 824 | // [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] | |
| 787 | 825 | // in the format `projects/*/locations/*/certificateTemplates/*`. | |
| 788 | - string name = 1 [ | ||
| 789 | - (google.api.field_behavior) = OUTPUT_ONLY, | ||
| 790 | - (google.api.resource_reference) = { | ||
| 791 | - type: "privateca.googleapis.com/CertificateTemplate" | ||
| 792 | - } | ||
| 793 | - ]; | ||
| 826 | + string name = 1 [(google.api.field_behavior) = IDENTIFIER]; | ||
| 794 | 827 | ||
| 795 | 828 | // Optional. The maximum lifetime allowed for issued | |
| 796 | 829 | // [Certificates][google.cloud.security.privateca.v1.Certificate] that use | |
@@ -873,19 +906,19 @@ message CertificateTemplate { | |||
| 873 | 906 | // usage fields, fields specific to CA certificates, certificate policy | |
| 874 | 907 | // extensions and custom extensions. | |
| 875 | 908 | message X509Parameters { | |
| 876 | - // Describes values that are relevant in a CA certificate. | ||
| 909 | + // Describes the X.509 basic constraints extension, per [RFC 5280 | ||
| 910 | + // section 4.2.1.9](https://tools.ietf.org/html/rfc5280#section-4.2.1.9) | ||
| 877 | 911 | message CaOptions { | |
| 878 | - // Optional. Refers to the "CA" X.509 extension, which is a boolean value. | ||
| 879 | - // When this value is missing, the extension will be omitted from the CA | ||
| 880 | - // certificate. | ||
| 912 | + // Optional. Refers to the "CA" boolean field in the X.509 extension. | ||
| 913 | + // When this value is missing, the basic constraints extension will be | ||
| 914 | + // omitted from the certificate. | ||
| 881 | 915 | optional bool is_ca = 1 [(google.api.field_behavior) = OPTIONAL]; | |
| 882 | 916 | ||
| 883 | - // Optional. Refers to the path length restriction X.509 extension. For a CA | ||
| 884 | - // certificate, this value describes the depth of subordinate CA | ||
| 885 | - // certificates that are allowed. | ||
| 886 | - // If this value is less than 0, the request will fail. | ||
| 887 | - // If this value is missing, the max path length will be omitted from the | ||
| 888 | - // CA certificate. | ||
| 917 | + // Optional. Refers to the path length constraint field in the X.509 | ||
| 918 | + // extension. For a CA certificate, this value describes the depth of | ||
| 919 | + // subordinate CA certificates that are allowed. If this value is less than | ||
| 920 | + // 0, the request will fail. If this value is missing, the max path length | ||
| 921 | + // will be omitted from the certificate. | ||
| 889 | 922 | optional int32 max_issuer_path_length = 2 | |
| 890 | 923 | [(google.api.field_behavior) = OPTIONAL]; | |
| 891 | 924 | } | |
@@ -951,7 +984,9 @@ message X509Parameters { | |||
| 951 | 984 | ||
| 952 | 985 | // Optional. Describes options in this | |
| 953 | 986 | // [X509Parameters][google.cloud.security.privateca.v1.X509Parameters] that | |
| 954 | - // are relevant in a CA certificate. | ||
| 987 | + // are relevant in a CA certificate. If not specified, a default basic | ||
| 988 | + // constraints extension with `is_ca=false` will be added for leaf | ||
| 989 | + // certificates. | ||
| 955 | 990 | CaOptions ca_options = 2 [(google.api.field_behavior) = OPTIONAL]; | |
| 956 | 991 | ||
| 957 | 992 | // Optional. Describes the X.509 certificate policy object identifiers, per | |
@@ -1163,6 +1198,12 @@ message CertificateDescription { | |||
| 1163 | 1198 | ||
| 1164 | 1199 | // The hash of the x.509 certificate. | |
| 1165 | 1200 | CertificateFingerprint cert_fingerprint = 8; | |
| 1201 | + | ||
| 1202 | + // The hash of the pre-signed certificate, which will be signed by the CA. | ||
| 1203 | + // Corresponds to the TBS Certificate in | ||
| 1204 | + // https://tools.ietf.org/html/rfc5280#section-4.1.2. The field will always be | ||
| 1205 | + // populated. | ||
| 1206 | + string tbs_certificate_digest = 9; | ||
| 1166 | 1207 | } | |
| 1167 | 1208 | ||
| 1168 | 1209 | // An [ObjectId][google.cloud.security.privateca.v1.ObjectId] specifies an | |
@@ -1267,6 +1308,31 @@ message KeyUsage { | |||
| 1267 | 1308 | repeated ObjectId unknown_extended_key_usages = 3; | |
| 1268 | 1309 | } | |
| 1269 | 1310 | ||
| 1311 | + // [AttributeTypeAndValue][google.cloud.security.privateca.v1.AttributeTypeAndValue] | ||
| 1312 | + // specifies an attribute type and value. It can use either a OID or enum value | ||
| 1313 | + // to specify the attribute type. | ||
| 1314 | + message AttributeTypeAndValue { | ||
| 1315 | + // The attribute type for the attribute and value pair. | ||
| 1316 | + oneof attribute_type { | ||
| 1317 | + // The attribute type of the attribute and value pair. | ||
| 1318 | + AttributeType type = 1; | ||
| 1319 | + | ||
| 1320 | + // Object ID for an attribute type of an attribute and value pair. | ||
| 1321 | + ObjectId object_id = 2; | ||
| 1322 | + } | ||
| 1323 | + | ||
| 1324 | + // The value for the attribute type. | ||
| 1325 | + string value = 3; | ||
| 1326 | + } | ||
| 1327 | + | ||
| 1328 | + // [RelativeDistinguishedName][google.cloud.security.privateca.v1.RelativeDistinguishedName] | ||
| 1329 | + // specifies a relative distinguished name which will be used to build a | ||
| 1330 | + // distinguished name. | ||
| 1331 | + message RelativeDistinguishedName { | ||
| 1332 | + // Attributes describes the attribute value assertions in the RDN. | ||
| 1333 | + repeated AttributeTypeAndValue attributes = 1; | ||
| 1334 | + } | ||
| 1335 | + | ||
| 1270 | 1336 | // [Subject][google.cloud.security.privateca.v1.Subject] describes parts of a | |
| 1271 | 1337 | // distinguished name that, in turn, describes the subject of the certificate. | |
| 1272 | 1338 | message Subject { | |
@@ -1293,6 +1359,9 @@ message Subject { | |||
| 1293 | 1359 | ||
| 1294 | 1360 | // The postal code of the subject. | |
| 1295 | 1361 | string postal_code = 8; | |
| 1362 | + | ||
| 1363 | + // This field can be used in place of the named subject fields. | ||
| 1364 | + repeated RelativeDistinguishedName rdn_sequence = 9; | ||
| 1296 | 1365 | } | |
| 1297 | 1366 | ||
| 1298 | 1367 | // [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] | |
@@ -1419,6 +1488,37 @@ message CertificateExtensionConstraints { | |||
| 1419 | 1488 | [(google.api.field_behavior) = OPTIONAL]; | |
| 1420 | 1489 | } | |
| 1421 | 1490 | ||
| 1491 | + // [AttributeType][google.cloud.security.privateca.v1.AttributeType] specifies | ||
| 1492 | + // the type of Attribute in a relative distinguished name. | ||
| 1493 | + enum AttributeType { | ||
| 1494 | + // Attribute type is unspecified. | ||
| 1495 | + ATTRIBUTE_TYPE_UNSPECIFIED = 0; | ||
| 1496 | + | ||
| 1497 | + // The "common name" of the subject. | ||
| 1498 | + COMMON_NAME = 1; | ||
| 1499 | + | ||
| 1500 | + // The country code of the subject. | ||
| 1501 | + COUNTRY_CODE = 2; | ||
| 1502 | + | ||
| 1503 | + // The organization of the subject. | ||
| 1504 | + ORGANIZATION = 3; | ||
| 1505 | + | ||
| 1506 | + // The organizational unit of the subject. | ||
| 1507 | + ORGANIZATIONAL_UNIT = 4; | ||
| 1508 | + | ||
| 1509 | + // The locality or city of the subject. | ||
| 1510 | + LOCALITY = 5; | ||
| 1511 | + | ||
| 1512 | + // The province, territory, or regional state of the subject. | ||
| 1513 | + PROVINCE = 6; | ||
| 1514 | + | ||
| 1515 | + // The street address of the subject. | ||
| 1516 | + STREET_ADDRESS = 7; | ||
| 1517 | + | ||
| 1518 | + // The postal code of the subject. | ||
| 1519 | + POSTAL_CODE = 8; | ||
| 1520 | + } | ||
| 1521 | + | ||
| 1422 | 1522 | // A [RevocationReason][google.cloud.security.privateca.v1.RevocationReason] | |
| 1423 | 1523 | // indicates whether a | |
| 1424 | 1524 | // [Certificate][google.cloud.security.privateca.v1.Certificate] has been | |
@@ -1484,6 +1584,17 @@ enum SubjectRequestMode { | |||
| 1484 | 1584 | // the `privateca.certificates.create` permission. | |
| 1485 | 1585 | DEFAULT = 1; | |
| 1486 | 1586 | ||
| 1587 | + // A mode used to get an accurate representation of the Subject | ||
| 1588 | + // field's distinguished name. Indicates that the certificate's | ||
| 1589 | + // [Subject][google.cloud.security.privateca.v1.Subject] and/or | ||
| 1590 | + // [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] are | ||
| 1591 | + // specified in the certificate request. When parsing a PEM CSR this mode will | ||
| 1592 | + // maintain the sequence of RDNs found in the CSR's subject field in the | ||
| 1593 | + // issued [Certificate][google.cloud.security.privateca.v1.Certificate]. This | ||
| 1594 | + // mode requires the caller to have the `privateca.certificates.create` | ||
| 1595 | + // permission. | ||
| 1596 | + RDN_SEQUENCE = 3; | ||
| 1597 | + | ||
| 1487 | 1598 | // A mode reserved for special cases. Indicates that the certificate should | |
| 1488 | 1599 | // have one SPIFFE | |
| 1489 | 1600 | // [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] set | |
| Back | FazBrowse Home | New Git URL |
0 commit comments