Repository files navigation

OpenSSL Distribution Packages & Windows Installers

Automated, reproducible, and digitally signed OpenSSL 3.x distribution packages, standalone Windows installers, and cross-platform binary archives compiled for Windows, Linux, macOS, Android, and iOS.

GitHub ReleaseGitHub DownloadsAzure Trusted SigningLicense

GitHub Stars

Love this project? Give it a star on GitHub! It helps more developers find pre-compiled, signed, and zero-dependency OpenSSL binaries.


💡 Why Choose This OpenSSL Distribution?

FeatureCompiling from SourceLegacy OpenSSL BinariesTaurusTLS OpenSSL
No vcruntime140.dll Dependency❌ (Requires /MD CRT)❌ (Causes missing DLL error)HybridCRT (Zero dependencies)
Windows ARM64X Dual-Architecture❌ (Complex dual-linking)Native ARM64 + ARM64EC in one DLL
Microsoft Azure Trusted Signing❌ (Triggers SmartScreen)Digitally Signed (.exe, .dll, .msi, .msix)
Installer Variety⚠️ (Single .exe)Multi-Arch InnoSetup, WiX MSI & MSIX
macOS Universal Binaries❌ (Requires manual lipo)⚠️Combined x86_64 + arm64 (@rpath ready)
Android 16K Page Alignment❌ (Defaults to 4KB)Android 15+ 16KB Page Aligned
Automated Upstream Tracking⚠️ (Manual updates)Built within 24h of OpenSSL releases

📦 Distribution Formats

Official releases provide four complementary distribution formats:

FormatTarget PlatformsKey FeaturesPrimary Use Case
Windows Multi-Arch Setup (.exe)Windows (x64, x86, ARM64)Single installer for all architectures, autodetects CPU, Per-Machine & Per-User modes, Start Menu Command Prompt, optional PATH setup, Azure SignedEnd-user systems, interactive workstation setup
Windows MSI Installers (.msi)Windows (x64, x86, ARM64)Built with WiX Toolset, GPO/Intune enterprise deployment, automated rollback & repair, interactive feature tree with optional 32-bit runtime on x64, Azure SignedEnterprise IT deployment, automated Active Directory / Intune rollout
MSIX Framework Packages (.msix)Windows (x64, x86, ARM64)Standalone MSIX Framework packages (<Framework>true</Framework>), side-by-side directory isolation, Azure SignedPackaged Windows applications consuming OpenSSL via <PackageDependency>
Unified Portable ZIPs (.zip)Windows, Linux, macOS, Android, iOSPortable archives containing shared DLLs/SOs/dylibs, static libraries (/lib/static/), import libraries (/lib/import/), headers, and documentationC/C++ build pipelines, local development, portable bundling

🪟 Windows Installers

All Windows binaries, installers, and packages are digitally signed with Microsoft Azure Trusted Signing and built using HybridCRT (eliminating any external vcruntime140.dll dependency).

1. InnoSetup Multi-Architecture Installer (.exe)

File pattern: openssl-<version>-Windows-installer.exe

A single setup executable containing native binaries for x64, x86, and ARM64 (ARM64X):

  • Intelligent Architecture Detection: Detects the host processor architecture at install time and deploys matching native binaries:
    • 64-bit Intel/AMD (x64): Installs native 64-bit OpenSSL runtime into bin64.
    • 64-bit ARM64 (Surface / Snapdragon): Installs native ARM64 / ARM64X OpenSSL runtime into bin64.
    • 32-bit (x86): Installs native 32-bit OpenSSL runtime into bin32.
  • 32-bit Compatibility Option: On 64-bit systems, users can check [x] 32-bit (x86) Compatibility Runtime to install 32-bit libraries into bin32 alongside 64-bit libraries for legacy application compatibility.
  • Installation Modes & Directory Layouts:
    • Per-Machine (Admin / All Users):
      • 64-bit / ARM64: C:\Program Files\TaurusTLS Developers\OpenSSL-<major.minor>\bin64\
      • 32-bit: C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<major.minor>\bin32\
    • Per-User (Current User / Non-Admin):
      • 64-bit / ARM64: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x64\
      • 32-bit: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x86\
  • OpenSSL Command Prompt: Adds a Start Menu shortcut that launches a command prompt session directly in the OpenSSL installation folder with PATH pre-configured.
  • Silent Installation:
    :: Silent Per-Machine Install (All Users, Default)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
    :: Silent Per-User Install (Current User Only)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /CURRENTUSER /SUPPRESSMSGBOXES /NORESTART

2. WiX Windows MSI Installers (.msi)

File patterns:

  • openssl-<version>-Windows-x64.msi
  • openssl-<version>-Windows-x86.msi
  • openssl-<version>-Windows-arm64.msi

Enterprise-ready Windows Installer (.msi) packages built using modern WiX Toolset:

  • Enterprise Management: Fully compatible with Active Directory Group Policy Objects (GPO), Microsoft Intune, and Microsoft Endpoint Configuration Manager (SCCM).
  • Transaction Safety & Self-Healing: Powered by the Windows Installer database engine with automatic rollback on installation interruption and on-demand repair.
  • Interactive Feature Selection Tree:
    • 📦 OpenSSL Native Runtime: Installs native binaries into %ProgramFiles%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add native directory to PATH: Optional sub-feature to add the installation folder to the system PATH.
    • 📦 32-bit (x86) Compatibility Runtime (on x64 MSI): Optional feature to install 32-bit libraries into %ProgramFiles(x86)%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add 32-bit directory to PATH: Optional sub-feature to add the 32-bit folder to the system PATH.
  • In-Place Upgrades: Uses deterministic upgrade codes scoped by Major.Minor so that patch releases (e.g. 3.0.23 over 3.0.22) upgrade in-place, while major/minor releases (e.g. 3.0 vs 3.5) coexist side-by-side.
  • Silent Command-Line Installation:
    :: Silent Administrative Installmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart
    :: Silent Install with Verbose Loggingmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart /l*v "openssl_install.log"

3. MSIX Framework Packages (.msix)

File patterns:

  • openssl-<version>-Windows-x64.msix
  • openssl-<version>-Windows-x86.msix
  • openssl-<version>-Windows-arm64.msix

MSIX Framework packages provide isolated, shared runtime libraries for other Windows applications:

  • Isolated Deployment: Installs directly to C:\Program Files\WindowsApps\ with complete architecture isolation.
  • MSIX App Dependency: Consuming applications can reference OpenSSL in their AppxManifest.xml:
    <Dependencies>
    <PackageDependencyName="TaurusTLS.OpenSSL.3.4"MinVersion="3.4.0.0"Publisher="CN=..." />
    </Dependencies>

⚡ Windows ARM64X Dual-Architecture Technology

File pattern: openssl-<version>-Windows-arm64.zip

Windows ARM64 releases feature true ARM64X dual-architecture binaries:

  • Single Binary, Dual Execution:libcrypto-3-arm64.dll, libssl-3-arm64.dll, providers, and engines contain both Native ARM64 and ARM64EC (x64-compatible) code slices in a single binary image.
  • Unified Import & Static Libraries: The default lib/import/libcrypto.lib and lib/static/libcrypto.lib are unified ARM64X archives that link seamlessly in both Native ARM64 and ARM64EC projects.
  • Dedicated Slices Included: For toolchains requiring pure single-architecture archives, dedicated subfolders (lib/import/arm64/, lib/import/arm64ec/, lib/static/arm64/, lib/static/arm64ec/) are included in the package.

🍎 macOS Universal (Unified) Binaries

File pattern: openssl-<version>-macOS-universal.zip

Our macOS release is delivered as a single, unified package designed for both local development and seamless app bundle redistribution across the entire Mac ecosystem:

  • Single Package, Two Architectures: Contains true Universal (Fat) Mach-O binaries combining both x86_64 (Intel) and arm64 (Apple Silicon M-series) code into single binary files via lipo.
  • Universal Static Linking: Includes unified static archives (libcrypto.a and libssl.a). You can link your application against them to compile native apps for Intel Macs, Apple Silicon Macs, or Universal binaries without managing multiple library paths.
  • Fully Relocatable Shared Libraries (.dylib): All shared libraries, engines, and providers are pre-configured with relative Mach-O install names (@rpath, @loader_path, and @executable_path). They are 100% drop-in ready to be embedded directly inside macOS .app application bundles without requiring path adjustments.
  • Stripped & Clean: Stripped of non-global debugging symbols (strip -x / strip -S). Includes install_symlinks.sh for optional local dev setup.

🌐 Cross-Platform Portable ZIP Packages

Every release provides unified .zip archives containing the CLI, dynamic modules, static libraries, headers, and documentation.

Supported Platforms & Architectures

OSArchitecturePackage NameDetails
Windowsx64openssl-<ver>-Windows-x64.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsx86openssl-<ver>-Windows-x86.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsarm64openssl-<ver>-Windows-arm64.zipTrue ARM64X (Native ARM64 + ARM64EC), HybridCRT, Azure Signed
macOSuniversalopenssl-<ver>-macOS-universal.zipUniversal Fat Binaries (x64 + arm64) via lipo, relocatable @rpath
Linuxx64openssl-<ver>-Linux-x64.zipDynamic $ORIGIN RPATH, SCTP enabled
Linuxarm64openssl-<ver>-Linux-arm64.zipDynamic $ORIGIN RPATH, aarch64 cross-compiled
Androidarm64openssl-<ver>-Android-arm64.zip16K page alignment (max-page-size=16384), API 21+
Androidarmopenssl-<ver>-Android-arm.zip16K page alignment (max-page-size=16384), API 21+
iOSarm64openssl-<ver>-iOS-arm64.zipStatic archives (.a) for physical iOS devices
iOSsim-arm64openssl-<ver>-iOS-sim-arm64.zipStatic archives (.a) for Apple Silicon iOS Simulator

📂 Portable Package Directory Layout

All .zip packages adhere to a single unified structure:

openssl-<version>-<OS>-<Arch>/
├── openssl[.exe] # OpenSSL CLI utility (Native ARM64 on Win-ARM64, Universal on macOS)
├── libcrypto-3*.dll / .so / .dylib # Shared crypto library
├── libssl-3*.dll / .so / .dylib # Shared SSL/TLS library
├── engines/ # OpenSSL dynamic engines (.dll / .so / .dylib)
├── providers/ # OpenSSL dynamic providers (.dll / .so / .dylib)
├── include/ # C/C++ Header files (openssl/*.h)
├── doc/ # HTML Documentation
├── lib/
│ ├── import/ # (Windows only) Import libraries (.lib) for dynamic linking
│ │ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 import libs
│ │ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC import libs
│ └── static/ # True static libraries (.lib / .a)
│ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 static libs
│ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC static libs
├── install_symlinks.sh # (POSIX only) Script to restore shared library symlinks
├── LICENSE.txt # OpenSSL Apache-2.0 License
├── README.txt # Distribution guide
└── version.txt # Metadata version stamp

🔗 Linking Instructions

Windows (MSVC, Delphi, C++Builder)

  • Dynamic Linking (Recommended): Link against the import libraries in lib/import/ (e.g., libcrypto.lib, libssl.lib). Ship the root .dll files alongside your executable.
  • Static Linking: Link against the static libraries in lib/static/. These are compiled with /MT HybridCRT to link against Windows' native ucrtbase.dll.

Linux & Unix

  • Dynamic Linking: Link against libcrypto.so.3 / libssl.so.3. Libraries are built with -Wl,-rpath,'$ORIGIN' to load adjacent dependencies automatically.
  • Static Linking: Link against lib/static/libcrypto.a and lib/static/libssl.a.

macOS (Intel & Apple Silicon)

  • Universal Binaries: All binaries and static archives contain combined x86_64 and arm64 slices. You can link against them from both Intel and Apple Silicon Macs.
  • Relocatable @rpath: Shared libraries have pre-configured @rpath IDs for easy app bundle embedding.

POSIX Symlink Restoration

Windows file systems fail to extract POSIX symbolic links. To prevent archive extraction corruption, packages contain physical versioned shared library files (e.g., libcrypto.so.3 or libcrypto.3.dylib).

On Linux and macOS, run the included script once after extracting to restore standard unversioned symlinks (libcrypto.so -> libcrypto.so.3 or libcrypto.dylib -> libcrypto.3.dylib):

cd openssl-<version>-<OS>-<Arch>
sh ./install_symlinks.sh

🔒 Code Signing & Verification

All Windows binaries, .exe installers, .msi installers, and .msix packages are digitally signed via Microsoft Azure Trusted Signing.

To verify the signature of any Windows artifact:

Get-AuthenticodeSignature .\openssl.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-installer.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msi
Get-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msix

🔄 Automated Upstream Tracking

This repository automatically checks the official OpenSSL releases daily via check-upstream.yml. When a new supported release is detected:

  1. Validates that the branch has not reached End-of-Life (EOL).
  2. Triggers automated cross-platform compilation and code signing across all targets.
  3. Fuses ARM64X binaries and macOS Universal binaries.
  4. Builds and signs the Windows InnoSetup, WiX MSI, and MSIX installers.
  5. Packages and publishes the release assets automatically.

📄 Licensing & Attribution

This repository uses a multi-license model to clearly separate upstream OpenSSL software from our automated build and packaging code:

  • OpenSSL Binaries, Headers, and Documentation: Licensed under the Apache License 2.0.
  • Pipeline Workflows, Build Scripts, and Templates: Licensed under the Amended MIT License.
    • Free & Open Source Software: Copyright attribution is completely waived.
    • Commercial Usage / Integration: Copyright notice must be included in distribution copies.
  • Third-Party Build Tools & Dependencies: Detailed in THIRD-PARTY-NOTICES.md.

About

OpenSSL Distribution for TaurusTLS

Resources

Stars

21 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

OpenSSL Distribution Packages & Windows Installers

