====== 3. Build ======
Hier erfahren Sie, wie Sie OpenSSL für verschiedene Plattformen kompilieren.
----
===== Welchen Build brauche ich? =====
^ Ziel ^ Plattform ^ Anleitung ^
| .NET auf Windows | Windows x64 | [[.:windows-x64|Windows x64 Build]] |
| FIPS 140-3 Compliance | Windows x64 | [[.:windows-fips|FIPS Build]] |
| Blazor WebAssembly | WASM | [[.:wasm-blazor|WASM/Blazor Build]] |
| Docker/Container | Linux | [[.:linux-wsl|Linux Build (WSL)]] |
----
===== Entscheidungshilfe =====
**Nicht sicher?** Starten Sie mit dem [[.:windows-x64|Windows x64 Build]] - er deckt die meisten Anwendungsfälle ab.
**Brauche ich FIPS?**
* Behörden / Öffentliche Verwaltung → **Ja**
* Banken / Finanzsektor → **Ja**
* Gesundheitswesen → **Oft ja**
* Interne Unternehmens-Apps → **Meist nein**
**Brauche ich WASM?**
* Blazor WebAssembly App → **Ja**
* Blazor Server App → **Nein** (nutzt Windows Build)
* Serverseitige Anwendung → **Nein**
----
===== Build-Übersicht =====
==== Windows x64 (Standard) ====
Der häufigste Build für .NET-Anwendungen:
perl Configure VC-WIN64A --prefix=D:\Projects\openssl-3.6.0\bin
nmake
nmake install_sw
**Ergebnis:**
* ''libcrypto-3-x64.dll'' - Kryptographie-Bibliothek
* ''libssl-3-x64.dll'' - TLS-Bibliothek
* ''openssl.exe'' - Kommandozeilen-Tool
→ [[.:windows-x64|Vollständige Anleitung]]
==== Windows x64 FIPS ====
Für FIPS 140-3 Compliance:
perl Configure VC-WIN64A enable-fips --prefix=D:\Projects\openssl-3.6.0\bin
nmake
nmake install_sw install_fips
**Zusätzliches Ergebnis:**
* ''fips.dll'' - FIPS Provider Modul
* ''fipsmodule.cnf'' - FIPS Konfiguration
→ [[.:windows-fips|Vollständige Anleitung]]
==== WASM für Blazor ====
Für Blazor WebAssembly:
# In WSL mit Emscripten
emconfigure ./Configure linux-generic32 no-asm no-threads no-shared
emmake make
**Ergebnis:**
* ''openssl.js'' - JavaScript-Wrapper
* ''openssl.wasm'' - WebAssembly-Modul
→ [[.:wasm-blazor|Vollständige Anleitung]]
==== Linux (in WSL) ====
Für Docker-Container oder Linux-Server:
./Configure linux-x86_64 --prefix=/opt/openssl
make -j$(nproc)
make install
**Ergebnis:**
* ''libcrypto.so.3'' - Shared Library
* ''libssl.so.3'' - TLS Library
→ [[.:linux-wsl|Vollständige Anleitung]]
----
===== Build-Optionen =====
Die wichtigsten ''Configure'' Optionen:
^ Option ^ Beschreibung ^
| ''VC-WIN64A'' | Target: Visual C++, Windows 64-bit |
| ''linux-x86_64'' | Target: Linux 64-bit |
| ''--prefix='' | Installationsverzeichnis |
| ''--openssldir='' | Konfigurationsverzeichnis |
| ''no-asm'' | Keine Assembly (langsamer, aber ohne NASM) |
| ''no-shared'' | Nur statische Libraries |
| ''enable-fips'' | FIPS Provider aktivieren |
| ''no-threads'' | Keine Thread-Unterstützung (für WASM) |
----
===== Build-Dauer =====
^ Plattform ^ Hardware ^ Dauer ^
| Windows x64 | i7, 16GB RAM | 10-15 Min |
| Windows x64 | i5, 8GB RAM | 20-30 Min |
| WASM | Beliebig | 5-10 Min |
| Linux | 4 Cores | 5-10 Min |
----
===== Weiter zu =====
* [[.:windows-x64|Windows x64 Build - Schritt für Schritt]]
* [[.:testen:start|4. Testen - Installation prüfen]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//