<div dir="ltr"><div><b>Bug Reference:</b></div><div style="margin-left:40px">"OpenSSL v1.1.1 could not loaded on Windows platform"</div><div style="margin-left:40px"><a href="https://bugs.freepascal.org/view.php?id=37137" target="_blank">https://bugs.freepascal.org/view.php?id=37137</a></div><div><br></div><div>1) I can confirm that the new v1.1.x DLL names are correct.  I also checked some of the builds linked from the OpenSSL binary's page.  The OpenSSL commit that discusses the name changes:<br></div><div><a href="https://github.com/openssl/openssl/commit/520f434b42c83d63d8777075eb66967618551d5b" target="_blank">https://github.com/openssl/openssl/commit/520f434b42c83d63d8777075eb66967618551d5b</a></div><div><br></div><div></div><div>2) There is a problem with the loading.  The DLLs names have to be handled in pairs.  If the first DLL fails to load (crypto/util DLL), then both should be skipped and the next pair tried.  If the second DLL (SSL lib) fails to load, the first one needs to be unloaded and the pair skipped to try the next pair.  Otherwise it is possible to load two DLLs that are not matched versions.<br></div><div></div><div><br></div><div style="margin-left:40px">Reference master branch code:</div><div style="margin-left:40px"><a href="https://github.com/graemeg/freepascal/blob/master/packages/openssl/src/openssl.pas#L5634" target="_blank">https://github.com/graemeg/freepascal/blob/master/packages/openssl/src/openssl.pas#L5634</a></div><div><br></div><div>3) I recommend the newest libraries be tried first, working backwards towards the oldest.</div><div><br></div><div>Both #2 and #3 are demonstrated by this patch on the synapse mailing list:<br></div><div><a href="https://sourceforge.net/p/synalist/mailman/message/36933840/" target="_blank">https://sourceforge.net/p/synalist/mailman/message/36933840/</a></div><div><br></div><div><a href="https://github.com/graemeg/freepascal/blob/master/packages/openssl/src/openssl.pas#L5634" target="_blank"></a></div><div>4) The bug report says "Fixed in Version: 3.2.0", but that appears to be incorrect.<br></div><div></div><br><div>Thanks,</div><div><br></div><div>Wayne<br></div><div></div></div>