Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenSSL FIPS provider support #262

Merged
merged 27 commits into from
Dec 27, 2024
Merged

Conversation

jbdelcuv
Copy link
Contributor

Add support to the SGX-SSL library to have crypto algorithms run in the FIPS provider embedded in enclave images.

Instructions for building/testing, assuming you have an updated SGX SDK/PSW toolchain available:

$ cd Linux
$ make all FIPS=1
$ [sudo] make install
$ make test FIPS=1
$ make fips_test FIPS=1

Instructions for cleaning up:

$ sudo make uninstall
$ make clean

jinghe-INTC and others added 20 commits November 26, 2024 12:06
Signed-off-by: He, Jing J <jing.j.he@intel.com>
build option.

Co-authored-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
Signed-off-by: Jing He <jing.j.he@intel.com>
Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
Signed-off-by: Jing He <jing.j.he@intel.com>
Signed-off-by: Jing He <jing.j.he@intel.com>
Signed-off-by: Jing He <jing.j.he@intel.com>
Signed-off-by: Jing He <jing.j.he@intel.com>
Signed-off-by: Jing He <jing.j.he@intel.com>
self-test was failing due to the additional reseeding caused by using
the RDTSC instruction.

Signed-off-by: Jing He <jing.j.he@intel.com>
Signed-off-by: Jing He <jing.j.he@intel.com>
"make all FIPS=1; make test FIPS=1" shows the OpenSSL FIP provider working inside an enclave.

Signed-off-by: Jing He <jing.j.he@intel.com>
The new Makefile provides the standard targets: all, clean, install and
uninstall that the main Mafile calls when the option FIPS is set.

Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
the FIPS provider.
Execute the install target first.

Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
provider inside an enclave.

Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
although it isn't currently supported.
It appears that RAND_R_INVALID_PROPERTY_QUERY was added to randerr.h in
OpenSSL 3.1.6.

Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
file in CONF_modules_load_file_ex.

Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
@jbdelcuv jbdelcuv self-assigned this Dec 5, 2024
@fchinchilla
Copy link

Looks good to me

.github/workflows/c-cpp.yml Outdated Show resolved Hide resolved
.github/workflows/c-cpp.yml Outdated Show resolved Hide resolved
Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
@jbdelcuv jbdelcuv linked an issue Dec 17, 2024 that may be closed by this pull request
Both sample apps include a template from which an OpenSSL configuration
file is generated rather than copying one from the SGX SDK.
Both sample apps include a template from which an OpenSSL configuration
file is be generated rather than copying one from the SGX SDK.

Signed-off-by: Juan del Cuvillo <juan.b.del.cuvillo@intel.com>
@jbdelcuv jbdelcuv merged commit 366b098 into intel:main Dec 27, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Possibilities of supporting FIPS mode
3 participants