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