可用于在 aarch64 架构下提升 OpenSSL 密码运算性能,通过配置环境变量和 openssl.cnf 启用 RSA、DH、ECC 等算法加速,支持同步/异步模式及 numa 节点队列资源管理。【此简介由AI生成】
当前项目代码仓暂无内容
以下内容由 AI 翻译,如有问题请 点此提交 issue 反馈
uadk 的 OpenSSL 引擎
前提条件
- CPU:aarch64
- OpenSSL:1.1.1f
- libnuma
- zlib
安装说明
构建并安装 OpenSSL
git clone https://github.com/openssl/openssl.git
cd openssl
git checkout -b OpenSSL_1_1_1f OpenSSL_1_1_1f
./config -Wl,-rpath=/usr/local/lib
make
make test
sudo make install
openssl version
构建与安装 UADK
git clone https://github.com/Linaro/uadk.git
cd uadk
./cleanup.sh
./autogen.sh
./conf.sh
make
sudo make install
- 若出现错误:“cannot find -lnuma”,请安装 libnuma-dev
- 若出现错误:“fatal error: zlib.h: No such file or directory”,请安装 zlib。
构建并安装 OpenSSL UADK 引擎
git clone https://github.com/Linaro/openssl-uadk.git
cd openssl-uadk
autoreconf -i
./configure --libdir=/usr/local/lib/engines-1.1/ --enable-kae
make
sudo make install
Option --enable-kae can be chosen to enable KAE for non-sva version
测试
./test/sanity_test.sh
uadk engine 的环境变量
简介
通过环境变量功能,用户可通过在 openssl.cnf 文件中设置算法开关,配置不同算法可申请的队列资源数量。
使用方法
- 首先,修改 openssl.cnf 文件,在文件开头添加以下设置:
openssl_cnf = openssl_def
[openssl_def]
engines = engine_section
[engine_section]
uadk_engine = uadk_section
[uadk_section]
UADK_CMD_ENABLE_RSA_ENV = 1
UADK_CMD_ENABLE_DH_ENV = 1
UADK_CMD_ENABLE_CIPHER_ENV = 1
UADK_CMD_ENABLE_DIGEST_ENV = 1
UADK_CMD_ENABLE_ECC_ENV = 1
注意:* 数字 1 表示启用环境变量,0 表示禁用环境变量。 * 默认情况下,您可以在 /usr/local/ssl/ 路径下找到 openssl.cnf 文件。
- 其次,使用“export”命令设置队列编号。 例如,
export WD_RSA_CTX_NUM="sync:2@0,async:4@0"
export WD_DH_CTX_NUM="sync:2@0,async:4@0"
export WD_CIPHER_CTX_NUM="sync:2@2,async:4@2"
export WD_DIGEST_CTX_NUM="sync:2@2,async:4@2"
export WD_ECC_CTX_NUM="sync:2@0,async:4@0"
注意:* 您可以将这些命令写入 ~/.bashrc 文件并执行 source 命令使其生效,或仅临时输入。 * “sync” 表示同步模式,“async” 表示异步模式。 * “sync:2@0” 表示在同步模式下,请求 numa-0 节点上的 2 个队列。 * “async:2@0” 表示在异步模式下,请求 numa-0 节点上的 2 个队列。 * 如果不执行第二步,引擎将使用默认设置:“sync:2@0, async:2@0” 向硬件请求队列。
项目介绍
可用于在 aarch64 架构下提升 OpenSSL 密码运算性能,通过配置环境变量和 openssl.cnf 启用 RSA、DH、ECC 等算法加速,支持同步/异步模式及 numa 节点队列资源管理。【此简介由AI生成】
定制我的领域