Inhaltsverzeichnis
3.4 Linux gradnja (WSL)
Ta navodila prikazujejo, kako prevesti OpenSSL pod Linuxom v WSL.
Kdaj potrebujem Linux gradnjo?
| Aplikacija | Linux gradnja potrebna? |
| ———— | ————————- |
| Docker vsebniki | Da |
| Linux strežnik | Da |
| .NET na Windows | Ne (uporabi Windows gradnjo) |
| WASM/Blazor | Ločeno (glejte WASM gradnjo) |
Predpogoji
Koraki gradnje
Korak 1: Odprite WSL
# Windows Terminal ali PowerShell
wsl
Korak 2: Namestitev odvisnosti za gradnjo
Ubuntu/Debian:
sudo apt update sudo apt install -y build-essential perl nasm git
Fedora:
sudo dnf install -y gcc make perl nasm git
Korak 3: Prehod v imenik z izvorno kodo
# Windows diski so priklopljeni pod /mnt/ cd /mnt/d/Projects/openssl-3.6.0/src
Korak 4: Konfiguracija
./Configure linux-x86_64 \ --prefix=/mnt/d/Projects/openssl-3.6.0/linux-build \ --openssldir=/mnt/d/Projects/openssl-3.6.0/linux-build/ssl
Ali s FIPS:
./Configure linux-x86_64 enable-fips \ --prefix=/mnt/d/Projects/openssl-3.6.0/linux-build \ --openssldir=/mnt/d/Projects/openssl-3.6.0/linux-build/ssl
Korak 5: Prevajanje
# Gradnja z vsemi procesorskimi jedri make -j$(nproc)
$(nproc) vrne število procesorskih jeder. Na 8-jedrnem procesorju: make -j8
Korak 6: Namestitev
make install
Rezultat
linux-build/
├── bin/
│ └── openssl # CLI orodje
├── include/
│ └── openssl/ # Glave
├── lib64/
│ ├── libcrypto.so.3 # Shared Library
│ ├── libssl.so.3
│ ├── libcrypto.a # Static Library
│ └── libssl.a
└── ssl/
└── openssl.cnf
Testiranje
# Preverjanje različice /mnt/d/Projects/openssl-3.6.0/linux-build/bin/openssl version -a # Preverjanje Post-Quantum algoritmov /mnt/d/Projects/openssl-3.6.0/linux-build/bin/openssl list -signature-algorithms | grep -i mldsa
Za Docker slike
Primer Dockerfile
FROM ubuntu:22.04 AS builder
# Namestitev orodij za gradnjo
RUN apt-get update && apt-get install -y \
build-essential perl nasm git
# Kopiranje OpenSSL virov
COPY openssl-src/ /build/src/
# Gradnja
WORKDIR /build/src
RUN ./Configure linux-x86_64 --prefix=/opt/openssl && \
make -j$(nproc) && \
make install
# Runtime slika
FROM ubuntu:22.04
# Kopiranje samo končnih binarnih datotek
COPY --from=builder /opt/openssl /opt/openssl
# Nastavitev poti
ENV PATH="/opt/openssl/bin:$PATH"
ENV LD_LIBRARY_PATH="/opt/openssl/lib64:$LD_LIBRARY_PATH"
Multi-Stage Build za .NET
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build # Kopiranje OpenSSL knjižnic COPY --from=openssl-builder /opt/openssl/lib64/libcrypto.so.3 /app/ COPY --from=openssl-builder /opt/openssl/lib64/libssl.so.3 /app/ WORKDIR /src COPY . . RUN dotnet build -c Release
Nasveti za WSL
Izboljšanje zmogljivosti
# Delo v Linux datotečnem sistemu je hitrejše # Kopirajte vire v ~/openssl namesto /mnt/... cp -r /mnt/d/Projects/openssl-3.6.0/src ~/openssl-src cd ~/openssl-src ./Configure linux-x86_64 --prefix=~/openssl-build make -j$(nproc)
Kopiranje rezultatov v Windows
# Po gradnji kopirajte nazaj cp -r ~/openssl-build/* /mnt/d/Projects/openssl-3.6.0/linux-build/
Naprej na
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: dne 15.12.2025 ob 21:22