pub trait KeyManagerProxyInterface: Send + Sync {
    type SealDataResponseFut: Future<Output = Result<KeyManagerSealDataResult, Error>> + Send;
    type UnsealDataResponseFut: Future<Output = Result<KeyManagerUnsealDataResult, Error>> + Send;
    type GenerateAsymmetricKeyResponseFut: Future<Output = Result<KeyManagerGenerateAsymmetricKeyResult, Error>> + Send;
    type GenerateAsymmetricKeyWithAlgorithmResponseFut: Future<Output = Result<KeyManagerGenerateAsymmetricKeyWithAlgorithmResult, Error>> + Send;
    type ImportAsymmetricPrivateKeyResponseFut: Future<Output = Result<KeyManagerImportAsymmetricPrivateKeyResult, Error>> + Send;
    type GetAsymmetricPrivateKeyResponseFut: Future<Output = Result<KeyManagerGetAsymmetricPrivateKeyResult, Error>> + Send;
    type DeleteKeyResponseFut: Future<Output = Result<KeyManagerDeleteKeyResult, Error>> + Send;

    // Required methods
    fn seal_data(&self, plain_text: Buffer) -> Self::SealDataResponseFut;
    fn unseal_data(&self, cipher_text: Buffer) -> Self::UnsealDataResponseFut;
    fn generate_asymmetric_key(
        &self,
        key_name: &str,
        key: ServerEnd<AsymmetricPrivateKeyMarker>
    ) -> Self::GenerateAsymmetricKeyResponseFut;
    fn generate_asymmetric_key_with_algorithm(
        &self,
        key_name: &str,
        key_algorithm: AsymmetricKeyAlgorithm,
        key: ServerEnd<AsymmetricPrivateKeyMarker>
    ) -> Self::GenerateAsymmetricKeyWithAlgorithmResponseFut;
    fn import_asymmetric_private_key(
        &self,
        data: &[u8],
        key_name: &str,
        key_algorithm: AsymmetricKeyAlgorithm,
        key: ServerEnd<AsymmetricPrivateKeyMarker>
    ) -> Self::ImportAsymmetricPrivateKeyResponseFut;
    fn get_asymmetric_private_key(
        &self,
        key_name: &str,
        key: ServerEnd<AsymmetricPrivateKeyMarker>
    ) -> Self::GetAsymmetricPrivateKeyResponseFut;
    fn delete_key(&self, key_name: &str) -> Self::DeleteKeyResponseFut;
}

Required Associated Types§

Required Methods§

Implementors§