Namestitev: 3-Koračna OEM Integracija
WvdS Crypto Service je končna črna škatla. Ničesar vam ni treba kompilirati ali konfigurirati. Preprosto sledite tem trem korakom.
Korak 1: Vključitev Daemona v L4Re Image
Dodajte Crypto Service v vašo modules.list:
-- modules.list module wvds_crypto_service module libcrypto.so.3 module libssl.so.3
Korak 2: Zagon Daemona (Ned-Script)
Zaženite daemon v vašem Ned-scriptu:
local L4 = require("L4") -- Ustvari skupni pomnilnik za komunikacijo local crypto_ds = L4.Env.ram:create(64 * 1024, L4.Dataspace.ALL):m("rw") -- Zaženi Crypto Daemon local crypto_daemon = L4.default_loader:start( { caps = { crypto_ep = crypto_ds:svr() } }, "rom/wvds_crypto_service" ) -- Vaš Gateway dobi odjemalčevo stran local gateway = L4.default_loader:start( { caps = { crypto_ep = crypto_ds } }, "rom/iss_gateway" )
Razlaga:
crypto_ds- Skupni pomnilnik Dataspace (64 KB)crypto_ep = crypto_ds:svr()- Strežniška stran za daemoncrypto_ep = crypto_ds- Odjemalčeva stran za vaš Gateway
Korak 3: Komunikacija iz Vaše Kode
Vključite header in uporabite pomožne funkcije:
#include "wvds_crypto.h" void encrypt_sensor_data(const uint8_t* data, size_t len) { uint8_t request[1024]; size_t request_len = sizeof(request); // Zgradi zahtevo int rc = wvds_build_aes_encrypt_request( request, &request_len, 1, // Key-ID "sensor", 6, // AAD data, len // Čistopis ); if (rc == 0) { // Kopiraj zahtevo v skupni pomnilnik memcpy(shared_memory, request, request_len); // Signaliziraj daemon signal_crypto_daemon(); // Počakaj na odgovor wait_for_response(); // Razčleni odgovor uint8_t nonce[12], tag[16], ciphertext[1024]; size_t ct_len; wvds_parse_aes_encrypt_response( shared_memory, response_len, nonce, tag, ciphertext, &ct_len ); } }
To je vse!
Opcijska Konfiguracija
Če želite spremeniti privzete nastavitve, lahko zagotovite config.json:
{
"version": "0.2.0",
"key_storage": {
"type": "file",
"path": "/data/keys",
"encryption": "aes-256-gcm"
},
"rate_limit": {
"max_requests_per_second": 1000,
"burst": 100
},
"logging": {
"level": "info",
"destination": "syslog"
}
}
Možnosti Shranjevanja Ključev
| Tip | Opis |
file | Ključi v datotečnem sistemu (privzeto) |
tpm | Ključi v TPM 2.0 |
hsm | Ključi v zunanjem HSM |
Preverjanje
Preverite, ali daemon pravilno teče:
# L4Re Console l4> ps ... wvds_crypto_service ... # Pošlji testno zahtevo l4> crypto_test encrypt "Hello World" OK: Ciphertext = 0x...
Odpravljanje Težav
| Problem | Rešitev |
| Daemon se ne zažene | libcrypto.so.3 v modules.list? |
| Napaka skupnega pomnilnika | Dataspace dovolj velik (min 64 KB)? |
| Napaka zmožnosti | crypto_ep pravilno mapiran? |
| FIPS napaka | fipsmodule.cnf prisoten? |
Glejte tudi Varnost > Odpravljanje težav za dodatne napake.
Zuletzt geändert: dne 29.01.2026 ob 21:49