use ockam_core::compat::vec::Vec;
#[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq)]
pub struct HandleToSecret(Vec<u8>);
impl HandleToSecret {
pub fn new(value: Vec<u8>) -> Self {
Self(value)
}
pub fn value(&self) -> &Vec<u8> {
&self.0
}
pub fn take_value(self) -> Vec<u8> {
self.0
}
}
#[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq)]
pub enum SigningSecretKeyHandle {
EdDSACurve25519(HandleToSecret),
ECDSASHA256CurveP256(HandleToSecret),
}
impl SigningSecretKeyHandle {
pub fn handle(&self) -> &HandleToSecret {
match self {
SigningSecretKeyHandle::EdDSACurve25519(handle) => handle,
SigningSecretKeyHandle::ECDSASHA256CurveP256(handle) => handle,
}
}
}
#[derive(Debug, Eq, PartialEq)]
pub enum SigningKeyType {
EdDSACurve25519,
ECDSASHA256CurveP256,
}
#[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq)]
pub struct X25519SecretKeyHandle(pub HandleToSecret);
#[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq)]
pub struct SecretBufferHandle(pub HandleToSecret);