cosmian_kms_cli 5.20.0

Command Line Interface used to manage the KMS server If any assistance is needed, please either visit the Cosmian technical documentation at https://docs.cosmian.com or contact the Cosmian support team on Discord https://discord.com/invite/7kPMNtHpnz
Documentation
use clap::{Parser, ValueEnum};
use strum::{Display, EnumString};

/// The algorithm used with the RSA public key to protect key material during import.
///
/// For `RSA_AES` wrapping algorithms, you encrypt your key material with an AES key
/// that you generate, then encrypt your AES key with the RSA public key from AWS KMS.
/// For `RSAES_OAEP` wrapping algorithms, you encrypt your key material directly with the
/// RSA public key from AWS KMS.
#[derive(Display, Parser, Debug, Clone, Copy, PartialEq, Eq, ValueEnum, EnumString)]
pub enum AwsKmsWrappingAlgorithm {
    /// Supported for all types of key material, except RSA key material (private key).
    /// Cannot be used with `RSA_2048` wrapping key spec to wrap `ECC_NIST_P521` key material.
    #[clap(name = "RSAES_OAEP_SHA_1")]
    RsaesOaepSha1,

    /// Supported for all types of key material, except RSA key material (private key).
    /// Cannot be used with `RSA_2048` wrapping key spec to wrap `ECC_NIST_P521` key material.
    #[clap(name = "RSAES_OAEP_SHA_256")]
    RsaesOaepSha256,

    /// Supported for wrapping RSA and ECC key material.
    /// Required for importing RSA private keys.
    #[clap(name = "RSA_AES_KEY_WRAP_SHA_1")]
    RsaAesKeyWrapSha1,

    /// Supported for wrapping RSA and ECC key material.
    /// Required for importing RSA private keys.
    #[clap(name = "RSA_AES_KEY_WRAP_SHA_256")]
    RsaAesKeyWrapSha256,
}