Skip to content

Latest commit

 

History

History
119 lines (86 loc) · 3.49 KB

File metadata and controls

119 lines (86 loc) · 3.49 KB

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.conf configuration
  • Non-FIPS images: No additional requirements

More Information