Automated, reproducible, and digitally signed OpenSSL 3.x distribution packages, standalone Windows installers, and cross-platform binary archives compiled for Windows, Linux, macOS, Android, and iOS.

GitHub ReleaseGitHub DownloadsAzure Trusted SigningLicense

GitHub Stars

Love this project? Give it a star on GitHub! It helps more developers find pre-compiled, signed, and zero-dependency OpenSSL binaries.


💡 Why Choose This OpenSSL Distribution?

FeatureCompiling from SourceLegacy OpenSSL BinariesTaurusTLS OpenSSL
No vcruntime140.dll Dependency❌ (Requires /MD CRT)❌ (Causes missing DLL error)HybridCRT (Zero dependencies)
Windows ARM64X Dual-Architecture❌ (Complex dual-linking)Native ARM64 + ARM64EC in one DLL
Microsoft Azure Trusted Signing❌ (Triggers SmartScreen)Digitally Signed (.exe, .dll, .msi, .msix)
Installer Variety⚠️ (Single .exe)Multi-Arch InnoSetup, WiX MSI & MSIX
macOS Universal Binaries❌ (Requires manual lipo)⚠️Combined x86_64 + arm64 (@rpath ready)
Android 16K Page Alignment❌ (Defaults to 4KB)Android 15+ 16KB Page Aligned
Automated Upstream Tracking⚠️ (Manual updates)Built within 24h of OpenSSL releases

📦 Distribution Formats

Official releases provide four complementary distribution formats:

FormatTarget PlatformsKey FeaturesPrimary Use Case
Windows Multi-Arch Setup (.exe)Windows (x64, x86, ARM64)Single installer for all architectures, autodetects CPU, Per-Machine & Per-User modes, Start Menu Command Prompt, optional PATH setup, Azure SignedEnd-user systems, interactive workstation setup
Windows MSI Installers (.msi)Windows (x64, x86, ARM64)Built with WiX Toolset, GPO/Intune enterprise deployment, automated rollback & repair, interactive feature tree with optional 32-bit runtime on x64, Azure SignedEnterprise IT deployment, automated Active Directory / Intune rollout
MSIX Framework Packages (.msix)Windows (x64, x86, ARM64)Standalone MSIX Framework packages (<Framework>true</Framework>), side-by-side directory isolation, Azure SignedPackaged Windows applications consuming OpenSSL via <PackageDependency>
Unified Portable ZIPs (.zip)Windows, Linux, macOS, Android, iOSPortable archives containing shared DLLs/SOs/dylibs, static libraries (/lib/static/), import libraries (/lib/import/), headers, and documentationC/C++ build pipelines, local development, portable bundling

🪟 Windows Installers

All Windows binaries, installers, and packages are digitally signed with Microsoft Azure Trusted Signing and built using HybridCRT (eliminating any external vcruntime140.dll dependency).

1. InnoSetup Multi-Architecture Installer (.exe)

File pattern: openssl-<version>-Windows-installer.exe

A single setup executable containing native binaries for x64, x86, and ARM64 (ARM64X):

  • Intelligent Architecture Detection: Detects the host processor architecture at install time and deploys matching native binaries:
    • 64-bit Intel/AMD (x64): Installs native 64-bit OpenSSL runtime into bin64.
    • 64-bit ARM64 (Surface / Snapdragon): Installs native ARM64 / ARM64X OpenSSL runtime into bin64.
    • 32-bit (x86): Installs native 32-bit OpenSSL runtime into bin32.
  • 32-bit Compatibility Option: On 64-bit systems, users can check [x] 32-bit (x86) Compatibility Runtime to install 32-bit libraries into bin32 alongside 64-bit libraries for legacy application compatibility.
  • Installation Modes & Directory Layouts:
    • Per-Machine (Admin / All Users):
      • 64-bit / ARM64: C:\Program Files\TaurusTLS Developers\OpenSSL-<major.minor>\bin64\
      • 32-bit: C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<major.minor>\bin32\
    • Per-User (Current User / Non-Admin):
      • 64-bit / ARM64: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x64\
      • 32-bit: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x86\
  • OpenSSL Command Prompt: Adds a Start Menu shortcut that launches a command prompt session directly in the OpenSSL installation folder with PATH pre-configured.
  • Silent Installation:
    :: Silent Per-Machine Install (All Users, Default)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
    :: Silent Per-User Install (Current User Only)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /CURRENTUSER /SUPPRESSMSGBOXES /NORESTART

2. WiX Windows MSI Installers (.msi)

File patterns:

  • openssl-<version>-Windows-x64.msi
  • openssl-<version>-Windows-x86.msi
  • openssl-<version>-Windows-arm64.msi

Enterprise-ready Windows Installer (.msi) packages built using modern WiX Toolset:

  • Enterprise Management: Fully compatible with Active Directory Group Policy Objects (GPO), Microsoft Intune, and Microsoft Endpoint Configuration Manager (SCCM).
  • Transaction Safety & Self-Healing: Powered by the Windows Installer database engine with automatic rollback on installation interruption and on-demand repair.
  • Interactive Feature Selection Tree:
    • 📦 OpenSSL Native Runtime: Installs native binaries into %ProgramFiles%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add native directory to PATH: Optional sub-feature to add the installation folder to the system PATH.
    • 📦 32-bit (x86) Compatibility Runtime (on x64 MSI): Optional feature to install 32-bit libraries into %ProgramFiles(x86)%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add 32-bit directory to PATH: Optional sub-feature to add the 32-bit folder to the system PATH.
  • In-Place Upgrades: Uses deterministic upgrade codes scoped by Major.Minor so that patch releases (e.g. 3.0.23 over 3.0.22) upgrade in-place, while major/minor releases (e.g. 3.0 vs 3.5) coexist side-by-side.
  • Silent Command-Line Installation:
    :: Silent Administrative Installmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart
    :: Silent Install with Verbose Loggingmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart /l*v "openssl_install.log"

3. MSIX Framework Packages (.msix)

File patterns:

  • openssl-<version>-Windows-x64.msix
  • openssl-<version>-Windows-x86.msix
  • openssl-<version>-Windows-arm64.msix

MSIX Framework packages provide isolated, shared runtime libraries for other Windows applications:

  • Isolated Deployment: Installs directly to C:\Program Files\WindowsApps\ with complete architecture isolation.
  • MSIX App Dependency: Consuming applications can reference OpenSSL in their AppxManifest.xml:
    <Dependencies>
    <PackageDependencyName="TaurusTLS.OpenSSL.3.4"MinVersion="3.4.0.0"Publisher="CN=..." />
    </Dependencies>

⚡ Windows ARM64X Dual-Architecture Technology

File pattern: openssl-<version>-Windows-arm64.zip

Windows ARM64 releases feature true ARM64X dual-architecture binaries:

  • Single Binary, Dual Execution:libcrypto-3-arm64.dll, libssl-3-arm64.dll, providers, and engines contain both Native ARM64 and ARM64EC (x64-compatible) code slices in a single binary image.
  • Unified Import & Static Libraries: The default lib/import/libcrypto.lib and lib/static/libcrypto.lib are unified ARM64X archives that link seamlessly in both Native ARM64 and ARM64EC projects.
  • Dedicated Slices Included: For toolchains requiring pure single-architecture archives, dedicated subfolders (lib/import/arm64/, lib/import/arm64ec/, lib/static/arm64/, lib/static/arm64ec/) are included in the package.

🍎 macOS Universal (Unified) Binaries

File pattern: openssl-<version>-macOS-universal.zip

Our macOS release is delivered as a single, unified package designed for both local development and seamless app bundle redistribution across the entire Mac ecosystem:

  • Single Package, Two Architectures: Contains true Universal (Fat) Mach-O binaries combining both x86_64 (Intel) and arm64 (Apple Silicon M-series) code into single binary files via lipo.
  • Universal Static Linking: Includes unified static archives (libcrypto.a and libssl.a). You can link your application against them to compile native apps for Intel Macs, Apple Silicon Macs, or Universal binaries without managing multiple library paths.
  • Fully Relocatable Shared Libraries (.dylib): All shared libraries, engines, and providers are pre-configured with relative Mach-O install names (@rpath, @loader_path, and @executable_path). They are 100% drop-in ready to be embedded directly inside macOS .app application bundles without requiring path adjustments.
  • Stripped & Clean: Stripped of non-global debugging symbols (strip -x / strip -S). Includes install_symlinks.sh for optional local dev setup.

🌐 Cross-Platform Portable ZIP Packages

Every release provides unified .zip archives containing the CLI, dynamic modules, static libraries, headers, and documentation.

Supported Platforms & Architectures

OSArchitecturePackage NameDetails
Windowsx64openssl-<ver>-Windows-x64.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsx86openssl-<ver>-Windows-x86.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsarm64openssl-<ver>-Windows-arm64.zipTrue ARM64X (Native ARM64 + ARM64EC), HybridCRT, Azure Signed
macOSuniversalopenssl-<ver>-macOS-universal.zipUniversal Fat Binaries (x64 + arm64) via lipo, relocatable @rpath
Linuxx64openssl-<ver>-Linux-x64.zipDynamic $ORIGIN RPATH, SCTP enabled
Linuxarm64openssl-<ver>-Linux-arm64.zipDynamic $ORIGIN RPATH, aarch64 cross-compiled
Androidarm64openssl-<ver>-Android-arm64.zip16K page alignment (max-page-size=16384), API 21+
Androidarmopenssl-<ver>-Android-arm.zip16K page alignment (max-page-size=16384), API 21+
iOSarm64openssl-<ver>-iOS-arm64.zipStatic archives (.a) for physical iOS devices
iOSsim-arm64openssl-<ver>-iOS-sim-arm64.zipStatic archives (.a) for Apple Silicon iOS Simulator

📂 Portable Package Directory Layout

All .zip packages adhere to a single unified structure:

openssl-<version>-<OS>-<Arch>/
├── openssl[.exe] # OpenSSL CLI utility (Native ARM64 on Win-ARM64, Universal on macOS)
├── libcrypto-3*.dll / .so / .dylib # Shared crypto library
├── libssl-3*.dll / .so / .dylib # Shared SSL/TLS library
├── engines/ # OpenSSL dynamic engines (.dll / .so / .dylib)
├── providers/ # OpenSSL dynamic providers (.dll / .so / .dylib)
├── include/ # C/C++ Header files (openssl/*.h)
├── doc/ # HTML Documentation
├── lib/
│ ├── import/ # (Windows only) Import libraries (.lib) for dynamic linking
│ │ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 import libs
│ │ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC import libs
│ └── static/ # True static libraries (.lib / .a)
│ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 static libs
│ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC static libs
├── install_symlinks.sh # (POSIX only) Script to restore shared library symlinks
├── LICENSE.txt # OpenSSL Apache-2.0 License
├── README.txt # Distribution guide
└── version.txt # Metadata version stamp

🔗 Linking Instructions

Windows (MSVC, Delphi, C++Builder)

  • Dynamic Linking (Recommended): Link against the import libraries in lib/import/ (e.g., libcrypto.lib, libssl.lib). Ship the root .dll files alongside your executable.
  • Static Linking: Link against the static libraries in lib/static/. These are compiled with /MT HybridCRT to link against Windows' native ucrtbase.dll.

Linux & Unix

  • Dynamic Linking: Link against libcrypto.so.3 / libssl.so.3. Libraries are built with -Wl,-rpath,'$ORIGIN' to load adjacent dependencies automatically.
  • Static Linking: Link against lib/static/libcrypto.a and lib/static/libssl.a.

macOS (Intel & Apple Silicon)

  • Universal Binaries: All binaries and static archives contain combined x86_64 and arm64 slices. You can link against them from both Intel and Apple Silicon Macs.
  • Relocatable @rpath: Shared libraries have pre-configured @rpath IDs for easy app bundle embedding.

POSIX Symlink Restoration

Windows file systems fail to extract POSIX symbolic links. To prevent archive extraction corruption, packages contain physical versioned shared library files (e.g., libcrypto.so.3 or libcrypto.3.dylib).

On Linux and macOS, run the included script once after extracting to restore standard unversioned symlinks (libcrypto.so -> libcrypto.so.3 or libcrypto.dylib -> libcrypto.3.dylib):

cd openssl-<version>-<OS>-<Arch>
sh ./install_symlinks.sh

🔒 Code Signing & Verification

All Windows binaries, .exe installers, .msi installers, and .msix packages are digitally signed via Microsoft Azure Trusted Signing.

To verify the signature of any Windows artifact:

Get-AuthenticodeSignature .\openssl.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-installer.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msi
Get-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msix

🔄 Automated Upstream Tracking

This repository automatically checks the official OpenSSL releases daily via check-upstream.yml. When a new supported release is detected:

  1. Validates that the branch has not reached End-of-Life (EOL).
  2. Triggers automated cross-platform compilation and code signing across all targets.
  3. Fuses ARM64X binaries and macOS Universal binaries.
  4. Builds and signs the Windows InnoSetup, WiX MSI, and MSIX installers.
  5. Packages and publishes the release assets automatically.

📄 Licensing & Attribution

This repository uses a multi-license model to clearly separate upstream OpenSSL software from our automated build and packaging code:

  • OpenSSL Binaries, Headers, and Documentation: Licensed under the Apache License 2.0.
  • Pipeline Workflows, Build Scripts, and Templates: Licensed under the Amended MIT License.
    • Free & Open Source Software: Copyright attribution is completely waived.
    • Commercial Usage / Integration: Copyright notice must be included in distribution copies.
  • Third-Party Build Tools & Dependencies: Detailed in THIRD-PARTY-NOTICES.md.

About

OpenSSL Distribution for TaurusTLS

Resources

Stars

21 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

OpenSSL Distribution Packages & Windows Installers

Automated, reproducible, and digitally signed OpenSSL 3.x distribution packages, standalone Windows installers, and cross-platform binary archives compiled for Windows, Linux, macOS, Android, and iOS.

