Color scheme: Riviera
You are here: start » sl » Dokumentacija » Postkvantna kriptografija » WvdS Crypto Service – pregled » Prvi koraki » Gradnja in testiranje

Gradnja in testiranje

Ta vodnik vas od svežega klona pripelje do obeh zgrajenih in preverjenih izvedb ter do delujoče storitve v sistemu Windows, ki odgovori na prvo zahtevo. Prvič računajte z 10 do 20 minutami, večino tega časa porabi gradnja OpenSSL.

Pogoj: orodja iz Predpogoji so nameščena.

1. Zgradite in preizkusite izvedbo L4Re

Preklopite v mapo izvedbe. Iz korena repozitorija datoteka .cargo/config.toml izvedbe ne učinkuje.

cd l4re
cargo test

V sistemu Windows mora biti Strawberry Perl na iskalni poti pred drugimi različicami Perla, na primer z $env:PATH = "C:\Strawberry\perl\bin;" + $env:PATH.

Na koncu vsaka skupina testov izpiše test result: ok. Testi med drugim preverijo, da povezani OpenSSL pozna ML-DSA, da je spremenjen podpis zavrnjen in da imajo testni vektorji dejanske velikosti podpisov in šifriranih besedil.

Za cilje Linux:

cd l4re
cargo build --release --target x86_64-unknown-linux-gnu
cargo build --release --target aarch64-unknown-linux-gnu   # navzkrižno prevajanje

Tako zgrajen program zunaj L4Re izvede predstavitev in se konča; zahtev ne sprejema.

2. Zgradite in preizkusite izvedbo Windows

Navedite OpenSSL, s katerim naj se program poveže, in gradite iz mape win:

$env:OPENSSL_DIR = "C:\OpenSSL-3.6"   # vaša namestitvena mapa
cd win
cargo test
cargo build --release

Če mapa lib\ vsebuje le statične knjižnice, nastavite še $env:OPENSSL_STATIC = "1". Program je nato v win\target\release\wvds_crypto_service.exe.

3. Zaženite storitev v sistemu Windows

.\target\release\wvds_crypto_service.exe --no-tui --single

Zagonska pasica navede dejansko povezano različico OpenSSL, na primer OpenSSL 3.5.4 30 Sep 2025. Nato storitev izpiše Starting gateway: Default Gateway on \\.\pipe\wvds_crypto in čaka na povezave.

4. Pošljite prvo zahtevo

Odprite drugo okno PowerShell in storitev vprašajte po stanju:

$pipe = [System.IO.Pipes.NamedPipeClientStream]::new('.', 'wvds_crypto', 'InOut')
$pipe.Connect(5000)
$utf8 = [System.Text.UTF8Encoding]::new($false)
$reader = [System.IO.StreamReader]::new($pipe, $utf8)
$writer = [System.IO.StreamWriter]::new($pipe, $utf8)
$writer.NewLine = "`n"; $writer.AutoFlush = $true
$writer.WriteLine('{"operation":"info","request_id":"i1"}')
$reader.ReadLine()
$pipe.Dispose()

Odgovor je ena vrstica JSON s "success":true, "status":"running" in seznamom algoritmov. Kako ustvarite ključe, podpisujete in šifrirate, opisuje Klicanje storitve v sistemu Windows.

5. Neodvisno preverite testne vektorje

Testne vektorje izvedbe L4Re lahko preračunate s katerimkoli OpenSSL 3.5 ali novejšim:

python tools/verify-test-vectors.py l4re/crypto_test_vectors.json "C:\Program Files\OpenSSL\bin\libcrypto-3-x64.dll"

Če je vsak vektor pravilen, skripta izpiše 8 vectors, 0 failures. Podrobnosti: Preverjanje testnih vektorjev.

Naslednji koraki

sl/wiki/pqcrypt/svc/getting-started/build-and-test.txt · Last modified: by Wolfgang van der Stille