| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
wolfProvider is a library that can be used as a Provider in OpenSSL.
wolfProvider supports all release versions of OpenSSL 3.x
wolfProvider can be configured to replace OpenSSL's default provider, making wolfSSL's cryptographic implementations the default for all OpenSSL operations. This ensures applications use wolfSSL crypto without code changes. See the Integration Guide for details.
Information on how to configure, build, and test wolfProvider can be found here:
PQC is opt-in and requires wolfSSL master/v5.9.2-stable+ and OpenSSL 3.6+.
Without an enable flag no PQC code is compiled, regardless of what wolfSSL enables.
LMS verification is independently opt-in and requires wolfSSL 5.9.2-stable or newer and OpenSSL 3.6 or newer:
./scripts/build-wolfprovider.sh --enable-lmswolfProvider follows OpenSSL's LMS provider contract: it imports and exports raw XDR public keys and supports one-shot verification through EVP_PKEY_verify_message_init() followed by EVP_PKEY_verify(). The OpenSSL wire format omits the single-level HSS header; wolfProvider adds that wrapper only at the wolfCrypt boundary. LMS signing, key generation, private-key import, and streaming operations are not exposed because OpenSSL's LMS provider is verification-only for SP 800-208 software modules.
Because wolfProvider only verifies, wolfSSL must be built without LMS key generation or signing. Configure wolfSSL with --enable-lms=verify-only,sha256-192,shake256 (which defines WOLFSSL_LMS_VERIFY_ONLY) so the private-key operations are absent rather than built but unused. The bundled build-wolfprovider.sh --enable-lms flow already builds wolfSSL this way.
The PQC KAT workflow runs OpenSSL's 320 LMS verification vectors, including valid and corrupted messages, signatures, and key encodings. Focused unit tests cover public-key import/export, XDR decoding, selection handling, and the unsupported stateful operations.
| Back | FazBrowse Home | New Git URL |