Guida all'installazione per OpenSSL 3.6 e .NET Runtime 8.0.
# Verificare versione OpenSSL openssl version # Atteso: OpenSSL 3.6.0 o superiore # Se presente ma troppo vecchio: which openssl # Linux/macOS where openssl # Windows
Opzione 1: Binari precompilati (raccomandato)
Download da: Shining Light Productions
Win64 OpenSSL v3.6.x (Full, non Light)C:\Program Files\OpenSSLOpzione 2: Configurare PATH
# Eseguire come amministratore [Environment]::SetEnvironmentVariable( "Path", $env:Path + ";C:\Program Files\OpenSSL\bin", "Machine") # Verificare (aprire nuova PowerShell) openssl version
Opzione 3: Impostare variabile d'ambiente
# Impostare permanentemente [Environment]::SetEnvironmentVariable("OPENSSL_PATH", "C:\Program Files\OpenSSL\bin", "Machine") # Oppure temporaneamente nella sessione corrente $env:OPENSSL_PATH = "C:\Program Files\OpenSSL\bin"
Ubuntu/Debian (se OpenSSL 3.6+ nei repository):
sudo apt update sudo apt install openssl libssl-dev # Verificare versione openssl version
Compilare dai sorgenti (se repository troppo vecchi):
# Dipendenze sudo apt install build-essential checkinstall zlib1g-dev # Download e Build 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 # Creare symlink 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/ # Aggiornare ldconfig echo "/usr/local/openssl/lib64" | sudo tee /etc/ld.so.conf.d/openssl.conf sudo ldconfig # Verificare openssl version
# Homebrew brew install openssl@3 # Esportare percorso export OPENSSL_PATH=$(brew --prefix openssl@3)/lib export PATH="$(brew --prefix openssl@3)/bin:$PATH" # Rendere permanente (in ~/.zshrc o ~/.bash_profile) echo 'export OPENSSL_PATH=$(brew --prefix openssl@3)/lib' >> ~/.zshrc echo 'export PATH="$(brew --prefix openssl@3)/bin:$PATH"' >> ~/.zshrc # Verificare openssl version
# Verificare runtime installati dotnet --list-runtimes # Se non presente: Download da # https://dotnet.microsoft.com/download/dotnet/8.0 # Selezionare ".NET Runtime 8.0.x" (non SDK, a meno che non serva per sviluppo) # Dopo l'installazione verificare dotnet --list-runtimes | Select-String "Microsoft.NETCore.App 8"
# 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 # Verificare dotnet --list-runtimes | grep "Microsoft.NETCore.App 8"
# Homebrew brew install dotnet@8 # Oppure download da https://dotnet.microsoft.com/download/dotnet/8.0 # Verificare dotnet --list-runtimes | grep "Microsoft.NETCore.App 8"
Eseguire questi comandi per verificare l'installazione:
# 1. Versione e informazioni build OpenSSL openssl version -a # 2. Firme PQ disponibili? openssl list -signature-algorithms | grep -i "ml-dsa" # Output atteso: ML-DSA-44, ML-DSA-65, ML-DSA-87 # 3. PQ-KEM disponibile? openssl list -kem-algorithms | grep -i "ml-kem" # Output atteso: ML-KEM-512, ML-KEM-768, ML-KEM-1024 # 4. Elencare provider openssl list -providers # Atteso: default, base (e opzionalmente: fips) # 5. .NET Runtime dotnet --list-runtimes # Atteso: Microsoft.NETCore.App 8.x.x
Output atteso per OpenSSL 3.6:
OpenSSL 3.6.0 7 Nov 2024 built on: ... OPENSSLDIR: "/usr/local/openssl"
| Problema | Causa | Soluzione |
|---|---|---|
libcrypto-3-x64.dll non trovato | OpenSSL non nel PATH | Estendere PATH o impostare OPENSSL_PATH |
ML-DSA not found | OpenSSL troppo vecchio | Installare versione 3.6.0+ |
permission denied | Permessi mancanti | Usare sudo o verificare permessi |
| Conflitti con OpenSSL di sistema | Versioni multiple | Impostare percorso esplicito in OPENSSL_PATH |
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional