@agentunion/fastaun-browser 0.2.20 → 0.3.1

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 (128) hide show
  1. package/CHANGELOG.md +66 -26
  2. package/README.md +0 -1
  3. package/_packed_docs/CHANGELOG.md +66 -26
  4. package/_packed_docs/design/2026-05-22-aun-rpc-trace-enhancement.md +542 -0
  5. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +1 -24
  6. package/_packed_docs/protocol/15-/347/246/273/347/272/277/346/216/250/351/200/201/351/200/232/347/237/245/345/215/217/350/256/256.md +419 -0
  7. package/_packed_docs/protocol/index.md +13 -3
  8. package/_packed_docs/python-sdk-v2-only-changelog.md +189 -0
  9. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +39 -16
  10. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +131 -39
  11. package/_packed_docs/sdk/09-message-rpc-manual.md +30 -67
  12. package/dist/auth.d.ts.map +1 -1
  13. package/dist/auth.js +25 -5
  14. package/dist/auth.js.map +1 -1
  15. package/dist/bundle.js +15042 -0
  16. package/dist/client.d.ts +179 -187
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +3148 -3993
  19. package/dist/client.js.map +1 -1
  20. package/dist/config.d.ts +0 -4
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js +0 -4
  23. package/dist/config.js.map +1 -1
  24. package/dist/crypto.d.ts +8 -1
  25. package/dist/crypto.d.ts.map +1 -1
  26. package/dist/crypto.js +114 -1
  27. package/dist/crypto.js.map +1 -1
  28. package/dist/e2ee.d.ts +5 -210
  29. package/dist/e2ee.d.ts.map +1 -1
  30. package/dist/e2ee.js +4 -1379
  31. package/dist/e2ee.js.map +1 -1
  32. package/dist/index.d.ts +7 -3
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +5 -4
  35. package/dist/index.js.map +1 -1
  36. package/dist/namespaces/auth.d.ts +9 -0
  37. package/dist/namespaces/auth.d.ts.map +1 -1
  38. package/dist/namespaces/auth.js +248 -4
  39. package/dist/namespaces/auth.js.map +1 -1
  40. package/dist/protected-headers.d.ts +14 -0
  41. package/dist/protected-headers.d.ts.map +1 -0
  42. package/dist/protected-headers.js +47 -0
  43. package/dist/protected-headers.js.map +1 -0
  44. package/dist/seq-tracker.d.ts +7 -2
  45. package/dist/seq-tracker.d.ts.map +1 -1
  46. package/dist/seq-tracker.js +33 -13
  47. package/dist/seq-tracker.js.map +1 -1
  48. package/dist/transport.d.ts +9 -1
  49. package/dist/transport.d.ts.map +1 -1
  50. package/dist/transport.js +262 -10
  51. package/dist/transport.js.map +1 -1
  52. package/dist/v2/crypto/aead.d.ts +26 -0
  53. package/dist/v2/crypto/aead.d.ts.map +1 -0
  54. package/dist/v2/crypto/aead.js +63 -0
  55. package/dist/v2/crypto/aead.js.map +1 -0
  56. package/dist/v2/crypto/canonical.d.ts +21 -0
  57. package/dist/v2/crypto/canonical.d.ts.map +1 -0
  58. package/dist/v2/crypto/canonical.js +111 -0
  59. package/dist/v2/crypto/canonical.js.map +1 -0
  60. package/dist/v2/crypto/dh-path.d.ts +21 -0
  61. package/dist/v2/crypto/dh-path.d.ts.map +1 -0
  62. package/dist/v2/crypto/dh-path.js +50 -0
  63. package/dist/v2/crypto/dh-path.js.map +1 -0
  64. package/dist/v2/crypto/ecdh.d.ts +19 -0
  65. package/dist/v2/crypto/ecdh.d.ts.map +1 -0
  66. package/dist/v2/crypto/ecdh.js +101 -0
  67. package/dist/v2/crypto/ecdh.js.map +1 -0
  68. package/dist/v2/crypto/ecdsa.d.ts +16 -0
  69. package/dist/v2/crypto/ecdsa.d.ts.map +1 -0
  70. package/dist/v2/crypto/ecdsa.js +52 -0
  71. package/dist/v2/crypto/ecdsa.js.map +1 -0
  72. package/dist/v2/crypto/hkdf.d.ts +21 -0
  73. package/dist/v2/crypto/hkdf.d.ts.map +1 -0
  74. package/dist/v2/crypto/hkdf.js +32 -0
  75. package/dist/v2/crypto/hkdf.js.map +1 -0
  76. package/dist/v2/crypto/index.d.ts +9 -0
  77. package/dist/v2/crypto/index.d.ts.map +1 -0
  78. package/dist/v2/crypto/index.js +8 -0
  79. package/dist/v2/crypto/index.js.map +1 -0
  80. package/dist/v2/crypto/recipients.d.ts +43 -0
  81. package/dist/v2/crypto/recipients.d.ts.map +1 -0
  82. package/dist/v2/crypto/recipients.js +188 -0
  83. package/dist/v2/crypto/recipients.js.map +1 -0
  84. package/dist/v2/e2ee/decrypt.d.ts +13 -0
  85. package/dist/v2/e2ee/decrypt.d.ts.map +1 -0
  86. package/dist/v2/e2ee/decrypt.js +176 -0
  87. package/dist/v2/e2ee/decrypt.js.map +1 -0
  88. package/dist/v2/e2ee/encrypt-group.d.ts +14 -0
  89. package/dist/v2/e2ee/encrypt-group.d.ts.map +1 -0
  90. package/dist/v2/e2ee/encrypt-group.js +196 -0
  91. package/dist/v2/e2ee/encrypt-group.js.map +1 -0
  92. package/dist/v2/e2ee/encrypt-p2p.d.ts +15 -0
  93. package/dist/v2/e2ee/encrypt-p2p.d.ts.map +1 -0
  94. package/dist/v2/e2ee/encrypt-p2p.js +240 -0
  95. package/dist/v2/e2ee/encrypt-p2p.js.map +1 -0
  96. package/dist/v2/e2ee/index.d.ts +9 -0
  97. package/dist/v2/e2ee/index.d.ts.map +1 -0
  98. package/dist/v2/e2ee/index.js +9 -0
  99. package/dist/v2/e2ee/index.js.map +1 -0
  100. package/dist/v2/e2ee/metadata-auth.d.ts +9 -0
  101. package/dist/v2/e2ee/metadata-auth.d.ts.map +1 -0
  102. package/dist/v2/e2ee/metadata-auth.js +60 -0
  103. package/dist/v2/e2ee/metadata-auth.js.map +1 -0
  104. package/dist/v2/e2ee/types.d.ts +57 -0
  105. package/dist/v2/e2ee/types.d.ts.map +1 -0
  106. package/dist/v2/e2ee/types.js +7 -0
  107. package/dist/v2/e2ee/types.js.map +1 -0
  108. package/dist/v2/session/index.d.ts +4 -0
  109. package/dist/v2/session/index.d.ts.map +1 -0
  110. package/dist/v2/session/index.js +3 -0
  111. package/dist/v2/session/index.js.map +1 -0
  112. package/dist/v2/session/keystore.d.ts +57 -0
  113. package/dist/v2/session/keystore.d.ts.map +1 -0
  114. package/dist/v2/session/keystore.js +244 -0
  115. package/dist/v2/session/keystore.js.map +1 -0
  116. package/dist/v2/session/session.d.ts +121 -0
  117. package/dist/v2/session/session.d.ts.map +1 -0
  118. package/dist/v2/session/session.js +344 -0
  119. package/dist/v2/session/session.js.map +1 -0
  120. package/dist/v2/state/commitment.d.ts +10 -0
  121. package/dist/v2/state/commitment.d.ts.map +1 -0
  122. package/dist/v2/state/commitment.js +86 -0
  123. package/dist/v2/state/commitment.js.map +1 -0
  124. package/dist/v2/state/index.d.ts +2 -0
  125. package/dist/v2/state/index.d.ts.map +1 -0
  126. package/dist/v2/state/index.js +2 -0
  127. package/dist/v2/state/index.js.map +1 -0
  128. package/package.json +8 -5
