feat(wasm): secure device API (private keys never cross to JS)
- register_device() generates signing + deploy keypairs via core device module, stores them in DEVICE_STATE (once_cell Lazy<Mutex>), and returns only public keys to JS - sign_for_git() signs data using the internal signing key - get_device_info() returns name and public keys; returns null if not registered - clear_device() zeroes and drops device state (logout / re-registration) - Removed generate_device_keypair() which exposed raw private key bytes Fixes audit I5: private key material no longer crosses the WASM boundary. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,7 @@ ed25519-dalek = { version = "2", features = ["rand_core"] }
|
||||
base64 = "0.22"
|
||||
hex = "0.4"
|
||||
rand = "0.8"
|
||||
once_cell = "1"
|
||||
|
||||
[dev-dependencies]
|
||||
wasm-bindgen-test = "0.3"
|
||||
|
||||
Reference in New Issue
Block a user