Bauoptionen und Konfiguration
Diese Seite nennt alle Cargo-Features, Umgebungsvariablen, Befehlszeilenschalter und Konfigurationsfelder beider Bauformen und sagt bei jedem, ob er heute etwas bewirkt.
L4Re-Bauform: Cargo-Features
| Feature | Voreinstellung | Wirkung |
|---|---|---|
openssl-vendored | an | baut OpenSSL aus den Quellen des Pakets openssl-src mit, derzeit OpenSSL 3.5.4; braucht Perl und einen C-Compiler |
openssl-system | aus | bindet ein vorhandenes OpenSSL ein, das OPENSSL_DIR oder die Systemsuche findet |
openssl-local | aus | wie openssl-system; gedacht für vorgebaute Bibliotheken beim Querübersetzen |
chacha20 | aus | schaltet die Anfragetypen 0x03 und 0x04 frei; nicht nach FIPS 140-3 zugelassen |
pqc | an | ohne Wirkung; die Post-Quanten-Verfahren sind immer eingebaut |
fips | aus | ohne Wirkung; ein FIPS-Modus ist nicht umgesetzt |
l4re, demo, bindgen | aus | ohne Wirkung |
Eines der drei openssl-*-Features muss aktiv sein; ist openssl-vendored dabei, geht es vor. Wer ein
eigenes OpenSSL 3.6 einbinden will, baut mit --no-default-features --features pqc,openssl-system; siehe
Eigenes OpenSSL einbinden.
L4Re-Bauform: Umgebungsvariablen
| Variable | Wirkung |
|---|---|
OPENSSL_DIR | Verzeichnis des einzubindenden OpenSSL mit include/ und lib/ bzw. lib64/; hat Vorrang vor allen anderen Angaben |
L4RE_OPENSSL_DIR | Wurzel vorgebauter Bibliotheken je Architektur, erwartet <Wurzel>/x86_64 bzw. <Wurzel>/aarch64 |
OPENSSL_STATIC | 1 bindet OpenSSL statisch; l4re/.cargo/config.toml setzt das für aarch64 |
RUST_LOG | Protokollstufe des Dienstes, etwa debug; Vorgabe info |
l4re/.cargo/config.toml trägt für die Linux-Ziele zusätzliche Bibliothekspfade des Rechners ein, auf
dem die ausgelieferten Pakete entstanden sind. Fehlen sie, ist das unschädlich; ein gesetztes
OPENSSL_DIR geht vor.
Die Datei definiert außerdem drei Abkürzungen:
| Befehl | Bedeutung |
|---|---|
cargo build-all | Bau für x86_64-unknown-linux-gnu und aarch64-unknown-linux-gnu |
cargo test-native | nur die Tests der Bibliothek |
cargo lint | Clippy, jede Warnung als Fehler |
Windows-Bauform: Bau
| Angabe | Wirkung |
|---|---|
OPENSSL_DIR | Verzeichnis eines vorgebauten OpenSSL mit include\, lib\libcrypto.lib, lib\libssl.lib; ohne Angabe gilt der Pfad aus win/.cargo/config.toml |
OPENSSL_STATIC | 1 bindet OpenSSL statisch; nötig, wenn lib\ nur statische Bibliotheken enthält |
Feature chacha20 | ohne Wirkung; die Windows-Bauform hat keine ChaCha20-Operation |
Windows-Bauform: Befehlszeile
wvds_crypto_service [--config <Pfad>] [--no-tui] [--single] [--help]
| Schalter | Wirkung |
|---|---|
--config, -c | lädt die Konfiguration aus der genannten Datei; ist sie unlesbar, gilt die Vorgabe |
--no-tui, -n, --headless | ohne Textoberfläche, Protokoll auf die Konsole |
--single, -s | nur eine Pipe, \\.\pipe\wvds_crypto |
--help, -h | Hilfe |
Ohne --config sucht der Dienst im aktuellen Verzeichnis nacheinander wvds_crypto.json,
config/wvds_crypto.json und config.json. Findet er keine, öffnet er die Pipes wvds_crypto_gw1,
wvds_crypto_gw2, wvds_crypto_gw3 und wvds_crypto.
Windows-Bauform: Konfigurationsdatei
{
"name": "WvdS Post-Quantum Crypto Service",
"max_keys": 1024,
"tui_enabled": true,
"log_level": "info",
"gateways": [
{ "id": "default", "name": "Default Gateway", "pipe_name": "\\\\.\\pipe\\wvds_crypto", "enabled": true }
]
}
| Feld | Vorgabe | Wirkung |
|---|---|---|
name | WvdS Post-Quantum Crypto Service | Anzeige |
version | – | ohne Wirkung |
max_keys | 1024 | Höchstzahl gleichzeitig gehaltener Schlüssel |
tui_enabled | true | Textoberfläche; --no-tui geht vor |
log_level | info | trace, debug, info, warn, error; gilt nur ohne Textoberfläche |
gateways | Pflichtfeld | Liste der Pipes |
gateways[].id | Pflichtfeld | Kennung in Protokoll und Statistik |
gateways[].name | Pflichtfeld | Anzeige |
gateways[].pipe_name | Pflichtfeld | voller Pipe-Name, in JSON mit verdoppelten Backslashes |
gateways[].enabled | true | false öffnet die Pipe nicht |
gateways[].priority, scenario_groups, description | – | ohne Wirkung |
gateways[].rate_limit | – | ohne Wirkung; es gilt die feste Grenze von 60 000 Anfragen je 60 Sekunden für den ganzen Dienst |
Die Beispieldateien win/wvds_crypto.json und win/config/wvds_crypto_demo.json öffnen mehrere Pipes
für eine Vorführung.