3. Build

Here you'll learn how to compile OpenSSL for different platforms.


Which Build Do I Need?

Target Platform Guide
.NET on Windows Windows x64 Windows x64 Build
FIPS 140-3 Compliance Windows x64 FIPS Build
Blazor WebAssembly WASM WASM/Blazor Build
Docker/Container Linux Linux Build (WSL)

Decision Help

Not sure? Start with the Windows x64 Build - it covers most use cases.

Do I need FIPS?

  • Government agencies → Yes
  • Banks / Financial sector → Yes
  • Healthcare → Often yes
  • Internal corporate apps → Usually no

Do I need WASM?

  • Blazor WebAssembly App → Yes
  • Blazor Server App → No (uses Windows build)
  • Server-side application → No

Build Overview

Windows x64 (Standard)

The most common build for .NET applications:

perl Configure VC-WIN64A --prefix=D:\Projects\openssl-3.6.0\bin
nmake
nmake install_sw

Result:

  • libcrypto-3-x64.dll - Cryptography library
  • libssl-3-x64.dll - TLS library
  • openssl.exe - Command line tool

Complete Guide

Windows x64 FIPS

For FIPS 140-3 compliance:

perl Configure VC-WIN64A enable-fips --prefix=D:\Projects\openssl-3.6.0\bin
nmake
nmake install_sw install_fips

Additional result:

  • fips.dll - FIPS Provider Module
  • fipsmodule.cnf - FIPS Configuration

Complete Guide

WASM for Blazor

For Blazor WebAssembly:

# In WSL with Emscripten
emconfigure ./Configure linux-generic32 no-asm no-threads no-shared
emmake make

Result:

  • openssl.js - JavaScript wrapper
  • openssl.wasm - WebAssembly module

Complete Guide

Linux (in WSL)

For Docker containers or Linux servers:

./Configure linux-x86_64 --prefix=/opt/openssl
make -j$(nproc)
make install

Result:

  • libcrypto.so.3 - Shared library
  • libssl.so.3 - TLS library

Complete Guide


Build Options

The most important Configure options:

Option Description
VC-WIN64A Target: Visual C++, Windows 64-bit
linux-x86_64 Target: Linux 64-bit
–prefix=<path> Installation directory
–openssldir=<path> Configuration directory
no-asm No assembly (slower, but without NASM)
no-shared Static libraries only
enable-fips Enable FIPS provider
no-threads No thread support (for WASM)

Build Duration

Platform Hardware Duration
Windows x64 i7, 16GB RAM 10-15 min
Windows x64 i5, 8GB RAM 20-30 min
WASM Any 5-10 min
Linux 4 cores 5-10 min

Continue to


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

Zuletzt geändert: on 2026/01/29 at 09:19 PM