Reference documentation and code samples for the Google Cloud Key Management Service v1 API enum CryptoKey.Types.CryptoKeyPurpose.
[CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose]
describes the cryptographic capabilities of a
[CryptoKey][google.cloud.kms.v1.CryptoKey]. A given key can only be used
for the operations allowed by its purpose. For more information, see Key
purposes.
[CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
with
[AsymmetricDecrypt][google.cloud.kms.v1.KeyManagementService.AsymmetricDecrypt]
and
[GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
AsymmetricSign
[CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
with
[AsymmetricSign][google.cloud.kms.v1.KeyManagementService.AsymmetricSign]
and
[GetPublicKey][google.cloud.kms.v1.KeyManagementService.GetPublicKey].
EncryptDecrypt
[CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
with [Encrypt][google.cloud.kms.v1.KeyManagementService.Encrypt] and
[Decrypt][google.cloud.kms.v1.KeyManagementService.Decrypt].
Mac
[CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
with [MacSign][google.cloud.kms.v1.KeyManagementService.MacSign].
RawEncryptDecrypt
[CryptoKeys][google.cloud.kms.v1.CryptoKey] with this purpose may be used
with [RawEncrypt][google.cloud.kms.v1.KeyManagementService.RawEncrypt]
and [RawDecrypt][google.cloud.kms.v1.KeyManagementService.RawDecrypt].
This purpose is meant to be used for interoperable symmetric
encryption and does not support automatic CryptoKey rotation.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document provides reference documentation for the \u003ccode\u003eCryptoKey.Types.CryptoKeyPurpose\u003c/code\u003e enum within the Google Cloud Key Management Service v1 API, detailing the various cryptographic capabilities associated with a \u003ccode\u003eCryptoKey\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the API documented is 3.16.0, while the current version being viewed on this specific page is 3.8.0, and it lists versions ranging from 2.2.0 all the way to the most current.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCryptoKeyPurpose\u003c/code\u003e enum defines the permitted operations for a key, including \u003ccode\u003eAsymmetricDecrypt\u003c/code\u003e, \u003ccode\u003eAsymmetricSign\u003c/code\u003e, \u003ccode\u003eEncryptDecrypt\u003c/code\u003e, \u003ccode\u003eMac\u003c/code\u003e, \u003ccode\u003eRawEncryptDecrypt\u003c/code\u003e, and \u003ccode\u003eUnspecified\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCryptoKey.Types.CryptoKeyPurpose\u003c/code\u003e is found within the Google.Cloud.Kms.V1 namespace, and is part of the Google.Cloud.Kms.V1.dll assembly.\u003c/p\u003e\n"],["\u003cp\u003eSpecific fields are associated with a description, such as \u003ccode\u003eEncryptDecrypt\u003c/code\u003e indicating it can be used with \u003ccode\u003eEncrypt\u003c/code\u003e and \u003ccode\u003eDecrypt\u003c/code\u003e, or \u003ccode\u003eAsymmetricSign\u003c/code\u003e being used for \u003ccode\u003eAsymmetricSign\u003c/code\u003e and \u003ccode\u003eGetPublicKey\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]