RPM包安装
KAE2.0的RPM软件包包括kae-driver、kae-openssl、kae-zip,使用加解密算法需要安装kae-driver和kae-openssl,使用KAEzip相关算法需要安装kae-driver和kae-zip。推荐使用源码的方式来安装KAE2.0,如需在openEuler以外的其他OS上通过RPM包方式安装KAE2.0,则需要通过源码制作RPM包再安装。若需要升级KAE版本,请先卸载旧版本再进行新版本的安装。

目前KAE2.0的RPM包是基于指定tag点、特定OS制作的,不具备KAE2.0的最新特性和OS的通用性。
前提条件
- RPM工具能正常使用。
- 使用openssl version命令检查OpenSSL是否为1.1.1x系列,若不符合请参见安装OpenSSL/Tongsuo安装OpenSSL。
- 使用以下命令安装相关依赖。
yum install -y make kernel-devel libtool numactl-devel openssl-devel chrpath lz4-devel
- 设置OpenSSL环境变量“OPENSSL_ENGINES”为KAE动态库所在目录,使OpenSSL能够识别到KAE引擎。
1
export OPENSSL_ENGINES=/usr/local/lib/engines-1.1
- 设置LD_LIBRARY_PATH环境变量,使KAE能够识别到UADK驱动动态库。
1
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
安装步骤
- 使用SSH远程登录工具,以root账号进入Linux操作系统命令行界面。
- 请参见获取软件包将获取到的KAE2.0 RPM软件包拷贝到自定义路径下。
- 安装加速驱动软件RPM包kae-driver。
1
rpm -ivh kae-driver-2.0.1-1.aarch64.rpm
回显结果如下即表明安装成功。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Verifying... ################################# [100%] Preparing... ################################# [100%] Preprocessing before installing the driver checking installed modules uacce modules start to install checking installed modules hisi_sec2 modules start to install checking installed modules hisi_hpre modules start to install checking installed modules hisi_zip modules start to install Updating / installing... 1:kae-driver-2.0.1-1 ################################# [100%] installing driver... uacce modules installed hisi_sec2 modules installed hisi_hpre modules installed hisi_zip modules installed
若安装驱动或重启设备后查询不到设备文件,可能是操作系统自带加速驱动导致,可以卸载驱动后重新加载;或在启动脚本rc.local中加上重新加载驱动命令,以确保重启设备后能正常加载加速器驱动。以下命令以hisi_sec2为例重新加载。1 2
rmmod hisi_sec2 modprobe hisi_sec2
- 安装引擎库软件RPM包kae-openssl。
1
rpm -ivh kae-openssl-2.0.1-1.aarch64.rpm
回显结果如下即表明安装成功。1 2 3 4 5
Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:kae-openssl-2.0.1-1 ################################# [100%] installing openssl engine...
- 安装KAEZip软件RPM包kae-zip。
1
rpm -ivh kae-zip-2.0.1-1.aarch64.rpm
回显结果如下即表明安装成功。
1 2 3 4 5 6
Verifying... ################################# [100%] Preparing... ################################# [100%] installing pre zip... Updating / installing... 1:kae-zip-2.0.1-1 ################################# [100%] installing post zip...
- 查看相关软件是否已正常安装到系统内。
- 查看驱动是否安装成功。
- 查看“/sys/class/uacce”目录下是否存在加速引擎文件系统。
1
ll /sys/class/uacce/
回显信息如下所示,表示驱动安装成功。1 2 3 4 5 6
lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/uacce/hisi_hpre-2 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/uacce/hisi_hpre-3 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_sec2-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/uacce/hisi_sec2-0 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_sec2-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/uacce/hisi_sec2-1 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_zip-4 -> ../../devices/pci0000:74/0000:74:00.0/0000:75:00.0/uacce/hisi_zip-4 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_zip-5 -> ../../devices/pci0000:b4/0000:b4:00.0/0000:b5:00.0/uacce/hisi_zip-5
- 通过lsmod查看驱动安装情况来判断驱动是否安装成功。
1
lsmod | grep uacce
回显信息如下所示,表示驱动安装成功。1
uacce 32768 3 hisi_sec2,hisi_qm,hisi_zip
- 查看“/sys/class/uacce”目录下是否存在加速引擎文件系统。
- 查看UADK框架是否安装成功。
1
ll /usr/local/lib/libwd*
回显信息如下,表示安装成功。1 2 3 4 5 6 7 8 9 10 11 12
-rwxr-xr-x. 1 root root 961 Aug 22 17:23 /usr/local/lib/libwd_comp.la lrwxrwxrwx. 1 root root 19 Aug 22 17:23 /usr/local/lib/libwd_comp.so -> libwd_comp.so.2.5.0 lrwxrwxrwx. 1 root root 19 Aug 22 17:23 /usr/local/lib/libwd_comp.so.2 -> libwd_comp.so.2.5.0 -rwxr-xr-x. 1 root root 377872 Aug 22 17:23 /usr/local/lib/libwd_comp.so.2.5.0 -rwxr-xr-x. 1 root root 973 Aug 22 17:23 /usr/local/lib/libwd_crypto.la lrwxrwxrwx. 1 root root 21 Aug 22 17:23 /usr/local/lib/libwd_crypto.so -> libwd_crypto.so.2.5.0 lrwxrwxrwx. 1 root root 21 Aug 22 17:23 /usr/local/lib/libwd_crypto.so.2 -> libwd_crypto.so.2.5.0 -rwxr-xr-x. 1 root root 715616 Aug 22 17:23 /usr/local/lib/libwd_crypto.so.2.5.0 -rwxr-xr-x. 1 root root 907 Aug 22 17:23 /usr/local/lib/libwd.la lrwxrwxrwx. 1 root root 14 Aug 22 17:23 /usr/local/lib/libwd.so -> libwd.so.2.5.0 lrwxrwxrwx. 1 root root 14 Aug 22 17:23 /usr/local/lib/libwd.so.2 -> libwd.so.2.5.0 -rwxr-xr-x. 1 root root 1342080 Aug 22 17:23 /usr/local/lib/libwd.so.2.5.0
- 查看KAE引擎是否安装成功。
1
ll /usr/local/lib/engines-1.1
回显信息如下,表示安装成功。
1 2 3 4 5 6
total 5644 -rw-r--r--. 1 root root 3846524 Aug 22 17:28 kae.a -rwxr-xr-x. 1 root root 995 Aug 22 17:28 kae.la lrwxrwxrwx. 1 root root 12 Aug 22 17:28 kae.so -> kae.so.2.0.0 lrwxrwxrwx. 1 root root 12 Aug 22 17:28 kae.so.2 -> kae.so.2.0.0 -rwxr-xr-x. 1 root root 1967736 Aug 22 17:28 kae.so.2.0.0
- 查看KAEZip解压缩模块是否安装成功。
1
ll /usr/local/kaezip/lib
回显信息如下,表示安装成功。
1 2 3 4 5 6 7 8 9
total 440 lrwxrwxrwx. 1 root root 40 Jan 12 2024 libkaezip.so -> /usr/local/kaezip/lib/libkaezip.so.2.0.1 lrwxrwxrwx. 1 root root 40 Jan 12 2024 libkaezip.so.0 -> /usr/local/kaezip/lib/libkaezip.so.2.0.1 -rwxr-xr-x. 1 root root 148096 Jan 12 2024 libkaezip.so.2.0.1 -rwxr-xr-x. 1 root root 146306 Jan 12 2024 libz.a lrwxrwxrwx. 1 root root 14 Jan 12 2024 libz.so -> libz.so.1.2.11 lrwxrwxrwx. 1 root root 14 Jan 12 2024 libz.so.1 -> libz.so.1.2.11 -rwxr-xr-x. 1 root root 143656 Jan 12 2024 libz.so.1.2.11 drwxr-xr-x. 2 root root 4096 Dec 5 18:48 pkgconfig
- 查看驱动是否安装成功。
安装后检查
- 查看KAE RPM软件包。
1
rpm -qa kae-driver kae-openssl kae-zip
显示以下格式内容说明安装成功。1 2 3
kae-openssl-2.0.1-1.aarch64 kae-driver-2.0.1-1.aarch64 kae-zip-2.0.1-1.aarch64
- 查看虚拟文件系统下对应的加速器设备。
1
ls -al /sys/class/uacce/
回显结果如下。1 2 3 4 5 6 7
total 0 lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/uacce/hisi_hpre-2 lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/uacce/hisi_hpre-3 lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/uacce/hisi_sec-0 lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/uacce/hisi_sec-1 lrwxrwxrwx. 1 root root 0 Dec 5 18:59 hisi_zip-4 -> ../../devices/pci0000:74/0000:74:00.0/0000:75:00.0/uacce/hisi_zip-4 lrwxrwxrwx. 1 root root 0 Dec 5 18:59 hisi_zip-5 -> ../../devices/pci0000:b4/0000:b4:00.0/0000:b5:00.0/uacce/hisi_zip-5
- 查看KAEOpensslEngine加速引擎是否生效。
以验证RSA性能为例,验证步骤请参见测试同步RSA性能,通过RSA性能命令可以看到指定KAE引擎之后,RSA的性能得到明显提升。
除上述方法,在执行RSA性能命令过程中,可以在新的终端上同时查看hisi_hpre设备的硬件队列资源情况如下,相同地,SM3/SM4算法可以查看hisi_sec2的硬件队列消耗情况。
1
cat /sys/class/uacce/hisi_hpre-*/available_instances
您也可以通过以下命令每0.1秒刷新一次,实时查看hisi_hpre的硬件队列消耗情况。1
watch -n 0.1 cat /sys/class/uacce/hisi_hpre-*/available_instances
显示结果从256变为255,说明RSA算法消耗了HPRE加速器一个硬件单元队列,说明KAEOpensslEngine加速引擎已生效。
- 查看KAEZip库加速引擎是否生效。通过ldd命令查看KAEZip加速库是否链接到libwd库。
1
ldd /usr/local/kaezip/lib/libz.so.1.2.11
如果有如下返回信息,说明KAEZlib加速库安装成功。同样的,用户的进程也可以通过ldd命令查看是否使用libwd库。1 2 3 4 5 6 7
linux-vdso.so.1 (0x0000ffffa631d000) libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffffa6110000) libkaezip.so => /usr/local/kaezip/lib/libkaezip.so (0x0000ffffa60df000) libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffffa607e000) libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffffa605d000) /lib/ld-linux-aarch64.so.1 (0x0000ffffa62e0000) libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffffa6038000)
- 查看KAEZstd库加速引擎是否生效。通过ldd命令查看KAEZstd加速库是否链接到libwd库。
1
ldd /usr/local/kaezstd/lib/libkaezstd.so
如果有如下返回信息,说明KAEZstd加速库安装成功。1 2 3 4 5 6
linux-vdso.so.1 (0x0000ffff89774000) libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffff896b5000) libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffff89684000) libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff894d5000) /lib/ld-linux-aarch64.so.1 (0x0000ffff89737000) libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffff894b0000)
- 查看KAELz4库加速引擎是否生效。通过ldd命令查看KAELz4加速库是否链接到libwd库。
1
ldd /usr/local/kaelz4/lib/libkaelz4.so
如果有如下返回信息,说明KAELz4加速库安装成功。1 2 3 4 5 6
linux-vdso.so.1 (0x0000ffff84add000) libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffff84a0e000) libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffff849dd000) libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffff8482e000) /lib/ld-linux-aarch64.so.1 (0x0000ffff84aa0000) libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffff84809000)
父主题: 软件安装(KAE2.0)