(05-16-2019, 12:13 PM)info@a-dato.net Wrote:Code:rc := EVP_PKEY_set1_RSA(@key, FRSA); <== Exception occurs here
Check to make sure that the EVP_PKEY_set1_RSA function pointer is not nil after calling LoadOpenSSLLibrary():
Code:
if not IdSSLOpenSSL.LoadOpenSSLLibrary then
raise Exception.Create('LoadOpenSSLLibrary failed');
if not Assigned(EVP_PKEY_set1_RSA) then // <-- here
raise Exception.Create('EVP_PKEY_set1_RSA is not available');
...
EVP_PKEY_set1_RSA() is not marked as a critical function being used by Indy's own purposes, so if it fails to load from the DLLs, Indy will simply ignore it.
if the EVP_PKEY_set1_RSA pointer is not nil, but you are still getting the AV, then something else is going on.