====== 3.1 Build Windows x64 ======
Questa guida vi accompagna passo dopo passo nella compilazione di OpenSSL per Windows 64-bit.
----
===== Prerequisiti =====
Assicuratevi che tutti gli strumenti siano installati:
* ☑ Visual Studio 2022 con workload C++
* ☑ Strawberry Perl
* ☑ NASM (consigliato)
* ☑ Codice sorgente OpenSSL in ''D:\Projects\openssl-3.6.0\src''
→ [[.:vorbereitung:start|1. Preparazione]]
→ [[.:quellen:start|2. Sorgenti]]
----
===== Opzione A: Script PowerShell (consigliato) =====
Lo script di build automatizza tutti i passaggi:
# Avviare la compilazione (da qualsiasi directory)
powershell.exe -ExecutionPolicy Bypass -File "D:\Projects\openssl-3.6.0\build_openssl.ps1"
Lo script:
- Carica l'ambiente Visual Studio
- Imposta PATH per Perl e NASM
- Configura OpenSSL
- Compila il codice
- Installa in ''D:\Projects\openssl-3.6.0\bin''
→ Continuate con [[.:testen:start|4. Test]]
----
===== Opzione B: Build Manuale =====
Se volete capire ogni passaggio:
==== Passo 1: Caricare l'Ambiente Visual Studio ====
Aprite un **CMD normale** (non PowerShell!) ed eseguite:
REM Adattare il percorso: Community, Professional o Enterprise
call "%ProgramFiles%\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
==== Passo 2: Impostare PATH per Perl e NASM ====
set PATH=C:\Strawberry\perl\bin;%LOCALAPPDATA%\bin\NASM;%PATH%
==== Passo 3: Spostarsi nella Directory Sorgente ====
cd /d D:\Projects\openssl-3.6.0\src
==== Passo 4: Configurare OpenSSL ====
perl Configure VC-WIN64A --prefix=D:\Projects\openssl-3.6.0\bin --openssldir=D:\Projects\openssl-3.6.0\bin\ssl
==== Passo 5: Compilare ====
nmake
**Durata:** 10-30 minuti a seconda dell'hardware. Pazienza!
==== Passo 6: Installare ====
nmake install_sw
----
===== Risultato =====
Dopo una compilazione riuscita troverete in ''D:\Projects\openssl-3.6.0\bin'':
bin\
├── bin\
│ ├── openssl.exe # Strumento da riga di comando
│ ├── libcrypto-3-x64.dll # Libreria crittografica
│ └── libssl-3-x64.dll # Libreria TLS
├── include\
│ └── openssl\ # Header per sviluppo C/C++
├── lib\
│ ├── libcrypto.lib # Libreria import per linker
│ ├── libssl.lib
│ └── ossl-modules\ # Moduli provider (default, legacy)
└── ssl\
└── openssl.cnf # Configurazione OpenSSL
----
===== Verifica Rapida =====
D:\Projects\openssl-3.6.0\bin\bin\openssl.exe version -a
Output atteso:
OpenSSL 3.6.0 11 Feb 2025 (Library: OpenSSL 3.6.0 11 Feb 2025)
built on: ...
platform: VC-WIN64A
options: bn(64,64)
compiler: cl /Zi /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 ...
----
===== Continua con =====
* [[.:testen:start|4. Test - Verificare l'installazione]]
* [[.:integration:start|5. Integrazione - Integrare in .NET]]
* [[.:.:troubleshooting|Risoluzione problemi]]
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//