OpenSSL DLLs 1.1.1 ported to Total Commander

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: sheep, Hacker, Stefan2, white

Post Reply
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39988
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *ghisler(Author) »

Until now, the last OpenSSL version supported by Total Commander was 1.0.2u. The newer 1.1.x versions use a different DLL naming scheme and are missing several exported functions used by Total Commander.

The major benefits of OpenSSL 1.1.1 are security updates, and support for TLS 1.3.

I have now modified the source code of OpenSSL 1.1.1 so it works with Total Commander:
1. DLL names changed to ssleay32.dll and libeay32.dll
2. No dependency on bcrypt.dll, so it also works under Windows XP
3. No dependency on Visual Studio runtime libraries
4. Exported the missing functions, so the DLL can be loaded by Total Commander

Downloads: 32-bit | 64-bit | sources
(updated 2020-07-14)

Please read the file ghisler_howto.txt for the necessary changes if you want to compile the DLLs from sources yourself.

Installation instructions
Unzip the 32-bit dlls to the Total Commander directory. The 64-bit dlls go to the subdirectory named "64" (without the quotes).

To find the right location, please put the following command in the Total Commander command line (above buttons F5, F6) and press ENTER:
cd %commander_path%

If you use FTP over TLS and use the OpenSSL DLLs, please try the new DLLs!
Author of Total Commander
http://www.ghisler.com
User avatar
tbeu
Power Member
Power Member
Posts: 1301
Joined: 2003-07-04, 07:52 UTC
Location: Germany
Contact:

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *tbeu »

In the modified sources archive, can you please add a patch/diff file against https://github.com/openssl/openssl/tree/OpenSSL_1_1_1-stable or https://github.com/openssl/openssl/releases/tag/OpenSSL_1_1_1g. Thanks.
TC plugins: Autodesk 3ds Max / Inventor / Revit Preview, FileInDir, ImageMetaData (JPG Comment/EXIF/IPTC/XMP), MATLAB MAT-file Viewer, Mover, SetFolderDate, Solid Edge Preview, Zip2Zero and more
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39988
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *ghisler(Author) »

Unfortunately I can't do that: I'm not just modifying source files, I'm modifying some auto-generated files too:
1. The makefile. I couldn't figure out how to change the switch /MD to /MT in the sources.
2. The .def files. These are auto-generated probably from util\libcrypto.num and util\libssl.num . However, the num files only work with functions present in the source code. But sk_* functions are no longer in the source, they were renamed to OPENSSL_sk_* functions, which are still being exported. Therefore I had to add lines like
sk_deep_copy = OPENSSL_sk_deep_copy
to the .def file.
Author of Total Commander
http://www.ghisler.com
Hurdet
Power Member
Power Member
Posts: 544
Joined: 2003-05-10, 18:02 UTC

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *Hurdet »

If i have installed TC64 do I need to also copy x32 openssl or it is suffit copy x64 in 64 folder?
Do TC use openssl as well as cm_FtpNew?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39988
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *ghisler(Author) »

If i have installed TC64 do I need to also copy x32 openssl
No.
or it is suffit copy x64 in 64 folder?
Yes.
Do TC use openssl as well as cm_FtpNew?
Yes, it's used in cm_FtpNew if you use ftps:// prefix, or when using SSL/TLS option in cm_FtpConnect.
By default, TC uses a Windows library on Windows Vista or newer. But this library cannot handle some servers which require FTP session re-use.
Author of Total Commander
http://www.ghisler.com
Laurin
Junior Member
Junior Member
Posts: 91
Joined: 2007-07-03, 16:33 UTC

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *Laurin »

OpenSSL DLLs 1.1.1 not works under Windows XP SP3

im anmelde fenster kommt eine Fehler Meldung
Exception in SSL funktion, DLL s may be outdated!

1.0.2u. ist ok keine Probleme...
#33304 Personal license
GRUND REGEL für das aufsetzen eines neuen SYSTEM
1. WINDOWS
2. Total Commander
und dann denn rest
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39988
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *ghisler(Author) »

Bei mir gehen sie auch unter Windows XP problemlos. Betrifft das die 32-bit oder 64-bit-Version?
Author of Total Commander
http://www.ghisler.com
Laurin
Junior Member
Junior Member
Posts: 91
Joined: 2007-07-03, 16:33 UTC

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *Laurin »