GitHub ReleaseGitHub DownloadsAzure Trusted SigningLicense

GitHub Stars

Love this project? Give it a star on GitHub! It helps more developers find pre-compiled, signed, and zero-dependency OpenSSL binaries.


💡 Why Choose This OpenSSL Distribution?

FeatureCompiling from SourceLegacy OpenSSL BinariesTaurusTLS OpenSSL
No vcruntime140.dll Dependency❌ (Requires /MD CRT)❌ (Causes missing DLL error)HybridCRT (Zero dependencies)
Windows ARM64X Dual-Architecture❌ (Complex dual-linking)Native ARM64 + ARM64EC in one DLL
Microsoft Azure Trusted Signing❌ (Triggers SmartScreen)Digitally Signed (.exe, .dll, .msi, .msix)
Installer Variety⚠️ (Single .exe)Multi-Arch InnoSetup, WiX MSI & MSIX
macOS Universal Binaries❌ (Requires manual lipo)⚠️Combined x86_64 + arm64 (@rpath ready)
Android 16K Page Alignment❌ (Defaults to 4KB)Android 15+ 16KB Page Aligned
Automated Upstream Tracking⚠️ (Manual updates)Built within 24h of OpenSSL releases

📦 Distribution Formats

Official releases provide four complementary distribution formats:

FormatTarget PlatformsKey FeaturesPrimary Use Case
Windows Multi-Arch Setup (.exe)Windows (x64, x86, ARM64)Single installer for all architectures, autodetects CPU, Per-Machine & Per-User modes, Start Menu Command Prompt, optional PATH setup, Azure SignedEnd-user systems, interactive workstation setup
Windows MSI Installers (.msi)Windows (x64, x86, ARM64)Built with WiX Toolset, GPO/Intune enterprise deployment, automated rollback & repair, interactive feature tree with optional 32-bit runtime on x64, Azure SignedEnterprise IT deployment, automated Active Directory / Intune rollout
MSIX Framework Packages (.msix)Windows (x64, x86, ARM64)Standalone MSIX Framework packages (<Framework>true</Framework>), side-by-side directory isolation, Azure SignedPackaged Windows applications consuming OpenSSL via <PackageDependency>
Unified Portable ZIPs (.zip)Windows, Linux, macOS, Android, iOSPortable archives containing shared DLLs/SOs/dylibs, static libraries (/lib/static/), import libraries (/lib/import/), headers, and documentationC/C++ build pipelines, local development, portable bundling

🪟 Windows Installers

All Windows binaries, installers, and packages are digitally signed with Microsoft Azure Trusted Signing and built using HybridCRT (eliminating any external vcruntime140.dll dependency).

1. InnoSetup Multi-Architecture Installer (.exe)

File pattern: openssl-<version>-Windows-installer.exe

A single setup executable containing native binaries for x64, x86, and ARM64 (ARM64X):

  • Intelligent Architecture Detection: Detects the host processor architecture at install time and deploys matching native binaries:
    • 64-bit Intel/AMD (x64): Installs native 64-bit OpenSSL runtime into bin64.
    • 64-bit ARM64 (Surface / Snapdragon): Installs native ARM64 / ARM64X OpenSSL runtime into bin64.
    • 32-bit (x86): Installs native 32-bit OpenSSL runtime into bin32.
  • 32-bit Compatibility Option: On 64-bit systems, users can check [x] 32-bit (x86) Compatibility Runtime to install 32-bit libraries into bin32 alongside 64-bit libraries for legacy application compatibility.
  • Installation Modes & Directory Layouts:
    • Per-Machine (Admin / All Users):
      • 64-bit / ARM64: C:\Program Files\TaurusTLS Developers\OpenSSL-<major.minor>\bin64\
      • 32-bit: C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<major.minor>\bin32\
    • Per-User (Current User / Non-Admin):
      • 64-bit / ARM64: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x64\
      • 32-bit: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x86\
  • OpenSSL Command Prompt: Adds a Start Menu shortcut that launches a command prompt session directly in the OpenSSL installation folder with PATH pre-configured.
  • Silent Installation:
    :: Silent Per-Machine Install (All Users, Default)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
    :: Silent Per-User Install (Current User Only)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /CURRENTUSER /SUPPRESSMSGBOXES /NORESTART

2. WiX Windows MSI Installers (.msi)

File patterns:

  • openssl-<version>-Windows-x64.msi
  • openssl-<version>-Windows-x86.msi
  • openssl-<version>-Windows-arm64.msi

Enterprise-ready Windows Installer (.msi) packages built using modern WiX Toolset:

  • Enterprise Management: Fully compatible with Active Directory Group Policy Objects (GPO), Microsoft Intune, and Microsoft Endpoint Configuration Manager (SCCM).
  • Transaction Safety & Self-Healing: Powered by the Windows Installer database engine with automatic rollback on installation interruption and on-demand repair.
  • Interactive Feature Selection Tree:
    • 📦 OpenSSL Native Runtime: Installs native binaries into %ProgramFiles%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add native directory to PATH: Optional sub-feature to add the installation folder to the system PATH.
    • 📦 32-bit (x86) Compatibility Runtime (on x64 MSI): Optional feature to install 32-bit libraries into %ProgramFiles(x86)%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add 32-bit directory to PATH: Optional sub-feature to add the 32-bit folder to the system PATH.
  • In-Place Upgrades: Uses deterministic upgrade codes scoped by Major.Minor so that patch releases (e.g. 3.0.23 over 3.0.22) upgrade in-place, while major/minor releases (e.g. 3.0 vs 3.5) coexist side-by-side.
  • Silent Command-Line Installation:
    :: Silent Administrative Installmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart
    :: Silent Install with Verbose Loggingmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart /l*v "openssl_install.log"

3. MSIX Framework Packages (.msix)

File patterns:

  • openssl-<version>-Windows-x64.msix
  • openssl-<version>-Windows-x86.msix
  • openssl-<version>-Windows-arm64.msix

MSIX Framework packages provide isolated, shared runtime libraries for other Windows applications:

  • Isolated Deployment: Installs directly to C:\Program Files\WindowsApps\ with complete architecture isolation.
  • MSIX App Dependency: Consuming applications can reference OpenSSL in their AppxManifest.xml:
    <Dependencies>
    <PackageDependencyName="TaurusTLS.OpenSSL.3.4"MinVersion="3.4.0.0"Publisher="CN=..." />
    </Dependencies>

⚡ Windows ARM64X Dual-Architecture Technology

File pattern: openssl-<version>-Windows-arm64.zip

Windows ARM64 releases feature true ARM64X dual-architecture binaries:

  • Single Binary, Dual Execution:libcrypto-3-arm64.dll, libssl-3-arm64.dll, providers, and engines contain both Native ARM64 and ARM64EC (x64-compatible) code slices in a single binary image.
  • Unified Import & Static Libraries: The default lib/import/libcrypto.lib and lib/static/libcrypto.lib are unified ARM64X archives that link seamlessly in both Native ARM64 and ARM64EC projects.
  • Dedicated Slices Included: For toolchains requiring pure single-architecture archives, dedicated subfolders (lib/import/arm64/, lib/import/arm64ec/, lib/static/arm64/, lib/static/arm64ec/) are included in the package.

🍎 macOS Universal (Unified) Binaries

File pattern: openssl-<version>-macOS-universal.zip

Our macOS release is delivered as a single, unified package designed for both local development and seamless app bundle redistribution across the entire Mac ecosystem:

  • Single Package, Two Architectures: Contains true Universal (Fat) Mach-O binaries combining both x86_64 (Intel) and arm64 (Apple Silicon M-series) code into single binary files via lipo.
  • Universal Static Linking: Includes unified static archives (libcrypto.a and libssl.a). You can link your application against them to compile native apps for Intel Macs, Apple Silicon Macs, or Universal binaries without managing multiple library paths.
  • Fully Relocatable Shared Libraries (.dylib): All shared libraries, engines, and providers are pre-configured with relative Mach-O install names (@rpath, @loader_path, and @executable_path). They are 100% drop-in ready to be embedded directly inside macOS .app application bundles without requiring path adjustments.
  • Stripped & Clean: Stripped of non-global debugging symbols (strip -x / strip -S). Includes install_symlinks.sh for optional local dev setup.

🌐 Cross-Platform Portable ZIP Packages

Every release provides unified .zip archives containing the CLI, dynamic modules, static libraries, headers, and documentation.

Supported Platforms & Architectures

OSArchitecturePackage NameDetails
Windowsx64openssl-<ver>-Windows-x64.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsx86openssl-<ver>-Windows-x86.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsarm64openssl-<ver>-Windows-arm64.zipTrue ARM64X (Native ARM64 + ARM64EC), HybridCRT, Azure Signed
macOSuniversalopenssl-<ver>-macOS-universal.zipUniversal Fat Binaries (x64 + arm64) via lipo, relocatable @rpath
Linuxx64openssl-<ver>-Linux-x64.zipDynamic $ORIGIN RPATH, SCTP enabled
Linuxarm64openssl-<ver>-Linux-arm64.zipDynamic $ORIGIN RPATH, aarch64 cross-compiled
Androidarm64openssl-<ver>-Android-arm64.zip16K page alignment (max-page-size=16384), API 21+
Androidarmopenssl-<ver>-Android-arm.zip16K page alignment (max-page-size=16384), API 21+
iOSarm64openssl-<ver>-iOS-arm64.zipStatic archives (.a) for physical iOS devices
iOSsim-arm64openssl-<ver>-iOS-sim-arm64.zipStatic archives (.a) for Apple Silicon iOS Simulator

📂 Portable Package Directory Layout

All .zip packages adhere to a single unified structure:

openssl-<version>-<OS>-<Arch>/
├── openssl[.exe] # OpenSSL CLI utility (Native ARM64 on Win-ARM64, Universal on macOS)
├── libcrypto-3*.dll / .so / .dylib # Shared crypto library
├── libssl-3*.dll / .so / .dylib # Shared SSL/TLS library
├── engines/ # OpenSSL dynamic engines (.dll / .so / .dylib)
├── providers/ # OpenSSL dynamic providers (.dll / .so / .dylib)
├── include/ # C/C++ Header files (openssl/*.h)
├── doc/ # HTML Documentation
├── lib/
│ ├── import/ # (Windows only) Import libraries (.lib) for dynamic linking
│ │ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 import libs
│ │ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC import libs
│ └── static/ # True static libraries (.lib / .a)
│ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 static libs
│ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC static libs
├── install_symlinks.sh # (POSIX only) Script to restore shared library symlinks
├── LICENSE.txt # OpenSSL Apache-2.0 License
├── README.txt # Distribution guide
└── version.txt # Metadata version stamp

🔗 Linking Instructions

Windows (MSVC, Delphi, C++Builder)

  • Dynamic Linking (Recommended): Link against the import libraries in lib/import/ (e.g., libcrypto.lib, libssl.lib). Ship the root .dll files alongside your executable.
  • Static Linking: Link against the static libraries in lib/static/. These are compiled with /MT HybridCRT to link against Windows' native ucrtbase.dll.

Linux & Unix

  • Dynamic Linking: Link against libcrypto.so.3 / libssl.so.3. Libraries are built with -Wl,-rpath,'$ORIGIN' to load adjacent dependencies automatically.
  • Static Linking: Link against lib/static/libcrypto.a and lib/static/libssl.a.

macOS (Intel & Apple Silicon)

  • Universal Binaries: All binaries and static archives contain combined x86_64 and arm64 slices. You can link against them from both Intel and Apple Silicon Macs.
  • Relocatable @rpath: Shared libraries have pre-configured @rpath IDs for easy app bundle embedding.

POSIX Symlink Restoration

Windows file systems fail to extract POSIX symbolic links. To prevent archive extraction corruption, packages contain physical versioned shared library files (e.g., libcrypto.so.3 or libcrypto.3.dylib).

On Linux and macOS, run the included script once after extracting to restore standard unversioned symlinks (libcrypto.so -> libcrypto.so.3 or libcrypto.dylib -> libcrypto.3.dylib):

cd openssl-<version>-<OS>-<Arch>
sh ./install_symlinks.sh

🔒 Code Signing & Verification

All Windows binaries, .exe installers, .msi installers, and .msix packages are digitally signed via Microsoft Azure Trusted Signing.

To verify the signature of any Windows artifact:

Get-AuthenticodeSignature .\openssl.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-installer.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msi
Get-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msix

🔄 Automated Upstream Tracking

This repository automatically checks the official OpenSSL releases daily via check-upstream.yml. When a new supported release is detected:

  1. Validates that the branch has not reached End-of-Life (EOL).
  2. Triggers automated cross-platform compilation and code signing across all targets.
  3. Fuses ARM64X binaries and macOS Universal binaries.
  4. Builds and signs the Windows InnoSetup, WiX MSI, and MSIX installers.
  5. Packages and publishes the release assets automatically.

📄 Licensing & Attribution

This repository uses a multi-license model to clearly separate upstream OpenSSL software from our automated build and packaging code:

  • OpenSSL Binaries, Headers, and Documentation: Licensed under the Apache License 2.0.
  • Pipeline Workflows, Build Scripts, and Templates: Licensed under the Amended MIT License.
    • Free & Open Source Software: Copyright attribution is completely waived.
    • Commercial Usage / Integration: Copyright notice must be included in distribution copies.
  • Third-Party Build Tools & Dependencies: Detailed in THIRD-PARTY-NOTICES.md.

About

OpenSSL Distribution for TaurusTLS

Resources

Stars

21 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

OpenSSL Distribution Packages & Windows Installers

Automated, reproducible, and digitally signed OpenSSL 3.x distribution packages, standalone Windows installers, and cross-platform binary archives compiled for Windows, Linux, macOS, Android, and iOS.

GitHub ReleaseGitHub DownloadsAzure Trusted SigningLicense

