Recent

Author Topic: OpenSSL Win dll (libeay32.dll / ssleay32.dll) old version with Lazarus 2.0.12  (Read 4330 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: 219
Hi,
I have a similar issue.
Any tip from the developer team?

trev

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1584
  • 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 2021-08-10 FPC 3.3.1 r49223 macOS 10.14.6 Xcode 11.3.1
Lazarus 2.3 r65500 FPC 3.3.1 r49634 macOS 11.5.2 aarch64 Xcode 12.5.1
Lazarus 2.3 2021-08-11 FPC 3.2.2 FreeBSD 13.0 amd64 VMware VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 Parallels VM
Lazarus 2.0.10 FPC 3.2.0 Win10 Parallels 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: 1584
  • 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 2021-08-10 FPC 3.3.1 r49223 macOS 10.14.6 Xcode 11.3.1
Lazarus 2.3 r65500 FPC 3.3.1 r49634 macOS 11.5.2 aarch64 Xcode 12.5.1
Lazarus 2.3 2021-08-11 FPC 3.2.2 FreeBSD 13.0 amd64 VMware VM
Lazarus 2.1 r61574 FPC 3.0.4 Ubuntu 20.04 Parallels VM
Lazarus 2.0.10 FPC 3.2.0 Win10 Parallels VM

 

TinyPortal © 2005-2018