====== 3.1 Namestitev ======
Navodila za namestitev OpenSSL 3.6 in .NET Runtime 8.0.
----
===== Preverjanje predpogojev =====
# Preveri različico OpenSSL
openssl version
# Pričakovano: OpenSSL 3.6.0 ali novejši
# Če je prisoten, vendar prestara različica:
which openssl # Linux/macOS
where openssl # Windows
----
===== OpenSSL 3.6.0+ =====
OpenSSL 3.6.0+ je potreben za ML-DSA((NIST FIPS 204: https://csrc.nist.gov/pubs/fips/204/final)) in ML-KEM((NIST FIPS 203: https://csrc.nist.gov/pubs/fips/203/final)).
==== Windows ====
**Možnost 1: Predkompilirane binarne datoteke (priporočeno)**
Prenos z: [[https://slproweb.com/products/Win32OpenSSL.html|Shining Light Productions]]
* Izberite: ''Win64 OpenSSL v3.6.x'' (Full, ne Light)
* Namestitev: ''C:\Program Files\OpenSSL''
**Možnost 2: Konfiguracija PATH**
# Zaženite kot administrator
[Environment]::SetEnvironmentVariable(
"Path",
$env:Path + ";C:\Program Files\OpenSSL\bin",
"Machine")
# Preverite (odprite novo PowerShell okno)
openssl version
**Možnost 3: Nastavitev okoljske spremenljivke**
# Trajno nastavite
[Environment]::SetEnvironmentVariable("OPENSSL_PATH", "C:\Program Files\OpenSSL\bin", "Machine")
# Ali začasno v trenutni seji
$env:OPENSSL_PATH = "C:\Program Files\OpenSSL\bin"
==== Linux ====
**Ubuntu/Debian (če je OpenSSL 3.6+ v repozitorijih):**
sudo apt update
sudo apt install openssl libssl-dev
# Preverite različico
openssl version
**Kompilacija iz izvorne kode (če so repozitoriji prestari):**
# Odvisnosti
sudo apt install build-essential checkinstall zlib1g-dev
# Prenos in kompilacija
cd /usr/local/src
sudo wget https://www.openssl.org/source/openssl-3.6.0.tar.gz
sudo tar -xzf openssl-3.6.0.tar.gz
cd openssl-3.6.0
sudo ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
sudo make -j$(nproc)
sudo make install
# Ustvarite simbolične povezave
sudo ln -sf /usr/local/openssl/bin/openssl /usr/local/bin/openssl
sudo ln -sf /usr/local/openssl/lib64/libssl.so.3 /usr/lib/x86_64-linux-gnu/
sudo ln -sf /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib/x86_64-linux-gnu/
# Posodobite ldconfig
echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl.conf
sudo ldconfig
# Preverite
openssl version
==== macOS ====
# Homebrew
brew install openssl@3
# Izvozite pot
export OPENSSL_PATH=$(brew --prefix openssl@3)/lib
export PATH="$(brew --prefix openssl@3)/bin:$PATH"
# Naredite trajno (v ~/.zshrc ali ~/.bash_profile)
echo 'export OPENSSL_PATH=$(brew --prefix openssl@3)/lib' >> ~/.zshrc
echo 'export PATH="$(brew --prefix openssl@3)/bin:$PATH"' >> ~/.zshrc
# Preverite
openssl version
----
===== .NET Runtime 8.0 =====
==== Windows ====
# Preverite nameščene runtime-e
dotnet --list-runtimes
# Če ni na voljo: Prenesite z
# https://dotnet.microsoft.com/download/dotnet/8.0
# Izberite ".NET Runtime 8.0.x" (ne SDK, razen za razvoj)
# Po namestitvi preverite
dotnet --list-runtimes | Select-String "Microsoft.NETCore.App 8"
==== Linux ====
# Ubuntu/Debian
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install dotnet-runtime-8.0
# Preverite
dotnet --list-runtimes | grep "Microsoft.NETCore.App 8"
==== macOS ====
# Homebrew
brew install dotnet@8
# Ali prenesite z https://dotnet.microsoft.com/download/dotnet/8.0
# Preverite
dotnet --list-runtimes | grep "Microsoft.NETCore.App 8"
----
===== Po namestitvi: Preverjanje =====
Zaženite te ukaze za preverjanje namestitve:
# 1. Različica in informacije o gradnji OpenSSL
openssl version -a
# 2. Ali so PQ-podpisi na voljo?
openssl list -signature-algorithms | grep -i "ml-dsa"
# Pričakovani izhod: ML-DSA-44, ML-DSA-65, ML-DSA-87
# 3. Ali je PQ-KEM na voljo?
openssl list -kem-algorithms | grep -i "ml-kem"
# Pričakovani izhod: ML-KEM-512, ML-KEM-768, ML-KEM-1024
# 4. Seznam ponudnikov
openssl list -providers
# Pričakovano: default, base (in opcijsko: fips)
# 5. .NET Runtime
dotnet --list-runtimes
# Pričakovano: Microsoft.NETCore.App 8.x.x
**Pričakovani izhod za OpenSSL 3.6:**
OpenSSL 3.6.0 7 Nov 2024
built on: ...
OPENSSLDIR: "/usr/local/openssl"
----
===== Znane težave =====
^ Težava ^ Vzrok ^ Rešitev ^
| ''libcrypto-3-x64.dll ni najdena'' | OpenSSL ni v PATH | Razširite PATH ali nastavite ''OPENSSL_PATH'' |
| ''ML-DSA not found'' | Prestara različica OpenSSL | Namestite različico 3.6.0+ |
| ''permission denied'' | Manjkajoče pravice | Uporabite ''sudo'' ali preverite dovoljenja |
| Konflikti s sistemskim OpenSSL | Več različic | Nastavite eksplicitno pot v ''OPENSSL_PATH'' |
----
===== Nadaljnje branje =====
* [[.:konfiguration|Konfiguracija]] – Okoljske spremenljivke, FIPS-način
* [[.:betrieb|Obratovanje]] – Zdravstveni pregledi, certifikati
* [[.:troubleshooting|Odpravljanje napak]] – Pogoste napake pri namestitvi
----
//Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional//
{{tag>installation openssl dotnet setup}}