====== 1.1 Installare gli Strumenti Windows ======
Questa pagina spiega ogni passaggio in dettaglio - ideale per principianti.
----
===== 1. Visual Studio 2022 =====
==== Cos'è Visual Studio? ====
Visual Studio è l'ambiente di sviluppo di Microsoft. Include:
* **Compilatore C/C++** (cl.exe) - compila il codice sorgente OpenSSL
* **Linker** (link.exe) - crea le DLL finali
* **nmake** - esegue i comandi di build
==== Installazione ====
**Opzione A: Tramite winget (consigliato)**
winget install Microsoft.VisualStudio.2022.Community
**Opzione B: Download manuale**
- Andate su [[https://visualstudio.microsoft.com/downloads/|Visual Studio Downloads]]
- Selezionate "Community" (gratuito)
- Avviate l'installer
==== Selezionare il Workload ====
Dopo il download si apre il Visual Studio Installer:
- Cliccate "Modify" (se già installato) o "Install"
- Selezionate: **"Desktop development with C++"**
- Nel pannello destro, assicuratevi che:
* ☑ MSVC v143 - VS 2022 C++ x64/x86 Build-Tools
* ☑ Windows 10/11 SDK (versione più recente)
- Cliccate "Install"
**Importante:** L'installazione richiede circa 10-20 GB e 30-60 minuti!
----
===== 2. Windows SDK =====
==== Cos'è il Windows SDK? ====
Il Windows SDK contiene file header come ''stdlib.h'', ''windows.h'', ecc. Senza questi, il compilatore non può trovare le funzioni di base.
==== Installazione ====
Normalmente l'SDK viene installato con Visual Studio. In caso contrario:
winget install Microsoft.WindowsSDK.10.0.22621
----
===== 3. Strawberry Perl =====
==== Cos'è Perl? ====
Perl è un linguaggio di scripting. OpenSSL usa script Perl per:
* ''Configure'' - Rileva il sistema e crea i file di build
* Generazione di codice per diverse piattaforme
==== Installazione ====
winget install StrawberryPerl.StrawberryPerl
Percorso di installazione predefinito: ''C:\Strawberry\perl\bin''
----
===== 4. NASM (Netwide Assembler) =====
==== Cos'è NASM? ====
NASM è un assembler - traduce codice assembly in codice macchina.
OpenSSL contiene routine assembly ottimizzate manualmente per:
* Crittografia AES (fino a 10 volte più veloce!)
* Funzioni hash SHA
* Altre operazioni crittografiche
==== Installazione ====
winget install NASM.NASM
**Importante:** NASM spesso non viene aggiunto automaticamente al PATH!
----
===== 5. Git =====
==== Cos'è Git? ====
Git è un sistema di controllo versione. Ne avete bisogno per:
* Scaricare il codice sorgente OpenSSL da GitHub
* Selezionare la versione corretta (tag)
==== Installazione ====
winget install Git.Git
----
===== Continua con =====
* [[.:quellen:start|2. Scaricare i sorgenti]]
* [[.:.:start|Torna alla panoramica]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//