during our upgrade task to aix 7.3 and the included openssl v3 we ran into a critical openssl compat problem.
some crucial software parts which were compiled against openssl 1.1.1.1201 are throwing runtime errors after the forced openssl v3 upgrade
in aix 7.3.
example with perls Net::SSLeay module:
build host:
root@hsr5s1p8: /root # oslevel -s
7200-05-03-2148
root@hsr5s1p8: /root # lslpp -l | grep -i openssl
openssl.base 1.1.1.1201 COMMITTED Open Secure Socket Layer
openssl.license 1.1.1.1201 COMMITTED Open Secure Socket License
openssl.man.en_US 1.1.1.1201 COMMITTED Open Secure Socket Layer
openssl.base 1.1.1.1201 COMMITTED Open Secure Socket Layer
root@hsr5s1p8: /root # /opt/itsv/applperlbin/active/bin/perl -e 'use IO::Socket::SSL'
root@hsr5s1p8: /root # /opt/itsv/applperlbin/active/bin/perl -e 'use Net::SSLeay'
host with aix 7.3 and latest openssl v3 throwing errors
root@aixtestha1c2: /root # oslevel -s
7300-01-01-2246
root@aixtestha1c2: /root # lslpp -l | grep -i openssl
openssl.base 3.0.8.1000 COMMITTED Open Secure Socket Layer
openssl.license 3.0.8.1000 COMMITTED Open Secure Socket License
openssl.man.en_US 3.0.8.1000 COMMITTED Open Secure Socket Layer
openssl.base 3.0.8.1000 COMMITTED Open Secure Socket Layer
root@aixtestha1c2: /root # /opt/itsv/applperlbin/active/bin/perl -e 'use Net::SSLeay'
Can't load '/opt/itsv/applperlbin/install-5.36.0/lib/perl5/5.36/site_perl/auto/Net/SSLeay/SSLeay.so' for module Net::SSLeay: Symbol resolution failed for /opt/itsv/applperlbin/install-5.36.0/lib/perl5/5.36/site_perl/auto/Net/SSLeay/SSLeay.so because:
Symbol SSL_CTX_set_psk_client_callback (number 543) is not exported from dependent
module /usr/lib/libssl.a[libssl.so.1.1].
Symbol SSL_set_psk_client_callback (number 544) is not exported from dependent
module /usr/lib/libssl.a[libssl.so.1.1].
Could not load module /opt/itsv/applperlbin/install-5.36.0/lib/perl5/5.36/site_perl/auto/Net/SSLeay/SSLeay.so.
System error: Exec format error
Examine .loader section symbols with the 'dump -Tv' command. at /opt/itsv/applperlbin/install-5.36.0/lib/perl5/5.36/DynaLoader.pm line 206.
at -e line 1.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
this is a major problem because many critical jobs depends on this perl functionality. i am not entirely shure whats the deal here, but the /usr/lib/libssl.a[libssl.so.1.1] (libcrypto.a?) file in the latest openssl v3 webdownload is definitely not backward compatible to openssl v1 and can be considered BROKEN.
and before you ask, no, the Net::SSLeay can not be rebuilt against openssl v3. generally not very clever to force an upgrade to openssl v3 as there are many software project which are not even rudimentally ready for openssl v3.
how to proceed?
chris
------------------------------
I regret starting this entire conversation
------------------------------
#AIXOpenSource