GitHub Stars

Love this project? Give it a star on GitHub! It helps more developers find pre-compiled, signed, and zero-dependency OpenSSL binaries.


💡 Why Choose This OpenSSL Distribution?

FeatureCompiling from SourceLegacy OpenSSL BinariesTaurusTLS OpenSSL
No vcruntime140.dll Dependency❌ (Requires /MD CRT)❌ (Causes missing DLL error)HybridCRT (Zero dependencies)
Windows ARM64X Dual-Architecture❌ (Complex dual-linking)Native ARM64 + ARM64EC in one DLL
Microsoft Azure Trusted Signing❌ (Triggers SmartScreen)Digitally Signed (.exe, .dll, .msi, .msix)
Installer Variety⚠️ (Single .exe)Multi-Arch InnoSetup, WiX MSI & MSIX
macOS Universal Binaries❌ (Requires manual lipo)⚠️Combined x86_64 + arm64 (@rpath ready)
Android 16K Page Alignment❌ (Defaults to 4KB)Android 15+ 16KB Page Aligned
Automated Upstream Tracking⚠️ (Manual updates)Built within 24h of OpenSSL releases

📦 Distribution Formats

Official releases provide four complementary distribution formats:

FormatTarget PlatformsKey FeaturesPrimary Use Case
Windows Multi-Arch Setup (.exe)Windows (x64, x86, ARM64)Single installer for all architectures, autodetects CPU, Per-Machine & Per-User modes, Start Menu Command Prompt, optional PATH setup, Azure SignedEnd-user systems, interactive workstation setup
Windows MSI Installers (.msi)Windows (x64, x86, ARM64)Built with WiX Toolset, GPO/Intune enterprise deployment, automated rollback & repair, interactive feature tree with optional 32-bit runtime on x64, Azure SignedEnterprise IT deployment, automated Active Directory / Intune rollout
MSIX Framework Packages (.msix)Windows (x64, x86, ARM64)Standalone MSIX Framework packages (<Framework>true</Framework>), side-by-side directory isolation, Azure SignedPackaged Windows applications consuming OpenSSL via <PackageDependency>
Unified Portable ZIPs (.zip)Windows, Linux, macOS, Android, iOSPortable archives containing shared DLLs/SOs/dylibs, static libraries (/lib/static/), import libraries (/lib/import/), headers, and documentationC/C++ build pipelines, local development, portable bundling

🪟 Windows Installers

All Windows binaries, installers, and packages are digitally signed with Microsoft Azure Trusted Signing and built using HybridCRT (eliminating any external vcruntime140.dll dependency).

1. InnoSetup Multi-Architecture Installer (.exe)

File pattern: openssl-<version>-Windows-installer.exe

A single setup executable containing native binaries for x64, x86, and ARM64 (ARM64X):

  • Intelligent Architecture Detection: Detects the host processor architecture at install time and deploys matching native binaries:
    • 64-bit Intel/AMD (x64): Installs native 64-bit OpenSSL runtime into bin64.
    • 64-bit ARM64 (Surface / Snapdragon): Installs native ARM64 / ARM64X OpenSSL runtime into bin64.
    • 32-bit (x86): Installs native 32-bit OpenSSL runtime into bin32.
  • 32-bit Compatibility Option: On 64-bit systems, users can check [x] 32-bit (x86) Compatibility Runtime to install 32-bit libraries into bin32 alongside 64-bit libraries for legacy application compatibility.
  • Installation Modes & Directory Layouts:
    • Per-Machine (Admin / All Users):
      • 64-bit / ARM64: C:\Program Files\TaurusTLS Developers\OpenSSL-<major.minor>\bin64\
      • 32-bit: C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<major.minor>\bin32\
    • Per-User (Current User / Non-Admin):
      • 64-bit / ARM64: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x64\
      • 32-bit: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x86\
  • OpenSSL Command Prompt: Adds a Start Menu shortcut that launches a command prompt session directly in the OpenSSL installation folder with PATH pre-configured.
  • Silent Installation:
    :: Silent Per-Machine Install (All Users, Default)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
    :: Silent Per-User Install (Current User Only)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /CURRENTUSER /SUPPRESSMSGBOXES /NORESTART

2. WiX Windows MSI Installers (.msi)

File patterns:

  • openssl-<version>-Windows-x64.msi
  • openssl-<version>-Windows-x86.msi
  • openssl-<version>-Windows-arm64.msi

Enterprise-ready Windows Installer (.msi) packages built using modern WiX Toolset:

  • Enterprise Management: Fully compatible with Active Directory Group Policy Objects (GPO), Microsoft Intune, and Microsoft Endpoint Configuration Manager (SCCM).
  • Transaction Safety & Self-Healing: Powered by the Windows Installer database engine with automatic rollback on installation interruption and on-demand repair.
  • Interactive Feature Selection Tree:
    • 📦 OpenSSL Native Runtime: Installs native binaries into %ProgramFiles%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add native directory to PATH: Optional sub-feature to add the installation folder to the system PATH.
    • 📦 32-bit (x86) Compatibility Runtime (on x64 MSI): Optional feature to install 32-bit libraries into %ProgramFiles(x86)%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add 32-bit directory to PATH: Optional sub-feature to add the 32-bit folder to the system PATH.
  • In-Place Upgrades: Uses deterministic upgrade codes scoped by Major.Minor so that patch releases (e.g. 3.0.23 over 3.0.22) upgrade in-place, while major/minor releases (e.g. 3.0 vs 3.5) coexist side-by-side.
  • Silent Command-Line Installation:
    :: Silent Administrative Installmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart
    :: Silent Install with Verbose Loggingmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart /l*v "openssl_install.log"

3. MSIX Framework Packages (.msix)

File patterns:

  • openssl-<version>-Windows-x64.msix
  • openssl-<version>-Windows-x86.msix
  • openssl-<version>-Windows-arm64.msix

MSIX Framework packages provide isolated, shared runtime libraries for other Windows applications:

  • Isolated Deployment: Installs directly to C:\Program Files\WindowsApps\ with complete architecture isolation.
  • MSIX App Dependency: Consuming applications can reference OpenSSL in their AppxManifest.xml:
    <Dependencies>
    <PackageDependencyName="TaurusTLS.OpenSSL.3.4"MinVersion="3.4.0.0"Publisher="CN=..." />
    </Dependencies>

⚡ Windows ARM64X Dual-Architecture Technology

File pattern: openssl-<version>-Windows-arm64.zip

Windows ARM64 releases feature true ARM64X dual-architecture binaries:

  • Single Binary, Dual Execution:libcrypto-3-arm64.dll, libssl-3-arm64.dll, providers, and engines contain both Native ARM64 and ARM64EC (x64-compatible) code slices in a single binary image.
  • Unified Import & Static Libraries: The default lib/import/libcrypto.lib and lib/static/libcrypto.lib are unified ARM64X archives that link seamlessly in both Native ARM64 and ARM64EC projects.
  • Dedicated Slices Included: For toolchains requiring pure single-architecture archives, dedicated subfolders (lib/import/arm64/, lib/import/arm64ec/, lib/static/arm64/, lib/static/arm64ec/) are included in the package.

🍎 macOS Universal (Unified) Binaries

File pattern: openssl-<version>-macOS-universal.zip

Our macOS release is delivered as a single, unified package designed for both local development and seamless app bundle redistribution across the entire Mac ecosystem:

  • Single Package, Two Architectures: Contains true Universal (Fat) Mach-O binaries combining both x86_64 (Intel) and arm64 (Apple Silicon M-series) code into single binary files via lipo.
  • Universal Static Linking: Includes unified static archives (libcrypto.a and libssl.a). You can link your application against them to compile native apps for Intel Macs, Apple Silicon Macs, or Universal binaries without managing multiple library paths.
  • Fully Relocatable Shared Libraries (.dylib): All shared libraries, engines, and providers are pre-configured with relative Mach-O install names (@rpath, @loader_path, and @executable_path). They are 100% drop-in ready to be embedded directly inside macOS .app application bundles without requiring path adjustments.
  • Stripped & Clean: Stripped of non-global debugging symbols (strip -x / strip -S). Includes install_symlinks.sh for optional local dev setup.

🌐 Cross-Platform Portable ZIP Packages

Every release provides unified .zip archives containing the CLI, dynamic modules, static libraries, headers, and documentation.

Supported Platforms & Architectures

OSArchitecturePackage NameDetails
Windowsx64openssl-<ver>-Windows-x64.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsx86openssl-<ver>-Windows-x86.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsarm64openssl-<ver>-Windows-arm64.zipTrue ARM64X (Native ARM64 + ARM64EC), HybridCRT, Azure Signed
macOSuniversalopenssl-<ver>-macOS-universal.zipUniversal Fat Binaries (x64 + arm64) via lipo, relocatable @rpath
Linuxx64openssl-<ver>-Linux-x64.zipDynamic $ORIGIN RPATH, SCTP enabled
Linuxarm64openssl-<ver>-Linux-arm64.zipDynamic $ORIGIN RPATH, aarch64 cross-compiled
Androidarm64openssl-<ver>-Android-arm64.zip16K page alignment (max-page-size=16384), API 21+
Androidarmopenssl-<ver>-Android-arm.zip16K page alignment (max-page-size=16384), API 21+
iOSarm64openssl-<ver>-iOS-arm64.zipStatic archives (.a) for physical iOS devices
iOSsim-arm64openssl-<ver>-iOS-sim-arm64.zipStatic archives (.a) for Apple Silicon iOS Simulator

📂 Portable Package Directory Layout

All .zip packages adhere to a single unified structure:

openssl-<version>-<OS>-<Arch>/
├── openssl[.exe] # OpenSSL CLI utility (Native ARM64 on Win-ARM64, Universal on macOS)
├── libcrypto-3*.dll / .so / .dylib # Shared crypto library
├── libssl-3*.dll / .so / .dylib # Shared SSL/TLS library
├── engines/ # OpenSSL dynamic engines (.dll / .so / .dylib)
├── providers/ # OpenSSL dynamic providers (.dll / .so / .dylib)
├── include/ # C/C++ Header files (openssl/*.h)
├── doc/ # HTML Documentation
├── lib/
│ ├── import/ # (Windows only) Import libraries (.lib) for dynamic linking
│ │ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 import libs
│ │ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC import libs
│ └── static/ # True static libraries (.lib / .a)
│ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 static libs
│ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC static libs
├── install_symlinks.sh # (POSIX only) Script to restore shared library symlinks
├── LICENSE.txt # OpenSSL Apache-2.0 License
├── README.txt # Distribution guide
└── version.txt # Metadata version stamp

🔗 Linking Instructions

Windows (MSVC, Delphi, C++Builder)

  • Dynamic Linking (Recommended): Link against the import libraries in lib/import/ (e.g., libcrypto.lib, libssl.lib). Ship the root .dll files alongside your executable.
  • Static Linking: Link against the static libraries in lib/static/. These are compiled with /MT HybridCRT to link against Windows' native ucrtbase.dll.

Linux & Unix

  • Dynamic Linking: Link against libcrypto.so.3 / libssl.so.3. Libraries are built with -Wl,-rpath,'$ORIGIN' to load adjacent dependencies automatically.
  • Static Linking: Link against lib/static/libcrypto.a and lib/static/libssl.a.

macOS (Intel & Apple Silicon)

  • Universal Binaries: All binaries and static archives contain combined x86_64 and arm64 slices. You can link against them from both Intel and Apple Silicon Macs.
  • Relocatable @rpath: Shared libraries have pre-configured @rpath IDs for easy app bundle embedding.

POSIX Symlink Restoration

Windows file systems fail to extract POSIX symbolic links. To prevent archive extraction corruption, packages contain physical versioned shared library files (e.g., libcrypto.so.3 or libcrypto.3.dylib).

On Linux and macOS, run the included script once after extracting to restore standard unversioned symlinks (libcrypto.so -> libcrypto.so.3 or libcrypto.dylib -> libcrypto.3.dylib):

cd openssl-<version>-<OS>-<Arch>
sh ./install_symlinks.sh

🔒 Code Signing & Verification

All Windows binaries, .exe installers, .msi installers, and .msix packages are digitally signed via Microsoft Azure Trusted Signing.

To verify the signature of any Windows artifact:

Get-AuthenticodeSignature .\openssl.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-installer.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msi
Get-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msix

🔄 Automated Upstream Tracking

This repository automatically checks the official OpenSSL releases daily via check-upstream.yml. When a new supported release is detected:

  1. Validates that the branch has not reached End-of-Life (EOL).
  2. Triggers automated cross-platform compilation and code signing across all targets.
  3. Fuses ARM64X binaries and macOS Universal binaries.
  4. Builds and signs the Windows InnoSetup, WiX MSI, and MSIX installers.
  5. Packages and publishes the release assets automatically.

📄 Licensing & Attribution

This repository uses a multi-license model to clearly separate upstream OpenSSL software from our automated build and packaging code:

  • OpenSSL Binaries, Headers, and Documentation: Licensed under the Apache License 2.0.
  • Pipeline Workflows, Build Scripts, and Templates: Licensed under the Amended MIT License.
    • Free & Open Source Software: Copyright attribution is completely waived.
    • Commercial Usage / Integration: Copyright notice must be included in distribution copies.
  • Third-Party Build Tools & Dependencies: Detailed in THIRD-PARTY-NOTICES.md.

About

OpenSSL Distribution for TaurusTLS

Resources

Stars

21 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

OpenSSL Distribution Packages & Windows Installers

Automated, reproducible, and digitally signed OpenSSL 3.x distribution packages, standalone Windows installers, and cross-platform binary archives compiled for Windows, Linux, macOS, Android, and iOS.

GitHub ReleaseGitHub DownloadsAzure Trusted SigningLicense

GitHub Stars

Love this project? Give it a star on GitHub! It helps more developers find pre-compiled, signed, and zero-dependency OpenSSL binaries.


