Skip to content

ecrist/openssl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenSSL Static Builds

Pre-built static OpenSSL binaries for macOS, Linux, Windows, and FreeBSD — automatically published whenever a new stable upstream release appears.

No shared library dependencies. Drop libssl.a + libcrypto.a and the include/openssl/ headers into your project and link.

Releases

See the Releases page for the latest builds.

Platforms

Platform Architecture Notes
macOS arm64 Apple Silicon
macOS x86_64 Intel
macOS universal Fat binary (arm64 + x86_64 via lipo)
Linux x86_64 Built with musl libc — no glibc dependency
Linux aarch64 Built with musl libc — no glibc dependency
Windows x86_64 Cross-compiled with mingw-w64
Windows x86 Cross-compiled with mingw-w64 (32-bit, for industrial/embedded)
FreeBSD x86_64 Native clang build
FreeBSD arm64

Archive Contents

Each archive (.tar.gz / .zip) contains:

lib/
  libssl.a
  libcrypto.a
include/
  openssl/
    *.h
bin/
  openssl         (openssl.exe on Windows)
BUILD_INFO.txt    — compiler, configure flags, build host, date

Verify Downloads

Every release includes a SHA256SUMS.txt covering all artifacts.

# Linux / FreeBSD
sha256sum -c SHA256SUMS.txt

# macOS
shasum -a 256 -c SHA256SUMS.txt

Individual .sha256 sidecar files are also provided per archive.

Automation

A scheduled workflow runs daily at 06:00 UTC. It checks the openssl/openssl GitHub releases for a new stable version (non-prerelease, tag matching openssl-X.Y.Z). When a new version is found it automatically triggers the build pipeline and publishes a release here.

You can also trigger a build manually from the Actions tab.

Build Dependencies

GitHub Actions (automatic)

All builds run in CI — no local setup required for automated releases.

Job Runner Method
macOS arm64 + x86_64 + universal macos-14 Native Apple clang
Linux x86_64 musl ubuntu-latest Alpine 3.21 Docker container
Linux aarch64 musl ubuntu-latest Alpine 3.21 via QEMU
Windows x86_64 ubuntu-latest mingw-w64 cross-compile
Windows x86 ubuntu-latest mingw-w64 cross-compile
FreeBSD x86_64 / arm64 ubuntu-latest cross-platform-actions FreeBSD 14.2

Local macOS Builds

Use scripts/build-local.sh to build locally.

# Install prerequisites
xcode-select --install
brew install nasm perl make mingw-w64
# Docker Desktop is used for Linux musl builds

# Build everything
./scripts/build-local.sh 3.4.1

# Build a specific target
./scripts/build-local.sh 3.4.1 macos-arm64
./scripts/build-local.sh 3.4.1 macos-universal
./scripts/build-local.sh 3.4.1 linux-x86_64
./scripts/build-local.sh 3.4.1 windows-x86_64

Artifacts land in dist/.

FreeBSD VM (Vultr — future migration path)

If you move the build host to FreeBSD, install these packages:

pkg install -y gmake perl5 nasm mingw-w64 devel/github-cli

FreeBSD can build: FreeBSD targets (natively), Linux targets (cross or Docker), Windows targets (mingw-w64).

Note: macOS artifacts require Apple's SDK and must continue to be built on a macOS host (GitHub Actions macos-14 runner or a Mac build machine).

Security

  • All artifacts are built from the official openssl/openssl source releases.
  • Source tarballs are verified against upstream SHA256 checksums before building.
  • Build metadata (BUILD_INFO.txt) inside each archive records the exact compiler version, configure flags, and build date for auditability.
  • SHA256SUMS.txt in each GitHub Release covers all artifacts.

About

Static OpenSSL builds for macOS, Linux, Windows, and FreeBSD — automatically published on every stable upstream release

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors