Skip to content

Commit b2dcde4

Browse files
Version bump to v1.2.0 and README update
Signed-off-by: Yogaraj Alamenda <yogarajx.alamenda@intel.com>
1 parent b2f2d91 commit b2dcde4

File tree

11 files changed

+70
-63
lines changed

11 files changed

+70
-63
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,8 @@ modprobe usdm_drv.ko
9292
```
9393
The USDM thread specific memory can be enabled in QAT_HW driver using the below
9494
configure flags in driver build which is only needed for multithreaded
95-
application for performance improvement.
95+
application for performance improvement. This is supported from version 4.20
96+
of QAT_HW Version 1.7 driver only.
9697

9798
```bash
9899
./configure --enable-icp-thread-specific-usdm --enable-128k-slab

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Process this file with autoconf to produce a configure script.
33

44
AC_PREREQ([2.68])
5-
AC_INIT([qatengine], [1.1.0], [])
5+
AC_INIT([qatengine], [1.2.0], [])
66
AC_CONFIG_SRCDIR([config.h.in])
77
AC_CONFIG_HEADERS([config.h])
88
AC_CONFIG_AUX_DIR([.])

docs/features.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* [Pipelined Operations](qat_hw.md#using-the-openssl-pipelining-capability)
2525
* [Intel&reg; QAT OpenSSL\* Engine Software Fallback](qat_hw.md#intel-qat-openssl-engine-software-fallback-feature)
2626
* [BoringSSL Support](bssl_support.md)
27-
* Algorithms specific to Hardware driver v2.0 and qatlib(QAT gen4 devices)
27+
* Algorithms specific to QAT Hardware driver v2.0 and qatlib(QAT gen4 devices)
2828
* RSA8K
2929
* DH8K
3030
* SM4-CBC (Not supported in qatlib)
@@ -53,7 +53,7 @@ Please refer [here](qat_hw_algo.md) for supported platforms list and default beh
5353
## Common Features to qat_hw & qat_sw
5454
* [QAT_HW & QAT_SW Co-existence with runtime configuration](qat_common.md#qat-hw-and-qat-sw-co-existence)
5555
* [OpenSSL 3.0 Provider Support](qat_common.md#openssl-30-provider-support)
56-
* [FIPS Support](qat_common.md#fips-support)
56+
* [FIPS 140-3 Certification requirements Support using QAT Provider](qat_common.md#fips-140-3-certification-requirements-support-using-qat-provider)
5757

5858
Note: RSA Padding schemes are handled by OpenSSL\* or BoringSSL\* rather than accelerated, so the
5959
engine supports the same padding schemes as OpenSSL\* or BoringSSL\* does natively.

docs/limitations.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +47,13 @@
4747
## Known Issues
4848

4949
### Functional
50-
* Known issue with OpenSSL 3.0 s_server using qatengine with cipher **"DHE-RSA-CHACHA20-POLY1305"** which
51-
works fine with Nginx. The issue is due to failure at EVP_PKEY_copy_parameter() in OpenSSL.
5250
* AES-CBC-HMAC-SHA chained ciphers does not support **pipeline feature** when built with
5351
OpenSSL 3.0 as the corresponding support is not available in OpenSSL 3.0 - [OpenSSL#18298][2]
5452
* There is an issue in **sshd** daemon application when using the QAT for default openssl.
5553
sshd looks to be closing the file descriptors associated with QAT engine and driver after
5654
initialising openssl. Similar issue was present which prevents the ability to ssh out of
5755
the system using the QAT engine in versions of the ssh application before OpenSSH 8.7.
58-
The issue has been fixed with this commit [c9f7bba][4] . This update can be applied to
56+
The issue has been fixed with this commit [c9f7bba][3] . This update can be applied to
5957
sshd to work-around the issue.
6058
* Known issue with QAT_SW SM2 in ntls mode since QAT_SW SM2 doesn't have plain sign and
6159
verify operation support in engine. Disable QAT_SW SM2 to workaround the issue with ntls.
@@ -68,7 +66,7 @@
6866
or in multi-process mode.
6967
* SM3 is disabled by default due to performance drop observed in **mulithread scenario**
7068
for all ciphers suites due to the additional locks at engine_table_select introduced by
71-
engine digest registration in OpenSSL - [OpenSSL#18509][5]
69+
engine digest registration in OpenSSL - [OpenSSL#18509][4]
7270
* In Co-Existence mode, performance will drop for PKE algorithms compared with
7371
QAT_SW when process number >= 64.
7472

docs/qat_common.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -137,18 +137,24 @@ Example OpenSSL Speed command to test using qatprovider:
137137
* QAT_SW
138138
./openssl speed -provider qatprovider -elapsed -async_jobs 8 rsa2048
139139

140-
# FIPS 140-3 Certification requirements Support
140+
# FIPS 140-3 Certification requirements Support using QAT Provider
141141

142-
Intel&reg; QAT OpenSSL\* Engine contains changes to fulfill FIPS 140-3 Level 1 Certification requirements
143-
using QAT Provider against OpenSSL 3.0
144-
The FIPS support can be enabled using the configure flag `--enable-qat_fips`
145-
only with OpenSSL 3.0 using provider interface which needs to be enabled using `--enable-qat_provider`.
142+
Intel&reg; QAT OpenSSL\* Engine contains changes to comply with FIPS 140-3 Level-1
143+
Certification requirements using QAT Provider against OpenSSL 3.0.8. The FIPS
144+
support can be enabled using the configure flag `--enable-qat_fips` only with
145+
OpenSSL 3.0 using provider interface which needs to be enabled using `--enable-qat_provider`.
146146

147-
When FIPS flag is enabled along with provider for OpenSSL3.0, it will run self tests, integrity tests
148-
and will satisfy other FIPS 140-3 CMVP & CAVP requirements.
149-
The FIPS is build as RPM using the spec file fips/qatengine_fips.spec with QAT_HW & QAT_SW Coexistence
150-
enabled along with other flags enabled.
147+
When FIPS flag is enabled along with provider for OpenSSL3.0, it will run
148+
self tests, integrity tests and will satisfy other FIPS 140-3 CMVP & CAVP
149+
requirements. The FIPS is build as RPM using the specfile fips/qatengine_fips.spec
150+
with QAT_HW & QAT_SW Coexistence enabled along with other flags enabled.
151+
152+
Please note that the version v1.2.0 is only satisfying FIPS 140-3 Level-1
153+
certification requirements and not FIPS certified yet.
154+
The FIPS 140-3 certification is under process.
151155

152156
## Support Algorithms in FIPS mode
153-
QAT_HW target: RSA, ECDSA, ECDH, ECDHX25519, ECDHX448, AES_GCM, DSA, DH, PRF, HKDF & SHA3 algorithms.
154-
QAT_SW target: RSA, ECDSA, ECDH, ECDHX25519, AES_GCM & SHA2 algorithms.
157+
| Mode | Algorithms |
158+
| :---: | :---: |
159+
| QAT_HW | RSA, ECDSA, ECDH, ECDHX25519, ECDHX448, DSA, DH, TLS1.2-KDF(PRF), TLS1.3-KDF(HKDF), SHA3 & AES-GCM |
160+
| QAT_SW | RSA, ECDSA, ECDH, ECDHX25519, SHA2 & AES-GCM |

docs/software_requirements.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@ that supports OpenSSL\* 1.1.1 or OpenSSL\* 3.0 or BoringSSL\* and Intel&reg; Qui
66
Technology Driver for Linux or Intel&reg; QuickAssist Technology
77
Driver for FreeBSD. This release was validated on the following:
88

9-
* Operating system: CentOS* 8.4, Ubuntu\* 20.04.2 LTS & FreeBSD\* 12.3
10-
* Intel&reg; QuickAssist Technology Driver for Linux\* HW Version 2.0 - **QAT20.L.1.0.10-00005**
11-
* Intel&reg; QuickAssist Technology Driver for Linux\* HW Version 1.7 & 1.8 - **QAT.L.4.20.0-00001**
12-
* Intel&reg; QuickAssist Technology Driver for FreeBSD\* HW Version 1.7 - **QAT.B.3.12.0-00004**
13-
* OpenSSL\* 1.1.1t & 3.0.8
9+
* Intel&reg; QuickAssist Technology Driver for Linux\* HW Version 2.0 (RHEL\* 8.6) - **QAT20.L.1.0.40-00004**
10+
* Intel&reg; QuickAssist Technology Driver for Linux\* HW Version 1.7 & 1.8 (CentOS\* 8.4 & Ubuntu\* 20.04.2) - **QAT.L.4.22.0-00001**
11+
* Intel&reg; QuickAssist Technology Driver for FreeBSD\* HW Version 1.7 (FreeBSD\* 12.4) - **QAT.B.3.12.0-00004**
12+
* OpenSSL\* 1.1.1u & 3.0.9
1413
* BoringSSL\* commit - [987dff1][1]
1514
* BabaSSL - 8.3.2
1615

@@ -32,7 +31,7 @@ This release was validated on the following:
3231
* Intel&reg; Crypto Multi-buffer library from the [ipp-crypto][2] release
3332
version **IPP Crypto 2021.7.1**
3433
* Intel&reg; Multi-Buffer crypto for IPsec Library release version **v1.3**
35-
* OpenSSL\* 1.1.1t & 3.0.8
34+
* OpenSSL\* 1.1.1u & 3.0.9
3635
* BoringSSL\* commit - [987dff1][1]
3736
* BabaSSL - 8.3.2
3837

docs/troubleshooting.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,10 @@ If this occurs some of the things to check are:
2121
5. Has the environment variable `OPENSSL_ENGINES` been correctly defined and
2222
exported to the shell?
2323
Also check it is really pointing to the correct location.
24-
6. If building for OpenSSL 1.1.0 was the configure option
25-
`--with-openssl_dir` specified? (Linux Specific)
26-
7. If building from OpenSSL prebuilt RPM Package, has the OpenSSL developement
24+
6. If building from OpenSSL prebuilt RPM Package, has the OpenSSL developement
2725
packages (openssl-devel for Redhat* based distribution and libssl-devel
2826
for Debian* based distibution) been installed ?
29-
8. Incase of qat_sw acceleration, has the dependant libraries are installed in
27+
7. Incase of qat_sw acceleration, has the dependant libraries are installed in
3028
the default path or provide the path via `--with-qat_sw_crypto_mb_install_dir`
3129
(for crypto_mb) and `--with-qat_sw_ipsec_mb_install_dir` (for ipsec_mb) if
3230
installed in the path other than default.

e_qat.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,13 +163,13 @@ int qat_fips_kat_test;
163163
const char *engine_qat_id = STR(QAT_ENGINE_ID);
164164
#if defined(QAT_HW) && defined(QAT_SW)
165165
const char *engine_qat_name =
166-
"Reference implementation of QAT crypto engine(qat_hw & qat_sw) v1.1.0";
166+
"Reference implementation of QAT crypto engine(qat_hw & qat_sw) v1.2.0";
167167
#elif QAT_HW
168168
const char *engine_qat_name =
169-
"Reference implementation of QAT crypto engine(qat_hw) v1.1.0";
169+
"Reference implementation of QAT crypto engine(qat_hw) v1.2.0";
170170
#else
171171
const char *engine_qat_name =
172-
"Reference implementation of QAT crypto engine(qat_sw) v1.1.0";
172+
"Reference implementation of QAT crypto engine(qat_sw) v1.2.0";
173173
#endif
174174
unsigned int engine_inited = 0;
175175
int fallback_to_openssl = 0;

fips/qatprovider-fips.spec

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
%undefine __cmake_in_source_build
22
%global _lto_cflags %{nil}
33
%global debug_package %{nil}
4-
# Versions numbers
4+
# Dependant Library Versions
55
%global major 1
66
%global minor 3
77
%global rev 0
@@ -10,36 +10,38 @@
1010
%global ipsecfull %{ipsec}-%{ipsecver}
1111
%global fullversion %{major}.%{minor}.%{rev}
1212

13-
14-
%global ippcp_major 11
13+
%global ippcp_major 11
1514
%global ippcp_minor 6
16-
%global ippcp ipp-crypto
17-
%global ippcpver ippcp_2021.7.1
18-
%global ippcpfull %{ippcp}-%{ippcpver}
15+
%global ippcp ipp-crypto
16+
%global ippcpver ippcp_2021.7.1
17+
%global ippcpfull %{ippcp}-%{ippcpver}
1918
%global ippcpfullversion %{ippcp_major}.%{ippcp_minor}
2019

21-
%global qatengine QAT_Engine
22-
%global qatdriver QAT20.l.1.0.40-00004
20+
%global qatdriver QAT20.l.1.0.40-00004
2321

24-
%global openssl_lib_path /root/openssl_install
25-
%global openssl_src_path /root/openssl
22+
%global openssl_lib_path /root/openssl_install
23+
%global openssl_src_path /root/openssl
2624

27-
Name: qatprovider-fips
25+
Name: qatprovider-fips
2826
Version: 1.2.0
2927
Release: 1%{?dist}
30-
Summary: Intel QuickAssist Technology (QAT) OpenSSL Provider
31-
32-
License: BSD-3-Clause AND OpenSSL
33-
Source0: https://github.com/intel/%{qatengine}/archive/v%{version}/%{name}-%{version}.tar.gz
34-
Source1: https://github.com/intel/%{ippcp}/archive/refs/tags/%{ippcpver}.tar.gz#/%{ippcp}-%{ippcpver}.tar.gz
35-
Source2: https://github.com/intel/%{ipsec}/archive/v%{ipsecver}.tar.gz#/%{ipsecfull}.tar.gz
36-
Source3: https://downloadmirror.intel.com/777529/QAT20.L.1.0.20-00008.tar.gz
37-
Source4: driver_install.tar.gz
38-
39-
BuildRequires: cmake >= 3.10
40-
BuildRequires: gcc-c++ >= 8.2
41-
BuildRequires: make
42-
BuildRequires: nasm >= 2.14
28+
Summary: Intel QuickAssist Technology(QAT) OpenSSL Provider
29+
30+
License: BSD-3-Clause AND OpenSSL
31+
Source0: https://github.com/intel/QAT_Engine/archive/v%{version}/%{name}-%{version}.tar.gz
32+
Source1: https://github.com/intel/%{ippcp}/archive/refs/tags/%{ippcpver}.tar.gz#/%{ippcp}-%{ippcpver}.tar.gz
33+
Source2: https://github.com/intel/%{ipsec}/archive/v%{ipsecver}.tar.gz#/%{ipsecfull}.tar.gz
34+
Source3: https://downloadmirror.intel.com/781387/QAT20.L.1.0.40-00004.tar.gz
35+
Source4: driver_install.tar.gz
36+
37+
BuildRequires: autoconf
38+
BuildRequires: automake
39+
BuildRequires: make
40+
BuildRequires: gcc
41+
BuildRequires: libtool
42+
BuildRequires: cmake >= 3.10
43+
BuildRequires: nasm >= 2.14
44+
BuildRequires: gcc-c++ >= 8.2
4345

4446
%description
4547
This package provides the Intel QuickAssist Technology OpenSSL Provider
@@ -106,13 +108,12 @@ ln -s libIPSec_MB.so.%{fullversion} libIPSec_MB.so
106108
export OPENSSL_ENGINES="/root/openssl_install/lib64/ossl-modules"
107109
export OPENSSL_ROOT="/root/openssl"
108110
export SYS_OPENSSL_PATH="/root/openssl_install"
109-
export LD_LIBRARY_PATH=/root/openssl_install/lib64
110-
export OPENSSL_LIB=/root/openssl_install
111+
export LD_LIBRARY_PATH="/root/openssl_install/lib64"
112+
export OPENSSL_LIB="/root/openssl_install"
111113
export QAT_HW_ENABLED="1"
112114
export QAT_SW_ENABLED="1"
113115

114116
cd /root/rpmbuild/BUILD/%{name}-%{version}
115-
#git checkout dev_qat_fips_drop2_release
116117

117118
autoreconf -ivf
118119

@@ -200,4 +201,5 @@ rm -rf %{buildroot}
200201
%{_includedir}/crypto_mb/sm4_gcm.h
201202

202203
%changelog
203-
* Mon May 29 2023 Ponnam Srinivas <ponnamsx.srinivas@intel.com>
204+
* Wed Jun 14 2023 Ponnam Srinivas <ponnamsx.srinivas@intel.com> - 1.2.0-1
205+
- Initial Version of RPM for QAT Provider with FIPS Support.

qat_provider.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@
5151
# include <openssl/bio.h>
5252
# include <openssl/core_dispatch.h>
5353

54-
# define QAT_PROVIDER_VERSION_STR "v1.1.0"
55-
# define QAT_PROVIDER_FULL_VERSION_STR "QAT Provider v1.1.0"
54+
# define QAT_PROVIDER_VERSION_STR "v1.2.0"
55+
# define QAT_PROVIDER_FULL_VERSION_STR "QAT Provider v1.2.0"
5656

5757
# if defined(QAT_HW) && defined(QAT_SW)
5858
# define QAT_PROVIDER_NAME_STR "QAT Provider for QAT_HW and QAT_SW"

0 commit comments

Comments
 (0)