signalwire / libstirshaken

C library implementing STIR-shaken STI-SP AS/VS, STI-CA
MIT License
31 stars 23 forks source link

Can not build with OpenSSL 3.0 (Used in Ubuntu 22.04 LTS) #121

Open xrobau opened 2 years ago

xrobau commented 2 years ago

Many deprecated functions are used:

https://www.openssl.org/docs/manmaster/man3/EC_KEY_new_by_curve_name.html https://www.openssl.org/docs/manmaster/man3/EC_KEY_generate_key.html https://www.openssl.org/docs/manmaster/man3/EC_KEY_check_key.html https://www.openssl.org/docs/manmaster/man3/PEM_write_bio_EC_PUBKEY.html https://www.openssl.org/docs/manmaster/man3/EC_KEY_free.html

And a pile more that I gave up copying and pasting

supapo commented 2 years ago

I got this error src/stir_shaken.c: In function ‘stir_shaken_is_key_trusted’: src/stir_shaken.c:726:9: error: ‘EVP_PKEY_cmp’ is deprecated: Since OpenSSL 3.0 [-Werror=deprecated-declarations] 726 | if (!EVP_PKEY_cmp(pkey, candidate_pkey)) {

mrtrev commented 1 year ago

There is a lot of refactoring needed to make this library compatible with OpenSSL 3. I've been chipping away at it very slowly. Would like to see some of the pending PRs be accepted before I put any serious time into a larger project such as this.

It also won't compile on Oracle Linux Server release 9.1 + Red Hat Enterprise Linux release 9.1 (Plow)

mrtrev commented 1 year ago

Here's a workaround for now

https://github.com/mrtrev/libstirshaken/commit/f3614310b50f3c36e9e4e53fbfcc07db6b1ccdbc