💡 Why Choose This OpenSSL Distribution?

FeatureCompiling from SourceLegacy OpenSSL BinariesTaurusTLS OpenSSL
No vcruntime140.dll Dependency❌ (Requires /MD CRT)❌ (Causes missing DLL error)HybridCRT (Zero dependencies)
Windows ARM64X Dual-Architecture❌ (Complex dual-linking)Native ARM64 + ARM64EC in one DLL
Microsoft Azure Trusted Signing❌ (Triggers SmartScreen)Digitally Signed (.exe, .dll, .msi, .msix)
Installer Variety⚠️ (Single .exe)Multi-Arch InnoSetup, WiX MSI & MSIX
macOS Universal Binaries❌ (Requires manual lipo)⚠️Combined x86_64 + arm64 (@rpath ready)
Android 16K Page Alignment❌ (Defaults to 4KB)Android 15+ 16KB Page Aligned
Automated Upstream Tracking⚠️ (Manual updates)Built within 24h of OpenSSL releases

📦 Distribution Formats

Official releases provide four complementary distribution formats:

FormatTarget PlatformsKey FeaturesPrimary Use Case
Windows Multi-Arch Setup (.exe)Windows (x64, x86, ARM64)Single installer for all architectures, autodetects CPU, Per-Machine & Per-User modes, Start Menu Command Prompt, optional PATH setup, Azure SignedEnd-user systems, interactive workstation setup
Windows MSI Installers (.msi)Windows (x64, x86, ARM64)Built with WiX Toolset, GPO/Intune enterprise deployment, automated rollback & repair, interactive feature tree with optional 32-bit runtime on x64, Azure SignedEnterprise IT deployment, automated Active Directory / Intune rollout
MSIX Framework Packages (.msix)Windows (x64, x86, ARM64)Standalone MSIX Framework packages (<Framework>true</Framework>), side-by-side directory isolation, Azure SignedPackaged Windows applications consuming OpenSSL via <PackageDependency>
Unified Portable ZIPs (.zip)Windows, Linux, macOS, Android, iOSPortable archives containing shared DLLs/SOs/dylibs, static libraries (/lib/static/), import libraries (/lib/import/), headers, and documentationC/C++ build pipelines, local development, portable bundling

🪟 Windows Installers

All Windows binaries, installers, and packages are digitally signed with Microsoft Azure Trusted Signing and built using HybridCRT (eliminating any external vcruntime140.dll dependency).

1. InnoSetup Multi-Architecture Installer (.exe)

File pattern: openssl-<version>-Windows-installer.exe

A single setup executable containing native binaries for x64, x86, and ARM64 (ARM64X):

  • Intelligent Architecture Detection: Detects the host processor architecture at install time and deploys matching native binaries:
    • 64-bit Intel/AMD (x64): Installs native 64-bit OpenSSL runtime into bin64.
    • 64-bit ARM64 (Surface / Snapdragon): Installs native ARM64 / ARM64X OpenSSL runtime into bin64.
    • 32-bit (x86): Installs native 32-bit OpenSSL runtime into bin32.
  • 32-bit Compatibility Option: On 64-bit systems, users can check [x] 32-bit (x86) Compatibility Runtime to install 32-bit libraries into bin32 alongside 64-bit libraries for legacy application compatibility.
  • Installation Modes & Directory Layouts:
    • Per-Machine (Admin / All Users):
      • 64-bit / ARM64: C:\Program Files\TaurusTLS Developers\OpenSSL-<major.minor>\bin64\
      • 32-bit: C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<major.minor>\bin32\
    • Per-User (Current User / Non-Admin):
      • 64-bit / ARM64: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x64\
      • 32-bit: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x86\
  • OpenSSL Command Prompt: Adds a Start Menu shortcut that launches a command prompt session directly in the OpenSSL installation folder with PATH pre-configured.
  • Silent Installation:
    :: Silent Per-Machine Install (All Users, Default)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
    :: Silent Per-User Install (Current User Only)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /CURRENTUSER /SUPPRESSMSGBOXES /NORESTART

2. WiX Windows MSI Installers (.msi)

File patterns:

  • openssl-<version>-Windows-x64.msi
  • openssl-<version>-Windows-x86.msi
  • openssl-<version>-Windows-arm64.msi

Enterprise-ready Windows Installer (.msi) packages built using modern WiX Toolset:

  • Enterprise Management: Fully compatible with Active Directory Group Policy Objects (GPO), Microsoft Intune, and Microsoft Endpoint Configuration Manager (SCCM).
  • Transaction Safety & Self-Healing: Powered by the Windows Installer database engine with automatic rollback on installation interruption and on-demand repair.
  • Interactive Feature Selection Tree:
    • 📦 OpenSSL Native Runtime: Installs native binaries into %ProgramFiles%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add native directory to PATH: Optional sub-feature to add the installation folder to the system PATH.
    • 📦 32-bit (x86) Compatibility Runtime (on x64 MSI): Optional feature to install 32-bit libraries into %ProgramFiles(x86)%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add 32-bit directory to PATH: Optional sub-feature to add the 32-bit folder to the system PATH.
  • In-Place Upgrades: Uses deterministic upgrade codes scoped by Major.Minor so that patch releases (e.g. 3.0.23 over 3.0.22) upgrade in-place, while major/minor releases (e.g. 3.0 vs 3.5) coexist side-by-side.
  • Silent Command-Line Installation:
    :: Silent Administrative Installmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart
    :: Silent Install with Verbose Loggingmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart /l*v "openssl_install.log"

3. MSIX Framework Packages (.msix)

File patterns:

  • openssl-<version>-Windows-x64.msix
  • openssl-<version>-Windows-x86.msix
  • openssl-<version>-Windows-arm64.msix

MSIX Framework packages provide isolated, shared runtime libraries for other Windows applications:

  • Isolated Deployment: Installs directly to C:\Program Files\WindowsApps\ with complete architecture isolation.
  • MSIX App Dependency: Consuming applications can reference OpenSSL in their AppxManifest.xml:
    <Dependencies>
    <PackageDependencyName="TaurusTLS.OpenSSL.3.4"MinVersion="3.4.0.0"Publisher="CN=..." />
    </Dependencies>

⚡ Windows ARM64X Dual-Architecture Technology

File pattern: openssl-<version>-Windows-arm64.zip

Windows ARM64 releases feature true ARM64X dual-architecture binaries:

  • Single Binary, Dual Execution:libcrypto-3-arm64.dll, libssl-3-arm64.dll, providers, and engines contain both Native ARM64 and ARM64EC (x64-compatible) code slices in a single binary image.
  • Unified Import & Static Libraries: The default lib/import/libcrypto.lib and lib/static/libcrypto.lib are unified ARM64X archives that link seamlessly in both Native ARM64 and ARM64EC projects.
  • Dedicated Slices Included: For toolchains requiring pure single-architecture archives, dedicated subfolders (lib/import/arm64/, lib/import/arm64ec/, lib/static/arm64/, lib/static/arm64ec/) are included in the package.

🍎 macOS Universal (Unified) Binaries

File pattern: openssl-<version>-macOS-universal.zip

Our macOS release is delivered as a single, unified package designed for both local development and seamless app bundle redistribution across the entire Mac ecosystem:

  • Single Package, Two Architectures: Contains true Universal (Fat) Mach-O binaries combining both x86_64 (Intel) and arm64 (Apple Silicon M-series) code into single binary files via lipo.
  • Universal Static Linking: Includes unified static archives (libcrypto.a and libssl.a). You can link your application against them to compile native apps for Intel Macs, Apple Silicon Macs, or Universal binaries without managing multiple library paths.
  • Fully Relocatable Shared Libraries (.dylib): All shared libraries, engines, and providers are pre-configured with relative Mach-O install names (@rpath, @loader_path, and @executable_path). They are 100% drop-in ready to be embedded directly inside macOS .app application bundles without requiring path adjustments.
  • Stripped & Clean: Stripped of non-global debugging symbols (strip -x / strip -S). Includes install_symlinks.sh for optional local dev setup.

🌐 Cross-Platform Portable ZIP Packages

Every release provides unified .zip archives containing the CLI, dynamic modules, static libraries, headers, and documentation.

Supported Platforms & Architectures

OSArchitecturePackage NameDetails
Windowsx64openssl-<ver>-Windows-x64.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsx86openssl-<ver>-Windows-x86.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsarm64openssl-<ver>-Windows-arm64.zipTrue ARM64X (Native ARM64 + ARM64EC), HybridCRT, Azure Signed
macOSuniversalopenssl-<ver>-macOS-universal.zipUniversal Fat Binaries (x64 + arm64) via lipo, relocatable @rpath
Linuxx64openssl-<ver>-Linux-x64.zipDynamic $ORIGIN RPATH, SCTP enabled
Linuxarm64openssl-<ver>-Linux-arm64.zipDynamic $ORIGIN RPATH, aarch64 cross-compiled
Androidarm64openssl-<ver>-Android-arm64.zip16K page alignment (max-page-size=16384), API 21+
Androidarmopenssl-<ver>-Android-arm.zip16K page alignment (max-page-size=16384), API 21+
iOSarm64openssl-<ver>-iOS-arm64.zipStatic archives (.a) for physical iOS devices
iOSsim-arm64openssl-<ver>-iOS-sim-arm64.zipStatic archives (.a) for Apple Silicon iOS Simulator

📂 Portable Package Directory Layout

All .zip packages adhere to a single unified structure:

openssl-<version>-<OS>-<Arch>/
├── openssl[.exe] # OpenSSL CLI utility (Native ARM64 on Win-ARM64, Universal on macOS)
├── libcrypto-3*.dll / .so / .dylib # Shared crypto library
├── libssl-3*.dll / .so / .dylib # Shared SSL/TLS library
├── engines/ # OpenSSL dynamic engines (.dll / .so / .dylib)
├── providers/ # OpenSSL dynamic providers (.dll / .so / .dylib)
├── include/ # C/C++ Header files (openssl/*.h)
├── doc/ # HTML Documentation
├── lib/
│ ├── import/ # (Windows only) Import libraries (.lib) for dynamic linking
│ │ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 import libs
│ │ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC import libs
│ └── static/ # True static libraries (.lib / .a)
│ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 static libs
│ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC static libs
├── install_symlinks.sh # (POSIX only) Script to restore shared library symlinks
├── LICENSE.txt # OpenSSL Apache-2.0 License
├── README.txt # Distribution guide
└── version.txt # Metadata version stamp

🔗 Linking Instructions

Windows (MSVC, Delphi, C++Builder)

  • Dynamic Linking (Recommended): Link against the import libraries in lib/import/ (e.g., libcrypto.lib, libssl.lib). Ship the root .dll files alongside your executable.
  • Static Linking: Link against the static libraries in lib/static/. These are compiled with /MT HybridCRT to link against Windows' native ucrtbase.dll.

Linux & Unix

  • Dynamic Linking: Link against libcrypto.so.3 / libssl.so.3. Libraries are built with -Wl,-rpath,'$ORIGIN' to load adjacent dependencies automatically.
  • Static Linking: Link against lib/static/libcrypto.a and lib/static/libssl.a.

macOS (Intel & Apple Silicon)

  • Universal Binaries: All binaries and static archives contain combined x86_64 and arm64 slices. You can link against them from both Intel and Apple Silicon Macs.
  • Relocatable @rpath: Shared libraries have pre-configured @rpath IDs for easy app bundle embedding.

POSIX Symlink Restoration

Windows file systems fail to extract POSIX symbolic links. To prevent archive extraction corruption, packages contain physical versioned shared library files (e.g., libcrypto.so.3 or libcrypto.3.dylib).

On Linux and macOS, run the included script once after extracting to restore standard unversioned symlinks (libcrypto.so -> libcrypto.so.3 or libcrypto.dylib -> libcrypto.3.dylib):

cd openssl-<version>-<OS>-<Arch>
sh ./install_symlinks.sh

🔒 Code Signing & Verification

All Windows binaries, .exe installers, .msi installers, and .msix packages are digitally signed via Microsoft Azure Trusted Signing.

To verify the signature of any Windows artifact:

Get-AuthenticodeSignature .\openssl.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-installer.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msi
Get-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msix

🔄 Automated Upstream Tracking

This repository automatically checks the official OpenSSL releases daily via check-upstream.yml. When a new supported release is detected:

  1. Validates that the branch has not reached End-of-Life (EOL).
  2. Triggers automated cross-platform compilation and code signing across all targets.
  3. Fuses ARM64X binaries and macOS Universal binaries.
  4. Builds and signs the Windows InnoSetup, WiX MSI, and MSIX installers.
  5. Packages and publishes the release assets automatically.

📄 Licensing & Attribution

This repository uses a multi-license model to clearly separate upstream OpenSSL software from our automated build and packaging code:

  • OpenSSL Binaries, Headers, and Documentation: Licensed under the Apache License 2.0.
  • Pipeline Workflows, Build Scripts, and Templates: Licensed under the Amended MIT License.
    • Free & Open Source Software: Copyright attribution is completely waived.
    • Commercial Usage / Integration: Copyright notice must be included in distribution copies.
  • Third-Party Build Tools & Dependencies: Detailed in THIRD-PARTY-NOTICES.md.

About

OpenSSL Distribution for TaurusTLS

Resources

Stars

21 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

OpenSSL Distribution Packages & Windows Installers

Automated, reproducible, and digitally signed OpenSSL 3.x distribution packages, standalone Windows installers, and cross-platform binary archives compiled for Windows, Linux, macOS, Android, and iOS.

GitHub ReleaseGitHub DownloadsAzure Trusted SigningLicense

GitHub Stars

Love this project? Give it a star on GitHub! It helps more developers find pre-compiled, signed, and zero-dependency OpenSSL binaries.


💡 Why Choose This OpenSSL Distribution?

