Add a minimal UniFFI façade for steve-sdk #11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Add a thin UniFFI wrapper so Swift can use the full current
steve-sdk, includingX25519andXWING-DRAFT10.Rust remains responsible for HTTP, attestation, protocol state, cryptography, session keys, and Tokio execution.
Scope
Create a separate
steve-sdk-unifficrate exposing:X25519orXWING-DRAFT10selectionExpose TOFU persistence through a Swift-implemented UniFFI callback:
This stores PCR trust records only. Cryptographic keys and derived secrets remain ephemeral and Rust-owned.
Semantic parity is required, not literal Rust API parity. Rust-specific APIs such as
reqwest::ClientBuilder, generic JSON helpers, and duplicate convenience methods do not need FFI equivalents.Deliverables
steve-sdk-uniffiworkspace crateX25519requestXWING-DRAFT10requestAcceptance criteria
steve-sdktests pass.Out of scope
A later issue may investigate a platform KEM provider and Secure Enclave support after proving compatibility with the existing
XWING-DRAFT10test vectors. V1 keeps the current ephemeral Rust KEM implementation unchanged.done
00d363c37b