Properties

static

AttestationFormat  number

Attestation formats provided by the HSM.

Properties

Name Type Optional Description

ATTESTATION_FORMAT_UNSPECIFIED

 

 

Not specified.

CAVIUM_V1_COMPRESSED

 

 

Cavium HSM attestation compressed with gzip. Note that this format is defined by Cavium and subject to change at any time.

CAVIUM_V2_COMPRESSED

 

 

Cavium HSM attestation V2 compressed with gzip. This is a new format introduced in Cavium's version 3.2-08.

static

CryptoKeyPurpose  number

CryptoKeyPurpose describes the cryptographic capabilities of a CryptoKey. A given key can only be used for the operations allowed by its purpose. For more information, see Key purposes.

Properties

Name Type Optional Description

CRYPTO_KEY_PURPOSE_UNSPECIFIED

 

 

Not specified.

ENCRYPT_DECRYPT

 

 

CryptoKeys with this purpose may be used with Encrypt and Decrypt.

ASYMMETRIC_SIGN

 

 

CryptoKeys with this purpose may be used with AsymmetricSign and GetPublicKey.

ASYMMETRIC_DECRYPT

 

 

CryptoKeys with this purpose may be used with AsymmetricDecrypt and GetPublicKey.

static

CryptoKeyVersionAlgorithm  number

The algorithm of the CryptoKeyVersion, indicating what parameters must be used for each cryptographic operation.

The GOOGLE_SYMMETRIC_ENCRYPTION algorithm is usable with CryptoKey.purpose ENCRYPT_DECRYPT.

Algorithms beginning with "RSA_SIGN_" are usable with CryptoKey.purpose ASYMMETRIC_SIGN.

The fields in the name after "RSA_SIGN_" correspond to the following parameters: padding algorithm, modulus bit length, and digest algorithm.

For PSS, the salt length used is equal to the length of digest algorithm. For example, RSA_SIGN_PSS_2048_SHA256 will use PSS with a salt length of 256 bits or 32 bytes.

Algorithms beginning with "RSA_DECRYPT_" are usable with CryptoKey.purpose ASYMMETRIC_DECRYPT.

The fields in the name after "RSA_DECRYPT_" correspond to the following parameters: padding algorithm, modulus bit length, and digest algorithm.

Algorithms beginning with "EC_SIGN_" are usable with CryptoKey.purpose ASYMMETRIC_SIGN.

The fields in the name after "EC_SIGN_" correspond to the following parameters: elliptic curve, digest algorithm.