FeatureCompiling from SourceLegacy OpenSSL BinariesTaurusTLS OpenSSL
No vcruntime140.dll Dependency❌ (Requires /MD CRT)❌ (Causes missing DLL error)HybridCRT (Zero dependencies)
Windows ARM64X Dual-Architecture❌ (Complex dual-linking)Native ARM64 + ARM64EC in one DLL
Microsoft Azure Trusted Signing❌ (Triggers SmartScreen)Digitally Signed (.exe, .dll, .msi, .msix)
Installer Variety⚠️ (Single .exe)Multi-Arch InnoSetup, WiX MSI & MSIX
macOS Universal Binaries❌ (Requires manual lipo)⚠️Combined x86_64 + arm64 (@rpath ready)
Android 16K Page Alignment❌ (Defaults to 4KB)Android 15+ 16KB Page Aligned
Automated Upstream Tracking⚠️ (Manual updates)Built within 24h of OpenSSL releases

📦 Distribution Formats

Official releases provide four complementary distribution formats:

FormatTarget PlatformsKey FeaturesPrimary Use Case
Windows Multi-Arch Setup (.exe)Windows (x64, x86, ARM64)Single installer for all architectures, autodetects CPU, Per-Machine & Per-User modes, Start Menu Command Prompt, optional PATH setup, Azure SignedEnd-user systems, interactive workstation setup
Windows MSI Installers (.msi)Windows (x64, x86, ARM64)Built with WiX Toolset, GPO/Intune enterprise deployment, automated rollback & repair, interactive feature tree with optional 32-bit runtime on x64, Azure SignedEnterprise IT deployment, automated Active Directory / Intune rollout
MSIX Framework Packages (.msix)Windows (x64, x86, ARM64)Standalone MSIX Framework packages (<Framework>true</Framework>), side-by-side directory isolation, Azure SignedPackaged Windows applications consuming OpenSSL via <PackageDependency>
Unified Portable ZIPs (.zip)Windows, Linux, macOS, Android, iOSPortable archives containing shared DLLs/SOs/dylibs, static libraries (/lib/static/), import libraries (/lib/import/), headers, and documentationC/C++ build pipelines, local development, portable bundling

🪟 Windows Installers

All Windows binaries, installers, and packages are digitally signed with Microsoft Azure Trusted Signing and built using HybridCRT (eliminating any external vcruntime140.dll dependency).

1. InnoSetup Multi-Architecture Installer (.exe)

File pattern: openssl-<version>-Windows-installer.exe

A single setup executable containing native binaries for x64, x86, and ARM64 (ARM64X):

  • Intelligent Architecture Detection: Detects the host processor architecture at install time and deploys matching native binaries:
    • 64-bit Intel/AMD (x64): Installs native 64-bit OpenSSL runtime into bin64.
    • 64-bit ARM64 (Surface / Snapdragon): Installs native ARM64 / ARM64X OpenSSL runtime into bin64.
    • 32-bit (x86): Installs native 32-bit OpenSSL runtime into bin32.
  • 32-bit Compatibility Option: On 64-bit systems, users can check [x] 32-bit (x86) Compatibility Runtime to install 32-bit libraries into bin32 alongside 64-bit libraries for legacy application compatibility.
  • Installation Modes & Directory Layouts:
    • Per-Machine (Admin / All Users):
      • 64-bit / ARM64: C:\Program Files\TaurusTLS Developers\OpenSSL-<major.minor>\bin64\
      • 32-bit: C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<major.minor>\bin32\
    • Per-User (Current User / Non-Admin):
      • 64-bit / ARM64: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x64\
      • 32-bit: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x86\
  • OpenSSL Command Prompt: Adds a Start Menu shortcut that launches a command prompt session directly in the OpenSSL installation folder with PATH pre-configured.
  • Silent Installation:
    :: Silent Per-Machine Install (All Users, Default)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
    :: Silent Per-User Install (Current User Only)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /CURRENTUSER /SUPPRESSMSGBOXES /NORESTART

2. WiX Windows MSI Installers (.msi)

File patterns:

  • openssl-<version>-Windows-x64.msi
  • openssl-<version>-Windows-x86.msi
  • openssl-<version>-Windows-arm64.msi

Enterprise-ready Windows Installer (.msi) packages built using modern WiX Toolset:

  • Enterprise Management: Fully compatible with Active Directory Group Policy Objects (GPO), Microsoft Intune, and Microsoft Endpoint Configuration Manager (SCCM).
  • Transaction Safety & Self-Healing: Powered by the Windows Installer database engine with automatic rollback on installation interruption and on-demand repair.
  • Interactive Feature Selection Tree:
    • 📦 OpenSSL Native Runtime: Installs native binaries into %ProgramFiles%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add native directory to PATH: Optional sub-feature to add the installation folder to the system PATH.
    • 📦 32-bit (x86) Compatibility Runtime (on x64 MSI): Optional feature to install 32-bit libraries into %ProgramFiles(x86)%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add 32-bit directory to PATH: Optional sub-feature to add the 32-bit folder to the system PATH.
  • In-Place Upgrades: Uses deterministic upgrade codes scoped by Major.Minor so that patch releases (e.g. 3.0.23 over 3.0.22) upgrade in-place, while major/minor releases (e.g. 3.0 vs 3.5) coexist side-by-side.
  • Silent Command-Line Installation:
    :: Silent Administrative Installmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart
    :: Silent Install with Verbose Loggingmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart /l*v "openssl_install.log"

3. MSIX Framework Packages (.msix)

File patterns:

  • openssl-<version>-Windows-x64.msix
  • openssl-<version>-Windows-x86.msix
  • openssl-<version>-Windows-arm64.msix

MSIX Framework packages provide isolated, shared runtime libraries for other Windows applications:

  • Isolated Deployment: Installs directly to C:\Program Files\WindowsApps\ with complete architecture isolation.
  • MSIX App Dependency: Consuming applications can reference OpenSSL in their AppxManifest.xml:
    <Dependencies>
    <PackageDependencyName="TaurusTLS.OpenSSL.3.4"MinVersion="3.4.0.0"Publisher="CN=..." />
    </Dependencies>

⚡ Windows ARM64X Dual-Architecture Technology

File pattern: openssl-<version>-Windows-arm64.zip

Windows ARM64 releases feature true ARM64X dual-architecture binaries:

  • Single Binary, Dual Execution:libcrypto-3-arm64.dll, libssl-3-arm64.dll, providers, and engines contain both Native ARM64 and ARM64EC (x64-compatible) code slices in a single binary image.
  • Unified Import & Static Libraries: The default lib/import/libcrypto.lib and lib/static/libcrypto.lib are unified ARM64X archives that link seamlessly in both Native ARM64 and ARM64EC projects.
  • Dedicated Slices Included: For toolchains requiring pure single-architecture archives, dedicated subfolders (lib/import/arm64/, lib/import/arm64ec/, lib/static/arm64/, lib/static/arm64ec/) are included in the package.

🍎 macOS Universal (Unified) Binaries

File pattern: openssl-<version>-macOS-universal.zip

Our macOS release is delivered as a single, unified package designed for both local development and seamless app bundle redistribution across the entire Mac ecosystem:

  • Single Package, Two Architectures: Contains true Universal (Fat) Mach-O binaries combining both x86_64 (Intel) and arm64 (Apple Silicon M-series) code into single binary files via lipo.
  • Universal Static Linking: Includes unified static archives (libcrypto.a and libssl.a). You can link your application against them to compile native apps for Intel Macs, Apple Silicon Macs, or Universal binaries without managing multiple library paths.
  • Fully Relocatable Shared Libraries (.dylib): All shared libraries, engines, and providers are pre-configured with relative Mach-O install names (@rpath, @loader_path, and @executable_path). They are 100% drop-in ready to be embedded directly inside macOS .app application bundles without requiring path adjustments.
  • Stripped & Clean: Stripped of non-global debugging symbols (strip -x / strip -S). Includes install_symlinks.sh for optional local dev setup.

🌐 Cross-Platform Portable ZIP Packages

Every release provides unified .zip archives containing the CLI, dynamic modules, static libraries, headers, and documentation.

Supported Platforms & Architectures

OSArchitecturePackage NameDetails
Windowsx64openssl-<ver>-Windows-x64.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsx86openssl-<ver>-Windows-x86.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsarm64openssl-<ver>-Windows-arm64.zipTrue ARM64X (Native ARM64 + ARM64EC), HybridCRT, Azure Signed
macOSuniversalopenssl-<ver>-macOS-universal.zipUniversal Fat Binaries (x64 + arm64) via lipo, relocatable @rpath
Linuxx64openssl-<ver>-Linux-x64.zipDynamic $ORIGIN RPATH, SCTP enabled
Linuxarm64openssl-<ver>-Linux-arm64.zipDynamic $ORIGIN RPATH, aarch64 cross-compiled
Androidarm64openssl-<ver>-Android-arm64.zip16K page alignment (max-page-size=16384), API 21+
Androidarmopenssl-<ver>-Android-arm.zip16K page alignment (max-page-size=16384), API 21+
iOSarm64openssl-<ver>-iOS-arm64.zipStatic archives (.a) for physical iOS devices
iOSsim-arm64openssl-<ver>-iOS-sim-arm64.zipStatic archives (.a) for Apple Silicon iOS Simulator

📂 Portable Package Directory Layout

All .zip packages adhere to a single unified structure:

openssl-<version>-<OS>-<Arch>/
├── openssl[.exe] # OpenSSL CLI utility (Native ARM64 on Win-ARM64, Universal on macOS)
├── libcrypto-3*.dll / .so / .dylib # Shared crypto library
├── libssl-3*.dll / .so / .dylib # Shared SSL/TLS library
├── engines/ # OpenSSL dynamic engines (.dll / .so / .dylib)
├── providers/ # OpenSSL dynamic providers (.dll / .so / .dylib)
├── include/ # C/C++ Header files (openssl/*.h)
├── doc/ # HTML Documentation
├── lib/
│ ├── import/ # (Windows only) Import libraries (.lib) for dynamic linking
│ │ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 import libs
│ │ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC import libs
│ └── static/ # True static libraries (.lib / .a)
│ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 static libs
│ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC static libs
├── install_symlinks.sh # (POSIX only) Script to restore shared library symlinks
├── LICENSE.txt # OpenSSL Apache-2.0 License
├── README.txt # Distribution guide
└── version.txt # Metadata version stamp

🔗 Linking Instructions

Windows (MSVC, Delphi, C++Builder)

  • Dynamic Linking (Recommended): Link against the import libraries in lib/import/ (e.g., libcrypto.lib, libssl.lib). Ship the root .dll files alongside your executable.
  • Static Linking: Link against the static libraries in lib/static/. These are compiled with /MT HybridCRT to link against Windows' native ucrtbase.dll.

Linux & Unix

  • Dynamic Linking: Link against libcrypto.so.3 / libssl.so.3. Libraries are built with -Wl,-rpath,'$ORIGIN' to load adjacent dependencies automatically.
  • Static Linking: Link against lib/static/libcrypto.a and lib/static/libssl.a.

macOS (Intel & Apple Silicon)

  • Universal Binaries: All binaries and static archives contain combined x86_64 and arm64 slices. You can link against them from both Intel and Apple Silicon Macs.
  • Relocatable @rpath: Shared libraries have pre-configured @rpath IDs for easy app bundle embedding.

POSIX Symlink Restoration

Windows file systems fail to extract POSIX symbolic links. To prevent archive extraction corruption, packages contain physical versioned shared library files (e.g., libcrypto.so.3 or libcrypto.3.dylib).

On Linux and macOS, run the included script once after extracting to restore standard unversioned symlinks (libcrypto.so -> libcrypto.so.3 or libcrypto.dylib -> libcrypto.3.dylib):

cd openssl-<version>-<OS>-<Arch>
sh ./install_symlinks.sh

🔒 Code Signing & Verification

All Windows binaries, .exe installers, .msi installers, and .msix packages are digitally signed via Microsoft Azure Trusted Signing.

To verify the signature of any Windows artifact:

Get-AuthenticodeSignature .\openssl.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-installer.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msi
Get-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msix

🔄 Automated Upstream Tracking

This repository automatically checks the official OpenSSL releases daily via check-upstream.yml. When a new supported release is detected:

  1. Validates that the branch has not reached End-of-Life (EOL).
  2. Triggers automated cross-platform compilation and code signing across all targets.
  3. Fuses ARM64X binaries and macOS Universal binaries.
  4. Builds and signs the Windows InnoSetup, WiX MSI, and MSIX installers.
  5. Packages and publishes the release assets automatically.

📄 Licensing & Attribution

This repository uses a multi-license model to clearly separate upstream OpenSSL software from our automated build and packaging code:

  • OpenSSL Binaries, Headers, and Documentation: Licensed under the Apache License 2.0.
  • Pipeline Workflows, Build Scripts, and Templates: Licensed under the Amended MIT License.
    • Free & Open Source Software: Copyright attribution is completely waived.
    • Commercial Usage / Integration: Copyright notice must be included in distribution copies.
  • Third-Party Build Tools & Dependencies: Detailed in THIRD-PARTY-NOTICES.md.

About

OpenSSL Distribution for TaurusTLS

Resources

Stars

21 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

OpenSSL Distribution Packages & Windows Installers

Automated, reproducible, and digitally signed OpenSSL 3.x distribution packages, standalone Windows installers, and cross-platform binary archives compiled for Windows, Linux, macOS, Android, and iOS.

GitHub ReleaseGitHub DownloadsAzure Trusted SigningLicense

GitHub Stars

Love this project? Give it a star on GitHub! It helps more developers find pre-compiled, signed, and zero-dependency OpenSSL binaries.


💡 Why Choose This OpenSSL Distribution?

