====== 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//