Hello,
So far I've been using OpenSSL on Windows via the OpenSSL that comes bundled with XAMPP.
But what if I want to install OpenSSL myself on Windows? I could not find a way to do it directly from the official OpenSSL source.
That's because I want the newest OpenSSL version 3 instead of 1.1.1 that comes with XAMPP
How can I do it?
Thanks
ssl - How to install OpenSSL in Windows 10? - Stack Overflow
openssl - how do I update it and know that it's working on the affected programs?
Is there an OpenSSL for windows? - Stack Overflow
Get ready to patch - OpenSSL 3.x
Videos
I also wanted to use OpenSSL on Windows 10. An easy way to do it without running into the risk of installing unknown software from 3rd party websites and risking viruses, is by using the openssl.exe that comes inside your Git for Windows installation. In my case, I found the OpenSSL executable in the following location of the Git for Windows installation.
C:\Program Files\Git\usr\bin\openssl.exe
If you also want instructions on how to use OpenSSL to generate and use certificates, here is a write-up on my blog. The step by step instructions first explain how to use Microsoft Windows Default Tool and also OpenSSL and explains the difference between them.
If you have chocolatey installed you can install openssl via a single command i.e.
choco install openssl
Hello Jane,
Your case is not related to Windows for Business or Windows 365 Enterprise. What you are dealing with is an application dependency issue around OpenSSL versions on Windows. Winget installs the latest OpenSSL binaries into a system path, but applications do not automatically switch to using them. Each program either links statically to its own bundled OpenSSL libraries or dynamically loads them from a specific path. That means even if you have the newest OpenSSL installed globally, older applications may still be calling their embedded or outdated DLLs.
To verify which version is actually being used, you need to inspect the binaries that the application loads. On Windows, the most reliable way is to use Process Explorer from Sysinternals. Launch the application, open Process Explorer, and check the loaded modules under the process. If you see libssl-1_1.dll or libcrypto-1_1.dll, note the file path. That path tells you whether the program is using the system-installed OpenSSL or its own copy. You can also run openssl version from the command line to confirm the version of the OpenSSL binary you installed via Winget, but that only confirms the global installation, not what each application is consuming.
There is no single command line that forces all applications to use the new OpenSSL. Each application must either be updated by its vendor to link against the newer libraries, or you must replace the older DLLs in the application’s directory with the updated ones though this is risky and not recommended unless the vendor explicitly supports it. The best practice is to update the applications themselves to versions that are compiled against the latest OpenSSL.
I hope you've found something useful here. If it helps you get more insight into the issue, it's appreciated to accept the answer. Should you have more questions, feel free to leave a message. Have a nice day!
Domic Vo.
To ensure that your applications are using the new version of OpenSSL after updating, you can follow these steps:
- Check OpenSSL Version: You can verify the installed version of OpenSSL by running the following command in your command line:
This command will display the version of OpenSSL currently in use.openssl version - Verify Application Dependencies: For applications that depend on OpenSSL, you may need to check their documentation or use specific commands to see which version of OpenSSL they are linked against. This can vary by application, but many applications will have a command-line option to display version information.
- Check for Multiple Versions: If you suspect that multiple versions of OpenSSL are installed, you can check the paths of the OpenSSL binaries in your system. Use the following command to find all instances of OpenSSL:
This will show you the locations of the OpenSSL executables, and you can verify if the correct version is being used.where openssl - Update Environment Variables: Ensure that your system's PATH environment variable points to the directory of the new OpenSSL installation. This can help ensure that applications use the correct version.
- Testing Applications: After updating, test your applications to ensure they function correctly. If they fail or report issues related to OpenSSL, they may still be referencing an older version.
By following these steps, you can confirm that your applications are using the updated version of OpenSSL and mitigate any vulnerabilities associated with older versions.
Yes. You can do one of two things:
Build it yourself
You'll need a build environment (either Visual Studio or msys2 based), and a few other pre-requisites. Download the source from here:
https://www.openssl.org/source/
And (assuming you downloaded the 1.1.0 version), read the INSTALL notes here:
https://github.com/openssl/openssl/blob/OpenSSL_1_1_0-stable/INSTALL
There are also some Windows specific notes here:
https://github.com/openssl/openssl/blob/OpenSSL_1_1_0-stable/NOTES.WIN
Download a pre-compiled version
The OpenSSL project doesn't distribute pre-compiled binaries, but they do maintain a list of third-party provided binaries. The list is here:
https://wiki.openssl.org/index.php/Binaries
Search openssl shining light production in google and download from the first link