FeatureCompiling from SourceLegacy OpenSSL BinariesTaurusTLS OpenSSL
No vcruntime140.dll Dependency❌ (Requires /MD CRT)❌ (Causes missing DLL error)HybridCRT (Zero dependencies)
Windows ARM64X Dual-Architecture❌ (Complex dual-linking)Native ARM64 + ARM64EC in one DLL
Microsoft Azure Trusted Signing❌ (Triggers SmartScreen)Digitally Signed (.exe, .dll, .msi, .msix)
Installer Variety⚠️ (Single .exe)Multi-Arch InnoSetup, WiX MSI & MSIX
macOS Universal Binaries❌ (Requires manual lipo)⚠️Combined x86_64 + arm64 (@rpath ready)
Android 16K Page Alignment❌ (Defaults to 4KB)Android 15+ 16KB Page Aligned
Automated Upstream Tracking⚠️ (Manual updates)Built within 24h of OpenSSL releases

📦 Distribution Formats

Official releases provide four complementary distribution formats:

FormatTarget PlatformsKey FeaturesPrimary Use Case
Windows Multi-Arch Setup (.exe)Windows (x64, x86, ARM64)Single installer for all architectures, autodetects CPU, Per-Machine & Per-User modes, Start Menu Command Prompt, optional PATH setup, Azure SignedEnd-user systems, interactive workstation setup
Windows MSI Installers (.msi)Windows (x64, x86, ARM64)Built with WiX Toolset, GPO/Intune enterprise deployment, automated rollback & repair, interactive feature tree with optional 32-bit runtime on x64, Azure SignedEnterprise IT deployment, automated Active Directory / Intune rollout
MSIX Framework Packages (.msix)Windows (x64, x86, ARM64)Standalone MSIX Framework packages (<Framework>true</Framework>), side-by-side directory isolation, Azure SignedPackaged Windows applications consuming OpenSSL via <PackageDependency>
Unified Portable ZIPs (.zip)Windows, Linux, macOS, Android, iOSPortable archives containing shared DLLs/SOs/dylibs, static libraries (/lib/static/), import libraries (/lib/import/), headers, and documentationC/C++ build pipelines, local development, portable bundling

🪟 Windows Installers

All Windows binaries, installers, and packages are digitally signed with Microsoft Azure Trusted Signing and built using HybridCRT (eliminating any external vcruntime140.dll dependency).

1. InnoSetup Multi-Architecture Installer (.exe)

File pattern: openssl-<version>-Windows-installer.exe

A single setup executable containing native binaries for x64, x86, and ARM64 (ARM64X):

  • Intelligent Architecture Detection: Detects the host processor architecture at install time and deploys matching native binaries:
    • 64-bit Intel/AMD (x64): Installs native 64-bit OpenSSL runtime into bin64.
    • 64-bit ARM64 (Surface / Snapdragon): Installs native ARM64 / ARM64X OpenSSL runtime into bin64.
    • 32-bit (x86): Installs native 32-bit OpenSSL runtime into bin32.
  • 32-bit Compatibility Option: On 64-bit systems, users can check [x] 32-bit (x86) Compatibility Runtime to install 32-bit libraries into bin32 alongside 64-bit libraries for legacy application compatibility.
  • Installation Modes & Directory Layouts:
    • Per-Machine (Admin / All Users):
      • 64-bit / ARM64: C:\Program Files\TaurusTLS Developers\OpenSSL-<major.minor>\bin64\
      • 32-bit: C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<major.minor>\bin32\
    • Per-User (Current User / Non-Admin):
      • 64-bit / ARM64: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x64\
      • 32-bit: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x86\
  • OpenSSL Command Prompt: Adds a Start Menu shortcut that launches a command prompt session directly in the OpenSSL installation folder with PATH pre-configured.
  • Silent Installation:
    :: Silent Per-Machine Install (All Users, Default)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
    :: Silent Per-User Install (Current User Only)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /CURRENTUSER /SUPPRESSMSGBOXES /NORESTART

2. WiX Windows MSI Installers (.msi)

File patterns:

  • openssl-<version>-Windows-x64.msi
  • openssl-<version>-Windows-x86.msi
  • openssl-<version>-Windows-arm64.msi

Enterprise-ready Windows Installer (.msi) packages built using modern WiX Toolset:

  • Enterprise Management: Fully compatible with Active Directory Group Policy Objects (GPO), Microsoft Intune, and Microsoft Endpoint Configuration Manager (SCCM).
  • Transaction Safety & Self-Healing: Powered by the Windows Installer database engine with automatic rollback on installation interruption and on-demand repair.
  • Interactive Feature Selection Tree:
    • 📦 OpenSSL Native Runtime: Installs native binaries into %ProgramFiles%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add native directory to PATH: Optional sub-feature to add the installation folder to the system PATH.
    • 📦 32-bit (x86) Compatibility Runtime (on x64 MSI): Optional feature to install 32-bit libraries into %ProgramFiles(x86)%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add 32-bit directory to PATH: Optional sub-feature to add the 32-bit folder to the system PATH.
  • In-Place Upgrades: Uses deterministic upgrade codes scoped by Major.Minor so that patch releases (e.g. 3.0.23 over 3.0.22) upgrade in-place, while major/minor releases (e.g. 3.0 vs 3.5) coexist side-by-side.
  • Silent Command-Line Installation:
    :: Silent Administrative Installmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart
    :: Silent Install with Verbose Loggingmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart /l*v "openssl_install.log"

3. MSIX Framework Packages (.msix)

File patterns:

  • openssl-<version>-Windows-x64.msix
  • openssl-<version>-Windows-x86.msix
  • openssl-<version>-Windows-arm64.msix

MSIX Framework packages provide isolated, shared runtime libraries for other Windows applications:

  • Isolated Deployment: Installs directly to C:\Program Files\WindowsApps\ with complete architecture isolation.
  • MSIX App Dependency: Consuming applications can reference OpenSSL in their AppxManifest.xml:
    <Dependencies>
    <PackageDependencyName="TaurusTLS.OpenSSL.3.4"MinVersion="3.4.0.0"Publisher="CN=..." />
    </Dependencies>

⚡ Windows ARM64X Dual-Architecture Technology

File pattern: openssl-<version>-Windows-arm64.zip

Windows ARM64 releases feature true ARM64X dual-architecture binaries:

  • Single Binary, Dual Execution:libcrypto-3-arm64.dll, libssl-3-arm64.dll, providers, and engines contain both Native ARM64 and ARM64EC (x64-compatible) code slices in a single binary image.
  • Unified Import & Static Libraries: The default lib/import/libcrypto.lib and lib/static/libcrypto.lib are unified ARM64X archives that link seamlessly in both Native ARM64 and ARM64EC projects.
  • Dedicated Slices Included: For toolchains requiring pure single-architecture archives, dedicated subfolders (lib/import/arm64/, lib/import/arm64ec/, lib/static/arm64/, lib/static/arm64ec/) are included in the package.

🍎 macOS Universal (Unified) Binaries

File pattern: openssl-<version>-macOS-universal.zip

Our macOS release is delivered as a single, unified package designed for both local development and seamless app bundle redistribution across the entire Mac ecosystem:

  • Single Package, Two Architectures: Contains true Universal (Fat) Mach-O binaries combining both x86_64 (Intel) and arm64 (Apple Silicon M-series) code into single binary files via lipo.
  • Universal Static Linking: Includes unified static archives (libcrypto.a and libssl.a). You can link your application against them to compile native apps for Intel Macs, Apple Silicon Macs, or Universal binaries without managing multiple library paths.
  • Fully Relocatable Shared Libraries (.dylib): All shared libraries, engines, and providers are pre-configured with relative Mach-O install names (@rpath, @loader_path, and @executable_path). They are 100% drop-in ready to be embedded directly inside macOS .app application bundles without requiring path adjustments.
  • Stripped & Clean: Stripped of non-global debugging symbols (strip -x / strip -S). Includes install_symlinks.sh for optional local dev setup.

🌐 Cross-Platform Portable ZIP Packages

Every release provides unified .zip archives containing the CLI, dynamic modules, static libraries, headers, and documentation.

Supported Platforms & Architectures

OSArchitecturePackage NameDetails
Windowsx64openssl-<ver>-Windows-x64.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsx86openssl-<ver>-Windows-x86.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsarm64openssl-<ver>-Windows-arm64.zipTrue ARM64X (Native ARM64 + ARM64EC), HybridCRT, Azure Signed
macOSuniversalopenssl-<ver>-macOS-universal.zipUniversal Fat Binaries (x64 + arm64) via lipo, relocatable @rpath
Linuxx64openssl-<ver>-Linux-x64.zipDynamic $ORIGIN RPATH, SCTP enabled
Linuxarm64openssl-<ver>-Linux-arm64.zipDynamic $ORIGIN RPATH, aarch64 cross-compiled
Androidarm64openssl-<ver>-Android-arm64.zip16K page alignment (max-page-size=16384), API 21+
Androidarmopenssl-<ver>-Android-arm.zip16K page alignment (max-page-size=16384), API 21+
iOSarm64openssl-<ver>-iOS-arm64.zipStatic archives (.a) for physical iOS devices
iOSsim-arm64openssl-<ver>-iOS-sim-arm64.zipStatic archives (.a) for Apple Silicon iOS Simulator

📂 Portable Package Directory Layout

All .zip packages adhere to a single unified structure:

openssl-<version>-<OS>-<Arch>/
├── openssl[.exe] # OpenSSL CLI utility (Native ARM64 on Win-ARM64, Universal on macOS)
├── libcrypto-3*.dll / .so / .dylib # Shared crypto library
├── libssl-3*.dll / .so / .dylib # Shared SSL/TLS library
├── engines/ # OpenSSL dynamic engines (.dll / .so / .dylib)
├── providers/ # OpenSSL dynamic providers (.dll / .so / .dylib)
├── include/ # C/C++ Header files (openssl/*.h)
├── doc/ # HTML Documentation
├── lib/
│ ├── import/ # (Windows only) Import libraries (.lib) for dynamic linking
│ │ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 import libs
│ │ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC import libs
│ └── static/ # True static libraries (.lib / .a)
│ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 static libs
│ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC static libs
├── install_symlinks.sh # (POSIX only) Script to restore shared library symlinks
├── LICENSE.txt # OpenSSL Apache-2.0 License
├── README.txt # Distribution guide
└── version.txt # Metadata version stamp

🔗 Linking Instructions

Windows (MSVC, Delphi, C++Builder)

  • Dynamic Linking (Recommended): Link against the import libraries in lib/import/ (e.g., libcrypto.lib, libssl.lib). Ship the root .dll files alongside your executable.
  • Static Linking: Link against the static libraries in lib/static/. These are compiled with /MT HybridCRT to link against Windows' native ucrtbase.dll.

Linux & Unix

  • Dynamic Linking: Link against libcrypto.so.3 / libssl.so.3. Libraries are built with -Wl,-rpath,'$ORIGIN' to load adjacent dependencies automatically.
  • Static Linking: Link against lib/static/libcrypto.a and lib/static/libssl.a.

macOS (Intel & Apple Silicon)

  • Universal Binaries: All binaries and static archives contain combined x86_64 and arm64 slices. You can link against them from both Intel and Apple Silicon Macs.
  • Relocatable @rpath: Shared libraries have pre-configured @rpath IDs for easy app bundle embedding.

POSIX Symlink Restoration

Windows file systems fail to extract POSIX symbolic links. To prevent archive extraction corruption, packages contain physical versioned shared library files (e.g., libcrypto.so.3 or libcrypto.3.dylib).

On Linux and macOS, run the included script once after extracting to restore standard unversioned symlinks (libcrypto.so -> libcrypto.so.3 or libcrypto.dylib -> libcrypto.3.dylib):

cd openssl-<version>-<OS>-<Arch>
sh ./install_symlinks.sh

🔒 Code Signing & Verification

All Windows binaries, .exe installers, .msi installers, and .msix packages are digitally signed via Microsoft Azure Trusted Signing.

To verify the signature of any Windows artifact:

Get-AuthenticodeSignature .\openssl.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-installer.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msi
Get-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msix

🔄 Automated Upstream Tracking

This repository automatically checks the official OpenSSL releases daily via check-upstream.yml. When a new supported release is detected:

  1. Validates that the branch has not reached End-of-Life (EOL).
  2. Triggers automated cross-platform compilation and code signing across all targets.
  3. Fuses ARM64X binaries and macOS Universal binaries.
  4. Builds and signs the Windows InnoSetup, WiX MSI, and MSIX installers.
  5. Packages and publishes the release assets automatically.

📄 Licensing & Attribution

This repository uses a multi-license model to clearly separate upstream OpenSSL software from our automated build and packaging code:

  • OpenSSL Binaries, Headers, and Documentation: Licensed under the Apache License 2.0.
  • Pipeline Workflows, Build Scripts, and Templates: Licensed under the Amended MIT License.
    • Free & Open Source Software: Copyright attribution is completely waived.
    • Commercial Usage / Integration: Copyright notice must be included in distribution copies.
  • Third-Party Build Tools & Dependencies: Detailed in THIRD-PARTY-NOTICES.md.

About

OpenSSL Distribution for TaurusTLS

Resources

Stars

21 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Contributors

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

OpenSSL Distribution Packages & Windows Installers

Automated, reproducible, and digitally signed OpenSSL 3.x distribution packages, standalone Windows installers, and cross-platform binary archives compiled for Windows, Linux, macOS, Android, and iOS.

GitHub ReleaseGitHub DownloadsAzure Trusted SigningLicense

GitHub Stars

Love this project? Give it a star on GitHub! It helps more developers find pre-compiled, signed, and zero-dependency OpenSSL binaries.


💡 Why Choose This OpenSSL Distribution?

