Recent

Author Topic: OpenSSL Win dll (libeay32.dll / ssleay32.dll) old version with Lazarus 2.0.12  (Read 4828 times)

upsidasi

  • New Member
  • *
  • Posts: 16
I noticed that the last version of Lazarus (2.0.12) installs an old version of the OpenSSL Windows libraries (libeay32.dll / ssleay32.dll):
    DLL version: 1.0.2.10
    OpenSSL corresponding version: 1.0.2j
    Release year: 2016

The last available version of these dll files I could find (https://github.com/IndySockets/OpenSSL-Binaries) is:
    DLL version: 1.0.2.21
    OpenSSL corresponding version: 1.0.2u
    Release year: 2019

Is there a reason for this?

I am asking this also because I have an FPC program that uses the following version:
    DLL version: 1.0.2.16
    OpenSSL corresponding version: 1.0.2p
    Release year: 2018
This program -using this version- have been working perfectly on many Windows computers, but it wasn't able to make https connections on a specific Windows 10 Pro.
I fixed the problem by downgrading the dll files to version 1.0.2.10 which is the one installed by Lazarus!

Is it a known issue?
Is that why Lazarus still installs version 1.0.2.10 of these dll files?

apeoperaio

  • Full Member
  • ***
  • Posts: 230
Hi,
I have a similar issue.
Any tip from the developer team?

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1679
  • Former Delphi 1-7, 10.2 user
You can forget about OpenSSL DLLS and use Windows native wininet for web retrieval instead.
Lazarus 2.3, FPC 3.3.1 macOS 12.0.1 x86_64 Xcode 13.1
Lazarus 2.3, FPC 3.3.1 macOS 12.0.1 aarch64 Xcode 13.1
Lazarus 2.3, FPC 3.2.2 FreeBSD 13.0 amd64 VM
Lazarus 2.3, FPC 3.2.2 FreeBSD 12.2 amd64 VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 VM
Lazarus 2.0.10 FPC 3.2.0 Win10 VM

upsidasi

  • New Member
  • *
  • Posts: 16
I didn't know about the "WinInet way", thanks!

But how do you handle a HTTPS POST connection with WinInet?
In other words, how can you get a similar behavior to TFPHTTPClient.FormPost(const URL: string; FormData: TStrings): RawByteString; ?

Can you give an example?

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1679
  • Former Delphi 1-7, 10.2 user
I'm more of a macOS user, but had to come up with a way to do it in Windows without the OpenSSL DLL hell. As for using post, my first Google result yielded: https://stackoverflow.com/questions/1823542/how-to-send-a-http-post-request-in-delphi-using-wininet-api
« Last Edit: June 09, 2021, 09:45:26 am by trev »
Lazarus 2.3, FPC 3.3.1 macOS 12.0.1 x86_64 Xcode 13.1
Lazarus 2.3, FPC 3.3.1 macOS 12.0.1 aarch64 Xcode 13.1
Lazarus 2.3, FPC 3.2.2 FreeBSD 13.0 amd64 VM
Lazarus 2.3, FPC 3.2.2 FreeBSD 12.2 amd64 VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 VM
Lazarus 2.0.10 FPC 3.2.0 Win10 VM

 

TinyPortal © 2005-2018