Skip to main content

ferritls_rustls/
lib.rs

1//! # ferritls-rustls
2//!
3//! 把 [`ferritls_core`] 的密码原语装配成 rustls 0.23 的
4//! `rustls::crypto::CryptoProvider`。
5//!
6//! 本 crate 位于 FIPS 边界**之外**:它只做 trait 适配与套件装配,不含
7//! 密码学实现。rustls 版本演进的冲击被隔离在这一层(AGENTS.md
8//! “rustls 对接层速查”)。
9//!
10//! ## 用法(M6 落地后)
11//!
12//! ```no_run
13//! let provider = ferritls_rustls::default_provider();
14//! provider.install_default().expect("install provider");
15//! // 之后 ClientConfig::builder() / ServerConfig::builder() 默认使用它。
16//! ```
17//!
18//! ## fips() 语义(重要)
19//!
20//! ferritls **尚未**通过 CMVP 认证。因此本 provider 一切 `fips()` 钩子
21//! 恒返回 `false`——`fips_mode_provider()` 提供的只是“批准算法运行模式”
22//! (仅批准套件 + CTR-DRBG + 上电自检),不代表任何官方认证状态。
23//! 认证落地后会在锁定的版本快照上引入独立的 `fips-validated` feature
24//! 翻转该语义(见 docs/FIPS.md 阶段 C)。
25
26#![forbid(unsafe_code)]
27
28pub mod cipher;
29pub mod kx;
30pub mod provider;
31pub mod random;
32pub mod sign;
33pub mod verify;
34
35pub use provider::{default_provider, fips_mode_provider};