@modularizer/plat 0.8.0 → 0.10.0

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.
Files changed (99) hide show
  1. package/README.md +75 -0
  2. package/dist/client-entry.d.ts +1 -0
  3. package/dist/client-entry.d.ts.map +1 -1
  4. package/dist/client-entry.js +1 -0
  5. package/dist/client-entry.js.map +1 -1
  6. package/dist/client-server-entry.d.ts +5 -0
  7. package/dist/client-server-entry.d.ts.map +1 -1
  8. package/dist/client-server-entry.js +5 -0
  9. package/dist/client-server-entry.js.map +1 -1
  10. package/dist/client-side-python/runtime.d.ts +1 -0
  11. package/dist/client-side-python/runtime.d.ts.map +1 -1
  12. package/dist/client-side-python/runtime.js +18 -1
  13. package/dist/client-side-python/runtime.js.map +1 -1
  14. package/dist/client-side-server/channel.d.ts +1 -1
  15. package/dist/client-side-server/channel.d.ts.map +1 -1
  16. package/dist/client-side-server/channel.js +113 -4
  17. package/dist/client-side-server/channel.js.map +1 -1
  18. package/dist/client-side-server/identity.d.ts +80 -17
  19. package/dist/client-side-server/identity.d.ts.map +1 -1
  20. package/dist/client-side-server/identity.js +212 -31
  21. package/dist/client-side-server/identity.js.map +1 -1
  22. package/dist/client-side-server/mqtt-webrtc.d.ts +38 -6
  23. package/dist/client-side-server/mqtt-webrtc.d.ts.map +1 -1
  24. package/dist/client-side-server/mqtt-webrtc.js +843 -68
  25. package/dist/client-side-server/mqtt-webrtc.js.map +1 -1
  26. package/dist/client-side-server/plat-bridge.d.ts +40 -0
  27. package/dist/client-side-server/plat-bridge.d.ts.map +1 -0
  28. package/dist/client-side-server/plat-bridge.js +876 -0
  29. package/dist/client-side-server/plat-bridge.js.map +1 -0
  30. package/dist/client-side-server/plat-fetch.d.ts +33 -0
  31. package/dist/client-side-server/plat-fetch.d.ts.map +1 -0
  32. package/dist/client-side-server/plat-fetch.js +199 -0
  33. package/dist/client-side-server/plat-fetch.js.map +1 -0
  34. package/dist/client-side-server/plat-service-worker-client.d.ts +30 -0
  35. package/dist/client-side-server/plat-service-worker-client.d.ts.map +1 -0
  36. package/dist/client-side-server/plat-service-worker-client.js +141 -0
  37. package/dist/client-side-server/plat-service-worker-client.js.map +1 -0
  38. package/dist/client-side-server/plat-service-worker.d.ts +35 -0
  39. package/dist/client-side-server/plat-service-worker.d.ts.map +1 -0
  40. package/dist/client-side-server/plat-service-worker.js +292 -0
  41. package/dist/client-side-server/plat-service-worker.js.map +1 -0
  42. package/dist/client-side-server/protocol.d.ts +90 -3
  43. package/dist/client-side-server/protocol.d.ts.map +1 -1
  44. package/dist/client-side-server/protocol.js +110 -0
  45. package/dist/client-side-server/protocol.js.map +1 -1
  46. package/dist/client-side-server/runtime.d.ts +9 -0
  47. package/dist/client-side-server/runtime.d.ts.map +1 -1
  48. package/dist/client-side-server/runtime.js +44 -13
  49. package/dist/client-side-server/runtime.js.map +1 -1
  50. package/dist/client-side-server/secure-crypto.d.ts +35 -0
  51. package/dist/client-side-server/secure-crypto.d.ts.map +1 -0
  52. package/dist/client-side-server/secure-crypto.js +171 -0
  53. package/dist/client-side-server/secure-crypto.js.map +1 -0
  54. package/dist/client-side-server/server.d.ts +17 -0
  55. package/dist/client-side-server/server.d.ts.map +1 -1
  56. package/dist/client-side-server/server.js +111 -7
  57. package/dist/client-side-server/server.js.map +1 -1
  58. package/dist/client-side-server/signaling.d.ts +1 -0
  59. package/dist/client-side-server/signaling.d.ts.map +1 -1
  60. package/dist/client-side-server/signaling.js.map +1 -1
  61. package/dist/generated/python-browser-sources.js +4 -4
  62. package/dist/generated/python-browser-sources.js.map +1 -1
  63. package/dist/server/authority-server.d.ts +4 -4
  64. package/dist/server/authority-server.d.ts.map +1 -1
  65. package/dist/server/authority-server.js +23 -21
  66. package/dist/server/authority-server.js.map +1 -1
  67. package/dist/server/core.d.ts +8 -0
  68. package/dist/server/core.d.ts.map +1 -1
  69. package/dist/server/core.js +21 -0
  70. package/dist/server/core.js.map +1 -1
  71. package/dist/server/server.d.ts +4 -0
  72. package/dist/server/server.d.ts.map +1 -1
  73. package/dist/server/server.js +81 -2
  74. package/dist/server/server.js.map +1 -1
  75. package/dist/static/file-response.d.ts +42 -0
  76. package/dist/static/file-response.d.ts.map +1 -0
  77. package/dist/static/file-response.js +57 -0
  78. package/dist/static/file-response.js.map +1 -0
  79. package/dist/static/glob-match.d.ts +16 -0
  80. package/dist/static/glob-match.d.ts.map +1 -0
  81. package/dist/static/glob-match.js +48 -0
  82. package/dist/static/glob-match.js.map +1 -0
  83. package/dist/static/index.d.ts +9 -0
  84. package/dist/static/index.d.ts.map +1 -0
  85. package/dist/static/index.js +6 -0
  86. package/dist/static/index.js.map +1 -0
  87. package/dist/static/mime-types.d.ts +6 -0
  88. package/dist/static/mime-types.d.ts.map +1 -0
  89. package/dist/static/mime-types.js +74 -0
  90. package/dist/static/mime-types.js.map +1 -0
  91. package/dist/static/static-folder.d.ts +69 -0
  92. package/dist/static/static-folder.d.ts.map +1 -0
  93. package/dist/static/static-folder.js +206 -0
  94. package/dist/static/static-folder.js.map +1 -0
  95. package/dist/static/virtual-file-system.d.ts +45 -0
  96. package/dist/static/virtual-file-system.d.ts.map +1 -0
  97. package/dist/static/virtual-file-system.js +100 -0
  98. package/dist/static/virtual-file-system.js.map +1 -0
  99. package/package.json +5 -1
