Uporaba lastne gradnje OpenSSL
Ta navodila pokažejo, kako obe izvedbi zgradite z OpenSSL po vaši izbiri, na primer s preverjeno različico 3.6 vaše organizacije namesto priloženega OpenSSL 3.5.4. To je običajna pot za pakete, ki jih dobavljate, saj lahko varnostne posodobitve OpenSSL nato nameščate sami.
Kaj mora OpenSSL vsebovati
- Različico 3.5 ali novejšo.
include\openssl\*.hter knjižnicilibcryptoinlibsslza ciljno arhitekturo, v sistemu Windows kotlib\libcrypto.libinlib\libssl.lib.- Za dinamično povezovanje ustrezni izvajalni knjižnici, v sistemu Windows
libcrypto-3-x64.dllinlibssl-3-x64.dll, ki morata biti ob izvajanju na iskalni poti programa.
Izvedba Windows
$env:OPENSSL_DIR = "C:\OpenSSL-3.6" cd win cargo build --release
Če mapa vsebuje le statične knjižnice, prej nastavite $env:OPENSSL_STATIC = "1". OPENSSL_DIR iz okolja
ima vedno prednost pred privzeto vrednostjo v win/.cargo/config.toml.
Izvedba L4Re
Izklopite priloženi OpenSSL in navedite svojega:
export OPENSSL_DIR=/opt/openssl-3.6 cd l4re cargo build --release --target x86_64-unknown-linux-gnu \ --no-default-features --features pqc,openssl-system
Za navzkrižno prevajanje z vnaprej zgrajenimi knjižnicami po arhitekturah je namesto tega na voljo
L4RE_OPENSSL_DIR; glejte Možnosti gradnje in konfiguracija.
Preverite, kateri OpenSSL je v uporabi
- Izvedba Windows: Zagonska pasica prikaže povezano različico, na primer
OpenSSL: OpenSSL 3.6.0 …. - Izvedba L4Re: Ob zagonu storitev v dnevnik zapiše
OpenSSL version: …. - Obe:
cargo testvsebuje test, ki spodleti, če povezani OpenSSL ne pozna ML-DSA.
V Linuxu dinamično povezan program pri napačni iskalni poti rad naloži sistemski libcrypto namesto
vašega. Če je sistemski OpenSSL starejši od 3.5, tedaj spodletijo vse postkvantne zahteve. Z ldd
preverite, katera knjižnica se dejansko naloži, ali pa povežite statično z OPENSSL_STATIC=1.