3.5 KiB
3.5 KiB
wolfProvider Minimal Images
Minimal demo images showcasing wolfProvider integration with OpenSSL 3.x in various configurations.
Overview
These images demonstrate different wolfProvider configurations for OpenSSL 3.x integration. Each image is self-contained and requires no local.conf configuration (except FIPS images which require wolfssl-fips.conf).
Available Images
1. wolfprovider-image-minimal
Standalone mode, non-FIPS
- wolfProvider configured as an additional provider alongside OpenSSL's default
- Applications can explicitly load wolfProvider or use it alongside the default provider
- Includes test utilities and unit tests
Configuration:
# Enable demo images
WOLFSSL_DEMOS = "wolfprovider-image-minimal"
if enabling fips add:
# In build/conf/local.conf:
require /path/to/meta-wolfssl/conf/wolfssl-fips.conf
Build:
bitbake wolfprovider-image-minimal
2. wolfprovider-replace-default-image-minimal
Replace-default mode
- wolfProvider replaces OpenSSL's default provider
- All OpenSSL operations automatically use wolfProvider
- No code changes needed - transparent drop-in replacement
Configuration:
# Enable demo images
WOLFSSL_DEMOS = "wolfprovider-replace-default-image-minimal"
if enabling fips add:
# In build/conf/local.conf:
require /path/to/meta-wolfssl/conf/wolfssl-fips.conf
Build:
bitbake wolfprovider-replace-default-image-minimal
What's Included
All images include:
- Everything from
wolfssl-image-minimal - wolfSSL (or wolfSSL FIPS) with wolfProvider support
- OpenSSL 3.x with wolfProvider backend
- wolfProvider environment setup tools (
wolfproviderenv,wolfprovidercmd) - Unit tests (standalone mode images only)
Testing
Inside QEMU, test wolfProvider:
# Run wolfProvider environment setup (standalone mode only)
wolfprovidertest
# Run wolfProvider command-line tests
wolfprovidercmd
# Run wolfProvider environment setup
wolfproviderenv
# Verify provider configuration (replace-default images)
openssl list -providers
How It Works
Each image directory contains bbappend files that automatically configure packages:
- wolfssl_%.bbappend or wolfssl-fips_%.bbappend: Configures wolfSSL with wolfProvider support
- openssl_%.bbappend: Configures OpenSSL to support wolfProvider (standalone or replace-default)
- wolfprovider_%.bbappend: Enables unit tests (standalone mode only)
All configurations use conditional functions (wolfssl_osp_include_if_provider) that automatically detect the provider and include the appropriate configuration files.
Mode Comparison
Standalone Mode
- wolfProvider is an additional provider
- Applications must explicitly load wolfProvider
- OpenSSL's default provider remains available
- Useful for testing and selective adoption
Replace-Default Mode
- wolfProvider replaces OpenSSL's default provider
- All OpenSSL operations automatically use wolfProvider
- No application code changes needed
- Useful for system-wide deployment
Requirements
- FIPS images: Valid wolfSSL FIPS commercial bundle and
wolfssl-fips.confconfiguration - Non-FIPS images: No additional requirements
More Information
- Main README: ../../../README.md
- wolfProvider: ../../../recipes-wolfssl/wolfprovider/README.md
- wolfSSL FIPS: ../../../recipes-wolfssl/wolfssl/README-fips.md