@@ -17,6 +17,24 @@ export interface ClientSideServerPublicIdentity {
17
17
  fingerprint: string;
18
18
  createdAt?: number;
19
19
  }
20
+ export interface ClientSideServerEncryptionKeyPair {
21
+ algorithm: 'X25519';
22
+ publicKeyJwk: JsonWebKey;
23
+ privateKeyJwk: JsonWebKey;
24
+ keyId: string;
25
+ createdAt: number;
26
+ }
27
+ export interface ClientSideServerEncryptionPublicIdentity {
28
+ algorithm: 'X25519';
29
+ publicKeyJwk: JsonWebKey;
30
+ keyId: string;
31
+ fingerprint: string;
32
+ createdAt?: number;
33
+ }
34
+ export interface ClientSideServerResolvedIdentityBundle {
35
+ signing: ClientSideServerPublicIdentity;
36
+ encryption: ClientSideServerEncryptionPublicIdentity;
37
+ }
20
38
  export interface ClientSideServerTrustedServerRecord {
21
39
  serverName: string;
22
40
  publicKeyJwk: JsonWebKey;
@@ -25,6 +43,18 @@ export interface ClientSideServerTrustedServerRecord {
25
43
  trustedAt: number;
26
44
  source: 'first-use' | 'authority' | 'manual';
27
45
  }
46
+ export interface ClientSideServerTrustedServerRecordV2 {
47
+ serverName: string;
48
+ signingPublicKeyJwk: JsonWebKey;
49
+ encryptionPublicKeyJwk: JsonWebKey;
50
+ signingKeyId?: string;
51
+ encryptionKeyId?: string;
52
+ signingFingerprint: string;
53
+ encryptionFingerprint: string;
54
+ trustedAt: number;
55
+ source: 'first-use' | 'authority' | 'manual';
56
+ }
57
+ export type ClientSideServerAnyTrustedServerRecord = ClientSideServerTrustedServerRecord | ClientSideServerTrustedServerRecordV2;
28
58
  export interface ClientSideServerSignedAuthorityRecord {
29
59
  protocol: 'plat-css-authority-v1';
30
60
  serverName: string;
@@ -34,6 +64,18 @@ export interface ClientSideServerSignedAuthorityRecord {
34
64
  issuedAt: number;
35
65
  signature: string;
36
66
  }
67
+ export interface ClientSideServerSignedAuthorityRecordV2 {
68
+ protocol: 'plat-css-authority-v2';
69
+ serverName: string;
70
+ signingPublicKeyJwk: JsonWebKey;
71
+ encryptionPublicKeyJwk: JsonWebKey;
72
+ signingKeyId?: string;
73
+ encryptionKeyId?: string;
74
+ authorityName?: string;
75
+ issuedAt: number;
76
+ signature: string;
77
+ }
78
+ export type ClientSideServerAnyAuthorityRecord = ClientSideServerSignedAuthorityRecord | ClientSideServerSignedAuthorityRecordV2;
37
79
  export interface GenerateClientSideServerKeyPairOptions {
38
80
  keyId?: string;
39
81
  }
@@ -57,12 +99,12 @@ export interface ClientSideServerAuthorityResolverOptions extends ClientSideServ
57
99
  export interface ClientSideServerAuthorityServer {
58
100
  authorityName?: string;
59
101
  publicKeyJwk: JsonWebKey;
60
- resolve(serverName: string): Promise<ClientSideServerSignedAuthorityRecord | null>;
102
+ resolve(serverName: string): Promise<ClientSideServerAnyAuthorityRecord | null>;
61
103
  }
62
104
  export interface StaticClientSideServerAuthorityRegistryOptions {
63
105
  authorityKeyPair: ClientSideServerExportedKeyPair;
64
106
  authorityName?: string;
65
- records?: Record<string, JsonWebKey | ClientSideServerPublicIdentity | ClientSideServerTrustedServerRecord>;
107
+ records?: Record<string, JsonWebKey | ClientSideServerPublicIdentity | ClientSideServerTrustedServerRecord | ClientSideServerTrustedServerRecordV2 | ClientSideServerResolvedIdentityBundle>;
66
108
  }
67
109
  export interface FetchClientSideServerAuthorityServerOptions {
68
110
  baseUrl: string;
@@ -72,13 +114,16 @@ export interface FetchClientSideServerAuthorityServerOptions {
72
114
  fetchImpl?: typeof fetch;
73
115
  }
74
116
  export declare function createInMemoryClientSideServerStorage(initial?: Record<string, string>): ClientSideServerStorageLike;
75
- export declare function saveTrustedClientSideServerRecordToMap(knownHosts: Record<string, ClientSideServerTrustedServerRecord | ClientSideServerTrustedServerRecord[]>, record: ClientSideServerTrustedServerRecord): void;
76
- export declare function loadTrustedClientSideServerRecordFromMap(knownHosts: Record<string, ClientSideServerTrustedServerRecord | ClientSideServerTrustedServerRecord[]> | undefined, serverName: string): ClientSideServerTrustedServerRecord | null;
77
- export declare function loadAllTrustedClientSideServerRecordsForName(knownHosts: Record<string, ClientSideServerTrustedServerRecord | ClientSideServerTrustedServerRecord[]> | undefined, serverName: string): ClientSideServerTrustedServerRecord[];
78
- export declare function isTrustedPublicKeyForServer(knownHosts: Record<string, ClientSideServerTrustedServerRecord | ClientSideServerTrustedServerRecord[]> | undefined, serverName: string, publicKeyJwk: JsonWebKey): boolean;
117
+ export declare function saveTrustedClientSideServerRecordToMap(knownHosts: Record<string, ClientSideServerAnyTrustedServerRecord | ClientSideServerAnyTrustedServerRecord[]>, record: ClientSideServerAnyTrustedServerRecord): void;
118
+ export declare function loadTrustedClientSideServerRecordFromMap(knownHosts: Record<string, ClientSideServerAnyTrustedServerRecord | ClientSideServerAnyTrustedServerRecord[]> | undefined, serverName: string): ClientSideServerAnyTrustedServerRecord | null;
119
+ export declare function loadAllTrustedClientSideServerRecordsForName(knownHosts: Record<string, ClientSideServerAnyTrustedServerRecord | ClientSideServerAnyTrustedServerRecord[]> | undefined, serverName: string): ClientSideServerAnyTrustedServerRecord[];
120
+ export declare function isTrustedPublicKeyForServer(knownHosts: Record<string, ClientSideServerAnyTrustedServerRecord | ClientSideServerAnyTrustedServerRecord[]> | undefined, serverName: string, publicKeyJwk: JsonWebKey): boolean;
79
121
  export declare function generateClientSideServerIdentityKeyPair(options?: GenerateClientSideServerKeyPairOptions): Promise<ClientSideServerExportedKeyPair>;
80
122
  export declare function createClientSideServerKeyId(publicKeyJwk: JsonWebKey): Promise<string>;
123
+ export declare function generateClientSideServerEncryptionKeyPair(options?: GenerateClientSideServerKeyPairOptions): Promise<ClientSideServerEncryptionKeyPair>;
124
+ export declare function createClientSideServerEncryptionKeyId(publicKeyJwk: JsonWebKey): Promise<string>;
81
125
  export declare function getClientSideServerPublicKeyFingerprint(publicKeyJwk: JsonWebKey): Promise<string>;
126
+ export declare function getClientSideServerEncryptionPublicKeyFingerprint(publicKeyJwk: JsonWebKey): Promise<string>;
82
127
  export declare function signClientSideServerChallenge(keyPair: ClientSideServerExportedKeyPair, challenge: string): Promise<string>;
83
128
  export declare function verifyClientSideServerChallenge(publicKeyJwk: JsonWebKey, challenge: string, signature: string): Promise<boolean>;
84
129
  export declare function buildClientSideServerIdentityChallenge(input: {
@@ -94,25 +139,43 @@ export declare function createSignedClientSideServerAuthorityRecord(authorityKey
94
139
  issuedAt?: number;
95
140
  }): Promise<ClientSideServerSignedAuthorityRecord>;
96
141
  export declare function verifySignedClientSideServerAuthorityRecord(record: ClientSideServerSignedAuthorityRecord, authorityPublicKeyJwk: JsonWebKey): Promise<boolean>;
142
+ export declare function createSignedClientSideServerAuthorityRecordV2(authorityKeyPair: ClientSideServerExportedKeyPair, input: {
143
+ serverName: string;
144
+ signingPublicKeyJwk: JsonWebKey;
145
+ encryptionPublicKeyJwk: JsonWebKey;
146
+ signingKeyId?: string;
147
+ encryptionKeyId?: string;
148
+ authorityName?: string;
149
+ issuedAt?: number;
150
+ }): Promise<ClientSideServerSignedAuthorityRecordV2>;
151
+ export declare function verifySignedClientSideServerAuthorityRecordV2(record: ClientSideServerSignedAuthorityRecordV2, authorityPublicKeyJwk: JsonWebKey): Promise<boolean>;
152
+ export declare function verifyAnySignedClientSideServerAuthorityRecord(record: ClientSideServerAnyAuthorityRecord, authorityPublicKeyJwk: JsonWebKey): Promise<boolean>;
97
153
  export declare function toClientSideServerPublicIdentity(keyPair: ClientSideServerExportedKeyPair): Promise<ClientSideServerPublicIdentity>;
154
+ export declare function toClientSideServerEncryptionPublicIdentity(keyPair: ClientSideServerEncryptionKeyPair): Promise<ClientSideServerEncryptionPublicIdentity>;
98
155
  export declare function saveClientSideServerIdentityKeyPair(keyPair: ClientSideServerExportedKeyPair, options?: ClientSideServerKeyPairStoreOptions): void;
99
156
  export declare function loadClientSideServerIdentityKeyPair(options?: ClientSideServerKeyPairStoreOptions): ClientSideServerExportedKeyPair | null;
100
157
  export declare function getOrCreateClientSideServerIdentityKeyPair(options?: ClientSideServerKeyPairStoreOptions & GenerateClientSideServerKeyPairOptions): Promise<ClientSideServerExportedKeyPair>;
101
- export declare function saveTrustedClientSideServerRecord(record: ClientSideServerTrustedServerRecord, options?: ClientSideServerKnownHostsStoreOptions): void;
102
- export declare function loadTrustedClientSideServerRecord(serverName: string, options?: ClientSideServerKnownHostsStoreOptions): ClientSideServerTrustedServerRecord | null;
103
- export declare function loadAllTrustedClientSideServerRecords(options?: ClientSideServerKnownHostsStoreOptions): Record<string, ClientSideServerTrustedServerRecord>;
104
- export declare function saveClientSideServerAuthorityRecord(record: ClientSideServerSignedAuthorityRecord, options?: ClientSideServerAuthorityStoreOptions): void;
105
- export declare function loadClientSideServerAuthorityRecord(serverName: string, options?: ClientSideServerAuthorityStoreOptions): ClientSideServerSignedAuthorityRecord | null;
106
- export declare function loadAllClientSideServerAuthorityRecords(options?: ClientSideServerAuthorityStoreOptions): Record<string, ClientSideServerSignedAuthorityRecord>;
158
+ export declare function saveClientSideServerEncryptionKeyPair(keyPair: ClientSideServerEncryptionKeyPair, options?: ClientSideServerKeyPairStoreOptions): void;
159
+ export declare function loadClientSideServerEncryptionKeyPair(options?: ClientSideServerKeyPairStoreOptions): ClientSideServerEncryptionKeyPair | null;
160
+ export declare function getOrCreateClientSideServerEncryptionKeyPair(options?: ClientSideServerKeyPairStoreOptions & GenerateClientSideServerKeyPairOptions): Promise<ClientSideServerEncryptionKeyPair>;
161
+ export declare function saveTrustedClientSideServerRecord(record: ClientSideServerAnyTrustedServerRecord, options?: ClientSideServerKnownHostsStoreOptions): void;
162
+ export declare function loadTrustedClientSideServerRecord(serverName: string, options?: ClientSideServerKnownHostsStoreOptions): ClientSideServerAnyTrustedServerRecord | null;
163
+ export declare function loadAllTrustedClientSideServerRecords(options?: ClientSideServerKnownHostsStoreOptions): Record<string, ClientSideServerAnyTrustedServerRecord>;
164
+ export declare function saveClientSideServerAuthorityRecord(record: ClientSideServerAnyAuthorityRecord, options?: ClientSideServerAuthorityStoreOptions): void;
165
+ export declare function loadClientSideServerAuthorityRecord(serverName: string, options?: ClientSideServerAuthorityStoreOptions): ClientSideServerAnyAuthorityRecord | null;
166
+ export declare function loadAllClientSideServerAuthorityRecords(options?: ClientSideServerAuthorityStoreOptions): Record<string, ClientSideServerAnyAuthorityRecord>;
107
167
  export declare function trustClientSideServerOnFirstUse(serverName: string, identity: ClientSideServerPublicIdentity, options?: ClientSideServerKnownHostsStoreOptions): Promise<ClientSideServerTrustedServerRecord>;
108
- export declare function trustClientSideServerFromAuthorityRecord(record: ClientSideServerSignedAuthorityRecord, authorityPublicKeyJwk: JsonWebKey, options?: ClientSideServerKnownHostsStoreOptions): Promise<ClientSideServerTrustedServerRecord>;
109
- export declare function createClientSideServerAuthorityResolver(options: ClientSideServerAuthorityResolverOptions): (serverName: string) => Promise<ClientSideServerTrustedServerRecord | null>;
168
+ export declare function trustClientSideServerFromAuthorityRecord(record: ClientSideServerAnyAuthorityRecord, authorityPublicKeyJwk: JsonWebKey, options?: ClientSideServerKnownHostsStoreOptions): Promise<ClientSideServerAnyTrustedServerRecord>;
169
+ export declare function createClientSideServerAuthorityResolver(options: ClientSideServerAuthorityResolverOptions): (serverName: string) => Promise<ClientSideServerAnyTrustedServerRecord | null>;
110
170
  export declare function createStaticClientSideServerAuthorityRegistry(options: StaticClientSideServerAuthorityRegistryOptions): {
111
- register(serverName: string, value: JsonWebKey | ClientSideServerPublicIdentity | ClientSideServerTrustedServerRecord): void;
112
- resolve(serverName: string): Promise<ClientSideServerSignedAuthorityRecord | null>;
171
+ register(serverName: string, value: JsonWebKey | ClientSideServerPublicIdentity | ClientSideServerTrustedServerRecord | ClientSideServerTrustedServerRecordV2 | ClientSideServerResolvedIdentityBundle): void;
172
+ resolve(serverName: string): Promise<ClientSideServerAnyAuthorityRecord | null>;
113
173
  createServer(): ClientSideServerAuthorityServer;
114
174
  };
115
175
  export declare function createFetchClientSideServerAuthorityServer(options: FetchClientSideServerAuthorityServerOptions): ClientSideServerAuthorityServer;
116
- export declare function resolveTrustedClientSideServerFromAuthorities(serverName: string, authorityServers: ClientSideServerAuthorityServer[], options?: ClientSideServerKnownHostsStoreOptions): Promise<ClientSideServerTrustedServerRecord | null>;
176
+ export declare function resolveTrustedClientSideServerFromAuthorities(serverName: string, authorityServers: ClientSideServerAuthorityServer[], options?: ClientSideServerKnownHostsStoreOptions): Promise<ClientSideServerAnyTrustedServerRecord | null>;
117
177
  export declare function clientSideServerPublicKeysEqual(a: JsonWebKey, b: JsonWebKey): boolean;
178
+ export declare function isClientSideServerTrustedServerRecordV2(value: ClientSideServerAnyTrustedServerRecord | unknown): value is ClientSideServerTrustedServerRecordV2;
179
+ export declare function isClientSideServerSignedAuthorityRecordV2(value: ClientSideServerAnyAuthorityRecord | unknown): value is ClientSideServerSignedAuthorityRecordV2;
180
+ export declare function trustedClientSideServerRecordToResolvedIdentityBundle(record: ClientSideServerAnyTrustedServerRecord): Promise<ClientSideServerResolvedIdentityBundle | null>;
118
181
  //# sourceMappingURL=identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/client-side-server/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/client-side-server/identity.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export function saveTrustedClientSideServerRecordToMap(knownHosts, record) {
19
19
  return;
20
20
  }
21
21
  const list = Array.isArray(existing) ? existing : [existing];
22
- const idx = list.findIndex((r) => clientSideServerPublicKeysEqual(r.publicKeyJwk, record.publicKeyJwk));
22
+ const idx = list.findIndex((r) => clientSideServerPublicKeysEqual(getSigningPublicKeyJwk(r), getSigningPublicKeyJwk(record)));
23
23
  if (idx >= 0) {
24
24
  list[idx] = record;
25
25
  }
@@ -46,7 +46,7 @@ export function loadAllTrustedClientSideServerRecordsForName(knownHosts, serverN
46
46
  }
47
47
  export function isTrustedPublicKeyForServer(knownHosts, serverName, publicKeyJwk) {
48
48
  const records = loadAllTrustedClientSideServerRecordsForName(knownHosts, serverName);
49
- return records.some((r) => clientSideServerPublicKeysEqual(r.publicKeyJwk, publicKeyJwk));
49
+ return records.some((r) => clientSideServerPublicKeysEqual(getSigningPublicKeyJwk(r), publicKeyJwk));
50
50
  }
51
51
  export async function generateClientSideServerIdentityKeyPair(options = {}) {
52
52
  const subtle = await resolveSubtle();
@@ -68,11 +68,35 @@ export async function createClientSideServerKeyId(publicKeyJwk) {
68
68
  const fingerprint = await getClientSideServerPublicKeyFingerprint(publicKeyJwk);
69
69
  return `cssk-${fingerprint.slice(0, 16)}`;
70
70
  }
71
+ export async function generateClientSideServerEncryptionKeyPair(options = {}) {
72
+ const subtle = await resolveSubtle();
73
+ const keyPair = await subtle.generateKey({
74
+ name: 'X25519',
75
+ }, true, ['deriveKey', 'deriveBits']);
76
+ const publicKeyJwk = await subtle.exportKey('jwk', keyPair.publicKey);
77
+ const privateKeyJwk = await subtle.exportKey('jwk', keyPair.privateKey);
78
+ return {
79
+ algorithm: 'X25519',
80
+ publicKeyJwk,
81
+ privateKeyJwk,
82
+ keyId: options.keyId ?? await createClientSideServerEncryptionKeyId(publicKeyJwk),
83
+ createdAt: Date.now(),
84
+ };
85
+ }
86
+ export async function createClientSideServerEncryptionKeyId(publicKeyJwk) {
87
+ const fingerprint = await getClientSideServerEncryptionPublicKeyFingerprint(publicKeyJwk);
88
+ return `csse-${fingerprint.slice(0, 16)}`;
89
+ }
71
90
  export async function getClientSideServerPublicKeyFingerprint(publicKeyJwk) {
72
91
  const subtle = await resolveSubtle();
73
92
  const digest = await subtle.digest('SHA-256', toBufferSource(encodeUtf8(stableStringify(publicKeyJwk))));
74
93
  return base64UrlEncode(new Uint8Array(digest));
75
94
  }
95
+ export async function getClientSideServerEncryptionPublicKeyFingerprint(publicKeyJwk) {
96
+ const subtle = await resolveSubtle();
97
+ const digest = await subtle.digest('SHA-256', toBufferSource(encodeUtf8(stableStringify(publicKeyJwk))));
98
+ return base64UrlEncode(new Uint8Array(digest));
99
+ }
76
100
  export async function signClientSideServerChallenge(keyPair, challenge) {
77
101
  const subtle = await resolveSubtle();
78
102
  const privateKey = await subtle.importKey('jwk', keyPair.privateKeyJwk, {
@@ -120,6 +144,34 @@ export async function verifySignedClientSideServerAuthorityRecord(record, author
120
144
  return false;
121
145
  return verifyClientSideServerChallenge(authorityPublicKeyJwk, stableStringify(payload), signature);
122
146
  }
147
+ export async function createSignedClientSideServerAuthorityRecordV2(authorityKeyPair, input) {
148
+ const payload = {
149
+ protocol: 'plat-css-authority-v2',
150
+ serverName: input.serverName,
151
+ signingPublicKeyJwk: input.signingPublicKeyJwk,
152
+ encryptionPublicKeyJwk: input.encryptionPublicKeyJwk,
153
+ signingKeyId: input.signingKeyId,
154
+ encryptionKeyId: input.encryptionKeyId,
155
+ authorityName: input.authorityName,
156
+ issuedAt: input.issuedAt ?? Date.now(),
157
+ };
158
+ const signature = await signClientSideServerChallenge(authorityKeyPair, stableStringify(payload));
159
+ return {
160
+ ...payload,
161
+ signature,
162
+ };
163
+ }
164
+ export async function verifySignedClientSideServerAuthorityRecordV2(record, authorityPublicKeyJwk) {
165
+ const { signature, ...payload } = record;
166
+ if (payload.protocol !== 'plat-css-authority-v2')
167
+ return false;
168
+ return verifyClientSideServerChallenge(authorityPublicKeyJwk, stableStringify(payload), signature);
169
+ }
170
+ export async function verifyAnySignedClientSideServerAuthorityRecord(record, authorityPublicKeyJwk) {
171
+ return isClientSideServerSignedAuthorityRecordV2(record)
172
+ ? verifySignedClientSideServerAuthorityRecordV2(record, authorityPublicKeyJwk)
173
+ : verifySignedClientSideServerAuthorityRecord(record, authorityPublicKeyJwk);
174
+ }
123
175
  export async function toClientSideServerPublicIdentity(keyPair) {
124
176
  return {
125
177
  algorithm: keyPair.algorithm,
@@ -129,6 +181,15 @@ export async function toClientSideServerPublicIdentity(keyPair) {
129
181
  fingerprint: await getClientSideServerPublicKeyFingerprint(keyPair.publicKeyJwk),
130
182
  };
131
183
  }
184
+ export async function toClientSideServerEncryptionPublicIdentity(keyPair) {
185
+ return {
186
+ algorithm: keyPair.algorithm,
187
+ publicKeyJwk: keyPair.publicKeyJwk,
188
+ keyId: keyPair.keyId,
189
+ createdAt: keyPair.createdAt,
190
+ fingerprint: await getClientSideServerEncryptionPublicKeyFingerprint(keyPair.publicKeyJwk),
191
+ };
192
+ }
132
193
  export function saveClientSideServerIdentityKeyPair(keyPair, options = {}) {
133
194
  const storage = resolveStorage(options.storage);
134
195
  if (!storage)
@@ -155,6 +216,32 @@ export async function getOrCreateClientSideServerIdentityKeyPair(options = {}) {
155
216
  }
156
217
  return created;
157
218
  }
219
+ export function saveClientSideServerEncryptionKeyPair(keyPair, options = {}) {
220
+ const storage = resolveStorage(options.storage);
221
+ if (!storage)
222
+ throw new Error('No storage available to save a client-side server encryption key pair');
223
+ storage.setItem(options.storageKey ?? 'plat-css:enc-keypair', JSON.stringify(keyPair));
224
+ }
225
+ export function loadClientSideServerEncryptionKeyPair(options = {}) {
226
+ const storage = resolveStorage(options.storage);
227
+ if (!storage)
228
+ return null;
229
+ const raw = storage.getItem(options.storageKey ?? 'plat-css:enc-keypair');
230
+ if (!raw)
231
+ return null;
232
+ return JSON.parse(raw);
233
+ }
234
+ export async function getOrCreateClientSideServerEncryptionKeyPair(options = {}) {
235
+ const existing = loadClientSideServerEncryptionKeyPair(options);
236
+ if (existing)
237
+ return existing;
238
+ const created = await generateClientSideServerEncryptionKeyPair(options);
239
+ const storage = resolveStorage(options.storage);
240
+ if (storage) {
241
+ storage.setItem(options.storageKey ?? 'plat-css:enc-keypair', JSON.stringify(created));
242
+ }
243
+ return created;
244
+ }
158
245
  export function saveTrustedClientSideServerRecord(record, options = {}) {
159
246
  const storage = resolveStorage(options.storage);
160
247
  if (!storage)
@@ -210,18 +297,30 @@ export async function trustClientSideServerOnFirstUse(serverName, identity, opti
210
297
  return record;
211
298
  }
212
299
  export async function trustClientSideServerFromAuthorityRecord(record, authorityPublicKeyJwk, options = {}) {
213
- const valid = await verifySignedClientSideServerAuthorityRecord(record, authorityPublicKeyJwk);
300
+ const valid = await verifyAnySignedClientSideServerAuthorityRecord(record, authorityPublicKeyJwk);
214
301
  if (!valid) {
215
302
  throw new Error(`Authority record for ${record.serverName} failed signature verification`);
216
303
  }
217
- const trusted = {
218
- serverName: record.serverName,
219
- publicKeyJwk: record.publicKeyJwk,
220
- keyId: record.keyId,
221
- fingerprint: await getClientSideServerPublicKeyFingerprint(record.publicKeyJwk),
222
- trustedAt: Date.now(),
223
- source: 'authority',
224
- };
304
+ const trusted = isClientSideServerSignedAuthorityRecordV2(record)
305
+ ? {
306
+ serverName: record.serverName,
307
+ signingPublicKeyJwk: record.signingPublicKeyJwk,
308
+ encryptionPublicKeyJwk: record.encryptionPublicKeyJwk,
309
+ signingKeyId: record.signingKeyId,
310
+ encryptionKeyId: record.encryptionKeyId,
311
+ signingFingerprint: await getClientSideServerPublicKeyFingerprint(record.signingPublicKeyJwk),
312
+ encryptionFingerprint: await getClientSideServerEncryptionPublicKeyFingerprint(record.encryptionPublicKeyJwk),
313
+ trustedAt: Date.now(),
314
+ source: 'authority',
315
+ }
316
+ : {
317
+ serverName: record.serverName,
318
+ publicKeyJwk: record.publicKeyJwk,
319
+ keyId: record.keyId,
320
+ fingerprint: await getClientSideServerPublicKeyFingerprint(record.publicKeyJwk),
321
+ trustedAt: Date.now(),
322
+ source: 'authority',
323
+ };
225
324
  saveTrustedClientSideServerRecord(trusted, options);
226
325
  return trusted;
227
326
  }
@@ -239,35 +338,55 @@ export function createClientSideServerAuthorityResolver(options) {
239
338
  export function createStaticClientSideServerAuthorityRegistry(options) {
240
339
  const records = new Map();
241
340
  for (const [serverName, value] of Object.entries(options.records ?? {})) {
242
- records.set(serverName, normalizePublicKey(value));
341
+ records.set(serverName, normalizeAuthorityIdentity(value));
243
342
  }
244
343
  return {
245
344
  register(serverName, value) {
246
- records.set(serverName, normalizePublicKey(value));
345
+ records.set(serverName, normalizeAuthorityIdentity(value));
247
346
  },
248
347
  async resolve(serverName) {
249
- const publicKeyJwk = records.get(serverName);
250
- if (!publicKeyJwk)
348
+ const record = records.get(serverName);
349
+ if (!record)
251
350
  return null;
252
- return createSignedClientSideServerAuthorityRecord(options.authorityKeyPair, {
253
- serverName,
254
- publicKeyJwk,
255
- authorityName: options.authorityName,
256
- });
351
+ return record.encryptionPublicKeyJwk
352
+ ? createSignedClientSideServerAuthorityRecordV2(options.authorityKeyPair, {
353
+ serverName,
354
+ signingPublicKeyJwk: record.signingPublicKeyJwk,
355
+ encryptionPublicKeyJwk: record.encryptionPublicKeyJwk,
356
+ signingKeyId: record.signingKeyId,
357
+ encryptionKeyId: record.encryptionKeyId,
358
+ authorityName: options.authorityName,
359
+ })
360
+ : createSignedClientSideServerAuthorityRecord(options.authorityKeyPair, {
361
+ serverName,
362
+ publicKeyJwk: record.signingPublicKeyJwk,
363
+ keyId: record.signingKeyId,
364
+ authorityName: options.authorityName,
365
+ });
257
366
  },
258
367
  createServer() {
259
368
  return {
260
369
  authorityName: options.authorityName,
261
370
  publicKeyJwk: options.authorityKeyPair.publicKeyJwk,
262
371
  resolve: async (serverName) => {
263
- const publicKeyJwk = records.get(serverName);
264
- if (!publicKeyJwk)
372
+ const record = records.get(serverName);
373
+ if (!record)
265
374
  return null;
266
- return createSignedClientSideServerAuthorityRecord(options.authorityKeyPair, {
267
- serverName,
268
- publicKeyJwk,
269
- authorityName: options.authorityName,
270
- });
375
+ return record.encryptionPublicKeyJwk
376
+ ? createSignedClientSideServerAuthorityRecordV2(options.authorityKeyPair, {
377
+ serverName,
378
+ signingPublicKeyJwk: record.signingPublicKeyJwk,
379
+ encryptionPublicKeyJwk: record.encryptionPublicKeyJwk,
380
+ signingKeyId: record.signingKeyId,
381
+ encryptionKeyId: record.encryptionKeyId,
382
+ authorityName: options.authorityName,
383
+ })
384
+ : createSignedClientSideServerAuthorityRecord(options.authorityKeyPair, {
385
+ serverName,
386
+ publicKeyJwk: record.signingPublicKeyJwk,
387
+ keyId: record.signingKeyId,
388
+ authorityName: options.authorityName,
389
+ });
271
390
  },
272
391
  };
273
392
  },
@@ -316,6 +435,37 @@ export async function resolveTrustedClientSideServerFromAuthorities(serverName,
316
435
  export function clientSideServerPublicKeysEqual(a, b) {
317
436
  return stableStringify(a) === stableStringify(b);
318
437
  }
438
+ export function isClientSideServerTrustedServerRecordV2(value) {
439
+ return Boolean(value
440
+ && typeof value === 'object'
441
+ && 'signingPublicKeyJwk' in value
442
+ && 'encryptionPublicKeyJwk' in value);
443
+ }
444
+ export function isClientSideServerSignedAuthorityRecordV2(value) {
445
+ return Boolean(value
446
+ && typeof value === 'object'
447
+ && value.protocol === 'plat-css-authority-v2'
448
+ && 'signingPublicKeyJwk' in value
449
+ && 'encryptionPublicKeyJwk' in value);
450
+ }
451
+ export async function trustedClientSideServerRecordToResolvedIdentityBundle(record) {
452
+ if (!isClientSideServerTrustedServerRecordV2(record))
453
+ return null;
454
+ return {
455
+ signing: {
456
+ algorithm: 'ECDSA-P256',
457
+ publicKeyJwk: record.signingPublicKeyJwk,
458
+ keyId: record.signingKeyId ?? await createClientSideServerKeyId(record.signingPublicKeyJwk),
459
+ fingerprint: record.signingFingerprint,
460
+ },
461
+ encryption: {
462
+ algorithm: 'X25519',
463
+ publicKeyJwk: record.encryptionPublicKeyJwk,
464
+ keyId: record.encryptionKeyId ?? await createClientSideServerEncryptionKeyId(record.encryptionPublicKeyJwk),
465
+ fingerprint: record.encryptionFingerprint,
466
+ },
467
+ };
468
+ }
319
469
  function resolveStorage(storage) {
320
470
  if (storage)
321
471
  return storage;
@@ -323,10 +473,41 @@ function resolveStorage(storage) {
323
473
  return localStorage;
324
474
  return null;
325
475
  }
326
- function normalizePublicKey(value) {
327
- if ('publicKeyJwk' in value)
328
- return value.publicKeyJwk;
329
- return value;
476
+ function getSigningPublicKeyJwk(record) {
477
+ return isClientSideServerTrustedServerRecordV2(record) ? record.signingPublicKeyJwk : record.publicKeyJwk;
478
+ }
479
+ function normalizeAuthorityIdentity(value) {
480
+ if (isResolvedIdentityBundle(value)) {
481
+ return {
482
+ signingPublicKeyJwk: value.signing.publicKeyJwk,
483
+ encryptionPublicKeyJwk: value.encryption.publicKeyJwk,
484
+ signingKeyId: value.signing.keyId,
485
+ encryptionKeyId: value.encryption.keyId,
486
+ };
487
+ }
488
+ if (isClientSideServerTrustedServerRecordV2(value)) {
489
+ return {
490
+ signingPublicKeyJwk: value.signingPublicKeyJwk,
491
+ encryptionPublicKeyJwk: value.encryptionPublicKeyJwk,
492
+ signingKeyId: value.signingKeyId,
493
+ encryptionKeyId: value.encryptionKeyId,
494
+ };
495
+ }
496
+ if ('publicKeyJwk' in value) {
497
+ return {
498
+ signingPublicKeyJwk: value.publicKeyJwk,
499
+ signingKeyId: 'keyId' in value ? value.keyId : undefined,
500
+ };
501
+ }
502
+ return {
503
+ signingPublicKeyJwk: value,
504
+ };
505
+ }
506
+ function isResolvedIdentityBundle(value) {
507
+ return Boolean(value
508
+ && typeof value === 'object'
509
+ && 'signing' in value
510
+ && 'encryption' in value);
330
511
  }
331
512
  function stableStringify(value) {
332
513
  return JSON.stringify(sortValue(value));
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/client-side-server/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/client-side-server/identity.ts"],"names":[],"mappings":"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"}