use std::path::Path;
use si_crypto::{
SymmetricCryptoError,
SymmetricCryptoService,
VeritechKeyPair,
VeritechKeyPairError,
};
use telemetry::prelude::*;
#[instrument(
name = "luminork.util.generate_veritech_key_pair",
level = "info",
skip_all
)]
pub async fn generate_veritech_key_pair(
secret_key_path: impl AsRef<Path>,
public_key_path: impl AsRef<Path>,
) -> Result<(), VeritechKeyPairError> {
VeritechKeyPair::create_and_write_files(secret_key_path, public_key_path).await
}
#[instrument(
name = "luminork.util.generate_symmetric_key",
level = "info",
skip_all
)]
pub async fn generate_symmetric_key(
symmetric_key_path: impl AsRef<Path>,
) -> Result<(), SymmetricCryptoError> {
SymmetricCryptoService::generate_key()
.save(symmetric_key_path.as_ref())
.await
}