@agentunion/fastaun-browser 0.3.2 → 0.3.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/CHANGELOG.md +19 -0
- package/_packed_docs/CHANGELOG.md +19 -0
- package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +48 -15
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +182 -28
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +7 -5
- package/_packed_docs/sdk/INDEX.md +17 -12
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +1 -4
- package/dist/auth.js.map +1 -1
- package/dist/bundle.js +2093 -602
- package/dist/client.d.ts +64 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1441 -476
- package/dist/client.js.map +1 -1
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +45 -31
- package/dist/crypto.js.map +1 -1
- package/dist/discovery.d.ts +4 -0
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +16 -11
- package/dist/discovery.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/keystore/index.d.ts +22 -0
- package/dist/keystore/index.d.ts.map +1 -1
- package/dist/keystore/indexeddb.d.ts +4 -1
- package/dist/keystore/indexeddb.d.ts.map +1 -1
- package/dist/keystore/indexeddb.js +104 -1
- package/dist/keystore/indexeddb.js.map +1 -1
- package/dist/logger.d.ts +5 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +8 -2
- package/dist/logger.js.map +1 -1
- package/dist/namespaces/auth.d.ts +1 -0
- package/dist/namespaces/auth.d.ts.map +1 -1
- package/dist/namespaces/auth.js +38 -0
- package/dist/namespaces/auth.js.map +1 -1
- package/dist/seq-tracker.d.ts +5 -3
- package/dist/seq-tracker.d.ts.map +1 -1
- package/dist/seq-tracker.js +30 -3
- package/dist/seq-tracker.js.map +1 -1
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +18 -0
- package/dist/transport.js.map +1 -1
- package/dist/v2/crypto/canonical.d.ts +1 -1
- package/dist/v2/crypto/canonical.d.ts.map +1 -1
- package/dist/v2/crypto/canonical.js +42 -13
- package/dist/v2/crypto/canonical.js.map +1 -1
- package/dist/v2/crypto/ecdh.d.ts.map +1 -1
- package/dist/v2/crypto/ecdh.js +18 -1
- package/dist/v2/crypto/ecdh.js.map +1 -1
- package/dist/v2/e2ee/decrypt.d.ts.map +1 -1
- package/dist/v2/e2ee/decrypt.js +56 -2
- package/dist/v2/e2ee/decrypt.js.map +1 -1
- package/dist/v2/e2ee/encrypt-group.d.ts.map +1 -1
- package/dist/v2/e2ee/encrypt-group.js +16 -6
- package/dist/v2/e2ee/encrypt-group.js.map +1 -1
- package/dist/v2/e2ee/encrypt-p2p.d.ts.map +1 -1
- package/dist/v2/e2ee/encrypt-p2p.js +39 -11
- package/dist/v2/e2ee/encrypt-p2p.js.map +1 -1
- package/dist/v2/e2ee/metadata-auth.d.ts +1 -0
- package/dist/v2/e2ee/metadata-auth.d.ts.map +1 -1
- package/dist/v2/e2ee/metadata-auth.js +51 -0
- package/dist/v2/e2ee/metadata-auth.js.map +1 -1
- package/dist/v2/e2ee/types.d.ts +2 -2
- package/dist/v2/e2ee/types.d.ts.map +1 -1
- package/dist/v2/session/keystore.d.ts +12 -4
- package/dist/v2/session/keystore.d.ts.map +1 -1
- package/dist/v2/session/keystore.js +177 -35
- package/dist/v2/session/keystore.js.map +1 -1
- package/dist/v2/session/session.d.ts +10 -3
- package/dist/v2/session/session.d.ts.map +1 -1
- package/dist/v2/session/session.js +91 -17
- package/dist/v2/session/session.js.map +1 -1
- package/dist/v2/state/commitment.d.ts.map +1 -1
- package/dist/v2/state/commitment.js +4 -1
- package/dist/v2/state/commitment.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keystore.d.ts","sourceRoot":"","sources":["../../../src/v2/session/keystore.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAC9C,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"keystore.d.ts","sourceRoot":"","sources":["../../../src/v2/session/keystore.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,50 @@
|
|
|
8
8
|
* 浏览器目标:所有 IO 是 async(IndexedDB 事务)。
|
|
9
9
|
*/
|
|
10
10
|
export const V2_DB_NAME = 'aun_v2';
|
|
11
|
-
export const V2_DB_VERSION =
|
|
11
|
+
export const V2_DB_VERSION = 3;
|
|
12
12
|
export const V2_STORE_NAME = 'v2_device_keys';
|
|
13
13
|
export const V2_INDEX_BY_DEVICE_TYPE_CREATED = 'by_device_type_created';
|
|
14
|
+
async function spkIdForPubDer(pubDer) {
|
|
15
|
+
const buf = await crypto.subtle.digest('SHA-256', pubDer.slice().buffer);
|
|
16
|
+
const arr = new Uint8Array(buf);
|
|
17
|
+
let hex = '';
|
|
18
|
+
for (let i = 0; i < arr.length; i++)
|
|
19
|
+
hex += arr[i].toString(16).padStart(2, '0');
|
|
20
|
+
return `sha256:${hex.slice(0, 16)}`;
|
|
21
|
+
}
|
|
22
|
+
function migrateRecord(raw) {
|
|
23
|
+
let groupId = String(raw.group_id ?? '');
|
|
24
|
+
let keyId = String(raw.key_id ?? '');
|
|
25
|
+
if ((raw.key_type === 'group_spk' || raw.key_type === 'group_spk_uploaded') && !groupId && keyId.includes('\0')) {
|
|
26
|
+
const parts = keyId.split('\0');
|
|
27
|
+
groupId = parts[0] ?? '';
|
|
28
|
+
keyId = parts.slice(1).join('\0');
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
device_id: String(raw.device_id ?? ''),
|
|
32
|
+
key_type: raw.key_type,
|
|
33
|
+
group_id: groupId,
|
|
34
|
+
key_id: keyId,
|
|
35
|
+
private_key: new Uint8Array(raw.private_key ?? new Uint8Array()),
|
|
36
|
+
public_key: new Uint8Array(raw.public_key ?? new Uint8Array()),
|
|
37
|
+
created_at: Number(raw.created_at ?? Date.now()),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function createV2Store(db) {
|
|
41
|
+
const store = db.createObjectStore(V2_STORE_NAME, {
|
|
42
|
+
keyPath: ['device_id', 'key_type', 'group_id', 'key_id'],
|
|
43
|
+
});
|
|
44
|
+
store.createIndex(V2_INDEX_BY_DEVICE_TYPE_CREATED, ['device_id', 'key_type', 'group_id', 'created_at']);
|
|
45
|
+
return store;
|
|
46
|
+
}
|
|
47
|
+
function recreateScopeCreatedIndex(store) {
|
|
48
|
+
if (store.indexNames.contains(V2_INDEX_BY_DEVICE_TYPE_CREATED)) {
|
|
49
|
+
store.deleteIndex(V2_INDEX_BY_DEVICE_TYPE_CREATED);
|
|
50
|
+
}
|
|
51
|
+
store.createIndex(V2_INDEX_BY_DEVICE_TYPE_CREATED, ['device_id', 'key_type', 'group_id', 'created_at']);
|
|
52
|
+
}
|
|
14
53
|
/**
|
|
15
|
-
* V2 设备密钥持久化存储。复合主键 [device_id, key_type, key_id]。
|
|
54
|
+
* V2 设备密钥持久化存储。复合主键 [device_id, key_type, group_id, key_id]。
|
|
16
55
|
*
|
|
17
56
|
* 使用 IndexedDB;在浏览器内置 indexedDB 不可用时(如 jsdom)请提前安装
|
|
18
57
|
* `fake-indexeddb/auto` 作为 polyfill(见 `tests/setup.ts`)。
|
|
@@ -26,13 +65,32 @@ export class V2KeyStore {
|
|
|
26
65
|
static async open(dbName = V2_DB_NAME) {
|
|
27
66
|
return new Promise((resolve, reject) => {
|
|
28
67
|
const req = indexedDB.open(dbName, V2_DB_VERSION);
|
|
29
|
-
req.onupgradeneeded = () => {
|
|
68
|
+
req.onupgradeneeded = (event) => {
|
|
30
69
|
const db = req.result;
|
|
31
70
|
if (!db.objectStoreNames.contains(V2_STORE_NAME)) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
71
|
+
createV2Store(db);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (event.oldVersion < 2) {
|
|
75
|
+
const tx = req.transaction;
|
|
76
|
+
if (!tx)
|
|
77
|
+
throw new Error('V2KeyStore.open: missing upgrade transaction');
|
|
78
|
+
const oldStore = tx.objectStore(V2_STORE_NAME);
|
|
79
|
+
const getAllReq = oldStore.getAll();
|
|
80
|
+
getAllReq.onsuccess = () => {
|
|
81
|
+
const records = getAllReq.result.map(migrateRecord);
|
|
82
|
+
db.deleteObjectStore(V2_STORE_NAME);
|
|
83
|
+
const store = createV2Store(db);
|
|
84
|
+
for (const record of records)
|
|
85
|
+
store.put(record);
|
|
86
|
+
};
|
|
87
|
+
getAllReq.onerror = () => reject(getAllReq.error);
|
|
88
|
+
}
|
|
89
|
+
else if (event.oldVersion < 3) {
|
|
90
|
+
const tx = req.transaction;
|
|
91
|
+
if (!tx)
|
|
92
|
+
throw new Error('V2KeyStore.open: missing upgrade transaction');
|
|
93
|
+
recreateScopeCreatedIndex(tx.objectStore(V2_STORE_NAME));
|
|
36
94
|
}
|
|
37
95
|
};
|
|
38
96
|
req.onsuccess = () => resolve(new V2KeyStore(req.result));
|
|
@@ -47,11 +105,31 @@ export class V2KeyStore {
|
|
|
47
105
|
store(mode) {
|
|
48
106
|
return this.db.transaction(V2_STORE_NAME, mode).objectStore(V2_STORE_NAME);
|
|
49
107
|
}
|
|
108
|
+
async _listRecordsByTypeNewestFirst(deviceId, keyType, groupId) {
|
|
109
|
+
return new Promise((resolve, reject) => {
|
|
110
|
+
const idx = this.store('readonly').index(V2_INDEX_BY_DEVICE_TYPE_CREATED);
|
|
111
|
+
const range = IDBKeyRange.bound([deviceId, keyType, groupId, -Infinity], [deviceId, keyType, groupId, Infinity]);
|
|
112
|
+
const req = idx.openCursor(range, 'prev');
|
|
113
|
+
const out = [];
|
|
114
|
+
req.onsuccess = () => {
|
|
115
|
+
const cursor = req.result;
|
|
116
|
+
if (cursor) {
|
|
117
|
+
out.push(cursor.value);
|
|
118
|
+
cursor.continue();
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
resolve(out);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
req.onerror = () => reject(req.error);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
50
127
|
// ---------- SPK ----------
|
|
51
128
|
async saveSPK(deviceId, spkId, priv, pubDer) {
|
|
52
129
|
const record = {
|
|
53
130
|
device_id: deviceId,
|
|
54
131
|
key_type: 'spk',
|
|
132
|
+
group_id: '',
|
|
55
133
|
key_id: spkId,
|
|
56
134
|
private_key: priv,
|
|
57
135
|
public_key: pubDer,
|
|
@@ -65,7 +143,7 @@ export class V2KeyStore {
|
|
|
65
143
|
}
|
|
66
144
|
async loadSPK(deviceId, spkId) {
|
|
67
145
|
return new Promise((resolve, reject) => {
|
|
68
|
-
const req = this.store('readonly').get([deviceId, 'spk', spkId]);
|
|
146
|
+
const req = this.store('readonly').get([deviceId, 'spk', '', spkId]);
|
|
69
147
|
req.onsuccess = () => {
|
|
70
148
|
const r = req.result;
|
|
71
149
|
// 用 new Uint8Array(...) 拷贝,规避 fake-indexeddb / 跨 realm 实例对象
|
|
@@ -78,7 +156,7 @@ export class V2KeyStore {
|
|
|
78
156
|
async loadCurrentSPK(deviceId) {
|
|
79
157
|
return new Promise((resolve, reject) => {
|
|
80
158
|
const idx = this.store('readonly').index(V2_INDEX_BY_DEVICE_TYPE_CREATED);
|
|
81
|
-
const range = IDBKeyRange.bound([deviceId, 'spk', -Infinity], [deviceId, 'spk', Infinity]);
|
|
159
|
+
const range = IDBKeyRange.bound([deviceId, 'spk', '', -Infinity], [deviceId, 'spk', '', Infinity]);
|
|
82
160
|
const req = idx.openCursor(range, 'prev');
|
|
83
161
|
req.onsuccess = () => {
|
|
84
162
|
const cursor = req.result;
|
|
@@ -97,19 +175,49 @@ export class V2KeyStore {
|
|
|
97
175
|
});
|
|
98
176
|
}
|
|
99
177
|
async deleteSPK(deviceId, spkId) {
|
|
178
|
+
await new Promise((resolve, reject) => {
|
|
179
|
+
const req = this.store('readwrite').delete([deviceId, 'spk', '', spkId]);
|
|
180
|
+
req.onsuccess = () => resolve();
|
|
181
|
+
req.onerror = () => reject(req.error);
|
|
182
|
+
});
|
|
183
|
+
await new Promise((resolve, reject) => {
|
|
184
|
+
const req = this.store('readwrite').delete([deviceId, 'spk_uploaded', '', spkId]);
|
|
185
|
+
req.onsuccess = () => resolve();
|
|
186
|
+
req.onerror = () => reject(req.error);
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
async markSPKUploaded(deviceId, spkId) {
|
|
190
|
+
const record = {
|
|
191
|
+
device_id: deviceId,
|
|
192
|
+
key_type: 'spk_uploaded',
|
|
193
|
+
group_id: '',
|
|
194
|
+
key_id: spkId,
|
|
195
|
+
private_key: new Uint8Array(),
|
|
196
|
+
public_key: new Uint8Array(),
|
|
197
|
+
created_at: Date.now(),
|
|
198
|
+
};
|
|
100
199
|
return new Promise((resolve, reject) => {
|
|
101
|
-
const req = this.store('readwrite').
|
|
200
|
+
const req = this.store('readwrite').put(record);
|
|
102
201
|
req.onsuccess = () => resolve();
|
|
103
202
|
req.onerror = () => reject(req.error);
|
|
104
203
|
});
|
|
105
204
|
}
|
|
205
|
+
async loadLatestUploadedSPKId(deviceId) {
|
|
206
|
+
const records = await this._listRecordsByTypeNewestFirst(deviceId, 'spk_uploaded', '');
|
|
207
|
+
for (const record of records) {
|
|
208
|
+
const spkId = record.key_id;
|
|
209
|
+
if (await this.loadSPK(deviceId, spkId))
|
|
210
|
+
return spkId;
|
|
211
|
+
}
|
|
212
|
+
return null;
|
|
213
|
+
}
|
|
106
214
|
/** 返回最近 N 代 SPK 的 spk_id(按 created_at DESC)。 */
|
|
107
215
|
async listRecentSPKIds(deviceId, n) {
|
|
108
216
|
if (n <= 0)
|
|
109
217
|
return [];
|
|
110
218
|
return new Promise((resolve, reject) => {
|
|
111
219
|
const idx = this.store('readonly').index(V2_INDEX_BY_DEVICE_TYPE_CREATED);
|
|
112
|
-
const range = IDBKeyRange.bound([deviceId, 'spk', -Infinity], [deviceId, 'spk', Infinity]);
|
|
220
|
+
const range = IDBKeyRange.bound([deviceId, 'spk', '', -Infinity], [deviceId, 'spk', '', Infinity]);
|
|
113
221
|
const req = idx.openCursor(range, 'prev');
|
|
114
222
|
const out = [];
|
|
115
223
|
req.onsuccess = () => {
|
|
@@ -129,7 +237,7 @@ export class V2KeyStore {
|
|
|
129
237
|
const cutoff = Date.now() - maxAgeMs;
|
|
130
238
|
return new Promise((resolve, reject) => {
|
|
131
239
|
const idx = this.store('readonly').index(V2_INDEX_BY_DEVICE_TYPE_CREATED);
|
|
132
|
-
const range = IDBKeyRange.bound([deviceId, 'spk', -Infinity], [deviceId, 'spk', cutoff], false, true);
|
|
240
|
+
const range = IDBKeyRange.bound([deviceId, 'spk', '', -Infinity], [deviceId, 'spk', '', cutoff], false, true);
|
|
133
241
|
const req = idx.openCursor(range);
|
|
134
242
|
const out = [];
|
|
135
243
|
req.onsuccess = () => {
|
|
@@ -146,14 +254,12 @@ export class V2KeyStore {
|
|
|
146
254
|
});
|
|
147
255
|
}
|
|
148
256
|
// ---------- Group SPK ----------
|
|
149
|
-
static _groupSpkKeyId(groupId, spkId) {
|
|
150
|
-
return `${groupId}\0${spkId}`;
|
|
151
|
-
}
|
|
152
257
|
async saveGroupSPK(deviceId, groupId, spkId, priv, pubDer) {
|
|
153
258
|
const record = {
|
|
154
259
|
device_id: deviceId,
|
|
155
260
|
key_type: 'group_spk',
|
|
156
|
-
|
|
261
|
+
group_id: groupId,
|
|
262
|
+
key_id: spkId,
|
|
157
263
|
private_key: priv,
|
|
158
264
|
public_key: pubDer,
|
|
159
265
|
created_at: Date.now(),
|
|
@@ -165,9 +271,8 @@ export class V2KeyStore {
|
|
|
165
271
|
});
|
|
166
272
|
}
|
|
167
273
|
async loadGroupSPK(deviceId, groupId, spkId) {
|
|
168
|
-
const keyId = V2KeyStore._groupSpkKeyId(groupId, spkId);
|
|
169
274
|
return new Promise((resolve, reject) => {
|
|
170
|
-
const req = this.store('readonly').get([deviceId, 'group_spk',
|
|
275
|
+
const req = this.store('readonly').get([deviceId, 'group_spk', groupId, spkId]);
|
|
171
276
|
req.onsuccess = () => {
|
|
172
277
|
const r = req.result;
|
|
173
278
|
resolve(r ? new Uint8Array(r.private_key) : null);
|
|
@@ -175,12 +280,11 @@ export class V2KeyStore {
|
|
|
175
280
|
req.onerror = () => reject(req.error);
|
|
176
281
|
});
|
|
177
282
|
}
|
|
178
|
-
/** 取指定群最新 group SPK(按 created_at DESC
|
|
283
|
+
/** 取指定群最新 group SPK(按 created_at DESC)。 */
|
|
179
284
|
async loadCurrentGroupSPK(deviceId, groupId) {
|
|
180
|
-
const prefix = `${groupId}\0`;
|
|
181
285
|
return new Promise((resolve, reject) => {
|
|
182
286
|
const idx = this.store('readonly').index(V2_INDEX_BY_DEVICE_TYPE_CREATED);
|
|
183
|
-
const range = IDBKeyRange.bound([deviceId, 'group_spk', -Infinity], [deviceId, 'group_spk', Infinity]);
|
|
287
|
+
const range = IDBKeyRange.bound([deviceId, 'group_spk', groupId, -Infinity], [deviceId, 'group_spk', groupId, Infinity]);
|
|
184
288
|
const req = idx.openCursor(range, 'prev');
|
|
185
289
|
req.onsuccess = () => {
|
|
186
290
|
const cursor = req.result;
|
|
@@ -189,41 +293,79 @@ export class V2KeyStore {
|
|
|
189
293
|
return;
|
|
190
294
|
}
|
|
191
295
|
const r = cursor.value;
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
pubDer: new Uint8Array(r.public_key),
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
// 继续遍历,找到匹配前缀的记录
|
|
202
|
-
cursor.continue();
|
|
203
|
-
}
|
|
296
|
+
resolve({
|
|
297
|
+
spkId: r.key_id,
|
|
298
|
+
priv: new Uint8Array(r.private_key),
|
|
299
|
+
pubDer: new Uint8Array(r.public_key),
|
|
300
|
+
});
|
|
204
301
|
};
|
|
205
302
|
req.onerror = () => reject(req.error);
|
|
206
303
|
});
|
|
207
304
|
}
|
|
305
|
+
async markGroupSPKUploaded(deviceId, groupId, spkId) {
|
|
306
|
+
const record = {
|
|
307
|
+
device_id: deviceId,
|
|
308
|
+
key_type: 'group_spk_uploaded',
|
|
309
|
+
group_id: groupId,
|
|
310
|
+
key_id: spkId,
|
|
311
|
+
private_key: new Uint8Array(),
|
|
312
|
+
public_key: new Uint8Array(),
|
|
313
|
+
created_at: Date.now(),
|
|
314
|
+
};
|
|
315
|
+
return new Promise((resolve, reject) => {
|
|
316
|
+
const req = this.store('readwrite').put(record);
|
|
317
|
+
req.onsuccess = () => resolve();
|
|
318
|
+
req.onerror = () => reject(req.error);
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
async loadLatestUploadedGroupSPKId(deviceId, groupId) {
|
|
322
|
+
const records = await this._listRecordsByTypeNewestFirst(deviceId, 'group_spk_uploaded', groupId);
|
|
323
|
+
for (const record of records) {
|
|
324
|
+
const spkId = record.key_id;
|
|
325
|
+
if (await this.loadGroupSPK(deviceId, groupId, spkId))
|
|
326
|
+
return spkId;
|
|
327
|
+
}
|
|
328
|
+
return null;
|
|
329
|
+
}
|
|
208
330
|
// ---------- IK ----------
|
|
209
331
|
async saveIK(deviceId, priv, pubDer) {
|
|
210
332
|
const record = {
|
|
211
333
|
device_id: deviceId,
|
|
212
334
|
key_type: 'ik',
|
|
335
|
+
group_id: '',
|
|
213
336
|
key_id: '',
|
|
214
337
|
private_key: priv,
|
|
215
338
|
public_key: pubDer,
|
|
216
339
|
created_at: Date.now(),
|
|
217
340
|
};
|
|
218
|
-
|
|
341
|
+
await new Promise((resolve, reject) => {
|
|
219
342
|
const req = this.store('readwrite').put(record);
|
|
220
343
|
req.onsuccess = () => resolve();
|
|
221
344
|
req.onerror = () => reject(req.error);
|
|
222
345
|
});
|
|
346
|
+
const alias = {
|
|
347
|
+
...record,
|
|
348
|
+
key_id: await spkIdForPubDer(pubDer),
|
|
349
|
+
};
|
|
350
|
+
return new Promise((resolve, reject) => {
|
|
351
|
+
const req = this.store('readwrite').put(alias);
|
|
352
|
+
req.onsuccess = () => resolve();
|
|
353
|
+
req.onerror = () => reject(req.error);
|
|
354
|
+
});
|
|
223
355
|
}
|
|
224
356
|
async loadIK(deviceId) {
|
|
225
357
|
return new Promise((resolve, reject) => {
|
|
226
|
-
const req = this.store('readonly').get([deviceId, 'ik', '']);
|
|
358
|
+
const req = this.store('readonly').get([deviceId, 'ik', '', '']);
|
|
359
|
+
req.onsuccess = () => {
|
|
360
|
+
const r = req.result;
|
|
361
|
+
resolve(r ? { priv: new Uint8Array(r.private_key), pubDer: new Uint8Array(r.public_key) } : null);
|
|
362
|
+
};
|
|
363
|
+
req.onerror = () => reject(req.error);
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
async loadIKSPK(deviceId, spkId) {
|
|
367
|
+
return new Promise((resolve, reject) => {
|
|
368
|
+
const req = this.store('readonly').get([deviceId, 'ik', '', spkId]);
|
|
227
369
|
req.onsuccess = () => {
|
|
228
370
|
const r = req.result;
|
|
229
371
|
resolve(r ? { priv: new Uint8Array(r.private_key), pubDer: new Uint8Array(r.public_key) } : null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../../src/v2/session/keystore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../../src/v2/session/keystore.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ export interface DecryptKeys {
|
|
|
39
39
|
export declare class V2Session {
|
|
40
40
|
private readonly _store;
|
|
41
41
|
private readonly _deviceId;
|
|
42
|
+
private readonly _storeDeviceId;
|
|
42
43
|
private readonly _aid;
|
|
43
44
|
private readonly _ikPriv;
|
|
44
45
|
private readonly _ikPubDer;
|
|
@@ -64,6 +65,8 @@ export declare class V2Session {
|
|
|
64
65
|
/** 加载或生成当前 SPK;IK 由构造函数注入,无需加载。 */
|
|
65
66
|
ensureKeys(): Promise<void>;
|
|
66
67
|
private _generateNewSPK;
|
|
68
|
+
private _ikSPKId;
|
|
69
|
+
private _normalizeGroupSPKLookup;
|
|
67
70
|
/** SPK 由 AID 私钥(IK)签名背书并上报到 message.v2.put_peer_pk。 */
|
|
68
71
|
private _registerSPK;
|
|
69
72
|
/** 注册本设备 SPK 到服务端。IK = AID 长期密钥,无需注册。幂等。 */
|
|
@@ -73,10 +76,14 @@ export declare class V2Session {
|
|
|
73
76
|
/**
|
|
74
77
|
* 返回解密所需的私钥。
|
|
75
78
|
* - spkId 空:1DH(仅 IK)
|
|
76
|
-
* - spkId ==
|
|
77
|
-
* -
|
|
79
|
+
* - spkId == 当前/历史 device SPK:对应 spkPriv
|
|
80
|
+
* - spkId == IK 指纹:走 IK 特殊 fallback,返回 IK 私钥作为 spkPriv
|
|
81
|
+
* - 否则:显式报 spk_missing
|
|
78
82
|
*/
|
|
79
83
|
getDecryptKeys(spkId: string | null | undefined): Promise<DecryptKeys>;
|
|
84
|
+
private _loadSPK;
|
|
85
|
+
private _loadIKSPK;
|
|
86
|
+
private _loadGroupSPK;
|
|
80
87
|
/** 判断 spkId 是否命中当前活跃 SPK。 */
|
|
81
88
|
isCurrentSPK(spkId: string | null | undefined): boolean;
|
|
82
89
|
/** 跟踪每个旧 SPK 引用的最大 seq(用于销毁判定)。 */
|
|
@@ -110,7 +117,7 @@ export declare class V2Session {
|
|
|
110
117
|
priv: Uint8Array;
|
|
111
118
|
pubDer: Uint8Array;
|
|
112
119
|
}>;
|
|
113
|
-
/**
|
|
120
|
+
/** 群消息解密按 group SPK -> device SPK -> IK fallback;仍找不到则显式报错。 */
|
|
114
121
|
getGroupDecryptKeys(groupId: string, spkId: string | null | undefined): Promise<DecryptKeys>;
|
|
115
122
|
private _publishGroupSPK;
|
|
116
123
|
cachePeerIK(peerAid: string, deviceId: string, ikPubDer: Uint8Array): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/v2/session/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,0BAA0B;AAC1B,eAAO,MAAM,qBAAqB,QAAiB,CAAC;AACpD,sBAAsB;AACtB,eAAO,MAAM,gBAAgB,QAA0B,CAAC;AACxD,sBAAsB;AACtB,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,oBAAoB;AACpB,eAAO,MAAM,aAAa,QAA4B,CAAC;AAEvD,6CAA6C;AAC7C,MAAM,MAAM,MAAM,GAAG,CACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;AAEhD,kBAAkB;AAClB,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/v2/session/session.ts"],"names":[],"mappings":"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"}
|