编译 Intel QAT OpenSSL Engine

Table of Contents

前言

英特尔 QuickAssist Technology( QAT) OpenSSL 引擎(OpenSSL 插件引擎)可为使用英特尔 QuickAssist Technology 的英特尔平台的硬件和优化软件提供加密加速。

硬件需求

qat_hw 需求:第四/五代 Intel® Xeon® Scalable CPU,Intel® QuickAssist Adapter 系列,Intel Atom® C3000 CPU。

qat_sw 需求:第三代 Intel® Xeon® Scalable CPU*,第四/五代 Intel® Xeon® Scalable CPU。

*只有 Ice Lake-SP 系列支持 Intel QAT,Cooper Lake系列并不支持。

系统需求

本次编译硬件平台为 Intel Xeon 6348,故使用 qat_sw 进行编译 qat_engine。

操作系统可根据自身而定,本次编译使用 Ubuntu 22.04.4

编译 QAT Engine

安装需求件(如系统默认版本低于需求,需要自行编译安装)

				
					sudo apt -y install cmake python3 nasm autoconf automake libtool pkg-config
				
			

Github 拉取 QAT 源码

				
					git clone --depth 1 --branch v1.6.0 https://github.com/intel/QAT_Engine.git
				
			

Github 拉取 openssl,ipp-crypto, intel-ipsec-mb源码

				
					cd QAT_Engine
git clone --depth 1 --branch openssl-3.0.13 https://github.com/openssl/openssl.git
git clone --depth 1 --branch ipp-crypto_2021_11_1 https://github.com/intel/ipp-crypto.git
git clone --depth 1 --branch v1.5 https://github.com/intel/intel-ipsec-mb.git
				
			

编译 openssl 和 qat 引擎(建议系统可用内存高于4GB,否则很大几率因为内存不足、编译中断导致失败)

				
					./autogen.sh
./configure --enable-qat_sw --with-openssl_install_dir=/usr/local/ssl
make depend
make
make install
				
			

编译完成后 openssl 安装在文件夹 /usr/local/ssl,qat 引擎库文件 qatengine.so 在 /usr/local/ssl/lib64/engines-3,ipp-crypto 安装在 /usr/local,intel-ipsec-mb 安装在 /usr

查看 openssl 版本和测试 qat 引擎

				
					/usr/local/ssl/bin/openssl version -a
/usr/local/ssl/bin/openssl engine -t -c -v qatengine
				
			
				
					# /usr/local/ssl/bin/openssl version -a
OpenSSL 3.0.13 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)
built on: Tue Apr  9 11:09:35 2024 UTC
platform: linux-x86_64
options:  bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
OPENSSLDIR: "/usr/local/ssl/ssl"
ENGINESDIR: "/usr/local/ssl/lib64/engines-3"
MODULESDIR: "/usr/local/ssl/lib64/ossl-modules"
Seeding source: os-specific
CPUINFO: OPENSSL_ia32cap=0xfffa32035f8bffff:0x5f46f1bf07ab

# /usr/local/ssl/bin/openssl engine -t -c -v qatengine
(qatengine) Reference implementation of QAT crypto engine(qat_sw) v1.6.0
 [RSA, id-aes128-GCM, id-aes192-GCM, id-aes256-GCM, X25519, SM2]
     [ available ]
     ENABLE_EXTERNAL_POLLING, POLL, ENABLE_HEURISTIC_POLLING,
     GET_NUM_REQUESTS_IN_FLIGHT, INIT_ENGINE, SW_ALGO_BITMAP
				
			

更多详细内容请参考:https://github.com/intel/QAT_Engine

发表评论须遵守中华人民共和国相关法律法规。违规评论将会被删除。

Comments must subject to the relevant laws and regulations of the People’s Republic of China. Offending comments will be deleted.

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

滚动至顶部