Releases currently carry the Jan 2024 license document. |
||
|---|---|---|
| .. | ||
| commercial | ||
| README.md | ||
| openssl_3.%.bbappend | ||
| wolfprovider_1.1.0.bb | ||
| wolfssl_%.bbappend | ||
README.md
wolfProvider
The wolfprovider recipe enables the integration of wolfSSL's cryptographic functionalities into OpenSSL through a custom provider mechanism. This integration allows applications using OpenSSL to leverage wolfSSL's advanced cryptographic algorithms, combining wolfSSL's lightweight and performance-optimized cryptography with OpenSSL's extensive API and capabilities. wolfprovider is designed for easy integration into Yocto-based systems, ensuring a seamless blend of security and performance ideal for embedded and constrained environments.
The wolfprovidertest yocto package will provide two apps, wolfproviderenv and wolfprovidertest. Running wolfproviderenv will start up a child shell and run wolfprovidertest. Use wolfproviderenv to test that the wolfprovider package is succesfully installed. If you want to run wolfprovidertest directly you will need to directly source wolfproviderenv via source /usr/bin/wolfproviderenv or setup the env on your own, because wolfprovidertest will fail otherwise. Use wolfprovidertest to check that your shell env is correctly setup.
Getting Started
Prerequisites
- A functioning Yocto Project environment (Kirkstone or later recommended)
- OpenSSL 3.0 or later, supporting the provider interface (Come by default with Kirkstone or later)
- Access to the
meta-wolfsslrepository
Integrating wolfprovider with Yocto
-
Clone the meta-wolfssl repository:
Clone the
meta-wolfsslrepository into your Yocto project's sources directory if not already included in your project.git clone https://github.com/wolfSSL/meta-wolfssl.git -
Include meta-wolfssl in your bblayers.conf:
Add
meta-wolfsslto yourbblayers.conffile to incorporate it into your build environment.BBLAYERS ?= " \ ... /path/to/meta-wolfssl \ ... " -
Add wolfprovider to your image:
Modify your image recipe or
local.conffile to includewolfprovider,wolfssl,openssl,openssl-bin, andwolfprovidertest. You will only needopenssl-binandwolfprovidertestif you want to use and test with our included example and conf file.For yocto kirkstone or newer:
IMAGE_INSTALL:append = "wolfprovider wolfssl openssl openssl-bin wolfprovidertest"For yocto dunfell or earlier:
IMAGE_INSTALL_append = "wolfprovider wolfssl openssl openssl-bin wolfprovidertest" -
Build Your Image:
With the
meta-wolfssllayer added and the necessary packages included in your image configuration, proceed to build your Yocto image as usual.bitbake <your_image_recipe_name>
Testing wolfprovider
After building and deploying your image to the target device, you can test wolfprovider functionality through the wolfproviderenv script.
-
Execute the wolfproviderenv Script:
wolfproviderenvis located in/usr/bin, so just execute the script upon entering into your terminal.wolfproviderenvThe script performs necessary setup actions, executes
wolfprovidertestto validate the integration, and lists available OpenSSL providers to confirmwolfprovideris active and correctly configured. -
Expected Output:
Look for messages indicating a successful environment setup, execution of
wolfprovidertestwith a custom provider loaded successfully, andlibwolfproviderlisted among active OpenSSL providers.
Documentation and Support
For further information about wolfprovider and wolfssl, visit the wolfSSL Documentation and the wolfProvider Github. If you encounter issues or require support regarding the integration of wolfprovider with Yocto, feel free to reach out through wolfSSL Support.