hi all
i am working on the imx8mp. i would like to secure my private keys and be able to use openssl without exposing the private key to userspace. i read that its possible with cryptodev openssl engine. i built the BSP with yocto and added the cryptodev-linux cryptodev-module.
i am able to modprobe cryptodev
but when i test for engines (openssl engine) i do not see the cryptodev engine.
those the imx8mp support cryptodev openssl engine and if it does then how to i add it to my openssl.
i am building yocto krikstone 5.15.71
thanks
Solved! Go to Solution.
Hi @greeran
You need to follow up the Linux User guide as the chapter 10 security where you will find how to deploy it into rootfs using Yocto.
https://www.nxp.com/docs/en/user-guide/IMX_LINUX_USERS_GUIDE.pdf
Regards
Harvey
Should be this with in https://git.yoctoproject.org/poky/tree/meta/recipes-connectivity/openssl/openssl_3.0.15.bb?h=kirksto... like following
PACKAGECONFIG ?= "cryptodev-linux" PACKAGECONFIG:class-native = "" PACKAGECONFIG:class-nativesdk = "" PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux,,cryptodev-module" PACKAGECONFIG[no-tls1] = "no-tls1" PACKAGECONFIG[no-tls1_1] = "no-tls1_1"
And how the local.conf should be?
**Enabling the cryptodev engine in OpenSSL**
* The `PACKAGECONFIG` variable is used to customize package configurations.
* In the case of OpenSSL, setting `PACKAGECONFIG ?= "cryptodev-linux"` enables the `devcrypto` engine and `cryptography` module.
* Conversely, setting `PACKAGECONFIG ?= ""` disables the `devcrypto` engine.
**Verifying the changes**
* Running `bitbake -e openssl | grep ^PACKAGECONFIG_CONFARGS=` shows the current configuration settings for OpenSSL.
* The presence or absence of certain files and directories can be used to verify whether the `devcrypto` engine is enabled or disabled.
**Example output**
* When disabling the `devcrypto` engine, you'll see a list of files without the `devcrypto` prefix:
```bash
ls /home/cidocker/gitlab-project/project/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl/3.0.14-r0/build/engines/
afalg-... capi-... dasync-... loader_... ossltest-... padlock-...
```
* When enabling the `devcrypto` engine, you'll see files with the `devcrypto` prefix:
```bash
ls /home/cidocker/gitlab-project/project/tmp/work/armv7at2hf-neon-poky-linux-gnueabi/openssl/3.0.14-r0/build/engines/
afalg-... capi-... dasync-... devcrypto-... loader_... ossltest-... padlock-...
```
**Conclusion**
By modifying the `PACKAGECONFIG` variable, you can control whether the `devcrypto` engine is enabled or disabled in OpenSSL. This can be useful for customizing your build environment to meet specific requirements.