Table of Contents

YuOpenSSL

YuOpenSSL is a Delphi port of the OpenSSL cryptography and SSL/TSL library. All code is statically compiled into applications. OpenSSL DLLs are not needed. Over 5000 functions, procedures, constants, and types are ready to use in a single Delphi unit.

YuOpenSSL – OpenSSL for Delphi without DLLs

YuOpenSSL is the only OpenSSL implementation for Delphi which does not require OpenSSL DLLs. YuOpenSSL enables Delphi applications to compile encryption and Internet security into a single executable with no dependencies. This ensures complete control over the OpenSSL version and ends all worries about DLL deployment and locations.

OpenSSL is one of the most feature-rich cryptographc Internet security libraries. It includes message digests, ciphers, synchronous and asynchronous encryption, QUIC, TLS, and SSL protocols, and much more. YuOpenSSL provides more than 3000 functions & procedures, 3700 constants, and 700 types.

YuOpenSSL provides all OpenSSL functionaliy in a single Delphi units, YuOpenSSL.pas, which replaces the following DLLs:

Win64 Win32 YuOpenSSL Replacement
OpenSSL 3.3 libcrypto-3-x64.dll
libssl-3-x64.dll
legacy-x64.dll
libcrypto-3.dll
libssl-3.dll
legacy.dll
YuOpenSSL.pas from YuOpenSSL-3.3
OpenSSL 3.0 libcrypto-3-x64.dll
libssl-3-x64.dll
legacy-x64.dll
libcrypto-3.dll
libssl-3.dll
legacy.dll
YuOpenSSL.pas from YuOpenSSL-3.0
OpenSSL 1.1.1 libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
libcrypto-1_1.dll
libssl-1_1.dll
YuOpenSSL.pas from YuOpenSSL-1.1.1

YuOpenSSL Versions

There are currently three versions of YuOpenSSL, available as separate packages. The YuOpenSSL license covers all versions:

YuOpenSSL-3.3

YuOpenSSL-3.3 is based on the OpenSSL 3.3 series. It superseeds YuOpenSSL-3.0 (see below) and is compatible with it just as OpenSSL 3.3 is compatible with OpenSSL 3.0.

YuOpenSSL-3.3 will follow updates to OpenSSL 3.3, which will be supported until 2026-04-09.

YuOpenSSL-3.0

YuOpenSSL-3.0 is based on the OpenSSL 3.0 series. It superseeds YuOpenSSL-1.1.1 (see below) and is compatible with it just as OpenSSL 3.0 is compatible with OpenSSL 1.1.1.

YuOpenSSL-3.0 will follow updates to OpenSSL 3.0, which will be supported until 2026-09-07 (LTS).

YuOpenSSL-1.1.1

YuOpenSSL-1.1.1 is based on OpenSSL 1.1.1w.

OpenSSL 1.1.1 has reached its end of life on 2023-09-11 and YuOpenSSL-1.1.1 will not see further development either. Upgrading to YuOpenSSL-3.0 or YuOpenSSL-3.3 is recommended and should as easy as re-building applications with the new version.

Third Party Components and Library Support

YuOpenSSL currently supports the following 3rd party Internet components and libraries. With YuOpenSSL, they no longer require external OpenSSL DLLs for secure TLS / SSL Internet connections. All work with both YuOpenSSL versions.

ICS – Internet Component Suite

ICS can be compiled against YuOpenSSL. Starting with ICS 8.66, YuOpenSSL support is readily built in. For the older versions 8.65 and 8.64, minimally modified ICS sources are bundled with YuOpenSSL.

YuOpenSSL is enabled by $defining the YuOpenSSL compiler directive. This makes it easy to switch between ICS with OpenSSL DLLs and ICS with YuOpenSSL (and without DLLs).

Indy – Internet Direct

Indy can be compiled against YuOpenSSL. YuOpenSSL includes modified sources of the new Indy OpenSSL 1.1.1 IOHander. It adds TLS 1.3 as a new feature. YuOpenSSL is enabled by $defining the YuOpenSSL compiler directive. This makes it easy to switch between Indy with OpenSSL DLLs and Indy with YuOpenSSL (and without DLLs).

The new Indy OpenSSL 1.1.1 IOHandler is still in development. Testing is recommended.

Synapse TCP/IP and serial library

Synapse can be compiled against YuOpenSSL. YuOpenSSL includes modified sources of the Synapse OpenSSL bindings. YuOpenSSL is enabled by $defining the YuOpenSSL compiler directive. This makes it easy to switch between Synapse with OpenSSL DLLs and Synapse with YuOpenSSL (and without DLLs).

3rd Party Problems Detected During YuOpenSSL Development

YuOpenSSL development uncovered problems in Delphi 3rd party Internet components. They have been reported to their developers and are fixed in the latest version. Here is the list:

ICS – Internet Component Suite

Indy – Internet Direct

Synapse TCP/IP and serial library