1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
use serde::{Deserialize, Serialize};
use zeroize::Zeroize;
/// Handle to a cryptographic Secret
/// Individual Vault implementations should map secret handles
/// into implementation-specific Secret representations (e.g. binaries, or HSM references)
/// stored inside Vault (e.g. using HashMap)
#[derive(Serialize, Deserialize, Clone, PartialEq, Debug, Zeroize)]
pub struct Secret {
index: usize,
}
impl Secret {
/// Return the index of this secret.
pub fn index(&self) -> usize {
self.index
}
}
impl Secret {
/// Create a new secret at the given index.
pub fn new(index: usize) -> Self {
Secret { index }
}
}