====== 1.1 Windows orodja ====== Ta stran podrobno razloži vsak korak - idealno za začetnike. ---- ===== 1. Visual Studio 2022 ===== ==== Kaj je Visual Studio? ==== Visual Studio je Microsoftovo razvojno okolje. Vsebuje: * **C/C++ prevajalnik** (cl.exe) - prevaja izvorno kodo OpenSSL * **Povezovalnik** (link.exe) - ustvari končne DLL knjižnice * **nmake** - izvaja ukaze za gradnjo ==== Namestitev ==== **Možnost A: Preko winget (priporočeno)** winget install Microsoft.VisualStudio.2022.Community **Možnost B: Ročni prenos** - Pojdite na [[https://visualstudio.microsoft.com/downloads/|Visual Studio Downloads]] - Izberite "Community" (brezplačno) - Zaženite namestitveni program ==== Izbira delovne obremenitve ==== Po prenosu se odpre Visual Studio Installer: - Kliknite "Spremeni" (če je že nameščeno) ali "Namesti" - Izberite: **"Namizni razvoj s C++"** - V desnem panelu preverite: * ☑ MSVC v143 - VS 2022 C++ x64/x86 Build-Tools * ☑ Windows 10/11 SDK (najnovejša različica) - Kliknite "Namesti" **Pomembno:** Namestitev traja približno 10-20 GB in 30-60 minut! ==== Preverjanje ==== Po namestitvi: # 1. Odprite Developer PowerShell (poiščite v meniju Start) # ali ročno naložite VS okolje: & "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" # 2. Preverite prevajalnik cl Pričakovani izpis: Microsoft (R) C/C++ Optimizing Compiler Version 19.xx.xxxxx for x64 ---- ===== 2. Windows SDK ===== ==== Kaj je Windows SDK? ==== Windows SDK vsebuje datoteke glave kot ''stdlib.h'', ''windows.h'' itd. Brez teh prevajalnik ne more najti osnovnih funkcij. ==== Namestitev ==== Običajno se SDK namesti skupaj z Visual Studio. Če ne: winget install Microsoft.WindowsSDK.10.0.22621 Ali preko Visual Studio Installer: - Zavihek "Posamezne komponente" - Iskanje: "Windows SDK" - Izberite različico 10.0.22621 ali novejšo ==== Preverjanje ==== # Preverite, ali mapa SDK obstaja Test-Path "C:\Program Files (x86)\Windows Kits\10\Include" Izpisati bi moralo ''True''. ---- ===== 3. Strawberry Perl ===== ==== Kaj je Perl? ==== Perl je skriptni jezik. OpenSSL uporablja Perl skripte za: * ''Configure'' - zaznava sistem in ustvari datoteke za gradnjo * Generiranje kode za različne platforme ==== Zakaj Strawberry Perl? ==== Za Windows obstaja več Perl distribucij: * **Strawberry Perl** - Priporočeno, vsebuje vse potrebno, enostavna namestitev * ActivePerl - Komercialno, ni priporočeno * Cygwin Perl - Lahko deluje, a je bolj zapleteno ==== Namestitev ==== winget install StrawberryPerl.StrawberryPerl Privzeta pot namestitve: ''C:\Strawberry\perl\bin'' ==== Preverjanje ==== Odprite nov terminal, nato: perl -v Pričakovani izpis: This is perl 5, version 38, subversion 2 (v5.38.2) Če se prikaže "perl ni prepoznan": Znova zaženite računalnik ali ročno nastavite PATH. ---- ===== 4. NASM (Netwide Assembler) ===== ==== Kaj je NASM? ==== NASM je assembler - prevaja assembly kodo v strojno kodo. OpenSSL vsebuje ročno optimizirane assembly rutine za: * AES šifriranje (do 10x hitreje!) * SHA zgoščevalne funkcije * Druge kriptografske operacije ==== Ali potrebujem NASM? ==== | Situacija | NASM potreben? | |-----------|----------------| | Produkcijska gradnja | **Da, zelo priporočeno** | | Razvoj/testiranje | Neobvezno | | FIPS gradnja | **Da, obvezno** | Brez NASM: OpenSSL se prevede, vendar uporabi počasnejše C implementacije. ==== Namestitev ==== winget install NASM.NASM **Pomembno:** NASM se pogosto ne doda samodejno v PATH! ==== Ročna nastavitev PATH ==== # Tipična pot NASM (se lahko razlikuje!) $nasmPath = "$env:LOCALAPPDATA\bin\NASM" # Preverite, ali mapa obstaja if (Test-Path $nasmPath) { Write-Host "NASM najden v: $nasmPath" } else { # Preverite alternativne poti Get-ChildItem -Path "C:\" -Filter "nasm.exe" -Recurse -ErrorAction SilentlyContinue | Select-Object -First 1 -ExpandProperty DirectoryName } Nato nastavite PATH (začasno za to sejo): $env:PATH = "$nasmPath;$env:PATH" ==== Preverjanje ==== nasm -v Pričakovani izpis: NASM version 2.16.01 compiled on Dec 21 2023 ---- ===== 5. Git ===== ==== Kaj je Git? ==== Git je sistem za nadzor različic. Potrebujete ga za: * Prenos izvorne kode OpenSSL iz GitHub * Izbiro prave različice (oznake) ==== Namestitev ==== winget install Git.Git ==== Preverjanje ==== git --version Pričakovani izpis: git version 2.43.0.windows.1 ---- ===== Povzetek ===== Po namestitvi vseh orodij bi moralo delovati naslednje: # Nalaganje Visual Studio okolja & "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" # Preverjanje vseh orodij 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... **Namig:** Shranite te ukaze v datoteko ''check-tools.ps1'' za kasnejšo uporabo. ---- ===== Naprej na ===== * [[wvds:sl:openssl:quellen:start|2. Prenos virov]] * [[wvds:sl:openssl:start|Nazaj na pregled]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//