package/dist/config.d.ts CHANGED
@@ -19,10 +19,6 @@ export interface AUNConfig {
19
19
  discoveryPort: number | null;
20
20
  /** 是否启用群组 E2EE(默认 true) */
21
21
  groupE2ee: boolean;
22
- /** epoch 自动轮换间隔(秒,0 表示禁用) */
23
- epochAutoRotateInterval: number;
24
- /** 旧 epoch 保留时间(秒,默认 7 天) */
25
- oldEpochRetentionSeconds: number;
26
22
  /** 是否验证 SSL 证书(默认 true) */
27
23
  verifySsl: boolean;
28
24
  /** 是否要求前向保密(默认 true) */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuB7C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,CAUR;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAgBpC;AAED,mBAAmB;AACnB,MAAM,WAAW,SAAS;IACxB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,2BAA2B;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,uBAAuB,EAAE,MAAM,CAAC;IAChC,6BAA6B;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,2BAA2B;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,wBAAwB;IACxB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB;IACjB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAgBD,KAAK,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;AAEtD,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAyBnE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuB7C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,CAUR;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAgBpC;AAED,mBAAmB;AACnB,MAAM,WAAW,SAAS;IACxB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,mBAAmB;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,2BAA2B;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,wBAAwB;IACxB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,iBAAiB;IACjB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAcD,KAAK,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;AAEtD,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAuBnE"}
package/dist/config.js CHANGED
@@ -56,8 +56,6 @@ const DEFAULTS = {
56
56
  seedPassword: null,
57
57
  discoveryPort: null,
58
58
  groupE2ee: true,
59
- epochAutoRotateInterval: 0,
60
- oldEpochRetentionSeconds: 604800,
61
59
  verifySsl: true,
62
60
  requireForwardSecrecy: true,
63
61
  replayWindowSeconds: 300,
@@ -77,8 +75,6 @@ export function createConfig(raw) {
77
75
  seedPassword: readOptionalString(data.seedPassword ?? data.seed_password ?? data.encryptionSeed ?? data.encryption_seed, DEFAULTS.seedPassword),
78
76
  discoveryPort: readOptionalNumber(data.discoveryPort ?? data.discovery_port, DEFAULTS.discoveryPort),
79
77
  groupE2ee: true, // 必备能力,不可配置
80
- epochAutoRotateInterval: readOptionalNumber(data.epochAutoRotateInterval ?? data.epoch_auto_rotate_interval, DEFAULTS.epochAutoRotateInterval) ?? DEFAULTS.epochAutoRotateInterval,
81
- oldEpochRetentionSeconds: readOptionalNumber(data.oldEpochRetentionSeconds ?? data.old_epoch_retention_seconds, DEFAULTS.oldEpochRetentionSeconds) ?? DEFAULTS.oldEpochRetentionSeconds,
82
78
  verifySsl: DEFAULTS.verifySsl,
83
79
  requireForwardSecrecy: readBoolean(data.requireForwardSecrecy ?? data.require_forward_secrecy, DEFAULTS.requireForwardSecrecy),
84
80
  replayWindowSeconds: readOptionalNumber(data.replayWindowSeconds ?? data.replay_window_seconds, DEFAULTS.replayWindowSeconds) ?? DEFAULTS.replayWindowSeconds,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/crypto.d.ts CHANGED
@@ -37,5 +37,12 @@ export declare class CryptoProvider {
37
37
  * Python cryptography 使用 DER(ASN.1 编码)。
38
38
  */
39
39
  declare function p1363ToDer(p1363: Uint8Array): Uint8Array;
40
- export { uint8ToBase64, base64ToUint8, arrayBufferToPem, pemToArrayBuffer, p1363ToDer, toArrayBuffer, toBufferSource };
40
+ /** DER 格式 ECDSA 签名转为 IEEE P1363。 */
41
+ declare function derToP1363(der: Uint8Array, coordLen?: number): Uint8Array;
42
+ declare function certificateSha256Fingerprint(certPem: string): Promise<string>;
43
+ declare function importCertPublicKeyEcdsa(certPem: string): Promise<CryptoKey>;
44
+ declare function importPrivateKeyEcdsa(pem: string): Promise<CryptoKey>;
45
+ declare function ecdsaSignDer(privateKey: CryptoKey, data: Uint8Array): Promise<Uint8Array>;
46
+ declare function ecdsaVerifyDer(publicKey: CryptoKey, signature: Uint8Array, data: Uint8Array): Promise<boolean>;
47
+ export { uint8ToBase64, base64ToUint8, arrayBufferToPem, pemToArrayBuffer, p1363ToDer, derToP1363, toArrayBuffer, toBufferSource, certificateSha256Fingerprint, importCertPublicKeyEcdsa, importPrivateKeyEcdsa, ecdsaSignDer, ecdsaVerifyDer, };
41
48
  //# sourceMappingURL=crypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAGA,uBAAuB;AACvB,iBAAS,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMhD;AAED,uBAAuB;AACvB,iBAAS,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAO9C;AAED,iCAAiC;AACjC,iBAAS,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,0BAA0B;AAC1B,iBAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAOlD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,eAAe,GAAG,WAAW,CAMrF;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,eAAe,GAAG,YAAY,CAKvF;AAED,iDAAiD;AACjD,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,SAAS,WAAW;IAEpC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAsBF;;;;;;OAMG;IACG,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA0B5B,uCAAuC;IACvC,cAAc,IAAI,MAAM;CAKzB;AAID;;;;GAIG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAmBjD;AAYD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAGA,uBAAuB;AACvB,iBAAS,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMhD;AAED,uBAAuB;AACvB,iBAAS,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAO9C;AAED,iCAAiC;AACjC,iBAAS,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,0BAA0B;AAC1B,iBAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAOlD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,eAAe,GAAG,WAAW,CAMrF;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,eAAe,GAAG,YAAY,CAKvF;AAED,iDAAiD;AACjD,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,SAAS,WAAW;IAEpC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAsBF;;;;;;OAMG;IACG,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA0B5B,uCAAuC;IACvC,cAAc,IAAI,MAAM;CAKzB;AAID;;;;GAIG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAmBjD;AAED,sCAAsC;AACtC,iBAAS,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,SAAK,GAAG,UAAU,CAuB9D;AAgED,iBAAe,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK5E;AAED,iBAAe,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAS3E;AAID,iBAAe,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAapE;AAED,iBAAe,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAOxF;AAED,iBAAe,cAAc,CAC3B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC,CAQlB;AAGD,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,CAAC"}
package/dist/crypto.js CHANGED
@@ -119,6 +119,36 @@ function p1363ToDer(p1363) {
119
119
  der.set(sTlv, 2 + rTlv.length);
120
120
  return der;
121
121
  }
122
+ /** 将 DER 格式 ECDSA 签名转为 IEEE P1363。 */
123
+ function derToP1363(der, coordLen = 32) {
124
+ if (der[0] !== 0x30)
125
+ throw new Error('invalid DER signature: missing SEQUENCE');
126
+ let offset = 2;
127
+ if (der[1] & 0x80) {
128
+ const lenBytes = der[1] & 0x7f;
129
+ offset = 2 + lenBytes;
130
+ }
131
+ if (der[offset] !== 0x02)
132
+ throw new Error('invalid DER signature: missing r');
133
+ const rLen = der[offset + 1];
134
+ let r = der.slice(offset + 2, offset + 2 + rLen);
135
+ offset += 2 + rLen;
136
+ if (der[offset] !== 0x02)
137
+ throw new Error('invalid DER signature: missing s');
138
+ const sLen = der[offset + 1];
139
+ let s = der.slice(offset + 2, offset + 2 + sLen);
140
+ while (r.length > 1 && r[0] === 0)
141
+ r = r.slice(1);
142
+ while (s.length > 1 && s[0] === 0)
143
+ s = s.slice(1);
144
+ if (r.length > coordLen || s.length > coordLen) {
145
+ throw new Error('invalid DER signature: coordinate too long');
146
+ }
147
+ const out = new Uint8Array(coordLen * 2);
148
+ out.set(r, coordLen - r.length);
149
+ out.set(s, coordLen * 2 - s.length);
150
+ return out;
151
+ }
122
152
  /** 去除前导零字节(保留至少一个字节) */
123
153
  function trimLeadingZeros(bytes) {
124
154
  let start = 0;
@@ -127,6 +157,89 @@ function trimLeadingZeros(bytes) {
127
157
  }
128
158
  return bytes.slice(start);
129
159
  }
160
+ function parseDerLength(data, offset) {
161
+ if (offset >= data.length)
162
+ return null;
163
+ const first = data[offset];
164
+ if (first < 0x80) {
165
+ return { value: first, lenBytes: 1 };
166
+ }
167
+ const numBytes = first & 0x7f;
168
+ if (numBytes === 0 || numBytes > 4)
169
+ return null;
170
+ let value = 0;
171
+ for (let i = 0; i < numBytes; i++) {
172
+ if (offset + 1 + i >= data.length)
173
+ return null;
174
+ value = (value << 8) | data[offset + 1 + i];
175
+ }
176
+ return { value, lenBytes: 1 + numBytes };
177
+ }
178
+ function extractSpkiFromCertPem(certPem) {
179
+ const certDer = new Uint8Array(pemToArrayBuffer(certPem));
180
+ const p256Oid = [0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07];
181
+ for (let i = 0; i <= certDer.length - p256Oid.length; i++) {
182
+ let match = true;
183
+ for (let j = 0; j < p256Oid.length; j++) {
184
+ if (certDer[i + j] !== p256Oid[j]) {
185
+ match = false;
186
+ break;
187
+ }
188
+ }
189
+ if (!match)
190
+ continue;
191
+ for (let seqStart = Math.max(0, i - 32); seqStart <= i; seqStart++) {
192
+ if (certDer[seqStart] !== 0x30)
193
+ continue;
194
+ const seqLen = parseDerLength(certDer, seqStart + 1);
195
+ if (seqLen === null)
196
+ continue;
197
+ const totalLen = 1 + seqLen.lenBytes + seqLen.value;
198
+ if (totalLen < 50 || totalLen > 140)
199
+ continue;
200
+ const spkiCandidate = certDer.slice(seqStart, seqStart + totalLen);
201
+ let hasBitString = false;
202
+ for (let k = 20; k < spkiCandidate.length - 10; k++) {
203
+ if (spkiCandidate[k] === 0x03 && spkiCandidate[k + 2] === 0x00) {
204
+ hasBitString = true;
205
+ break;
206
+ }
207
+ }
208
+ if (hasBitString) {
209
+ return spkiCandidate.buffer.slice(spkiCandidate.byteOffset, spkiCandidate.byteOffset + spkiCandidate.byteLength);
210
+ }
211
+ }
212
+ }
213
+ throw new Error('unable to extract SPKI public key from certificate');
214
+ }
215
+ async function certificateSha256Fingerprint(certPem) {
216
+ const der = pemToArrayBuffer(certPem);
217
+ const hash = await crypto.subtle.digest('SHA-256', der);
218
+ const hex = Array.from(new Uint8Array(hash)).map(b => b.toString(16).padStart(2, '0')).join('');
219
+ return `sha256:${hex}`;
220
+ }
221
+ async function importCertPublicKeyEcdsa(certPem) {
222
+ const spki = extractSpkiFromCertPem(certPem);
223
+ return crypto.subtle.importKey('spki', spki, { name: 'ECDSA', namedCurve: 'P-256' }, true, ['verify']);
224
+ }
225
+ const ecdsaKeyCache = new Map();
226
+ async function importPrivateKeyEcdsa(pem) {
227
+ const cached = ecdsaKeyCache.get(pem);
228
+ if (cached)
229
+ return cached;
230
+ const pkcs8 = pemToArrayBuffer(pem);
231
+ const key = await crypto.subtle.importKey('pkcs8', pkcs8, { name: 'ECDSA', namedCurve: 'P-256' }, true, ['sign']);
232
+ ecdsaKeyCache.set(pem, key);
233
+ return key;
234
+ }
235
+ async function ecdsaSignDer(privateKey, data) {
236
+ const sig = await crypto.subtle.sign({ name: 'ECDSA', hash: 'SHA-256' }, privateKey, toBufferSource(data));
237
+ return p1363ToDer(new Uint8Array(sig));
238
+ }
239
+ async function ecdsaVerifyDer(publicKey, signature, data) {
240
+ const p1363 = derToP1363(signature);
241
+ return crypto.subtle.verify({ name: 'ECDSA', hash: 'SHA-256' }, publicKey, toBufferSource(p1363), toBufferSource(data));
242
+ }
130
243
  // 导出工具函数,供其他模块使用
131
- export { uint8ToBase64, base64ToUint8, arrayBufferToPem, pemToArrayBuffer, p1363ToDer, toArrayBuffer, toBufferSource };
244
+ export { uint8ToBase64, base64ToUint8, arrayBufferToPem, pemToArrayBuffer, p1363ToDer, derToP1363, toArrayBuffer, toBufferSource, certificateSha256Fingerprint, importCertPublicKeyEcdsa, importPrivateKeyEcdsa, ecdsaSignDer, ecdsaVerifyDer, };
132
245
  //# sourceMappingURL=crypto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,gCAAgC;AAEhC,uBAAuB;AACvB,SAAS,aAAa,CAAC,KAAiB;IACtC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,uBAAuB;AACvB,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iCAAiC;AACjC,SAAS,gBAAgB,CAAC,MAAmB,EAAE,KAAa;IAC1D,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,cAAc,KAAK,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC;AACjF,CAAC;AAED,0BAA0B;AAC1B,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,GAAG,GAAG,GAAG;SACZ,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;SACpC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;SAClC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAgB,CAAC;AAClG,CAAC;AAED,SAAS,aAAa,CAAC,KAAiD;IACtE,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5F,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAgB,CAAC;AACtG,CAAC;AAED,SAAS,cAAc,CAAC,KAAiD;IACvE,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,iDAAiD;AACjD,MAAM,OAAO,cAAc;IACzB,MAAM,CAAU,SAAS,GAAG,OAAO,CAAC;IAEpC;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QAKpB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAC7C,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EACtC,IAAI,EAAE,cAAc;QACpB,CAAC,MAAM,EAAE,QAAQ,CAAC,CACnB,CAAC;QAEF,cAAc;QACd,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACzE,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAE7D,+BAA+B;QAC/B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5D,OAAO;YACL,eAAe,EAAE,aAAa;YAC9B,kBAAkB,EAAE,eAAe;YACnC,KAAK,EAAE,cAAc,CAAC,SAAS;SAChC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAClB,aAAqB,EACrB,KAAa,EACb,UAAmB;QAEnB,MAAM,QAAQ,GAAG,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC,CAAC;QAElE,YAAY;QACZ,MAAM,KAAK,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC7C,OAAO,EACP,KAAK,EACL,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,EACtC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;QAEF,iEAAiE;QACjE,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CACxC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAClC,SAAS,EACT,QAAQ,CACT,CAAC;QAEF,uCAAuC;QACvC,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,uCAAuC;IACvC,cAAc;QACZ,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;AAGH,qDAAqD;AAErD;;;;GAIG;AACH,SAAS,UAAU,CAAC,KAAiB;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjD,iCAAiC;IACjC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAEhE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW;IAC1B,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACrB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wBAAwB;AACxB,SAAS,gBAAgB,CAAC,KAAiB;IACzC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
package/dist/e2ee.d.ts CHANGED
@@ -1,214 +1,9 @@
1
- import type { ModuleLogger } from './logger.js';
2
- import type { KeyStore } from './keystore/index.js';
3
- import type { IdentityRecord, JsonObject, Message } from './types.js';
4
- export declare function setModuleLogger(log: ModuleLogger): void;
5
- /** 加密套件标识 */
6
- export declare const SUITE = "P256_HKDF_SHA256_AES_256_GCM";
7
- /** 加密模式 */
8
- export declare const MODE_PREKEY_ECDH_V2 = "prekey_ecdh_v2";
9
- export declare const MODE_LONG_TERM_KEY = "long_term_key";
10
- /** AAD 字段定义(P2P) */
11
- export declare const AAD_FIELDS_OFFLINE: readonly ["from", "to", "message_id", "timestamp", "encryption_mode", "suite", "ephemeral_public_key", "recipient_cert_fingerprint", "sender_cert_fingerprint", "prekey_id"];
12
- /** AAD 匹配字段(解密时校验,不含 timestamp) */
13
- export declare const AAD_MATCH_FIELDS_OFFLINE: readonly ["from", "to", "message_id", "encryption_mode", "suite", "ephemeral_public_key", "recipient_cert_fingerprint", "sender_cert_fingerprint", "prekey_id"];
14
- /** 兼容型可选 AAD 字段:存在时才参与 AAD,不为旧消息补 null。 */
15
- export declare const AAD_OPTIONAL_FIELDS: readonly ["payload_type", "protected_headers", "context_type", "context_id"];
16
- /** prekey 私钥本地保留时间(秒) */
17
- export declare const PREKEY_RETENTION_SECONDS: number;
18
- export declare const PREKEY_MIN_KEEP_COUNT = 7;
19
- export interface PrekeyMaterial extends JsonObject {
20
- prekey_id: string;
21
- public_key: string;
22
- signature: string;
23
- created_at?: number;
24
- device_id?: string;
25
- cert_fingerprint?: string;
26
- }
27
- export type ProtectedHeadersInput = ProtectedHeaders | Record<string, unknown> | null | undefined;
28
- /** 端到端保护的信封元数据,语义接近 HTTP headers。 */
29
- export declare class ProtectedHeaders {
30
- private _items;
31
- constructor(values?: Record<string, unknown> | null);
32
- private static normalizeKey;
33
- set(key: string, value: unknown): this;
34
- get(key: string, defaultValue?: string | null): string | null;
35
- remove(key: string): this;
36
- toObject(): Record<string, string>;
37
- toJSON(): Record<string, string>;
38
- static from(values?: Record<string, unknown> | null): ProtectedHeaders;
39
- }
40
- /** 加密结果信息 */
41
- export interface EncryptResult {
42
- encrypted: boolean;
43
- forward_secrecy: boolean;
44
- mode: string;
45
- degraded: boolean;
46
- degradation_reason?: string;
47
- }
48
- /** 拼接多个 Uint8Array */
49
- declare function concatBytes(...arrays: Uint8Array[]): Uint8Array;
50
- /** DER 签名转 IEEE P1363 格式(用于 SubtleCrypto 验签) */
51
- declare function derToP1363(der: Uint8Array, coordLen?: number): Uint8Array;
52
- /** AAD 序列化(排序键、紧凑 JSON) */
53
- declare function aadBytesOffline(aad: JsonObject): Uint8Array;
54
- /** 计算 SPKI 公钥的 SHA-256 指纹 */
55
- declare function fingerprintSpki(spkiBytes: ArrayBuffer): Promise<string>;
56
- /** 从 PEM 证书计算证书 SHA-256 指纹 */
57
- declare function fingerprintCertPem(certPem: string): Promise<string>;
58
- /** 从 PEM 证书计算证书 SHA-256 指纹 */
59
- declare function certificateSha256Fingerprint(certPem: string): Promise<string>;
60
- /** 导入 PEM 证书公钥为 ECDSA CryptoKey */
61
- declare function importCertPublicKeyEcdsa(certPem: string): Promise<CryptoKey>;
62
- declare function importPrivateKeyEcdsa(pem: string): Promise<CryptoKey>;
63
- /** HKDF 派生密钥(256 位) */
64
- declare function hkdfDerive(ikm: Uint8Array, info: string): Promise<Uint8Array>;
65
- /** AES-GCM 加密,返回 [ciphertext, tag](SubtleCrypto 将 tag 附加到末尾) */
66
- declare function aesGcmEncrypt(key: Uint8Array, nonce: Uint8Array, plaintext: Uint8Array, aad: Uint8Array): Promise<[Uint8Array, Uint8Array]>;
67
- /** AES-GCM 解密 */
68
- declare function aesGcmDecrypt(key: Uint8Array, nonce: Uint8Array, ciphertext: Uint8Array, tag: Uint8Array, aad: Uint8Array): Promise<Uint8Array>;
69
- /** ECDSA 签名(输出 DER 格式,兼容 Python/Go) */
70
- declare function ecdsaSignDer(privateKey: CryptoKey, data: Uint8Array): Promise<Uint8Array>;
71
- /** ECDSA 验签(输入 DER 格式签名) */
72
- declare function ecdsaVerifyDer(publicKey: CryptoKey, signature: Uint8Array, data: Uint8Array): Promise<boolean>;
73
- /** 生成 12 字节随机 nonce */
74
- declare function randomNonce(): Uint8Array;
75
- /** 生成 UUID v4 */
76
- declare function uuidV4(): string;
77
1
  /**
78
- * P2P 端到端加密管理器 — 浏览器 SubtleCrypto 实现。
2
+ * E2EE V2-only 兼容入口。
79
3
  *
80
- * 加密策略: prekey_ecdh_v2(四路 ECDH)→ long_term_key(二路 ECDH)两层降级。
81
- * I/O(获取 prekey、证书)由调用方(AUNClient)负责。
82
- * 内置本地防重放(seen set),裸 WebSocket 开发者无需额外实现。
83
- *
84
- * 所有密码学操作均为异步(SubtleCrypto 要求)。
4
+ * 旧版 P2P E2EEManager 已移除;这里仅保留应用层可能直接使用的
5
+ * protected headers helper,和 TS SDK 的 V2-only 入口保持一致。
85
6
  */
86
- export declare class E2EEManager {
87
- private _log;
88
- setLogger(log: ModuleLogger): void;
89
- private _identityFn;
90
- private _deviceIdFn;
91
- private _keystoreRef;
92
- /** 本地防重放 seen set */
93
- private _seenMessages;
94
- private _seenMaxSize;
95
- /** 对方 prekey 内存缓存 {peerAid: {prekey, expireAt}} */
96
- private _prekeyCache;
97
- private _prekeyCacheTtl;
98
- /** 本地 prekey 私钥 PEM 内存缓存 {prekeyId: privateKeyPem} */
99
- private _localPrekeyCache;
100
- /** 防重放时间窗口(秒) */
101
- private _replayWindowSeconds;
102
- constructor(opts: {
103
- identityFn: () => IdentityRecord;
104
- deviceIdFn?: () => string;
105
- keystore: KeyStore;
106
- prekeyCacheTtl?: number;
107
- replayWindowSeconds?: number;
108
- });
109
- /** 缓存对方的 prekey */
110
- cachePrekey(peerAid: string, prekey: PrekeyMaterial): void;
111
- /** 获取缓存的 prekey(过期返回 null) */
112
- getCachedPrekey(peerAid: string): PrekeyMaterial | null;
113
- /** 使 prekey 缓存失效 */
114
- invalidatePrekeyCache(peerAid: string): void;
115
- /**
116
- * 加密消息(便利方法)。
117
- * 调用方负责提前获取 peerCertPem 和 prekey(可选)。
118
- */
119
- encryptMessage(toAid: string, payload: JsonObject, opts: {
120
- peerCertPem: string;
121
- prekey?: PrekeyMaterial | null;
122
- messageId?: string;
123
- timestamp?: number;
124
- protectedHeaders?: ProtectedHeadersInput;
125
- protected_headers?: ProtectedHeadersInput;
126
- headers?: ProtectedHeadersInput;
127
- context?: JsonObject | null;
128
- }): Promise<[JsonObject, EncryptResult]>;
129
- /**
130
- * 加密出站消息:有 prekey → prekey_ecdh_v2(四路 ECDH),无 prekey → long_term_key。
131
- *
132
- * 返回 [envelope, resultInfo],resultInfo 包含加密状态详情。
133
- * prekey 传入时自动缓存;传入 null 时自动查缓存。
134
- */
135
- encryptOutbound(peerAid: string, payload: JsonObject, opts: {
136
- peerCertPem: string;
137
- prekey?: PrekeyMaterial | null;
138
- messageId: string;
139
- timestamp: number;
140
- protectedHeaders?: ProtectedHeadersInput;
141
- protected_headers?: ProtectedHeadersInput;
142
- headers?: ProtectedHeadersInput;
143
- context?: JsonObject | null;
144
- }): Promise<[JsonObject, EncryptResult]>;
145
- /**
146
- * 使用对方 prekey 加密(prekey_ecdh_v2 模式,四路 ECDH + 发送方签名)
147
- *
148
- * 四路 ECDH:
149
- * DH1 = ECDH(ephemeral, peer_prekey)
150
- * DH2 = ECDH(ephemeral, peer_identity)
151
- * DH3 = ECDH(sender_identity, peer_prekey) ← 绑定发送方身份
152
- * DH4 = ECDH(sender_identity, peer_identity) ← 双方身份互绑
153
- */
154
- private _encryptWithPrekey;
155
- /**
156
- * 使用 2DH 加密(long_term_key 模式 + 发送方签名)
157
- *
158
- * 2DH:
159
- * DH1 = ECDH(ephemeral, peer_identity) ← 前向保密(每消息)
160
- * DH2 = ECDH(sender_identity, peer_identity) ← 绑定双方身份
161
- */
162
- private _encryptWithLongTermKey;
163
- /**
164
- * 解密单条消息(内置本地防重放 + timestamp 窗口 + 发送方签名验证)。
165
- *
166
- * 返回解密后的 message 对象,或 null 表示失败/拒绝。
167
- * 非加密消息原样返回。
168
- *
169
- * opts.skipReplay: 跳过防重放和 timestamp 窗口检查(用于 message.pull 场景)。
170
- */
171
- decryptMessage(message: Message, opts?: {
172
- skipReplay?: boolean;
173
- }): Promise<Message | null>;
174
- /** 判断是否应该为当前 AID 解密(避免发送端回显消息误走解密) */
175
- private _shouldDecryptForCurrentAid;
176
- /** 内部解密分发 */
177
- private _decryptMessageInternal;
178
- /** 验证发送方签名 */
179
- private _verifySenderSignature;
180
- /** 从 keystore 获取发送方证书 PEM */
181
- private _getSenderCert;
182
- /** 解密 prekey_ecdh_v2 模式的消息(四路 ECDH) */
183
- private _decryptMessagePrekeyV2;
184
- /** 解密 long_term_key 模式的消息(2DH) */
185
- private _decryptMessageLongTerm;
186
- /** 构建解密时的期望 AAD(接收方视角) */
187
- private _buildInboundAadOffline;
188
- /**
189
- * 生成 prekey 材料并保存私钥到本地 keystore。
190
- *
191
- * 返回 { prekey_id, public_key, signature, created_at },可直接用于 RPC 上传。
192
- */
193
- generatePrekey(): Promise<PrekeyMaterial>;
194
- /** 清理过期的本地 prekey 私钥 */
195
- private _cleanupExpiredPrekeys;
196
- /** 从内存缓存或 keystore 加载 prekey 私钥 PEM */
197
- private _loadPrekeyPrivateKey;
198
- private _currentAid;
199
- private _currentDeviceId;
200
- /** 加载发送方 identity 私钥(ECDH 用途) */
201
- private _loadSenderIdentityPrivateEcdh;
202
- /** 加载发送方 identity 私钥(ECDSA 签名用途) */
203
- private _loadSenderIdentityPrivateEcdsa;
204
- /** 获取本地 identity 指纹(优先证书 DER SHA-256,缺失时回退到公钥指纹) */
205
- private _localIdentityFingerprint;
206
- /** 本地证书的 SHA-256 指纹(用于锁定证书版本) */
207
- private _localCertSha256Fingerprint;
208
- /** 裁剪 seen set */
209
- private _trimSeenSet;
210
- /** 清理过期的 prekey 缓存和 seen set 条目(供外部定时调用) */
211
- cleanExpiredCaches(): void;
212
- }
213
- export { aadBytesOffline as _aadBytesOffline, concatBytes as _concatBytes, ecdsaSignDer as _ecdsaSignDer, ecdsaVerifyDer as _ecdsaVerifyDer, hkdfDerive as _hkdfDerive, aesGcmEncrypt as _aesGcmEncrypt, aesGcmDecrypt as _aesGcmDecrypt, randomNonce as _randomNonce, uuidV4 as _uuidV4, fingerprintCertPem as _fingerprintCertPem, certificateSha256Fingerprint as _certificateSha256Fingerprint, fingerprintSpki as _fingerprintSpki, importCertPublicKeyEcdsa as _importCertPublicKeyEcdsa, importPrivateKeyEcdsa as _importPrivateKeyEcdsa, derToP1363 as _derToP1363, };
7
+ export { ProtectedHeaders } from './protected-headers.js';
8
+ export type { ProtectedHeadersInput } from './protected-headers.js';
214
9
  //# sourceMappingURL=e2ee.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"e2ee.d.ts","sourceRoot":"","sources":["../src/e2ee.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"e2ee.d.ts","sourceRoot":"","sources":["../src/e2ee.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}