uadk_engine:基于 OpenSSL 与 UADK 的密码加速引擎项目

可用于在 aarch64 架构下提升 OpenSSL 密码运算性能,通过配置环境变量和 openssl.cnf 启用 RSA、DH、ECC 等算法加速,支持同步/异步模式及 numa 节点队列资源管理。【此简介由AI生成】

分支2Tags1
当前项目代码仓暂无内容

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 文件中设置算法开关,配置不同算法可申请的队列资源数量。

使用方法

  1. 首先,修改 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 文件。

  1. 其次,使用“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生成】

定制我的领域