When we build and ship FireDaemon Fusion, we try to ensure it contains the most recent version of OpenSSL. We thought it would be useful to make our OpenSSL Binary Distribution available for download for others to use in their own software projects.
OpenSSL keeps an informal list of available, 3rd-party maintained binaries. Here's our summary:
|OpenSSL for Microsoft Windows||Pre-compiled x86 (32-bit) and x64 (64-bit) 1.1.1 libraries with dependency on the Visual Studio 2017 runtime (binary-compatible with 2015). Primarily built for FireDaemon Fusion, but may be used for any Windows application. The OpenSSL DLL and EXE files are digitally code signed 'FireDaemon Technologies Limited'.||Download OpenSSL 1.1.1d|
Whenever we release an updated version of FireDaemon Fusion or OpenSSL gets updated with security fixes, we will ship FireDaemon Fusion with the latest version of OpenSSL_1_1_1-stable available. The currently deployed OpenSSL library is version 1.1.1d-dev at commit. We are currently shipping OpenSSL_1_1_1c-128-g4bdab25717 as reported by:
git describe --always --tag --long --first-parent --dirty
The actual command line to build OpenSSL is as follows (where %toolset% is VC-WIN32 and VC-WIN64A respectively):
perl ..\Configure %toolset% no-asm no-ssl3 no-zlib no-comp no-ui --api=1.1.0 --prefix="%openssl-dst%" --openssldir=ssl -DOPENSSL_NO_DEPRECATED
For reference, the whole build script creating the packages is attached to this article.
OpenSSL as shipped with FireDaemon Fusion depends on the Microsoft Visual Studio 2017 runtime.
The external dependency creates much smaller modules and .pdb files, and integrates nicely with FireDaemon Fusion. We believe that this shouldn't be problematic since the msvc14.1 runtime is binary compatible with applications built using the msvc14.0 runtime, and - once installed - the Universal C Runtime (CRT) is subject to automatic Windows updates.