For more information, see [Key purposes and algorithms] (https://cloud.google.com/kms/docs/algorithms).

Properties

Name Type Optional Description

CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED

 

 

Not specified.

GOOGLE_SYMMETRIC_ENCRYPTION

 

 

Creates symmetric encryption keys.

RSA_SIGN_PSS_2048_SHA256

 

 

RSASSA-PSS 2048 bit key with a SHA256 digest.

RSA_SIGN_PSS_3072_SHA256

 

 

RSASSA-PSS 3072 bit key with a SHA256 digest.

RSA_SIGN_PSS_4096_SHA256

 

 

RSASSA-PSS 4096 bit key with a SHA256 digest.

RSA_SIGN_PSS_4096_SHA512

 

 

RSASSA-PSS 4096 bit key with a SHA512 digest.

RSA_SIGN_PKCS1_2048_SHA256

 

 

RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.

RSA_SIGN_PKCS1_3072_SHA256

 

 

RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.

RSA_SIGN_PKCS1_4096_SHA256

 

 

RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.

RSA_SIGN_PKCS1_4096_SHA512

 

 

RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.

RSA_DECRYPT_OAEP_2048_SHA256

 

 

RSAES-OAEP 2048 bit key with a SHA256 digest.

RSA_DECRYPT_OAEP_3072_SHA256

 

 

RSAES-OAEP 3072 bit key with a SHA256 digest.

RSA_DECRYPT_OAEP_4096_SHA256

 

 

RSAES-OAEP 4096 bit key with a SHA256 digest.

RSA_DECRYPT_OAEP_4096_SHA512

 

 

RSAES-OAEP 4096 bit key with a SHA512 digest.

EC_SIGN_P256_SHA256

 

 

ECDSA on the NIST P-256 curve with a SHA256 digest.

EC_SIGN_P384_SHA384

 

 

ECDSA on the NIST P-384 curve with a SHA384 digest.

static

CryptoKeyVersionState  number

The state of a CryptoKeyVersion, indicating if it can be used.

Properties

Name Type Optional Description

CRYPTO_KEY_VERSION_STATE_UNSPECIFIED

 

 

Not specified.

PENDING_GENERATION

 

 

This version is still being generated. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready.

ENABLED

 

 

This version may be used for cryptographic operations.

DISABLED

 

 

This version may not be used, but the key material is still available, and the version can be placed back into the ENABLED state.

DESTROYED

 

 

This version is destroyed, and the key material is no longer stored. A version may not leave this state once entered.

DESTROY_SCHEDULED

 

 

This version is scheduled for destruction, and will be destroyed soon. Call RestoreCryptoKeyVersion to put it back into the DISABLED state.

PENDING_IMPORT

 

 

This version is still being imported. It may not be used, enabled, disabled, or destroyed yet. Cloud KMS will automatically mark this version ENABLED as soon as the version is ready.

IMPORT_FAILED

 

 

This version was not imported successfully. It may not be used, enabled, disabled, or destroyed. The submitted key material has been discarded. Additional details can be found in CryptoKeyVersion.import_failure_reason.

static

CryptoKeyVersionView  number

A view for CryptoKeyVersions. Controls the level of detail returned for CryptoKeyVersions in KeyManagementService.ListCryptoKeyVersions and KeyManagementService.ListCryptoKeys.

Properties

Name Type Optional Description

CRYPTO_KEY_VERSION_VIEW_UNSPECIFIED

 

 

Default view for each CryptoKeyVersion. Does not include the attestation field.

FULL

 

 

Provides all fields in each CryptoKeyVersion, including the attestation.

static

ImportJobState  number

The state of the ImportJob, indicating if it can be used.

Properties

Name Type Optional Description

IMPORT_JOB_STATE_UNSPECIFIED

 

 

Not specified.

PENDING_GENERATION

 

 

The wrapping key for this job is still being generated. It may not be used. Cloud KMS will automatically mark this job as ACTIVE as soon as the wrapping key is generated.

ACTIVE

 

 

This job may be used in CreateCryptoKey and CreateCryptoKeyVersion requests.

EXPIRED

 

 

This job can no longer be used and may not leave this state once entered.

static

ImportMethod  number

ImportMethod describes the key wrapping method chosen for this ImportJob.

Properties

Name Type Optional Description

IMPORT_METHOD_UNSPECIFIED

 

 

Not specified.

RSA_OAEP_3072_SHA1_AES_256

 

 

This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 3072 bit RSA key. For more details, see RSA AES key wrap mechanism.

RSA_OAEP_4096_SHA1_AES_256

 

 

This ImportMethod represents the CKM_RSA_AES_KEY_WRAP key wrapping scheme defined in the PKCS #11 standard. In summary, this involves wrapping the raw key with an ephemeral AES key, and wrapping the ephemeral AES key with a 4096 bit RSA key. For more details, see RSA AES key wrap mechanism.

constant static

ProtectionLevel  number

ProtectionLevel specifies how cryptographic operations are performed. For more information, see [Protection levels] (https://cloud.google.com/kms/docs/algorithms#protection_levels).

Properties

Name Type Optional Description

PROTECTION_LEVEL_UNSPECIFIED

 

 

Not specified.

SOFTWARE

 

 

Crypto operations are performed in software.

HSM

 

 

Crypto operations are performed in a Hardware Security Module.

Abstract types

static

AsymmetricDecryptRequest

Request message for KeyManagementService.AsymmetricDecrypt.

Properties

Name Type Optional Description

name

string

 

Required. The resource name of the CryptoKeyVersion to use for decryption.

ciphertext

Buffer

 

Required. The data encrypted with the named CryptoKeyVersion's public key using OAEP.

See also

google.cloud.kms.v1.AsymmetricDecryptRequest definition in proto format

static

AsymmetricDecryptResponse

Response message for KeyManagementService.AsymmetricDecrypt.

Property

Name Type Optional Description

plaintext

Buffer

 

The decrypted data originally encrypted with the matching public key.

See also

google.cloud.kms.v1.AsymmetricDecryptResponse definition in proto format

static

AsymmetricSignRequest

Request message for KeyManagementService.AsymmetricSign.

Properties

Name Type Optional Description

name

string

 

Required. The resource name of the CryptoKeyVersion to use for signing.

digest

Object

 

Required. The digest of the data to sign. The digest must be produced with the same digest algorithm as specified by the key version's algorithm.

This object should have the same structure as Digest

See also

google.cloud.kms.v1.AsymmetricSignRequest definition in proto format

static

AsymmetricSignResponse

Response message for KeyManagementService.AsymmetricSign.

Property

Name Type Optional Description

signature

Buffer

 

The created signature.

See also

google.cloud.kms.v1.AsymmetricSignResponse definition in proto format

static

CreateCryptoKeyRequest

Request message for KeyManagementService.CreateCryptoKey.

Properties

Name Type Optional Description

parent

string

 

Required. The name of the KeyRing associated with the CryptoKeys.

cryptoKeyId

string

 

Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}

cryptoKey

Object

 

A CryptoKey with initial field values.

This object should have the same structure as CryptoKey

skipInitialVersionCreation

boolean

 

If set to true, the request will create a CryptoKey without any CryptoKeyVersions. You must manually call CreateCryptoKeyVersion or ImportCryptoKeyVersion before you can use this CryptoKey.

See also

google.cloud.kms.v1.CreateCryptoKeyRequest definition in proto format

static

CreateCryptoKeyVersionRequest

Request message for KeyManagementService.CreateCryptoKeyVersion.

Properties

Name Type Optional Description

parent

string

 

Required. The name of the CryptoKey associated with the CryptoKeyVersions.

cryptoKeyVersion

Object

 

A CryptoKeyVersion with initial field values.

This object should have the same structure as CryptoKeyVersion

See also

google.cloud.kms.v1.CreateCryptoKeyVersionRequest definition in proto format

static

CreateImportJobRequest

Request message for KeyManagementService.CreateImportJob.

Properties

Name Type Optional Description

parent

string

 

Required. The name of the KeyRing associated with the ImportJobs.

importJobId

string

 

Required. It must be unique within a KeyRing and match the regular expression [a-zA-Z0-9_-]{1,63}

importJob

Object

 

Required. An ImportJob with initial field values.

This object should have the same structure as ImportJob

See also

google.cloud.kms.v1.CreateImportJobRequest definition in proto format

static

CreateKeyRingRequest

Request message for KeyManagementService.CreateKeyRing.

Properties

Name Type Optional Description

parent

string

 

Required. The resource name of the location associated with the KeyRings, in the format projects/* /locations/*.

keyRingId

string

 

Required. It must be unique within a location and match the regular expression [a-zA-Z0-9_-]{1,63}

keyRing

Object

 

A KeyRing with initial field values.

This object should have the same structure as KeyRing

See also

google.cloud.kms.v1.CreateKeyRingRequest definition in proto format

static

CryptoKey

A CryptoKey represents a logical key that can be used for cryptographic operations.

A CryptoKey is made up of one or more versions, which represent the actual key material used in cryptographic operations.

Properties

Name Type Optional Description

name

string

 

Output only. The resource name for this CryptoKey in the format projects/* /locations/* /keyRings/* /cryptoKeys/*.

primary

Object

 

Output only. A copy of the "primary" CryptoKeyVersion that will be used by Encrypt when this CryptoKey is given in EncryptRequest.name.

The CryptoKey's primary version can be updated via UpdateCryptoKeyPrimaryVersion.

All keys with purpose ENCRYPT_DECRYPT have a primary. For other keys, this field will be omitted.

This object should have the same structure as CryptoKeyVersion

purpose

number

 

The immutable purpose of this CryptoKey.

The number should be among the values of CryptoKeyPurpose

createTime

Object

 

Output only. The time at which this CryptoKey was created.

This object should have the same structure as Timestamp

nextRotationTime

Object

 

At next_rotation_time, the Key Management Service will automatically:

  1. Create a new version of this CryptoKey.
  2. Mark the new version as primary.

Key rotations performed manually via CreateCryptoKeyVersion and UpdateCryptoKeyPrimaryVersion do not affect next_rotation_time.

Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted.

This object should have the same structure as Timestamp

rotationPeriod

Object

 

next_rotation_time will be advanced by this period when the service automatically rotates a key. Must be at least one day.

If rotation_period is set, next_rotation_time must also be set.

Keys with purpose ENCRYPT_DECRYPT support automatic rotation. For other keys, this field must be omitted.

This object should have the same structure as Duration

versionTemplate

Object

 

A template describing settings for new CryptoKeyVersion instances. The properties of new CryptoKeyVersion instances created by either CreateCryptoKeyVersion or auto-rotation are controlled by this template.

This object should have the same structure as CryptoKeyVersionTemplate

labels

Object with string properties

 

Labels with user-defined metadata. For more information, see Labeling Keys.

See also

google.cloud.kms.v1.CryptoKey definition in proto format

static

CryptoKeyVersion

A CryptoKeyVersion represents an individual cryptographic key, and the associated key material.

An ENABLED version can be used for cryptographic operations.

For security reasons, the raw cryptographic key material represented by a CryptoKeyVersion can never be viewed or exported. It can only be used to encrypt, decrypt, or sign data when an authorized user or application invokes Cloud KMS.

Properties

Name Type Optional Description

name

string

 

Output only. The resource name for this CryptoKeyVersion in the format projects/* /locations/* /keyRings/* /cryptoKeys/* /cryptoKeyVersions/*.

state

number

 

The current state of the CryptoKeyVersion.

The number should be among the values of CryptoKeyVersionState

protectionLevel

number

 

Output only. The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.

The number should be among the values of ProtectionLevel

algorithm

number

 

Output only. The CryptoKeyVersionAlgorithm that this CryptoKeyVersion supports.

The number should be among the values of CryptoKeyVersionAlgorithm

attestation

Object

 

Output only. Statement that was generated and signed by the HSM at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only provided for key versions with protection_level HSM.

This object should have the same structure as KeyOperationAttestation

createTime

Object

 

Output only. The time at which this CryptoKeyVersion was created.

This object should have the same structure as Timestamp

generateTime

Object

 

Output only. The time this CryptoKeyVersion's key material was generated.

This object should have the same structure as Timestamp

destroyTime

Object

 

Output only. The time this CryptoKeyVersion's key material is scheduled for destruction. Only present if state is DESTROY_SCHEDULED.

This object should have the same structure as Timestamp

destroyEventTime

Object

 

Output only. The time this CryptoKeyVersion's key material was destroyed. Only present if state is DESTROYED.

This object should have the same structure as Timestamp

importJob

string

 

Output only. The name of the ImportJob used to import this CryptoKeyVersion. Only present if the underlying key material was imported.

importTime

Object

 

Output only. The time at which this CryptoKeyVersion's key material was imported.

This object should have the same structure as Timestamp

importFailureReason

string

 

Output only. The root cause of an import failure. Only present if state is IMPORT_FAILED.

See also

google.cloud.kms.v1.CryptoKeyVersion definition in proto format

static

CryptoKeyVersionTemplate

A CryptoKeyVersionTemplate specifies the properties to use when creating a new CryptoKeyVersion, either manually with CreateCryptoKeyVersion or automatically as a result of auto-rotation.

Properties

Name Type Optional Description

protectionLevel

number

 

ProtectionLevel to use when creating a CryptoKeyVersion based on this template. Immutable. Defaults to SOFTWARE.

The number should be among the values of ProtectionLevel

algorithm

number

 

Required. Algorithm to use when creating a CryptoKeyVersion based on this template.

For backwards compatibility, GOOGLE_SYMMETRIC_ENCRYPTION is implied if both this field is omitted and CryptoKey.purpose is ENCRYPT_DECRYPT.

The number should be among the values of CryptoKeyVersionAlgorithm

See also

google.cloud.kms.v1.CryptoKeyVersionTemplate definition in proto format

static

DecryptRequest

Request message for KeyManagementService.Decrypt.

Properties

Name Type Optional Description

name

string

 

Required. The resource name of the CryptoKey to use for decryption. The server will choose the appropriate version.

ciphertext

Buffer

 

Required. The encrypted data originally returned in EncryptResponse.ciphertext.

additionalAuthenticatedData

Buffer

 

Optional data that must match the data originally supplied in EncryptRequest.additional_authenticated_data.

See also

google.cloud.kms.v1.DecryptRequest definition in proto format

static

DecryptResponse

Response message for KeyManagementService.Decrypt.

Property

Name Type Optional Description

plaintext

Buffer

 

The decrypted data originally supplied in EncryptRequest.plaintext.

See also

google.cloud.kms.v1.DecryptResponse definition in proto format

static

DestroyCryptoKeyVersionRequest

Request message for KeyManagementService.DestroyCryptoKeyVersion.

Property

Name Type Optional Description

name

string

 

The resource name of the CryptoKeyVersion to destroy.

See also

google.cloud.kms.v1.DestroyCryptoKeyVersionRequest definition in proto format

static

Digest

A Digest holds a cryptographic message digest.

Properties

Name Type Optional Description

sha256

Buffer

 

A message digest produced with the SHA-256 algorithm.

sha384

Buffer

 

A message digest produced with the SHA-384 algorithm.

sha512

Buffer

 

A message digest produced with the SHA-512 algorithm.

See also

google.cloud.kms.v1.Digest definition in proto format

static

EncryptRequest

Request message for KeyManagementService.Encrypt.

Properties

Name Type Optional Description

name

string

 

Required. The resource name of the CryptoKey or CryptoKeyVersion to use for encryption.

If a CryptoKey is specified, the server will use its primary version.

plaintext

Buffer

 

Required. The data to encrypt. Must be no larger than 64KiB.

The maximum size depends on the key version's protection_level. For SOFTWARE keys, the plaintext must be no larger than 64KiB. For HSM keys, the combined length of the plaintext and additional_authenticated_data fields must be no larger than 8KiB.

additionalAuthenticatedData

Buffer

 

Optional data that, if specified, must also be provided during decryption through DecryptRequest.additional_authenticated_data.

The maximum size depends on the key version's protection_level. For SOFTWARE keys, the AAD must be no larger than 64KiB. For HSM keys, the combined length of the plaintext and additional_authenticated_data fields must be no larger than 8KiB.

See also

google.cloud.kms.v1.EncryptRequest definition in proto format

static

EncryptResponse

Response message for KeyManagementService.Encrypt.

Properties

Name Type Optional Description

name

string

 

The resource name of the CryptoKeyVersion used in encryption.

ciphertext

Buffer

 

The encrypted data.

See also

google.cloud.kms.v1.EncryptResponse definition in proto format

static

GetCryptoKeyRequest

Request message for KeyManagementService.GetCryptoKey.

Property

Name Type Optional Description

name

string

 

The name of the CryptoKey to get.

See also

google.cloud.kms.v1.GetCryptoKeyRequest definition in proto format

static

GetCryptoKeyVersionRequest

Request message for KeyManagementService.GetCryptoKeyVersion.

Property

Name Type Optional Description

name

string

 

The name of the CryptoKeyVersion to get.

See also

google.cloud.kms.v1.GetCryptoKeyVersionRequest definition in proto format

static

GetImportJobRequest

Request message for KeyManagementService.GetImportJob.

Property

Name Type Optional Description

name

string

 

The name of the ImportJob to get.

See also

google.cloud.kms.v1.GetImportJobRequest definition in proto format

static

GetKeyRingRequest

Request message for KeyManagementService.GetKeyRing.

Property

Name Type Optional Description

name

string

 

The name of the KeyRing to get.

See also

google.cloud.kms.v1.GetKeyRingRequest definition in proto format

static

GetPublicKeyRequest

Request message for KeyManagementService.GetPublicKey.

Property

Name Type Optional Description

name

string

 

The name of the CryptoKeyVersion public key to get.

See also

google.cloud.kms.v1.GetPublicKeyRequest definition in proto format

static

ImportCryptoKeyVersionRequest

Request message for KeyManagementService.ImportCryptoKeyVersion.

Properties

Name Type Optional Description

parent

string

 

Required. The name of the CryptoKey to be imported into.

algorithm

number

 

Required. The algorithm of the key being imported. This does not need to match the version_template of the CryptoKey this version imports into.

The number should be among the values of CryptoKeyVersionAlgorithm

importJob

string

 

Required. The name of the ImportJob that was used to wrap this key material.

rsaAesWrappedKey

Buffer

 

Wrapped key material produced with RSA_OAEP_3072_SHA1_AES_256 or RSA_OAEP_4096_SHA1_AES_256.

This field contains the concatenation of two wrapped keys:

  1. An ephemeral AES-256 wrapping key wrapped with the public_key using RSAES-OAEP with SHA-1, MGF1 with SHA-1, and an empty label.
  2. The key to be imported, wrapped with the ephemeral AES-256 key using AES-KWP (RFC 5649).

This format is the same as the format produced by PKCS#11 mechanism CKM_RSA_AES_KEY_WRAP.

See also

google.cloud.kms.v1.ImportCryptoKeyVersionRequest definition in proto format

static

ImportJob

An ImportJob can be used to create CryptoKeys and CryptoKeyVersions using pre-existing key material, generated outside of Cloud KMS.

When an ImportJob is created, Cloud KMS will generate a "wrapping key", which is a public/private key pair. You use the wrapping key to encrypt (also known as wrap) the pre-existing key material to protect it during the import process. The nature of the wrapping key depends on the choice of import_method. When the wrapping key generation is complete, the state will be set to ACTIVE and the public_key can be fetched. The fetched public key can then be used to wrap your pre-existing key material.

Once the key material is wrapped, it can be imported into a new CryptoKeyVersion in an existing CryptoKey by calling ImportCryptoKeyVersion. Multiple CryptoKeyVersions can be imported with a single ImportJob. Cloud KMS uses the private key portion of the wrapping key to unwrap the key material. Only Cloud KMS has access to the private key.

An ImportJob expires 3 days after it is created. Once expired, Cloud KMS will no longer be able to import or unwrap any key material that was wrapped with the ImportJob's public key.

For more information, see Importing a key.

Properties

Name Type Optional Description

name

string

 

Output only. The resource name for this ImportJob in the format projects/* /locations/* /keyRings/* /importJobs/*.

importMethod

number

 

Required and immutable. The wrapping method to be used for incoming key material.

The number should be among the values of ImportMethod

protectionLevel

number

 

Required and immutable. The protection level of the ImportJob. This must match the protection_level of the version_template on the CryptoKey you attempt to import into.

The number should be among the values of ProtectionLevel

createTime

Object

 

Output only. The time at which this ImportJob was created.

This object should have the same structure as Timestamp

generateTime

Object

 

Output only. The time this ImportJob's key material was generated.

This object should have the same structure as Timestamp

expireTime

Object

 

Output only. The time at which this ImportJob is scheduled for expiration and can no longer be used to import key material.

This object should have the same structure as Timestamp

expireEventTime

Object

 

Output only. The time this ImportJob expired. Only present if state is EXPIRED.

This object should have the same structure as Timestamp

state

number

 

Output only. The current state of the ImportJob, indicating if it can be used.

The number should be among the values of ImportJobState

publicKey

Object

 

Output only. The public key with which to wrap key material prior to import. Only returned if state is ACTIVE.

This object should have the same structure as WrappingPublicKey

attestation

Object

 

Output only. Statement that was generated and signed by the key creator (for example, an HSM) at key creation time. Use this statement to verify attributes of the key as stored on the HSM, independently of Google. Only present if the chosen ImportMethod is one with a protection level of HSM.

This object should have the same structure as KeyOperationAttestation

See also

google.cloud.kms.v1.ImportJob definition in proto format

static

KeyOperationAttestation

Contains an HSM-generated attestation about a key operation. For more information, see [Verifying attestations] (https://cloud.google.com/kms/docs/attest-key).

Properties

Name Type Optional Description

format

number

 

Output only. The format of the attestation data.

The number should be among the values of AttestationFormat

content

Buffer

 

Output only. The attestation data provided by the HSM when the key operation was performed.

See also

google.cloud.kms.v1.KeyOperationAttestation definition in proto format

static

KeyRing

A KeyRing is a toplevel logical grouping of CryptoKeys.

Properties

Name Type Optional Description

name

string

 

Output only. The resource name for the KeyRing in the format projects/* /locations/* /keyRings/*.

createTime

Object

 

Output only. The time at which this KeyRing was created.

This object should have the same structure as Timestamp

See also

google.cloud.kms.v1.KeyRing definition in proto format

static

ListCryptoKeysRequest

Request message for KeyManagementService.ListCryptoKeys.

Properties

Name Type Optional Description

parent

string

 

Required. The resource name of the KeyRing to list, in the format projects/* /locations/* /keyRings/*.

pageSize

number

 

Optional limit on the number of CryptoKeys to include in the response. Further CryptoKeys can subsequently be obtained by including the ListCryptoKeysResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.

pageToken

string

 

Optional pagination token, returned earlier via ListCryptoKeysResponse.next_page_token.

versionView

number

 

The fields of the primary version to include in the response.

The number should be among the values of CryptoKeyVersionView

filter

string

 

Optional. Only include resources that match the filter in the response.

orderBy

string

 

Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order.

See also

google.cloud.kms.v1.ListCryptoKeysRequest definition in proto format

static

ListCryptoKeysResponse

Response message for KeyManagementService.ListCryptoKeys.

Properties

Name Type Optional Description

cryptoKeys

Array of Object

 

The list of CryptoKeys.

This object should have the same structure as CryptoKey

nextPageToken

string

 

A token to retrieve next page of results. Pass this value in ListCryptoKeysRequest.page_token to retrieve the next page of results.

totalSize

number

 

The total number of CryptoKeys that matched the query.

See also

google.cloud.kms.v1.ListCryptoKeysResponse definition in proto format

static

ListCryptoKeyVersionsRequest

Request message for KeyManagementService.ListCryptoKeyVersions.

Properties

Name Type Optional Description

parent

string

 

Required. The resource name of the CryptoKey to list, in the format projects/* /locations/* /keyRings/* /cryptoKeys/*.

pageSize

number

 

Optional limit on the number of CryptoKeyVersions to include in the response. Further CryptoKeyVersions can subsequently be obtained by including the ListCryptoKeyVersionsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.

pageToken

string

 

Optional pagination token, returned earlier via ListCryptoKeyVersionsResponse.next_page_token.

view

number

 

The fields to include in the response.

The number should be among the values of CryptoKeyVersionView

filter

string

 

Optional. Only include resources that match the filter in the response.

orderBy

string

 

Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order.

See also

google.cloud.kms.v1.ListCryptoKeyVersionsRequest definition in proto format

static

ListCryptoKeyVersionsResponse

Response message for KeyManagementService.ListCryptoKeyVersions.

Properties

Name Type Optional Description

cryptoKeyVersions

Array of Object

 

The list of CryptoKeyVersions.

This object should have the same structure as CryptoKeyVersion

nextPageToken

string

 

A token to retrieve next page of results. Pass this value in ListCryptoKeyVersionsRequest.page_token to retrieve the next page of results.

totalSize

number

 

The total number of CryptoKeyVersions that matched the query.

See also

google.cloud.kms.v1.ListCryptoKeyVersionsResponse definition in proto format

static

ListImportJobsRequest

Request message for KeyManagementService.ListImportJobs.

Properties

Name Type Optional Description

parent

string

 

Required. The resource name of the KeyRing to list, in the format projects/* /locations/* /keyRings/*.

pageSize

number

 

Optional limit on the number of ImportJobs to include in the response. Further ImportJobs can subsequently be obtained by including the ListImportJobsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.

pageToken

string

 

Optional pagination token, returned earlier via ListImportJobsResponse.next_page_token.

filter

string

 

Optional. Only include resources that match the filter in the response.

orderBy

string

 

Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order.

See also

google.cloud.kms.v1.ListImportJobsRequest definition in proto format

static

ListImportJobsResponse

Response message for KeyManagementService.ListImportJobs.

Properties

Name Type Optional Description

importJobs

Array of Object

 

The list of ImportJobs.

This object should have the same structure as ImportJob

nextPageToken

string

 

A token to retrieve next page of results. Pass this value in ListImportJobsRequest.page_token to retrieve the next page of results.

totalSize

number

 

The total number of ImportJobs that matched the query.

See also

google.cloud.kms.v1.ListImportJobsResponse definition in proto format

static

ListKeyRingsRequest

Request message for KeyManagementService.ListKeyRings.

Properties

Name Type Optional Description

parent

string

 

Required. The resource name of the location associated with the KeyRings, in the format projects/* /locations/*.

pageSize

number

 

Optional limit on the number of KeyRings to include in the response. Further KeyRings can subsequently be obtained by including the ListKeyRingsResponse.next_page_token in a subsequent request. If unspecified, the server will pick an appropriate default.

pageToken

string

 

Optional pagination token, returned earlier via ListKeyRingsResponse.next_page_token.

filter

string

 

Optional. Only include resources that match the filter in the response.

orderBy

string

 

Optional. Specify how the results should be sorted. If not specified, the results will be sorted in the default order.

See also

google.cloud.kms.v1.ListKeyRingsRequest definition in proto format

static

ListKeyRingsResponse

Response message for KeyManagementService.ListKeyRings.

Properties

Name Type Optional Description

keyRings

Array of Object

 

The list of KeyRings.

This object should have the same structure as KeyRing

nextPageToken

string

 

A token to retrieve next page of results. Pass this value in ListKeyRingsRequest.page_token to retrieve the next page of results.

totalSize

number

 

The total number of KeyRings that matched the query.

See also

google.cloud.kms.v1.ListKeyRingsResponse definition in proto format

static

LocationMetadata

Cloud KMS metadata for the given google.cloud.location.Location.

Property

Name Type Optional Description

hsmAvailable

boolean

 

Indicates whether CryptoKeys with protection_level HSM can be created in this location.

See also

google.cloud.kms.v1.LocationMetadata definition in proto format

static

PublicKey

The public key for a given CryptoKeyVersion. Obtained via GetPublicKey.

Properties

Name Type Optional Description

pem

string

 

The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13).

algorithm

number

 

The Algorithm associated with this key.

The number should be among the values of CryptoKeyVersionAlgorithm

See also

google.cloud.kms.v1.PublicKey definition in proto format

static

RestoreCryptoKeyVersionRequest

Request message for KeyManagementService.RestoreCryptoKeyVersion.

Property

Name Type Optional Description

name

string

 

The resource name of the CryptoKeyVersion to restore.

See also

google.cloud.kms.v1.RestoreCryptoKeyVersionRequest definition in proto format

static

UpdateCryptoKeyPrimaryVersionRequest

Request message for KeyManagementService.UpdateCryptoKeyPrimaryVersion.

Properties

Name Type Optional Description

name

string

 

The resource name of the CryptoKey to update.

cryptoKeyVersionId

string

 

The id of the child CryptoKeyVersion to use as primary.

See also

google.cloud.kms.v1.UpdateCryptoKeyPrimaryVersionRequest definition in proto format

static

UpdateCryptoKeyRequest

Request message for KeyManagementService.UpdateCryptoKey.

Properties

Name Type Optional Description

cryptoKey

Object

 

CryptoKey with updated values.

This object should have the same structure as CryptoKey

updateMask

Object

 

Required list of fields to be updated in this request.

This object should have the same structure as FieldMask

See also

google.cloud.kms.v1.UpdateCryptoKeyRequest definition in proto format

static

UpdateCryptoKeyVersionRequest

Request message for KeyManagementService.UpdateCryptoKeyVersion.

Properties

Name Type Optional Description

cryptoKeyVersion

Object

 

CryptoKeyVersion with updated values.

This object should have the same structure as CryptoKeyVersion

updateMask

Object

 

Required list of fields to be updated in this request.

This object should have the same structure as FieldMask

See also

google.cloud.kms.v1.UpdateCryptoKeyVersionRequest definition in proto format

static

WrappingPublicKey

The public key component of the wrapping key. For details of the type of key this public key corresponds to, see the ImportMethod.

Property

Name Type Optional Description

pem

string

 

The public key, encoded in PEM format. For more information, see the RFC 7468 sections for General Considerations and [Textual Encoding of Subject Public Key Info] (https://tools.ietf.org/html/rfc7468#section-13).

See also

google.cloud.kms.v1.ImportJob.WrappingPublicKey definition in proto format