ockam_vault_sync_core/vault_mutex/
asymmetric_vault.rs1use crate::VaultMutex;
2use ockam_core::vault::{AsymmetricVault, PublicKey, Secret};
3use ockam_core::Result;
4use ockam_core::{async_trait, compat::boxed::Box};
5
6#[async_trait]
7impl<V: AsymmetricVault + Send> AsymmetricVault for VaultMutex<V> {
8 async fn ec_diffie_hellman(
9 &mut self,
10 context: &Secret,
11 peer_public_key: &PublicKey,
12 ) -> Result<Secret> {
13 self.0
14 .lock()
15 .await
16 .ec_diffie_hellman(context, peer_public_key)
17 .await
18 }
19}
20
21#[cfg(test)]
22mod tests {
23 use crate::VaultMutex;
24 use ockam_vault::SoftwareVault;
25
26 fn new_vault() -> VaultMutex<SoftwareVault> {
27 VaultMutex::create(SoftwareVault::default())
28 }
29
30 #[ockam_macros::vault_test]
31 fn ec_diffie_hellman_curve25519() {}
32}