====== 1.1 Windows-Tools installieren ======
Diese Seite erklärt jeden Schritt detailliert - ideal für Einsteiger.
----
===== 1. Visual Studio 2022 =====
==== Was ist Visual Studio? ====
Visual Studio ist Microsofts Entwicklungsumgebung. Sie enthält:
* **C/C++ Compiler** (cl.exe) - kompiliert den OpenSSL Quellcode
* **Linker** (link.exe) - erstellt die fertigen DLLs
* **nmake** - führt die Build-Befehle aus
==== Installation ====
**Option A: Über winget (empfohlen)**
winget install Microsoft.VisualStudio.2022.Community
**Option B: Manueller Download**
- Gehen Sie zu [[https://visualstudio.microsoft.com/de/downloads/|Visual Studio Downloads]]
- Wählen Sie "Community" (kostenlos)
- Starten Sie den Installer
==== Workload auswählen ====
Nach dem Download öffnet sich der Visual Studio Installer:
- Klicken Sie auf "Ändern" (falls bereits installiert) oder "Installieren"
- Wählen Sie: **"Desktop-Entwicklung mit C++"**
- Im rechten Panel, stellen Sie sicher:
* ☑ MSVC v143 - VS 2022 C++ x64/x86 Build-Tools
* ☑ Windows 10/11 SDK (neueste Version)
- Klicken Sie "Installieren"
**Wichtig:** Die Installation dauert ca. 10-20 GB und 30-60 Minuten!
==== Überprüfung ====
Nach der Installation:
# 1. Developer PowerShell öffnen (im Startmenü suchen)
# oder VS-Umgebung manuell laden:
& "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
# 2. Compiler prüfen
cl
Erwartete Ausgabe:
Microsoft (R) C/C++ Optimizing Compiler Version 19.xx.xxxxx for x64
----
===== 2. Windows SDK =====
==== Was ist das Windows SDK? ====
Das Windows SDK enthält Header-Dateien wie ''stdlib.h'', ''windows.h'' etc. Ohne diese kann der Compiler grundlegende Funktionen nicht finden.
==== Installation ====
Normalerweise wird das SDK mit Visual Studio mitinstalliert. Falls nicht:
winget install Microsoft.WindowsSDK.10.0.22621
Oder über Visual Studio Installer:
- "Einzelne Komponenten" Tab
- Suche: "Windows SDK"
- Wähle Version 10.0.22621 oder neuer
==== Überprüfung ====
# Prüfen ob SDK-Ordner existiert
Test-Path "C:\Program Files (x86)\Windows Kits\10\Include"
Sollte ''True'' ausgeben.
----
===== 3. Strawberry Perl =====
==== Was ist Perl? ====
Perl ist eine Skriptsprache. OpenSSL verwendet Perl-Skripte für:
* ''Configure'' - Erkennt das System und erstellt Build-Dateien
* Generierung von Code für verschiedene Plattformen
==== Warum Strawberry Perl? ====
Es gibt mehrere Perl-Distributionen für Windows:
* **Strawberry Perl** - Empfohlen, enthält alles Nötige, einfach zu installieren
* ActivePerl - Kommerziell, nicht empfohlen
* Cygwin Perl - Kann funktionieren, aber komplizierter
==== Installation ====
winget install StrawberryPerl.StrawberryPerl
Standard-Installationspfad: ''C:\Strawberry\perl\bin''
==== Überprüfung ====
Neues Terminal öffnen, dann:
perl -v
Erwartete Ausgabe:
This is perl 5, version 38, subversion 2 (v5.38.2)
Falls "perl wird nicht erkannt" erscheint: Computer neu starten oder PATH manuell setzen.
----
===== 4. NASM (Netwide Assembler) =====
==== Was ist NASM? ====
NASM ist ein Assembler - er übersetzt Assembly-Code in Maschinencode.
OpenSSL enthält handoptimierte Assembly-Routinen für:
* AES Verschlüsselung (bis zu 10x schneller!)
* SHA Hash-Funktionen
* Andere kryptographische Operationen
==== Brauche ich NASM? ====
| Situation | NASM nötig? |
|-----------|-------------|
| Produktiv-Build | **Ja, sehr empfohlen** |
| Entwicklung/Test | Optional |
| FIPS-Build | **Ja, Pflicht** |
Ohne NASM: OpenSSL kompiliert, aber verwendet langsamere C-Implementierungen.
==== Installation ====
winget install NASM.NASM
**Wichtig:** NASM wird oft nicht automatisch zum PATH hinzugefügt!
==== PATH manuell setzen ====
# Typischer NASM-Pfad (kann variieren!)
$nasmPath = "$env:LOCALAPPDATA\bin\NASM"
# Prüfen ob Ordner existiert
if (Test-Path $nasmPath) {
Write-Host "NASM gefunden in: $nasmPath"
} else {
# Alternative Pfade prüfen
Get-ChildItem -Path "C:\" -Filter "nasm.exe" -Recurse -ErrorAction SilentlyContinue |
Select-Object -First 1 -ExpandProperty DirectoryName
}
Dann PATH setzen (temporär für diese Session):
$env:PATH = "$nasmPath;$env:PATH"
==== Überprüfung ====
nasm -v
Erwartete Ausgabe:
NASM version 2.16.01 compiled on Dec 21 2023
----
===== 5. Git =====
==== Was ist Git? ====
Git ist ein Versionskontrollsystem. Sie brauchen es um:
* OpenSSL Quellcode von GitHub herunterzuladen
* Die richtige Version (Tag) auszuwählen
==== Installation ====
winget install Git.Git
==== Überprüfung ====
git --version
Erwartete Ausgabe:
git version 2.43.0.windows.1
----
===== Zusammenfassung =====
Nach der Installation aller Tools sollte folgendes funktionieren:
# Visual Studio Umgebung laden
& "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
# Alle Tools prüfen
cl # → Microsoft (R) C/C++ Optimizing Compiler...
perl -v # → This is perl 5...
nasm -v # → NASM version 2.xx...
git --version # → git version 2.xx...
**Tipp:** Speichern Sie diese Befehle in einer ''check-tools.ps1'' Datei für späteren Gebrauch.
----
===== Weiter zu =====
* [[.:quellen:start|2. Quellen herunterladen]]
* [[.:.:start|Zurück zur Übersicht]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//