Fe11 is a Rust interface to PKCS#11 modules, maintained by Boreal Cryptosystems and licensed under Apache-2.0. It loads the native module selected by the application and represents sessions, objects, operations and their retained memory with Rust owners.
The application selects mechanisms, keys and parameters. The native module decides cryptographic compatibility and policy. Fe11 checks interface representation, buffer capacities and ownership. The application establishes trust in the native module and its loader configuration.
| Package | Purpose |
|---|---|
fe11 | Rust PKCS#11 API with owned sessions, objects and operations |
fe11-verify-engine-api | C ABI shared with the optional verification component |
fe11-verify-engine | Software public-key signature verification and hashing |
The raw bindings, fe11-sys, have their own repository and package. Supported
targets are Linux x86_64 GNU and Windows x86_64 MSVC; minimum Rust is 1.81.
The module’s ABI must match the selected profile. See BUILDING.txt.
Add fe11 = "0.1.0" to your application’s dependencies. The default workspace build selects only the library. The optional
engine uses its own static OpenSSL build for explicitly selected software verification.
The documentation website and searchable API reference cover the 0.1.0 release.
How To: detailed usage recipes, including ML-DSA and SLH-DSA, PQC prehash modes and ML-KEM.
Getting started and API guide and API reference.
Interoperability reporting, changes, security and contributions.
License, copyright, contributors, third-party notices and dependency inventory.
This is an initial community release.