[][src]Enum gcp_client::google::cloud::kms::v1::crypto_key_version::CryptoKeyVersionAlgorithm

#[repr(i32)]pub enum CryptoKeyVersionAlgorithm {
    Unspecified,
    GoogleSymmetricEncryption,
    RsaSignPss2048Sha256,
    RsaSignPss3072Sha256,
    RsaSignPss4096Sha256,
    RsaSignPss4096Sha512,
    RsaSignPkcs12048Sha256,
    RsaSignPkcs13072Sha256,
    RsaSignPkcs14096Sha256,
    RsaSignPkcs14096Sha512,
    RsaDecryptOaep2048Sha256,
    RsaDecryptOaep3072Sha256,
    RsaDecryptOaep4096Sha256,
    RsaDecryptOaep4096Sha512,
    EcSignP256Sha256,
    EcSignP384Sha384,
    ExternalSymmetricEncryption,
}

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.

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

Variants

Unspecified

Not specified.

GoogleSymmetricEncryption

Creates symmetric encryption keys.

RsaSignPss2048Sha256

RSASSA-PSS 2048 bit key with a SHA256 digest.

RsaSignPss3072Sha256

RSASSA-PSS 3072 bit key with a SHA256 digest.

RsaSignPss4096Sha256

RSASSA-PSS 4096 bit key with a SHA256 digest.

RsaSignPss4096Sha512

RSASSA-PSS 4096 bit key with a SHA512 digest.

RsaSignPkcs12048Sha256

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

RsaSignPkcs13072Sha256

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

RsaSignPkcs14096Sha256

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

RsaSignPkcs14096Sha512

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

RsaDecryptOaep2048Sha256

RSAES-OAEP 2048 bit key with a SHA256 digest.

RsaDecryptOaep3072Sha256

RSAES-OAEP 3072 bit key with a SHA256 digest.

RsaDecryptOaep4096Sha256

RSAES-OAEP 4096 bit key with a SHA256 digest.

RsaDecryptOaep4096Sha512

RSAES-OAEP 4096 bit key with a SHA512 digest.

EcSignP256Sha256

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

EcSignP384Sha384

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

ExternalSymmetricEncryption

Algorithm representing symmetric encryption by an external key manager.

Implementations

impl CryptoKeyVersionAlgorithm[src]

pub fn is_valid(value: i32) -> bool[src]

Returns true if value is a variant of CryptoKeyVersionAlgorithm.

pub fn from_i32(value: i32) -> Option<CryptoKeyVersionAlgorithm>[src]

Converts an i32 to a CryptoKeyVersionAlgorithm, or None if value is not a valid variant.

Trait Implementations

impl Clone for CryptoKeyVersionAlgorithm[src]

impl Copy for CryptoKeyVersionAlgorithm[src]

impl Debug for CryptoKeyVersionAlgorithm[src]

impl Default for CryptoKeyVersionAlgorithm[src]

impl Eq for CryptoKeyVersionAlgorithm[src]

impl From<CryptoKeyVersionAlgorithm> for i32[src]

impl Hash for CryptoKeyVersionAlgorithm[src]

impl Ord for CryptoKeyVersionAlgorithm[src]

impl PartialEq<CryptoKeyVersionAlgorithm> for CryptoKeyVersionAlgorithm[src]

impl PartialOrd<CryptoKeyVersionAlgorithm> for CryptoKeyVersionAlgorithm[src]

impl StructuralEq for CryptoKeyVersionAlgorithm[src]

impl StructuralPartialEq for CryptoKeyVersionAlgorithm[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoRequest<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> WithSubscriber for T[src]