YuOpenSSL is the first and only Delphi implementation of OpenSSL that does not require OpenSSL DLLs. Delphi applications can finally compile encryption and Internet security into a single executable with no dependencies. There is now complete control about the OpenSSL version and no more worries about DLL deployment and locations.
All OpenSSL functionaliy is contained in YuOpenSSL.pas, which is just a single Delphi. Add this to the uses list and Delphi will compile OpenSSL straight into your application with no external dependencies. OpenSSL DLLs like libssl-1_1.dll, libssl-1_1-x64.dll, libcrypto-1_1.dll, or libcrypto-1_1-x64.dll are not needed any more.
YuOpenSSL implements OpenSSL 1.1.1. OpenSSL no longer supports older versions, hence they do not qualify for porting to Delphi.
OpenSSL is one of the most feature-rich cryptographc Internet security libraries. It includes message digests, ciphers, synchronous and asynchronous encryption, SSL, TLS, and much more. YuOpenSSL currently provides nearly 3000 functions & procedures, almost 3700 constants, and close to 700 types. In case you need OpenSSL functionality not yet available in YuOpenSSL, send your request to email@example.com.
ICU – Internet Component Suite can be compiled against YuOpenSSL. Minimally modified ICS sources are included in YuOpenSSL. YuOpenSSL is enabled by $defining the YuOpenSSL compiler directive, which makes it easy to switch between the OpenSSL DLLs and YuOpenSSL without DLLs.
The following ICS issues were detected during YuOpenSSL development and reported to the ICS developers:
Indy – Internet Direct 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, which makes it easy to switch between the OpenSSL DLLs and YuOpenSSL without DLLs.
The new Indy OpenSSL 1.1.1 Indy IOHandler is still in development. Until stable, consider this a proof of concept and use with great care.
The following issues in the Indy OpenSSL 1.1.1 IOHandler were detected during YuOpenSSL development and reported to the Indy developers: