libspdm icon indicating copy to clipboard operation
libspdm copied to clipboard

Move low-level crypto API away for OpenSSL 3.0?

Open liyi77 opened this issue 3 years ago • 3 comments

Use of the low level APIs has been informally discouraged by the OpenSSL development team for a long time, such EC_KEY*, RSA*..., and more, in OpenSSL 3.0 this is made more formal. All such low level APIs have been deprecated, do we need to update our code to high-level crypto API?

I've done some research on EC and if this change is really needed, I'll try more APIs. https://github.com/liyi77/libspdm/pull/8

liyi77 avatar Jul 26 '22 07:07 liyi77

Is this for openssl 3.0? We have POC - https://github.com/DMTF/libspdm/tree/openssl_3.0.2_eval. (backup to https://github.com/jyao1/libspdm/tree/openssl_3.0.2_eval)

If you can keep the library API as is, then I am open to change the implementation. Feel free to propose PR.

jyao1 avatar Jul 30 '22 02:07 jyao1

Based on openssl3.0 would be better, I will do my work on this branch

liyi77 avatar Jul 31 '22 06:07 liyi77

We need openssl 3.0.7 at least, where a high issue is fixed.

Ref: https://www.openssl.org/news/openssl-3.0-notes.html, and https://www.openssl.org/news/vulnerabilities.html

jyao1 avatar Nov 01 '22 16:11 jyao1

I'd like for libspdm 3.0 to be a LTS release. OpenSSL 1.1.1 reaches end-of-life in September 2023, by which libspdm should be using OpenSSL 3.0. So it would be good for this to be available in the libspdm 3.0 release.

steven-bellock avatar Dec 01 '22 17:12 steven-bellock

Let's focus on openssl 3.0 enabling at first, without API change.

jyao1 avatar Jan 17 '23 01:01 jyao1

It seems the DMTF POC branch is deleted. The POC branch can be found at https://github.com/jyao1/libspdm/tree/openssl_3.0.2_eval.

jyao1 avatar Jan 17 '23 01:01 jyao1

@jyao1 has most of the algorithms enabled, but SM2 is being stubborn.

steven-bellock avatar Feb 27 '23 15:02 steven-bellock