pub struct FipsModule { /* private fields */ }Expand description
FIPS 140-3 Cryptographic Module
This software cryptographic module implements FIPS 140-3 Level 1 requirements:
- Approved cryptographic algorithms (CAVP validated implementations)
- Self-tests (power-on and conditional)
- Key zeroization
- Random number generation (DRBG, SP 800-90A Rev. 1)
- Documentation and lifecycle management
Implementations§
Source§impl FipsModule
impl FipsModule
Sourcepub fn power_on_self_test(&mut self) -> Result<(), String>
pub fn power_on_self_test(&mut self) -> Result<(), String>
Perform power-on self-tests (POST) FIPS 140-3 IG 9.6 - Required at module initialization Tests all approved algorithms with known-answer tests (KAT)
Sourcepub fn conditional_self_test(
&self,
algorithm: FipsApprovedAlgorithm,
) -> Result<(), String>
pub fn conditional_self_test( &self, algorithm: FipsApprovedAlgorithm, ) -> Result<(), String>
Conditional self-tests FIPS 140-3 IG 9.7 - Required before cryptographic operations
Sourcepub fn is_fips_mode(&self) -> bool
pub fn is_fips_mode(&self) -> bool
Check if in FIPS mode
Sourcepub fn enable_fips_mode()
pub fn enable_fips_mode()
Enable FIPS mode
Sourcepub fn disable_fips_mode()
pub fn disable_fips_mode()
Disable FIPS mode (for testing only)
Sourcepub fn security_level(&self) -> FipsSecurityLevel
pub fn security_level(&self) -> FipsSecurityLevel
Get security level
Sourcepub fn self_test_status(&self) -> bool
pub fn self_test_status(&self) -> bool
Check if self-tests passed
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FipsModule
impl RefUnwindSafe for FipsModule
impl Send for FipsModule
impl Sync for FipsModule
impl Unpin for FipsModule
impl UnsafeUnpin for FipsModule
impl UnwindSafe for FipsModule
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