@sideband/secure-relay 0.2.1 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -8
- package/dist/.tsbuildinfo +1 -0
- package/dist/constants.d.ts +49 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +51 -0
- package/dist/constants.js.map +1 -0
- package/dist/crypto.d.ts +70 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +144 -0
- package/dist/crypto.js.map +1 -0
- package/dist/frame.d.ts +213 -0
- package/dist/frame.d.ts.map +1 -0
- package/dist/frame.js +547 -0
- package/dist/frame.js.map +1 -0
- package/dist/handshake.d.ts +39 -0
- package/dist/handshake.d.ts.map +1 -0
- package/dist/handshake.js +93 -0
- package/dist/handshake.js.map +1 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/replay.d.ts +32 -0
- package/dist/replay.d.ts.map +1 -0
- package/dist/replay.js +88 -0
- package/dist/replay.js.map +1 -0
- package/dist/session.d.ts +67 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +122 -0
- package/dist/session.js.map +1 -0
- package/dist/types.d.ts +119 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +80 -0
- package/dist/types.js.map +1 -0
- package/package.json +4 -4
- package/src/constants.ts +3 -3
- package/src/crypto.test.ts +5 -5
- package/src/crypto.ts +9 -9
- package/src/frame.test.ts +59 -10
- package/src/frame.ts +101 -77
- package/src/handshake.test.ts +29 -41
- package/src/handshake.ts +25 -27
- package/src/index.ts +4 -10
- package/src/integration.test.ts +97 -138
- package/src/session.test.ts +12 -10
- package/src/types.ts +1 -12
package/src/types.ts
CHANGED
|
@@ -29,18 +29,6 @@ export interface EphemeralKeyPair {
|
|
|
29
29
|
privateKey: Uint8Array; // 32 bytes
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
/**
|
|
33
|
-
* TOFU trust record for daemon identity.
|
|
34
|
-
* Pinned on first connect, verified on reconnect to detect MITM.
|
|
35
|
-
* Per-client; not synced via relay.
|
|
36
|
-
*/
|
|
37
|
-
export interface PinnedIdentity {
|
|
38
|
-
daemonId: DaemonId;
|
|
39
|
-
identityPublicKey: Uint8Array; // 32 bytes Ed25519 public key
|
|
40
|
-
firstSeen: Date;
|
|
41
|
-
lastSeen: Date;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
32
|
/** Session keys derived from handshake (directional symmetric keys) */
|
|
45
33
|
export interface SessionKeys {
|
|
46
34
|
/** Key for encrypting client→daemon messages */
|
|
@@ -58,6 +46,7 @@ export interface HandshakeInit {
|
|
|
58
46
|
/** Handshake accept message (daemon → client) */
|
|
59
47
|
export interface HandshakeAccept {
|
|
60
48
|
type: "handshake.accept";
|
|
49
|
+
identityPublicKey: Uint8Array; // Ed25519 identity public key (for TOFU)
|
|
61
50
|
acceptPublicKey: Uint8Array; // X25519 ephemeral public key
|
|
62
51
|
signature: Uint8Array; // Ed25519 signature
|
|
63
52
|
}
|