Do not try to "modernize" by dropping in OpenSSL 3.0. Do not expect Windows to provide it. Instead, treat these two DLLs ( libeay32 and ssleay32 ) as permanent artifacts of your application, ship them in your install folder, and they will continue to work for another decade.
finally HTTP.Free; end; end;
For Indy 9, you cannot use the latest versions of OpenSSL. You must use the legacy binaries:
Modify your code to get the actual Win32 error during load: