pub trait TransitOperations: Send + Sync {
Show 25 methods
// Required methods
fn create_key(
&self,
name: &str,
params: &TransitKeyParams,
) -> impl Future<Output = Result<(), VaultError>> + Send;
fn read_key(
&self,
name: &str,
) -> impl Future<Output = Result<TransitKeyInfo, VaultError>> + Send;
fn list_keys(
&self,
) -> impl Future<Output = Result<Vec<String>, VaultError>> + Send;
fn delete_key(
&self,
name: &str,
) -> impl Future<Output = Result<(), VaultError>> + Send;
fn update_key_config(
&self,
name: &str,
cfg: &TransitKeyConfig,
) -> impl Future<Output = Result<(), VaultError>> + Send;
fn rotate_key(
&self,
name: &str,
) -> impl Future<Output = Result<(), VaultError>> + Send;
fn export_key(
&self,
name: &str,
key_type: &str,
version: Option<u64>,
) -> impl Future<Output = Result<TransitExportedKey, VaultError>> + Send;
fn encrypt(
&self,
name: &str,
plaintext: &SecretString,
) -> impl Future<Output = Result<String, VaultError>> + Send;
fn decrypt(
&self,
name: &str,
ciphertext: &str,
) -> impl Future<Output = Result<SecretString, VaultError>> + Send;
fn rewrap(
&self,
name: &str,
ciphertext: &str,
) -> impl Future<Output = Result<String, VaultError>> + Send;
fn batch_encrypt(
&self,
name: &str,
items: &[TransitBatchPlaintext],
) -> impl Future<Output = Result<Vec<TransitBatchCiphertext>, VaultError>> + Send;
fn batch_decrypt(
&self,
name: &str,
items: &[TransitBatchCiphertext],
) -> impl Future<Output = Result<Vec<TransitBatchDecryptItem>, VaultError>> + Send;
fn sign(
&self,
name: &str,
input: &[u8],
params: &TransitSignParams,
) -> impl Future<Output = Result<String, VaultError>> + Send;
fn verify(
&self,
name: &str,
input: &[u8],
signature: &str,
) -> impl Future<Output = Result<bool, VaultError>> + Send;
fn batch_sign(
&self,
name: &str,
items: &[TransitBatchSignInput],
params: &TransitSignParams,
) -> impl Future<Output = Result<Vec<TransitBatchSignResult>, VaultError>> + Send;
fn batch_verify(
&self,
name: &str,
items: &[TransitBatchVerifyInput],
) -> impl Future<Output = Result<Vec<TransitBatchVerifyResult>, VaultError>> + Send;
fn hash(
&self,
input: &[u8],
algorithm: &str,
) -> impl Future<Output = Result<String, VaultError>> + Send;
fn hmac(
&self,
name: &str,
input: &[u8],
algorithm: &str,
) -> impl Future<Output = Result<String, VaultError>> + Send;
fn random(
&self,
num_bytes: u32,
format: &str,
) -> impl Future<Output = Result<String, VaultError>> + Send;
fn generate_data_key(
&self,
name: &str,
key_type: &str,
) -> impl Future<Output = Result<TransitDataKey, VaultError>> + Send;
fn trim_key(
&self,
name: &str,
min_version: u64,
) -> impl Future<Output = Result<(), VaultError>> + Send;
fn backup_key(
&self,
name: &str,
) -> impl Future<Output = Result<SecretString, VaultError>> + Send;
fn restore_key(
&self,
name: &str,
backup: &SecretString,
) -> impl Future<Output = Result<(), VaultError>> + Send;
fn read_cache_config(
&self,
) -> impl Future<Output = Result<TransitCacheConfig, VaultError>> + Send;
fn write_cache_config(
&self,
size: u64,
) -> impl Future<Output = Result<(), VaultError>> + Send;
}Required Methods§
fn create_key( &self, name: &str, params: &TransitKeyParams, ) -> impl Future<Output = Result<(), VaultError>> + Send
fn read_key( &self, name: &str, ) -> impl Future<Output = Result<TransitKeyInfo, VaultError>> + Send
fn list_keys( &self, ) -> impl Future<Output = Result<Vec<String>, VaultError>> + Send
fn delete_key( &self, name: &str, ) -> impl Future<Output = Result<(), VaultError>> + Send
fn update_key_config( &self, name: &str, cfg: &TransitKeyConfig, ) -> impl Future<Output = Result<(), VaultError>> + Send
fn rotate_key( &self, name: &str, ) -> impl Future<Output = Result<(), VaultError>> + Send
fn export_key( &self, name: &str, key_type: &str, version: Option<u64>, ) -> impl Future<Output = Result<TransitExportedKey, VaultError>> + Send
fn encrypt( &self, name: &str, plaintext: &SecretString, ) -> impl Future<Output = Result<String, VaultError>> + Send
fn decrypt( &self, name: &str, ciphertext: &str, ) -> impl Future<Output = Result<SecretString, VaultError>> + Send
fn rewrap( &self, name: &str, ciphertext: &str, ) -> impl Future<Output = Result<String, VaultError>> + Send
fn batch_encrypt( &self, name: &str, items: &[TransitBatchPlaintext], ) -> impl Future<Output = Result<Vec<TransitBatchCiphertext>, VaultError>> + Send
fn batch_decrypt( &self, name: &str, items: &[TransitBatchCiphertext], ) -> impl Future<Output = Result<Vec<TransitBatchDecryptItem>, VaultError>> + Send
fn sign( &self, name: &str, input: &[u8], params: &TransitSignParams, ) -> impl Future<Output = Result<String, VaultError>> + Send
fn verify( &self, name: &str, input: &[u8], signature: &str, ) -> impl Future<Output = Result<bool, VaultError>> + Send
fn batch_sign( &self, name: &str, items: &[TransitBatchSignInput], params: &TransitSignParams, ) -> impl Future<Output = Result<Vec<TransitBatchSignResult>, VaultError>> + Send
fn batch_verify( &self, name: &str, items: &[TransitBatchVerifyInput], ) -> impl Future<Output = Result<Vec<TransitBatchVerifyResult>, VaultError>> + Send
fn hash( &self, input: &[u8], algorithm: &str, ) -> impl Future<Output = Result<String, VaultError>> + Send
fn hmac( &self, name: &str, input: &[u8], algorithm: &str, ) -> impl Future<Output = Result<String, VaultError>> + Send
fn random( &self, num_bytes: u32, format: &str, ) -> impl Future<Output = Result<String, VaultError>> + Send
fn generate_data_key( &self, name: &str, key_type: &str, ) -> impl Future<Output = Result<TransitDataKey, VaultError>> + Send
fn trim_key( &self, name: &str, min_version: u64, ) -> impl Future<Output = Result<(), VaultError>> + Send
fn backup_key( &self, name: &str, ) -> impl Future<Output = Result<SecretString, VaultError>> + Send
fn restore_key( &self, name: &str, backup: &SecretString, ) -> impl Future<Output = Result<(), VaultError>> + Send
fn read_cache_config( &self, ) -> impl Future<Output = Result<TransitCacheConfig, VaultError>> + Send
fn write_cache_config( &self, size: u64, ) -> impl Future<Output = Result<(), VaultError>> + Send
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.