32 bit Prof. SP3
#33304 Personal license
GRUND REGEL für das aufsetzen eines neuen SYSTEM
1. WINDOWS
2. Total Commander
und dann denn rest
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39988
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *ghisler(Author) »

I see - I only tried on 64-bit Windows XP, there both 32-bit and 64-bit dlls worked fine. I will try on 32-bit XP too.
Author of Total Commander
http://www.ghisler.com
User avatar
MaxX
Power Member
Power Member
Posts: 700
Joined: 2012-03-23, 18:15 UTC
Location: Earth

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *MaxX »

Is it needed only on XP?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39988
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *ghisler(Author) »

No, it's needed even on Windows 10 if you want to connect to any FTP server with "SSL session re-use" enabled. Microsoft recently broke that function in their own SSL implementation.
Author of Total Commander
http://www.ghisler.com
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39988
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *ghisler(Author) »

I have managed to make the 32-bit dlls work on Windows XP 32bit too!
See first post for updated download links.

The only change were the compile flags:
CNF_CFLAGS=/Gs0 /GF /Gy /MT /Zc:threadSafeInit- -D"_USING_V110_SDK71_"
BIN_LDFLAGS=/subsystem:console,5.01 /opt:ref $(CNF_LDFLAGS) $(LDFLAGS)

I have also made modifications both here and in the sftp plugin, so the dlls also work with that plugin on XP. You will need to get sftp plugin 2.80 beta 3.
Author of Total Commander
http://www.ghisler.com
Laurin
Junior Member
Junior Member
Posts: 91
Joined: 2007-07-03, 16:33 UTC

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *Laurin »

Funktioniert jetzt einwandfrei unter Windows XP 32 bit
Danke

Now works perfectly under Windows XP 32 bit
thank you
#33304 Personal license
GRUND REGEL für das aufsetzen eines neuen SYSTEM
1. WINDOWS
2. Total Commander
und dann denn rest
Laurin
Junior Member
Junior Member
Posts: 91
Joined: 2007-07-03, 16:33 UTC

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *Laurin »

Ich schreibe mal nur auf Deutsch
Da ich Englisch nicht so richtig beherrsche

Ich habe etwas interessantes Festgestell

Die Version 1.1.1g-x32
Funktioniert,
>>> aber auch nicht

Ich habe die auf einen Pc Installiert

Wo noch keine Version 1.0.2u
Drauf war,
und es ist keine Verbindung möglich....


Daraufhin habe ein wenig Experimentiert

Wenn man zu erst die Version 1.0.2u Installiert

Kommt immer beim Verbinden ein SSL Zertifikat abfrage Fenster...

Diese kommt nicht wieder wenn man denn Haken (unten) setzt
Darauf hin wird die Datei: wincmd.pem erzeugt.

Bei der Version 1.1.1g-x32
Kommt dieses SSL Zertifikat abfrage Fenster NIE es schlägt nur die Verbindung Fehl..
Und das war es dann,
Funktioniert nicht.

Fehler also Version 1.1.1g-x32 kann auch nicht die Datei: wincmd.pem
Erzeugen

Lösung:
Erst die Version 1.0.2u
Installieren
Beim Verbinden im SSL Zertifikat abfrage Fenster...

denn Haken (unten) Setzen
Darauf hin wird die Datei: wincmd.pem erzeugt.

Dann die Version 1.0.2u mit der Version 1.1.1g-x32 überschreiben
Und es geht...verbindung Möglich
Weil dann die Version 1.1.1g-x32 die von der Version 1.0.2u
Erzeugte Datei: wincmd.pem benutzt



Ich hoffe es ist verständlich erklärt....
#33304 Personal license
GRUND REGEL für das aufsetzen eines neuen SYSTEM
1. WINDOWS
2. Total Commander
und dann denn rest
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 39988
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: OpenSSL DLLs 1.1.1 ported to Total Commander

Post by *ghisler(Author) »

Danke für den Hinweis, da fehlt wohl noch eine Funktion - ich werde das untersuchen.
Author of Total Commander
http://www.ghisler.com
Post Reply