====== 3. Gradnja ====== Tukaj boste izvedeli, kako prevesti OpenSSL za različne platforme. ---- ===== Katero gradnjo potrebujem? ===== ^ Cilj ^ Platforma ^ Navodila ^ | .NET na Windows | Windows x64 | [[.:windows-x64|Windows x64 gradnja]] | | FIPS 140-3 skladnost | Windows x64 | [[.:windows-fips|FIPS gradnja]] | | Blazor WebAssembly | WASM | [[.:wasm-blazor|WASM/Blazor gradnja]] | | Docker/Container | Linux | [[.:linux-wsl|Linux gradnja (WSL)]] | ---- ===== Pomoč pri odločitvi ===== **Niste prepričani?** Začnite z [[.:windows-x64|Windows x64 gradnjo]] - pokriva večino primerov uporabe. **Ali potrebujem FIPS?** * Državni organi / Javna uprava → **Da** * Banke / Finančni sektor → **Da** * Zdravstvo → **Pogosto da** * Interne poslovne aplikacije → **Večinoma ne** **Ali potrebujem WASM?** * Blazor WebAssembly aplikacija → **Da** * Blazor Server aplikacija → **Ne** (uporabi Windows gradnjo) * Strežniška aplikacija → **Ne** ---- ===== Pregled gradnje ===== ==== Windows x64 (standardno) ==== Najpogostejša gradnja za .NET aplikacije: perl Configure VC-WIN64A --prefix=D:\Projects\openssl-3.6.0\bin nmake nmake install_sw **Rezultat:** * ''libcrypto-3-x64.dll'' - Kriptografska knjižnica * ''libssl-3-x64.dll'' - TLS knjižnica * ''openssl.exe'' - Orodje ukazne vrstice → [[.:windows-x64|Popolna navodila]] ==== Windows x64 FIPS ==== Za FIPS 140-3 skladnost: perl Configure VC-WIN64A enable-fips --prefix=D:\Projects\openssl-3.6.0\bin nmake nmake install_sw install_fips **Dodatni rezultat:** * ''fips.dll'' - FIPS Provider modul * ''fipsmodule.cnf'' - FIPS konfiguracija → [[.:windows-fips|Popolna navodila]] ==== WASM za Blazor ==== Za Blazor WebAssembly: # V WSL z Emscripten emconfigure ./Configure linux-generic32 no-asm no-threads no-shared emmake make **Rezultat:** * ''openssl.js'' - JavaScript ovoj * ''openssl.wasm'' - WebAssembly modul → [[.:wasm-blazor|Popolna navodila]] ==== Linux (v WSL) ==== Za Docker vsebnike ali Linux strežnike: ./Configure linux-x86_64 --prefix=/opt/openssl make -j$(nproc) make install **Rezultat:** * ''libcrypto.so.3'' - Shared Library * ''libssl.so.3'' - TLS Library → [[.:linux-wsl|Popolna navodila]] ---- ===== Možnosti gradnje ===== Najpomembnejše možnosti ''Configure'': ^ Možnost ^ Opis ^ | ''VC-WIN64A'' | Cilj: Visual C++, Windows 64-bit | | ''linux-x86_64'' | Cilj: Linux 64-bit | | ''--prefix='' | Namestitveni imenik | | ''--openssldir='' | Konfiguracijski imenik | | ''no-asm'' | Brez assembly (počasneje, a brez NASM) | | ''no-shared'' | Samo statične knjižnice | | ''enable-fips'' | Aktiviranje FIPS Provider | | ''no-threads'' | Brez podpore za niti (za WASM) | ---- ===== Trajanje gradnje ===== ^ Platforma ^ Strojna oprema ^ Trajanje ^ | Windows x64 | i7, 16GB RAM | 10-15 min | | Windows x64 | i5, 8GB RAM | 20-30 min | | WASM | Poljubno | 5-10 min | | Linux | 4 jedra | 5-10 min | ---- ===== Naprej na ===== * [[.:windows-x64|Windows x64 gradnja - Korak za korakom]] * [[wvds:sl:openssl:testen:start|4. Testiranje - Preverjanje namestitve]] ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//