A ReusableConfigValues
is used to describe certain fields of an X.509 certificate, such as the key usage fields, fields specific to CA certificates, certificate policy extensions and custom extensions.
JSON representation | |
---|---|
{ "keyUsage": { object ( |
Fields | |
---|---|
keyUsage |
Optional. Indicates the intended use for keys that correspond to a certificate. |
caOptions |
Optional. Describes options in this |
policyIds[] |
Optional. Describes the X.509 certificate policy object identifiers, per https://tools.ietf.org/html/rfc5280#section-4.2.1.4. |
aiaOcspServers[] |
Optional. Describes Online Certificate Status Protocol (OCSP) endpoint addresses that appear in the "Authority Information Access" extension in the certificate. |
additionalExtensions[] |
Optional. Describes custom X.509 extensions. |
KeyUsage
A KeyUsage
describes key usage values that may appear in an X.509 certificate.
JSON representation | |
---|---|
{ "baseKeyUsage": { object ( |
Fields | |
---|---|
baseKeyUsage |
Describes high-level ways in which a key may be used. |
extendedKeyUsage |
Detailed scenarios in which a key may be used. |
unknownExtendedKeyUsages[] |
Used to describe extended key usages that are not listed in the |
KeyUsageOptions
KeyUsage.KeyUsageOptions
corresponds to the key usage values described in https://tools.ietf.org/html/rfc5280#section-4.2.1.3.
JSON representation | |
---|---|
{ "digitalSignature": boolean, "contentCommitment": boolean, "keyEncipherment": boolean, "dataEncipherment": boolean, "keyAgreement": boolean, "certSign": boolean, "crlSign": boolean, "encipherOnly": boolean, "decipherOnly": boolean } |
Fields | |
---|---|
digitalSignature |
The key may be used for digital signatures. |
contentCommitment |
The key may be used for cryptographic commitments. Note that this may also be referred to as "non-repudiation". |
keyEncipherment |
The key may be used to encipher other keys. |
dataEncipherment |
The key may be used to encipher data. |
keyAgreement |
The key may be used in a key agreement protocol. |
certSign |
The key may be used to sign certificates. |
crlSign |
The key may be used sign certificate revocation lists. |
encipherOnly |
The key may be used to encipher only. |
decipherOnly |
The key may be used to decipher only. |
ExtendedKeyUsageOptions
KeyUsage.ExtendedKeyUsageOptions
has fields that correspond to certain common OIDs that could be specified as an extended key usage value.
JSON representation | |
---|---|
{ "serverAuth": boolean, "clientAuth": boolean, "codeSigning": boolean, "emailProtection": boolean, "timeStamping": boolean, "ocspSigning": boolean } |
Fields | |
---|---|
serverAuth |
Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW server authentication", though regularly used for non-WWW TLS. |
clientAuth |
Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW client authentication", though regularly used for non-WWW TLS. |
codeSigning |
Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of downloadable executable code client authentication". |
emailProtection |
Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email protection". |
timeStamping |
Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding the hash of an object to a time". |
ocspSigning |
Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing OCSP responses". |
CaOptions
Describes values that are relevant in a CA certificate.
JSON representation | |
---|---|
{ "isCa": boolean, "maxIssuerPathLength": integer } |
Fields | |
---|---|
isCa |
Optional. Refers to the "CA" X.509 extension, which is a boolean value. When this value is missing, the extension will be omitted from the CA certificate. |
maxIssuerPathLength |
Optional. Refers to the path length restriction X.509 extension. For a CA certificate, this value describes the depth of subordinate CA certificates that are allowed. If this value is less than 0, the request will fail. If this value is missing, the max path length will be omitted from the CA certificate. |