pub struct KeyVault { /* private fields */ }Expand description
密钥保险库,集成生成、轮换、存储、检索与版本管理
所有操作线程安全,通过 parking_lot::RwLock 保护内部状态。
Implementations§
Source§impl KeyVault
impl KeyVault
Sourcepub fn new(rotation_policy: RotationPolicy) -> Self
pub fn new(rotation_policy: RotationPolicy) -> Self
创建密钥保险库,指定轮换策略
Sourcepub fn generate_key(
&self,
name: &str,
algorithm: KeyAlgorithm,
purpose: KeyPurpose,
) -> Result<String, KeyError>
pub fn generate_key( &self, name: &str, algorithm: KeyAlgorithm, purpose: KeyPurpose, ) -> Result<String, KeyError>
生成新密钥并存入存储,返回密钥 ID
Sourcepub fn get_latest_key(&self, name: &str) -> Option<KeyEntry>
pub fn get_latest_key(&self, name: &str) -> Option<KeyEntry>
获取最新版本密钥(按名称)
Sourcepub fn get_all_versions(&self, name: &str) -> Vec<KeyEntry>
pub fn get_all_versions(&self, name: &str) -> Vec<KeyEntry>
获取指定名称的所有版本
Sourcepub fn needs_rotation(&self, name: &str) -> bool
pub fn needs_rotation(&self, name: &str) -> bool
检查密钥是否需要轮换
Sourcepub fn auto_rotate(&self, name: &str) -> Option<String>
pub fn auto_rotate(&self, name: &str) -> Option<String>
自动轮换检查:若需要轮换则执行
Sourcepub fn version_count(&self, name: &str) -> usize
pub fn version_count(&self, name: &str) -> usize
返回指定名称的版本数
Sourcepub fn audit_log(&self) -> KeyAuditLog
pub fn audit_log(&self) -> KeyAuditLog
返回审计日志的只读快照
Sourcepub fn usage_count(&self, key_id: &str) -> u64
pub fn usage_count(&self, key_id: &str) -> u64
返回指定密钥的使用次数
Sourcepub fn get_by_tag(&self, tag: &str) -> Vec<KeyEntry>
pub fn get_by_tag(&self, tag: &str) -> Vec<KeyEntry>
按标签检索密钥
Sourcepub fn get_by_status(&self, status: KeyStatus) -> Vec<KeyEntry>
pub fn get_by_status(&self, status: KeyStatus) -> Vec<KeyEntry>
按状态检索密钥
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for KeyVault
impl RefUnwindSafe for KeyVault
impl Send for KeyVault
impl Sync for KeyVault
impl Unpin for KeyVault
impl UnsafeUnpin for KeyVault
impl UnwindSafe for KeyVault
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more