The algorithm of the [CryptoKeyVersion][google.cloud.kms.v1.CryptoKeyVersion], indicating what parameters must be used for each cryptographic operation.
The [GOOGLE_SYMMETRIC_ENCRYPTION][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.GOOGLE_SYMMETRIC_ENCRYPTION] algorithm is usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] [ENCRYPT_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ENCRYPT_DECRYPT].
Algorithms beginning with RSA_SIGN_
are usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.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][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm.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][google.cloud.kms.v1.CryptoKey.purpose] [ASYMMETRIC_DECRYPT][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.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][google.cloud.kms.v1.CryptoKey.purpose] [ASYMMETRIC_SIGN][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.ASYMMETRIC_SIGN].
The fields in the name after EC_SIGN_
correspond to the following parameters: elliptic curve, digest algorithm.
Algorithms beginning with HMAC_
are usable with [CryptoKey.purpose][google.cloud.kms.v1.CryptoKey.purpose] [MAC][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose.MAC].
The suffix following HMAC_
corresponds to the hash algorithm being used (eg. SHA256).
For more information, see [Key purposes and algorithms] (https://cloud.google.com/kms/docs/algorithms).
Attributes
- Companion
- object
- Source
- CryptoKeyVersion.scala
- Graph
-
- Supertypes
-
trait GeneratedEnumtrait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
- Known subtypes
-
object AES_128_CBC.typeobject AES_128_CTR.typeobject AES_128_GCM.typeobject AES_256_CBC.typeobject AES_256_CTR.typeobject AES_256_GCM.typeobject CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED.typeobject EC_SIGN_P256_SHA256.typeobject EC_SIGN_P384_SHA384.typeobject EC_SIGN_SECP256K1_SHA256.typeobject EXTERNAL_SYMMETRIC_ENCRYPTION.typeobject GOOGLE_SYMMETRIC_ENCRYPTION.typeobject HMAC_SHA1.typeobject HMAC_SHA224.typeobject HMAC_SHA256.typeobject HMAC_SHA384.typeobject HMAC_SHA512.typeobject RSA_DECRYPT_OAEP_2048_SHA1.typeobject RSA_DECRYPT_OAEP_2048_SHA256.typeobject RSA_DECRYPT_OAEP_3072_SHA1.typeobject RSA_DECRYPT_OAEP_3072_SHA256.typeobject RSA_DECRYPT_OAEP_4096_SHA1.typeobject RSA_DECRYPT_OAEP_4096_SHA256.typeobject RSA_DECRYPT_OAEP_4096_SHA512.typeobject RSA_SIGN_PKCS1_2048_SHA256.typeobject RSA_SIGN_PKCS1_3072_SHA256.typeobject RSA_SIGN_PKCS1_4096_SHA256.typeobject RSA_SIGN_PKCS1_4096_SHA512.typeobject RSA_SIGN_PSS_2048_SHA256.typeobject RSA_SIGN_PSS_3072_SHA256.typeobject RSA_SIGN_PSS_4096_SHA256.typeobject RSA_SIGN_PSS_4096_SHA512.typeobject RSA_SIGN_RAW_PKCS1_2048.typeobject RSA_SIGN_RAW_PKCS1_3072.typeobject RSA_SIGN_RAW_PKCS1_4096.typetrait Recognizedclass Unrecognized