FeatureCompiling from SourceLegacy OpenSSL BinariesTaurusTLS OpenSSL
No vcruntime140.dll Dependency❌ (Requires /MD CRT)❌ (Causes missing DLL error)HybridCRT (Zero dependencies)
Windows ARM64X Dual-Architecture❌ (Complex dual-linking)Native ARM64 + ARM64EC in one DLL
Microsoft Azure Trusted Signing❌ (Triggers SmartScreen)Digitally Signed (.exe, .dll, .msi, .msix)
Installer Variety⚠️ (Single .exe)Multi-Arch InnoSetup, WiX MSI & MSIX
macOS Universal Binaries❌ (Requires manual lipo)⚠️Combined x86_64 + arm64 (@rpath ready)
Android 16K Page Alignment❌ (Defaults to 4KB)Android 15+ 16KB Page Aligned
Automated Upstream Tracking⚠️ (Manual updates)Built within 24h of OpenSSL releases

📦 Distribution Formats

Official releases provide four complementary distribution formats:

FormatTarget PlatformsKey FeaturesPrimary Use Case
Windows Multi-Arch Setup (.exe)Windows (x64, x86, ARM64)Single installer for all architectures, autodetects CPU, Per-Machine & Per-User modes, Start Menu Command Prompt, optional PATH setup, Azure SignedEnd-user systems, interactive workstation setup
Windows MSI Installers (.msi)Windows (x64, x86, ARM64)Built with WiX Toolset, GPO/Intune enterprise deployment, automated rollback & repair, interactive feature tree with optional 32-bit runtime on x64, Azure SignedEnterprise IT deployment, automated Active Directory / Intune rollout
MSIX Framework Packages (.msix)Windows (x64, x86, ARM64)Standalone MSIX Framework packages (<Framework>true</Framework>), side-by-side directory isolation, Azure SignedPackaged Windows applications consuming OpenSSL via <PackageDependency>
Unified Portable ZIPs (.zip)Windows, Linux, macOS, Android, iOSPortable archives containing shared DLLs/SOs/dylibs, static libraries (/lib/static/), import libraries (/lib/import/), headers, and documentationC/C++ build pipelines, local development, portable bundling

🪟 Windows Installers

All Windows binaries, installers, and packages are digitally signed with Microsoft Azure Trusted Signing and built using HybridCRT (eliminating any external vcruntime140.dll dependency).

1. InnoSetup Multi-Architecture Installer (.exe)

File pattern: openssl-<version>-Windows-installer.exe

A single setup executable containing native binaries for x64, x86, and ARM64 (ARM64X):

  • Intelligent Architecture Detection: Detects the host processor architecture at install time and deploys matching native binaries:
    • 64-bit Intel/AMD (x64): Installs native 64-bit OpenSSL runtime into bin64.
    • 64-bit ARM64 (Surface / Snapdragon): Installs native ARM64 / ARM64X OpenSSL runtime into bin64.
    • 32-bit (x86): Installs native 32-bit OpenSSL runtime into bin32.
  • 32-bit Compatibility Option: On 64-bit systems, users can check [x] 32-bit (x86) Compatibility Runtime to install 32-bit libraries into bin32 alongside 64-bit libraries for legacy application compatibility.
  • Installation Modes & Directory Layouts:
    • Per-Machine (Admin / All Users):
      • 64-bit / ARM64: C:\Program Files\TaurusTLS Developers\OpenSSL-<major.minor>\bin64\
      • 32-bit: C:\Program Files (x86)\TaurusTLS Developers\OpenSSL-<major.minor>\bin32\
    • Per-User (Current User / Non-Admin):
      • 64-bit / ARM64: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x64\
      • 32-bit: %LocalAppData%\Programs\TaurusTLS Developers\OpenSSL-<major.minor>\x86\
  • OpenSSL Command Prompt: Adds a Start Menu shortcut that launches a command prompt session directly in the OpenSSL installation folder with PATH pre-configured.
  • Silent Installation:
    :: Silent Per-Machine Install (All Users, Default)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART
    :: Silent Per-User Install (Current User Only)
    openssl-3.4.0-Windows-installer.exe /VERYSILENT /CURRENTUSER /SUPPRESSMSGBOXES /NORESTART

2. WiX Windows MSI Installers (.msi)

File patterns:

  • openssl-<version>-Windows-x64.msi
  • openssl-<version>-Windows-x86.msi
  • openssl-<version>-Windows-arm64.msi

Enterprise-ready Windows Installer (.msi) packages built using modern WiX Toolset:

  • Enterprise Management: Fully compatible with Active Directory Group Policy Objects (GPO), Microsoft Intune, and Microsoft Endpoint Configuration Manager (SCCM).
  • Transaction Safety & Self-Healing: Powered by the Windows Installer database engine with automatic rollback on installation interruption and on-demand repair.
  • Interactive Feature Selection Tree:
    • 📦 OpenSSL Native Runtime: Installs native binaries into %ProgramFiles%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add native directory to PATH: Optional sub-feature to add the installation folder to the system PATH.
    • 📦 32-bit (x86) Compatibility Runtime (on x64 MSI): Optional feature to install 32-bit libraries into %ProgramFiles(x86)%\TaurusTLS Developers\OpenSSL-<major.minor>\ (customizable via Browse...).
      • └── 📦 Add 32-bit directory to PATH: Optional sub-feature to add the 32-bit folder to the system PATH.
  • In-Place Upgrades: Uses deterministic upgrade codes scoped by Major.Minor so that patch releases (e.g. 3.0.23 over 3.0.22) upgrade in-place, while major/minor releases (e.g. 3.0 vs 3.5) coexist side-by-side.
  • Silent Command-Line Installation:
    :: Silent Administrative Installmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart
    :: Silent Install with Verbose Loggingmsiexec /i openssl-3.4.0-Windows-x64.msi /qn /norestart /l*v "openssl_install.log"

3. MSIX Framework Packages (.msix)

File patterns:

  • openssl-<version>-Windows-x64.msix
  • openssl-<version>-Windows-x86.msix
  • openssl-<version>-Windows-arm64.msix

MSIX Framework packages provide isolated, shared runtime libraries for other Windows applications:

  • Isolated Deployment: Installs directly to C:\Program Files\WindowsApps\ with complete architecture isolation.
  • MSIX App Dependency: Consuming applications can reference OpenSSL in their AppxManifest.xml:
    <Dependencies>
    <PackageDependencyName="TaurusTLS.OpenSSL.3.4"MinVersion="3.4.0.0"Publisher="CN=..." />
    </Dependencies>

⚡ Windows ARM64X Dual-Architecture Technology

File pattern: openssl-<version>-Windows-arm64.zip

Windows ARM64 releases feature true ARM64X dual-architecture binaries:

  • Single Binary, Dual Execution:libcrypto-3-arm64.dll, libssl-3-arm64.dll, providers, and engines contain both Native ARM64 and ARM64EC (x64-compatible) code slices in a single binary image.
  • Unified Import & Static Libraries: The default lib/import/libcrypto.lib and lib/static/libcrypto.lib are unified ARM64X archives that link seamlessly in both Native ARM64 and ARM64EC projects.
  • Dedicated Slices Included: For toolchains requiring pure single-architecture archives, dedicated subfolders (lib/import/arm64/, lib/import/arm64ec/, lib/static/arm64/, lib/static/arm64ec/) are included in the package.

🍎 macOS Universal (Unified) Binaries

File pattern: openssl-<version>-macOS-universal.zip

Our macOS release is delivered as a single, unified package designed for both local development and seamless app bundle redistribution across the entire Mac ecosystem:

  • Single Package, Two Architectures: Contains true Universal (Fat) Mach-O binaries combining both x86_64 (Intel) and arm64 (Apple Silicon M-series) code into single binary files via lipo.
  • Universal Static Linking: Includes unified static archives (libcrypto.a and libssl.a). You can link your application against them to compile native apps for Intel Macs, Apple Silicon Macs, or Universal binaries without managing multiple library paths.
  • Fully Relocatable Shared Libraries (.dylib): All shared libraries, engines, and providers are pre-configured with relative Mach-O install names (@rpath, @loader_path, and @executable_path). They are 100% drop-in ready to be embedded directly inside macOS .app application bundles without requiring path adjustments.
  • Stripped & Clean: Stripped of non-global debugging symbols (strip -x / strip -S). Includes install_symlinks.sh for optional local dev setup.

🌐 Cross-Platform Portable ZIP Packages

Every release provides unified .zip archives containing the CLI, dynamic modules, static libraries, headers, and documentation.

Supported Platforms & Architectures

OSArchitecturePackage NameDetails
Windowsx64openssl-<ver>-Windows-x64.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsx86openssl-<ver>-Windows-x86.zipHybridCRT (No vcruntime140.dll dependency), Azure Signed
Windowsarm64openssl-<ver>-Windows-arm64.zipTrue ARM64X (Native ARM64 + ARM64EC), HybridCRT, Azure Signed
macOSuniversalopenssl-<ver>-macOS-universal.zipUniversal Fat Binaries (x64 + arm64) via lipo, relocatable @rpath
Linuxx64openssl-<ver>-Linux-x64.zipDynamic $ORIGIN RPATH, SCTP enabled
Linuxarm64openssl-<ver>-Linux-arm64.zipDynamic $ORIGIN RPATH, aarch64 cross-compiled
Androidarm64openssl-<ver>-Android-arm64.zip16K page alignment (max-page-size=16384), API 21+
Androidarmopenssl-<ver>-Android-arm.zip16K page alignment (max-page-size=16384), API 21+
iOSarm64openssl-<ver>-iOS-arm64.zipStatic archives (.a) for physical iOS devices
iOSsim-arm64openssl-<ver>-iOS-sim-arm64.zipStatic archives (.a) for Apple Silicon iOS Simulator

📂 Portable Package Directory Layout

All .zip packages adhere to a single unified structure:

openssl-<version>-<OS>-<Arch>/
├── openssl[.exe] # OpenSSL CLI utility (Native ARM64 on Win-ARM64, Universal on macOS)
├── libcrypto-3*.dll / .so / .dylib # Shared crypto library
├── libssl-3*.dll / .so / .dylib # Shared SSL/TLS library
├── engines/ # OpenSSL dynamic engines (.dll / .so / .dylib)
├── providers/ # OpenSSL dynamic providers (.dll / .so / .dylib)
├── include/ # C/C++ Header files (openssl/*.h)
├── doc/ # HTML Documentation
├── lib/
│ ├── import/ # (Windows only) Import libraries (.lib) for dynamic linking
│ │ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 import libs
│ │ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC import libs
│ └── static/ # True static libraries (.lib / .a)
│ ├── arm64/ # (Win-ARM64 only) Dedicated Native ARM64 static libs
│ └── arm64ec/ # (Win-ARM64 only) Dedicated ARM64EC static libs
├── install_symlinks.sh # (POSIX only) Script to restore shared library symlinks
├── LICENSE.txt # OpenSSL Apache-2.0 License
├── README.txt # Distribution guide
└── version.txt # Metadata version stamp

🔗 Linking Instructions

Windows (MSVC, Delphi, C++Builder)

  • Dynamic Linking (Recommended): Link against the import libraries in lib/import/ (e.g., libcrypto.lib, libssl.lib). Ship the root .dll files alongside your executable.
  • Static Linking: Link against the static libraries in lib/static/. These are compiled with /MT HybridCRT to link against Windows' native ucrtbase.dll.

Linux & Unix

  • Dynamic Linking: Link against libcrypto.so.3 / libssl.so.3. Libraries are built with -Wl,-rpath,'$ORIGIN' to load adjacent dependencies automatically.
  • Static Linking: Link against lib/static/libcrypto.a and lib/static/libssl.a.

macOS (Intel & Apple Silicon)

  • Universal Binaries: All binaries and static archives contain combined x86_64 and arm64 slices. You can link against them from both Intel and Apple Silicon Macs.
  • Relocatable @rpath: Shared libraries have pre-configured @rpath IDs for easy app bundle embedding.

POSIX Symlink Restoration

Windows file systems fail to extract POSIX symbolic links. To prevent archive extraction corruption, packages contain physical versioned shared library files (e.g., libcrypto.so.3 or libcrypto.3.dylib).

On Linux and macOS, run the included script once after extracting to restore standard unversioned symlinks (libcrypto.so -> libcrypto.so.3 or libcrypto.dylib -> libcrypto.3.dylib):

cd openssl-<version>-<OS>-<Arch>
sh ./install_symlinks.sh

🔒 Code Signing & Verification

All Windows binaries, .exe installers, .msi installers, and .msix packages are digitally signed via Microsoft Azure Trusted Signing.

To verify the signature of any Windows artifact:

Get-AuthenticodeSignature .\openssl.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-installer.exeGet-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msi
Get-AuthenticodeSignature .\openssl-3.4.0-Windows-x64.msix

🔄 Automated Upstream Tracking

This repository automatically checks the official OpenSSL releases daily via check-upstream.yml. When a new supported release is detected:

  1. Validates that the branch has not reached End-of-Life (EOL).
  2. Triggers automated cross-platform compilation and code signing across all targets.
  3. Fuses ARM64X binaries and macOS Universal binaries.
  4. Builds and signs the Windows InnoSetup, WiX MSI, and MSIX installers.
  5. Packages and publishes the release assets automatically.

📄 Licensing & Attribution

This repository uses a multi-license model to clearly separate upstream OpenSSL software from our automated build and packaging code:

  • OpenSSL Binaries, Headers, and Documentation: Licensed under the Apache License 2.0.
  • Pipeline Workflows, Build Scripts, and Templates: Licensed under the Amended MIT License.
    • Free & Open Source Software: Copyright attribution is completely waived.
    • Commercial Usage / Integration: Copyright notice must be included in distribution copies.
  • Third-Party Build Tools & Dependencies: Detailed in THIRD-PARTY-NOTICES.md.

About

OpenSSL Distribution for TaurusTLS

Resources

Stars

21 stars

Watchers

4 watching

Forks

Releases

Sponsor this project

Packages

Contributors