internxt-crypto 0.0.10-alpha → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -4
- package/dist/aes-DSDxP8uF.mjs +184 -0
- package/dist/aes-DSDxP8uF.mjs.map +1 -0
- package/dist/aes-bOrKZuUC.js +226 -0
- package/dist/aes-bOrKZuUC.js.map +1 -0
- package/dist/asymmetric-crypto.d.mts +5 -2
- package/dist/asymmetric-crypto.d.mts.map +1 -0
- package/dist/asymmetric-crypto.d.ts +5 -2
- package/dist/asymmetric-crypto.d.ts.map +1 -0
- package/dist/asymmetric-crypto.js +9 -92
- package/dist/asymmetric-crypto.mjs +2 -84
- package/dist/chunk-DQk6qfdC.mjs +18 -0
- package/dist/chunk-EbLFQX5m.js +60 -0
- package/dist/constants.d.mts +5 -11
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.d.ts +5 -11
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +33 -49
- package/dist/constants.js.map +1 -1
- package/dist/constants.mjs +32 -40
- package/dist/constants.mjs.map +1 -1
- package/dist/derive-key.d.mts +11 -8
- package/dist/derive-key.d.mts.map +1 -0
- package/dist/derive-key.d.ts +11 -8
- package/dist/derive-key.d.ts.map +1 -0
- package/dist/derive-key.js +13 -795
- package/dist/derive-key.mjs +2 -783
- package/dist/deriveKeysFromPassword-DJRWZ8Rw.mjs +735 -0
- package/dist/deriveKeysFromPassword-DJRWZ8Rw.mjs.map +1 -0
- package/dist/deriveKeysFromPassword-Ko7NxkHM.js +2492 -0
- package/dist/deriveKeysFromPassword-Ko7NxkHM.js.map +1 -0
- package/dist/email-crypto.d.mts +55 -78
- package/dist/email-crypto.d.mts.map +1 -0
- package/dist/email-crypto.d.ts +55 -78
- package/dist/email-crypto.d.ts.map +1 -0
- package/dist/email-crypto.js +13 -1409
- package/dist/email-crypto.mjs +2 -1380
- package/dist/email-search.d.mts +36 -32
- package/dist/email-search.d.mts.map +1 -0
- package/dist/email-search.d.ts +36 -32
- package/dist/email-search.d.ts.map +1 -0
- package/dist/email-search.js +534 -540
- package/dist/email-search.js.map +1 -1
- package/dist/email-search.mjs +532 -538
- package/dist/email-search.mjs.map +1 -1
- package/dist/emailEncryptionKey-27mIHh18.mjs +150 -0
- package/dist/emailEncryptionKey-27mIHh18.mjs.map +1 -0
- package/dist/emailEncryptionKey-DbaDAdoW.js +167 -0
- package/dist/emailEncryptionKey-DbaDAdoW.js.map +1 -0
- package/dist/emailKeys-BJGdkLrg.js +593 -0
- package/dist/emailKeys-BJGdkLrg.js.map +1 -0
- package/dist/emailKeys-Fp9WR3wl.mjs +509 -0
- package/dist/emailKeys-Fp9WR3wl.mjs.map +1 -0
- package/dist/genID-3Er5IowC.mjs +153 -0
- package/dist/genID-3Er5IowC.mjs.map +1 -0
- package/dist/genID-YJSl3YhL.js +238 -0
- package/dist/genID-YJSl3YhL.js.map +1 -0
- package/dist/hash.d.mts +18 -15
- package/dist/hash.d.mts.map +1 -0
- package/dist/hash.d.ts +18 -15
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +12 -95
- package/dist/hash.mjs +2 -84
- package/dist/index.d.mts +15 -18
- package/dist/index.d.mts.map +1 -0
- package/dist/index.d.ts +15 -18
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +125 -2698
- package/dist/index.mjs +13 -2538
- package/dist/keys-BfcaiAOv.mjs +90 -0
- package/dist/keys-BfcaiAOv.mjs.map +1 -0
- package/dist/keys-CinT7kEY.js +125 -0
- package/dist/keys-CinT7kEY.js.map +1 -0
- package/dist/keystore-crypto.d.mts +17 -46
- package/dist/keystore-crypto.d.mts.map +1 -0
- package/dist/keystore-crypto.d.ts +17 -46
- package/dist/keystore-crypto.d.ts.map +1 -0
- package/dist/keystore-crypto.js +5 -529
- package/dist/keystore-crypto.mjs +2 -500
- package/dist/kyber1024-PpwE1rki.mjs +144 -0
- package/dist/kyber1024-PpwE1rki.mjs.map +1 -0
- package/dist/kyber1024-jeKS8CXf.js +173 -0
- package/dist/kyber1024-jeKS8CXf.js.map +1 -0
- package/dist/{kyber768-B87rMQ7u.d.mts → kyber768-DGBB_RS7.d.ts} +8 -6
- package/dist/kyber768-DGBB_RS7.d.ts.map +1 -0
- package/dist/{kyber768-B87rMQ7u.d.ts → kyber768-DzIcGg1i.d.mts} +8 -6
- package/dist/kyber768-DzIcGg1i.d.mts.map +1 -0
- package/dist/mac-BMb1F0dN.js +170 -0
- package/dist/mac-BMb1F0dN.js.map +1 -0
- package/dist/mac-ZpRlx8Fs.mjs +116 -0
- package/dist/mac-ZpRlx8Fs.mjs.map +1 -0
- package/dist/post-quantum-crypto.d.mts +23 -27
- package/dist/post-quantum-crypto.d.mts.map +1 -0
- package/dist/post-quantum-crypto.d.ts +23 -27
- package/dist/post-quantum-crypto.d.ts.map +1 -0
- package/dist/post-quantum-crypto.js +14 -92
- package/dist/post-quantum-crypto.mjs +2 -89
- package/dist/storage-service.d.mts +28 -34
- package/dist/storage-service.d.mts.map +1 -0
- package/dist/storage-service.d.ts +28 -34
- package/dist/storage-service.d.ts.map +1 -0
- package/dist/storage-service.js +51 -53
- package/dist/storage-service.js.map +1 -1
- package/dist/storage-service.mjs +40 -51
- package/dist/storage-service.mjs.map +1 -1
- package/dist/symmetric-crypto.d.mts +8 -7
- package/dist/symmetric-crypto.d.mts.map +1 -0
- package/dist/symmetric-crypto.d.ts +8 -7
- package/dist/symmetric-crypto.d.ts.map +1 -0
- package/dist/symmetric-crypto.js +10 -142
- package/dist/symmetric-crypto.mjs +2 -133
- package/dist/types.d.mts +71 -69
- package/dist/types.d.mts.map +1 -0
- package/dist/types.d.ts +71 -69
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -10
- package/dist/types.js.map +1 -1
- package/dist/types.mjs +7 -9
- package/dist/types.mjs.map +1 -1
- package/dist/utils.d.mts +34 -78
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.d.ts +34 -78
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +17 -313
- package/dist/utils.mjs +2 -272
- package/package.json +21 -87
- package/dist/asymmetric-crypto.js.map +0 -1
- package/dist/asymmetric-crypto.mjs.map +0 -1
- package/dist/derive-key.js.map +0 -1
- package/dist/derive-key.mjs.map +0 -1
- package/dist/email-crypto.js.map +0 -1
- package/dist/email-crypto.mjs.map +0 -1
- package/dist/email-service.d.mts +0 -38
- package/dist/email-service.d.ts +0 -38
- package/dist/email-service.js +0 -154
- package/dist/email-service.js.map +0 -1
- package/dist/email-service.mjs +0 -147
- package/dist/email-service.mjs.map +0 -1
- package/dist/hash.js.map +0 -1
- package/dist/hash.mjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/keystore-crypto.js.map +0 -1
- package/dist/keystore-crypto.mjs.map +0 -1
- package/dist/keystore-service.d.mts +0 -82
- package/dist/keystore-service.d.ts +0 -82
- package/dist/keystore-service.js +0 -349
- package/dist/keystore-service.js.map +0 -1
- package/dist/keystore-service.mjs +0 -342
- package/dist/keystore-service.mjs.map +0 -1
- package/dist/post-quantum-crypto.js.map +0 -1
- package/dist/post-quantum-crypto.mjs.map +0 -1
- package/dist/symmetric-crypto.js.map +0 -1
- package/dist/symmetric-crypto.mjs.map +0 -1
- package/dist/utils-BDaK_d6T.d.ts +0 -114
- package/dist/utils-v34IRTIx.d.mts +0 -114
- package/dist/utils.js.map +0 -1
- package/dist/utils.mjs.map +0 -1
package/dist/storage-service.mjs
CHANGED
|
@@ -1,67 +1,56 @@
|
|
|
1
|
-
|
|
2
|
-
var __export = (target, all) => {
|
|
3
|
-
for (var name in all)
|
|
4
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
5
|
-
};
|
|
1
|
+
import { t as __exportAll } from "./chunk-DQk6qfdC.mjs";
|
|
6
2
|
|
|
7
|
-
|
|
8
|
-
var localStorageService_exports = {};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
});
|
|
12
|
-
function get(key) {
|
|
13
|
-
return localStorage.getItem(key);
|
|
3
|
+
//#region src/storage-service/localStorageService.ts
|
|
4
|
+
var localStorageService_exports = /* @__PURE__ */ __exportAll({ default: () => localStorageService });
|
|
5
|
+
function get$1(key) {
|
|
6
|
+
return localStorage.getItem(key);
|
|
14
7
|
}
|
|
15
|
-
function set(key, value) {
|
|
16
|
-
|
|
8
|
+
function set$1(key, value) {
|
|
9
|
+
return localStorage.setItem(key, value);
|
|
17
10
|
}
|
|
18
|
-
function removeItem(key) {
|
|
19
|
-
|
|
11
|
+
function removeItem$1(key) {
|
|
12
|
+
localStorage.removeItem(key);
|
|
20
13
|
}
|
|
21
|
-
function exists(key) {
|
|
22
|
-
|
|
14
|
+
function exists$1(key) {
|
|
15
|
+
return !!localStorage.getItem(key);
|
|
23
16
|
}
|
|
24
|
-
function clear() {
|
|
25
|
-
|
|
17
|
+
function clear$1() {
|
|
18
|
+
localStorage.clear();
|
|
26
19
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
20
|
+
const localStorageService = {
|
|
21
|
+
set: set$1,
|
|
22
|
+
get: get$1,
|
|
23
|
+
removeItem: removeItem$1,
|
|
24
|
+
exists: exists$1,
|
|
25
|
+
clear: clear$1
|
|
33
26
|
};
|
|
34
|
-
var localStorageService_default = localStorageService;
|
|
35
27
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
function get2(key) {
|
|
42
|
-
return sessionStorage.getItem(key);
|
|
43
|
-
}
|
|
44
|
-
function set2(key, value) {
|
|
45
|
-
return sessionStorage.setItem(key, value);
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/storage-service/sessionStorageService.ts
|
|
30
|
+
var sessionStorageService_exports = /* @__PURE__ */ __exportAll({ default: () => sessionStorageService });
|
|
31
|
+
function get(key) {
|
|
32
|
+
return sessionStorage.getItem(key);
|
|
46
33
|
}
|
|
47
|
-
function
|
|
48
|
-
|
|
34
|
+
function set(key, value) {
|
|
35
|
+
return sessionStorage.setItem(key, value);
|
|
49
36
|
}
|
|
50
|
-
function
|
|
51
|
-
|
|
37
|
+
function removeItem(key) {
|
|
38
|
+
sessionStorage.removeItem(key);
|
|
52
39
|
}
|
|
53
|
-
function
|
|
54
|
-
|
|
40
|
+
function exists(key) {
|
|
41
|
+
return !!sessionStorage.getItem(key);
|
|
55
42
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
43
|
+
function clear() {
|
|
44
|
+
sessionStorage.clear();
|
|
45
|
+
}
|
|
46
|
+
const sessionStorageService = {
|
|
47
|
+
set,
|
|
48
|
+
get,
|
|
49
|
+
removeItem,
|
|
50
|
+
exists,
|
|
51
|
+
clear
|
|
62
52
|
};
|
|
63
|
-
var sessionStorageService_default = sessionStorageService;
|
|
64
53
|
|
|
54
|
+
//#endregion
|
|
65
55
|
export { localStorageService_exports as localStorageService, sessionStorageService_exports as sessionStorageService };
|
|
66
|
-
//# sourceMappingURL=storage-service.mjs.map
|
|
67
56
|
//# sourceMappingURL=storage-service.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"storage-service.mjs","names":["get","set","removeItem","exists","clear"],"sources":["../src/storage-service/localStorageService.ts","../src/storage-service/sessionStorageService.ts"],"sourcesContent":["function get(key: string): string | null {\n return localStorage.getItem(key);\n}\n\nfunction set(key: string, value: string): void {\n return localStorage.setItem(key, value);\n}\n\nfunction removeItem(key: string): void {\n localStorage.removeItem(key);\n}\n\nfunction exists(key: string): boolean {\n return !!localStorage.getItem(key);\n}\n\nfunction clear(): void {\n localStorage.clear();\n}\n\nconst localStorageService = {\n set,\n get,\n removeItem,\n exists,\n clear,\n};\n\nexport default localStorageService;\n\nexport interface LocalStorageService {\n set: (key: string, value: string) => void;\n get: (key: string) => string | null;\n removeItem: (key: string) => void;\n exists: (key: string) => boolean;\n clear: () => void;\n}\n","function get(key: string): string | null {\n return sessionStorage.getItem(key);\n}\n\nfunction set(key: string, value: string): void {\n return sessionStorage.setItem(key, value);\n}\n\nfunction removeItem(key: string): void {\n sessionStorage.removeItem(key);\n}\n\nfunction exists(key: string): boolean {\n return !!sessionStorage.getItem(key);\n}\n\nfunction clear(): void {\n sessionStorage.clear();\n}\n\nconst sessionStorageService = {\n set,\n get,\n removeItem,\n exists,\n clear,\n};\n\nexport default sessionStorageService;\n\nexport interface SessionStorageService {\n set: (key: string, value: string) => void;\n get: (key: string) => string | null;\n removeItem: (key: string) => void;\n exists: (key: string) => boolean;\n clear: () => void;\n}\n"],"mappings":";;;;AAAA,SAASA,MAAI,KAA4B;AACvC,QAAO,aAAa,QAAQ,IAAI;;AAGlC,SAASC,MAAI,KAAa,OAAqB;AAC7C,QAAO,aAAa,QAAQ,KAAK,MAAM;;AAGzC,SAASC,aAAW,KAAmB;AACrC,cAAa,WAAW,IAAI;;AAG9B,SAASC,SAAO,KAAsB;AACpC,QAAO,CAAC,CAAC,aAAa,QAAQ,IAAI;;AAGpC,SAASC,UAAc;AACrB,cAAa,OAAO;;AAGtB,MAAM,sBAAsB;CAC1B;CACA;CACA;CACA;CACA;CACD;;;;;AC1BD,SAAS,IAAI,KAA4B;AACvC,QAAO,eAAe,QAAQ,IAAI;;AAGpC,SAAS,IAAI,KAAa,OAAqB;AAC7C,QAAO,eAAe,QAAQ,KAAK,MAAM;;AAG3C,SAAS,WAAW,KAAmB;AACrC,gBAAe,WAAW,IAAI;;AAGhC,SAAS,OAAO,KAAsB;AACpC,QAAO,CAAC,CAAC,eAAe,QAAQ,IAAI;;AAGtC,SAAS,QAAc;AACrB,gBAAe,OAAO;;AAGxB,MAAM,wBAAwB;CAC5B;CACA;CACA;CACA;CACA;CACD"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/symmetric-crypto/keys.d.ts
|
|
3
2
|
/**
|
|
4
3
|
* Converts Uint8Array into CryptoKey
|
|
5
4
|
*
|
|
@@ -31,8 +30,9 @@ declare function genSymmetricKey(): Uint8Array;
|
|
|
31
30
|
*
|
|
32
31
|
* @returns The derived CryptoKey.
|
|
33
32
|
*/
|
|
34
|
-
declare function deriveSymmetricCryptoKey(keyMaterial:
|
|
35
|
-
|
|
33
|
+
declare function deriveSymmetricCryptoKey(keyMaterial: Uint8Array): Promise<CryptoKey>;
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/symmetric-crypto/aes.d.ts
|
|
36
36
|
/**
|
|
37
37
|
* Symmetrically encrypts the message
|
|
38
38
|
*
|
|
@@ -42,7 +42,7 @@ declare function deriveSymmetricCryptoKey(keyMaterial: string): Promise<CryptoKe
|
|
|
42
42
|
* @param aux - The auxilary string
|
|
43
43
|
* @returns The resulting ciphertext.
|
|
44
44
|
*/
|
|
45
|
-
declare function encryptSymmetrically(encryptionKey: CryptoKey, message: Uint8Array, aux:
|
|
45
|
+
declare function encryptSymmetrically(encryptionKey: CryptoKey, message: Uint8Array, aux: Uint8Array, freeField?: Uint8Array): Promise<Uint8Array>;
|
|
46
46
|
/**
|
|
47
47
|
* Decryps symmetrically encrypted message
|
|
48
48
|
*
|
|
@@ -51,6 +51,7 @@ declare function encryptSymmetrically(encryptionKey: CryptoKey, message: Uint8Ar
|
|
|
51
51
|
* @param aux - The auxilary string
|
|
52
52
|
* @returns The resulting ciphertext.
|
|
53
53
|
*/
|
|
54
|
-
declare function decryptSymmetrically(encryptionKey: CryptoKey, encryptedMessage:
|
|
55
|
-
|
|
54
|
+
declare function decryptSymmetrically(encryptionKey: CryptoKey, encryptedMessage: Uint8Array, aux: Uint8Array): Promise<Uint8Array>;
|
|
55
|
+
//#endregion
|
|
56
56
|
export { decryptSymmetrically, deriveSymmetricCryptoKey, encryptSymmetrically, exportSymmetricCryptoKey, genSymmetricCryptoKey, genSymmetricKey, importSymmetricCryptoKey };
|
|
57
|
+
//# sourceMappingURL=symmetric-crypto.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symmetric-crypto.d.mts","names":[],"sources":["../src/symmetric-crypto/keys.ts","../src/symmetric-crypto/aes.ts"],"mappings":";;AASA;;;;;iBAAsB,wBAAA,CAAyB,OAAA,EAAS,UAAA,GAAa,WAAA,GAAc,OAAA,CAAQ,SAAA;;;;;;;iBAmBrE,wBAAA,CAAyB,GAAA,EAAK,SAAA,GAAY,OAAA,CAAQ,UAAA;;;;AAAxE;;iBAcsB,qBAAA,CAAA,GAAyB,OAAA,CAAQ,SAAA;;;;;;iBAgBvC,eAAA,CAAA,GAAmB,UAAA;;;;;;iBAeb,wBAAA,CAAyB,WAAA,EAAa,UAAA,GAAa,OAAA,CAAQ,SAAA;;;;AAhEjF;;;;;;;;iBCIsB,oBAAA,CACpB,aAAA,EAAe,SAAA,EACf,OAAA,EAAS,UAAA,EACT,GAAA,EAAK,UAAA,EACL,SAAA,GAAY,UAAA,GACX,OAAA,CAAQ,UAAA;;;;;;;;ADUX;iBCSsB,oBAAA,CACpB,aAAA,EAAe,SAAA,EACf,gBAAA,EAAkB,UAAA,EAClB,GAAA,EAAK,UAAA,GACJ,OAAA,CAAQ,UAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/symmetric-crypto/keys.d.ts
|
|
3
2
|
/**
|
|
4
3
|
* Converts Uint8Array into CryptoKey
|
|
5
4
|
*
|
|
@@ -31,8 +30,9 @@ declare function genSymmetricKey(): Uint8Array;
|
|
|
31
30
|
*
|
|
32
31
|
* @returns The derived CryptoKey.
|
|
33
32
|
*/
|
|
34
|
-
declare function deriveSymmetricCryptoKey(keyMaterial:
|
|
35
|
-
|
|
33
|
+
declare function deriveSymmetricCryptoKey(keyMaterial: Uint8Array): Promise<CryptoKey>;
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/symmetric-crypto/aes.d.ts
|
|
36
36
|
/**
|
|
37
37
|
* Symmetrically encrypts the message
|
|
38
38
|
*
|
|
@@ -42,7 +42,7 @@ declare function deriveSymmetricCryptoKey(keyMaterial: string): Promise<CryptoKe
|
|
|
42
42
|
* @param aux - The auxilary string
|
|
43
43
|
* @returns The resulting ciphertext.
|
|
44
44
|
*/
|
|
45
|
-
declare function encryptSymmetrically(encryptionKey: CryptoKey, message: Uint8Array, aux:
|
|
45
|
+
declare function encryptSymmetrically(encryptionKey: CryptoKey, message: Uint8Array, aux: Uint8Array, freeField?: Uint8Array): Promise<Uint8Array>;
|
|
46
46
|
/**
|
|
47
47
|
* Decryps symmetrically encrypted message
|
|
48
48
|
*
|
|
@@ -51,6 +51,7 @@ declare function encryptSymmetrically(encryptionKey: CryptoKey, message: Uint8Ar
|
|
|
51
51
|
* @param aux - The auxilary string
|
|
52
52
|
* @returns The resulting ciphertext.
|
|
53
53
|
*/
|
|
54
|
-
declare function decryptSymmetrically(encryptionKey: CryptoKey, encryptedMessage:
|
|
55
|
-
|
|
54
|
+
declare function decryptSymmetrically(encryptionKey: CryptoKey, encryptedMessage: Uint8Array, aux: Uint8Array): Promise<Uint8Array>;
|
|
55
|
+
//#endregion
|
|
56
56
|
export { decryptSymmetrically, deriveSymmetricCryptoKey, encryptSymmetrically, exportSymmetricCryptoKey, genSymmetricCryptoKey, genSymmetricKey, importSymmetricCryptoKey };
|
|
57
|
+
//# sourceMappingURL=symmetric-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symmetric-crypto.d.ts","names":[],"sources":["../src/symmetric-crypto/keys.ts","../src/symmetric-crypto/aes.ts"],"mappings":";;AASA;;;;;iBAAsB,wBAAA,CAAyB,OAAA,EAAS,UAAA,GAAa,WAAA,GAAc,OAAA,CAAQ,SAAA;;;;;;;iBAmBrE,wBAAA,CAAyB,GAAA,EAAK,SAAA,GAAY,OAAA,CAAQ,UAAA;;;;AAAxE;;iBAcsB,qBAAA,CAAA,GAAyB,OAAA,CAAQ,SAAA;;;;;;iBAgBvC,eAAA,CAAA,GAAmB,UAAA;;;;;;iBAeb,wBAAA,CAAyB,WAAA,EAAa,UAAA,GAAa,OAAA,CAAQ,SAAA;;;;AAhEjF;;;;;;;;iBCIsB,oBAAA,CACpB,aAAA,EAAe,SAAA,EACf,OAAA,EAAS,UAAA,EACT,GAAA,EAAK,UAAA,EACL,SAAA,GAAY,UAAA,GACX,OAAA,CAAQ,UAAA;;;;;;;;ADUX;iBCSsB,oBAAA,CACpB,aAAA,EAAe,SAAA,EACf,gBAAA,EAAkB,UAAA,EAClB,GAAA,EAAK,UAAA,GACJ,OAAA,CAAQ,UAAA"}
|
package/dist/symmetric-crypto.js
CHANGED
|
@@ -1,142 +1,10 @@
|
|
|
1
|
-
'
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var IV_LEN_BYTES = 16;
|
|
12
|
-
var KEY_FORMAT = "raw";
|
|
13
|
-
function getBytesFromString(bytes, value) {
|
|
14
|
-
return blake3_js.blake3(utils_js.utf8ToBytes(value), { dkLen: bytes });
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// src/symmetric-crypto/keys.ts
|
|
18
|
-
async function importSymmetricCryptoKey(keyData) {
|
|
19
|
-
return crypto.subtle.importKey(
|
|
20
|
-
KEY_FORMAT,
|
|
21
|
-
new Uint8Array(keyData),
|
|
22
|
-
{
|
|
23
|
-
name: AES_ALGORITHM,
|
|
24
|
-
length: AES_KEY_BIT_LENGTH
|
|
25
|
-
},
|
|
26
|
-
true,
|
|
27
|
-
["encrypt", "decrypt"]
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
async function exportSymmetricCryptoKey(key) {
|
|
31
|
-
try {
|
|
32
|
-
const rawKey = await crypto.subtle.exportKey(KEY_FORMAT, key);
|
|
33
|
-
return new Uint8Array(rawKey);
|
|
34
|
-
} catch (error) {
|
|
35
|
-
throw new Error("Failed to export symmetric CryptoKey", { cause: error });
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
async function genSymmetricCryptoKey() {
|
|
39
|
-
return crypto.subtle.generateKey(
|
|
40
|
-
{
|
|
41
|
-
name: AES_ALGORITHM,
|
|
42
|
-
length: AES_KEY_BIT_LENGTH
|
|
43
|
-
},
|
|
44
|
-
true,
|
|
45
|
-
["encrypt", "decrypt"]
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
function genSymmetricKey() {
|
|
49
|
-
try {
|
|
50
|
-
const key = new Uint8Array(AES_KEY_BIT_LENGTH / 8);
|
|
51
|
-
crypto.getRandomValues(key);
|
|
52
|
-
return key;
|
|
53
|
-
} catch (error) {
|
|
54
|
-
throw new Error("Failed to generate symmetric key", { cause: error });
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
async function deriveSymmetricCryptoKey(keyMaterial) {
|
|
58
|
-
try {
|
|
59
|
-
const hashBuffer = await getBytesFromString(AES_KEY_BIT_LENGTH / 8, keyMaterial);
|
|
60
|
-
return importSymmetricCryptoKey(hashBuffer);
|
|
61
|
-
} catch (error) {
|
|
62
|
-
throw new Error("Failed to derive CryptoKey from the given key material", { cause: error });
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async function createNISTbasedIV(freeField) {
|
|
66
|
-
try {
|
|
67
|
-
if (!freeField) {
|
|
68
|
-
return utils_js$1.randomBytes(IV_LEN_BYTES);
|
|
69
|
-
}
|
|
70
|
-
const iv = new Uint8Array(16);
|
|
71
|
-
const randFiled = utils_js$1.randomBytes(12);
|
|
72
|
-
iv.set(randFiled, 0);
|
|
73
|
-
const freeFiledFixedLength = await getBytesFromString(4, freeField);
|
|
74
|
-
iv.set(freeFiledFixedLength, 12);
|
|
75
|
-
return iv;
|
|
76
|
-
} catch (error) {
|
|
77
|
-
throw new Error("Failed to create IV", { cause: error });
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
async function makeAuxFixedLength(aux) {
|
|
81
|
-
return getBytesFromString(AUX_LEN / 8, aux);
|
|
82
|
-
}
|
|
83
|
-
async function encryptMessage(message, encryptionKey, iv, additionalData) {
|
|
84
|
-
try {
|
|
85
|
-
const encrypted = await crypto.subtle.encrypt(
|
|
86
|
-
{ name: AES_ALGORITHM, iv, additionalData },
|
|
87
|
-
encryptionKey,
|
|
88
|
-
message
|
|
89
|
-
);
|
|
90
|
-
return new Uint8Array(encrypted);
|
|
91
|
-
} catch (error) {
|
|
92
|
-
throw new Error("Failed to encrypt symmetrically", { cause: error });
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
async function decryptMessage(ciphertext, iv, encryptionKey, additionalData) {
|
|
96
|
-
try {
|
|
97
|
-
const decrypted = await crypto.subtle.decrypt(
|
|
98
|
-
{ name: AES_ALGORITHM, iv, additionalData },
|
|
99
|
-
encryptionKey,
|
|
100
|
-
ciphertext
|
|
101
|
-
);
|
|
102
|
-
return new Uint8Array(decrypted);
|
|
103
|
-
} catch (error) {
|
|
104
|
-
throw new Error("Failed to decrypt symmetrically", { cause: error });
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// src/symmetric-crypto/aes.ts
|
|
109
|
-
async function encryptSymmetrically(encryptionKey, message, aux, freeField) {
|
|
110
|
-
try {
|
|
111
|
-
const iv = await createNISTbasedIV(freeField);
|
|
112
|
-
const additionalData = await makeAuxFixedLength(aux);
|
|
113
|
-
const ciphertext = await encryptMessage(message, encryptionKey, iv, additionalData);
|
|
114
|
-
return { ciphertext, iv };
|
|
115
|
-
} catch (error) {
|
|
116
|
-
throw new Error("Failed to encrypt symmetrically", { cause: error });
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
async function decryptSymmetrically(encryptionKey, encryptedMessage, aux) {
|
|
120
|
-
try {
|
|
121
|
-
const additionalData = await makeAuxFixedLength(aux);
|
|
122
|
-
const result = await decryptMessage(
|
|
123
|
-
encryptedMessage.ciphertext,
|
|
124
|
-
encryptedMessage.iv,
|
|
125
|
-
encryptionKey,
|
|
126
|
-
additionalData
|
|
127
|
-
);
|
|
128
|
-
return result;
|
|
129
|
-
} catch (error) {
|
|
130
|
-
throw new Error("Failed to decrypt symmetrically", { cause: error });
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
exports.decryptSymmetrically = decryptSymmetrically;
|
|
135
|
-
exports.deriveSymmetricCryptoKey = deriveSymmetricCryptoKey;
|
|
136
|
-
exports.encryptSymmetrically = encryptSymmetrically;
|
|
137
|
-
exports.exportSymmetricCryptoKey = exportSymmetricCryptoKey;
|
|
138
|
-
exports.genSymmetricCryptoKey = genSymmetricCryptoKey;
|
|
139
|
-
exports.genSymmetricKey = genSymmetricKey;
|
|
140
|
-
exports.importSymmetricCryptoKey = importSymmetricCryptoKey;
|
|
141
|
-
//# sourceMappingURL=symmetric-crypto.js.map
|
|
142
|
-
//# sourceMappingURL=symmetric-crypto.js.map
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_aes = require('./aes-bOrKZuUC.js');
|
|
3
|
+
|
|
4
|
+
exports.decryptSymmetrically = require_aes.decryptSymmetrically;
|
|
5
|
+
exports.deriveSymmetricCryptoKey = require_aes.deriveSymmetricCryptoKey;
|
|
6
|
+
exports.encryptSymmetrically = require_aes.encryptSymmetrically;
|
|
7
|
+
exports.exportSymmetricCryptoKey = require_aes.exportSymmetricCryptoKey;
|
|
8
|
+
exports.genSymmetricCryptoKey = require_aes.genSymmetricCryptoKey;
|
|
9
|
+
exports.genSymmetricKey = require_aes.genSymmetricKey;
|
|
10
|
+
exports.importSymmetricCryptoKey = require_aes.importSymmetricCryptoKey;
|
|
@@ -1,134 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { utf8ToBytes } from '@noble/hashes/utils.js';
|
|
3
|
-
import { randomBytes } from '@noble/post-quantum/utils.js';
|
|
1
|
+
import { a as genSymmetricCryptoKey, i as exportSymmetricCryptoKey, n as encryptSymmetrically, o as genSymmetricKey, r as deriveSymmetricCryptoKey, s as importSymmetricCryptoKey, t as decryptSymmetrically } from "./aes-DSDxP8uF.mjs";
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
var AES_ALGORITHM = "AES-GCM";
|
|
7
|
-
var AES_KEY_BIT_LENGTH = 256;
|
|
8
|
-
var AUX_LEN = 128;
|
|
9
|
-
var IV_LEN_BYTES = 16;
|
|
10
|
-
var KEY_FORMAT = "raw";
|
|
11
|
-
function getBytesFromString(bytes, value) {
|
|
12
|
-
return blake3(utf8ToBytes(value), { dkLen: bytes });
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
// src/symmetric-crypto/keys.ts
|
|
16
|
-
async function importSymmetricCryptoKey(keyData) {
|
|
17
|
-
return crypto.subtle.importKey(
|
|
18
|
-
KEY_FORMAT,
|
|
19
|
-
new Uint8Array(keyData),
|
|
20
|
-
{
|
|
21
|
-
name: AES_ALGORITHM,
|
|
22
|
-
length: AES_KEY_BIT_LENGTH
|
|
23
|
-
},
|
|
24
|
-
true,
|
|
25
|
-
["encrypt", "decrypt"]
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
async function exportSymmetricCryptoKey(key) {
|
|
29
|
-
try {
|
|
30
|
-
const rawKey = await crypto.subtle.exportKey(KEY_FORMAT, key);
|
|
31
|
-
return new Uint8Array(rawKey);
|
|
32
|
-
} catch (error) {
|
|
33
|
-
throw new Error("Failed to export symmetric CryptoKey", { cause: error });
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
async function genSymmetricCryptoKey() {
|
|
37
|
-
return crypto.subtle.generateKey(
|
|
38
|
-
{
|
|
39
|
-
name: AES_ALGORITHM,
|
|
40
|
-
length: AES_KEY_BIT_LENGTH
|
|
41
|
-
},
|
|
42
|
-
true,
|
|
43
|
-
["encrypt", "decrypt"]
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
function genSymmetricKey() {
|
|
47
|
-
try {
|
|
48
|
-
const key = new Uint8Array(AES_KEY_BIT_LENGTH / 8);
|
|
49
|
-
crypto.getRandomValues(key);
|
|
50
|
-
return key;
|
|
51
|
-
} catch (error) {
|
|
52
|
-
throw new Error("Failed to generate symmetric key", { cause: error });
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async function deriveSymmetricCryptoKey(keyMaterial) {
|
|
56
|
-
try {
|
|
57
|
-
const hashBuffer = await getBytesFromString(AES_KEY_BIT_LENGTH / 8, keyMaterial);
|
|
58
|
-
return importSymmetricCryptoKey(hashBuffer);
|
|
59
|
-
} catch (error) {
|
|
60
|
-
throw new Error("Failed to derive CryptoKey from the given key material", { cause: error });
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
async function createNISTbasedIV(freeField) {
|
|
64
|
-
try {
|
|
65
|
-
if (!freeField) {
|
|
66
|
-
return randomBytes(IV_LEN_BYTES);
|
|
67
|
-
}
|
|
68
|
-
const iv = new Uint8Array(16);
|
|
69
|
-
const randFiled = randomBytes(12);
|
|
70
|
-
iv.set(randFiled, 0);
|
|
71
|
-
const freeFiledFixedLength = await getBytesFromString(4, freeField);
|
|
72
|
-
iv.set(freeFiledFixedLength, 12);
|
|
73
|
-
return iv;
|
|
74
|
-
} catch (error) {
|
|
75
|
-
throw new Error("Failed to create IV", { cause: error });
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
async function makeAuxFixedLength(aux) {
|
|
79
|
-
return getBytesFromString(AUX_LEN / 8, aux);
|
|
80
|
-
}
|
|
81
|
-
async function encryptMessage(message, encryptionKey, iv, additionalData) {
|
|
82
|
-
try {
|
|
83
|
-
const encrypted = await crypto.subtle.encrypt(
|
|
84
|
-
{ name: AES_ALGORITHM, iv, additionalData },
|
|
85
|
-
encryptionKey,
|
|
86
|
-
message
|
|
87
|
-
);
|
|
88
|
-
return new Uint8Array(encrypted);
|
|
89
|
-
} catch (error) {
|
|
90
|
-
throw new Error("Failed to encrypt symmetrically", { cause: error });
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
async function decryptMessage(ciphertext, iv, encryptionKey, additionalData) {
|
|
94
|
-
try {
|
|
95
|
-
const decrypted = await crypto.subtle.decrypt(
|
|
96
|
-
{ name: AES_ALGORITHM, iv, additionalData },
|
|
97
|
-
encryptionKey,
|
|
98
|
-
ciphertext
|
|
99
|
-
);
|
|
100
|
-
return new Uint8Array(decrypted);
|
|
101
|
-
} catch (error) {
|
|
102
|
-
throw new Error("Failed to decrypt symmetrically", { cause: error });
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// src/symmetric-crypto/aes.ts
|
|
107
|
-
async function encryptSymmetrically(encryptionKey, message, aux, freeField) {
|
|
108
|
-
try {
|
|
109
|
-
const iv = await createNISTbasedIV(freeField);
|
|
110
|
-
const additionalData = await makeAuxFixedLength(aux);
|
|
111
|
-
const ciphertext = await encryptMessage(message, encryptionKey, iv, additionalData);
|
|
112
|
-
return { ciphertext, iv };
|
|
113
|
-
} catch (error) {
|
|
114
|
-
throw new Error("Failed to encrypt symmetrically", { cause: error });
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
async function decryptSymmetrically(encryptionKey, encryptedMessage, aux) {
|
|
118
|
-
try {
|
|
119
|
-
const additionalData = await makeAuxFixedLength(aux);
|
|
120
|
-
const result = await decryptMessage(
|
|
121
|
-
encryptedMessage.ciphertext,
|
|
122
|
-
encryptedMessage.iv,
|
|
123
|
-
encryptionKey,
|
|
124
|
-
additionalData
|
|
125
|
-
);
|
|
126
|
-
return result;
|
|
127
|
-
} catch (error) {
|
|
128
|
-
throw new Error("Failed to decrypt symmetrically", { cause: error });
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
export { decryptSymmetrically, deriveSymmetricCryptoKey, encryptSymmetrically, exportSymmetricCryptoKey, genSymmetricCryptoKey, genSymmetricKey, importSymmetricCryptoKey };
|
|
133
|
-
//# sourceMappingURL=symmetric-crypto.mjs.map
|
|
134
|
-
//# sourceMappingURL=symmetric-crypto.mjs.map
|
|
3
|
+
export { decryptSymmetrically, deriveSymmetricCryptoKey, encryptSymmetrically, exportSymmetricCryptoKey, genSymmetricCryptoKey, genSymmetricKey, importSymmetricCryptoKey };
|
package/dist/types.d.mts
CHANGED
|
@@ -1,102 +1,104 @@
|
|
|
1
|
-
|
|
2
|
-
IDENTITY = "identity",
|
|
3
|
-
ENCRYPTION = "encryption",
|
|
4
|
-
RECOVERY = "recovery",
|
|
5
|
-
INDEX = "index"
|
|
6
|
-
}
|
|
1
|
+
//#region src/types.d.ts
|
|
7
2
|
type EncryptedKeystore = {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
userEmail: string;
|
|
4
|
+
type: KeystoreType;
|
|
5
|
+
encryptedKeys: EmailKeysEncrypted;
|
|
11
6
|
};
|
|
12
7
|
type User = {
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
email: string;
|
|
9
|
+
name: string;
|
|
15
10
|
};
|
|
16
11
|
type UserWithPublicKeys = User & {
|
|
17
|
-
|
|
12
|
+
publicKeys: PublicKeys;
|
|
18
13
|
};
|
|
19
14
|
type PublicKeys = {
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
eccPublicKey: CryptoKey;
|
|
16
|
+
kyberPublicKey: Uint8Array;
|
|
22
17
|
};
|
|
23
|
-
type
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
index: number;
|
|
27
|
-
userID: string;
|
|
18
|
+
type PublicKeysBase64 = {
|
|
19
|
+
eccPublicKeyBase64: string;
|
|
20
|
+
kyberPublicKeyBase64: string;
|
|
28
21
|
};
|
|
29
22
|
type PrivateKeys = {
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
eccPrivateKey: CryptoKey;
|
|
24
|
+
kyberPrivateKey: Uint8Array;
|
|
32
25
|
};
|
|
33
|
-
type
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
type PrivateKeysEncrypted = {
|
|
27
|
+
eccPrivateKeyBase64: string;
|
|
28
|
+
kyberPrivateKeyBase64: string;
|
|
36
29
|
};
|
|
37
|
-
type
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
30
|
+
type EmailKeys = {
|
|
31
|
+
publicKeys: PublicKeys;
|
|
32
|
+
privateKeys: PrivateKeys;
|
|
33
|
+
};
|
|
34
|
+
type EmailKeysEncrypted = {
|
|
35
|
+
publicKeys: PublicKeysBase64;
|
|
36
|
+
privateKeys: PrivateKeysEncrypted;
|
|
42
37
|
};
|
|
43
38
|
type HybridEncryptedEmail = {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
encryptedKey: HybridEncKey;
|
|
40
|
+
enc: EmailBodyEncrypted;
|
|
41
|
+
recipientEmail: string;
|
|
42
|
+
params: EmailPublicParameters;
|
|
43
|
+
id: string;
|
|
44
|
+
isSubjectEncrypted: boolean;
|
|
49
45
|
};
|
|
50
46
|
type PwdProtectedEmail = {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
type SymmetricCiphertext = {
|
|
57
|
-
ciphertext: Uint8Array;
|
|
58
|
-
iv: Uint8Array;
|
|
47
|
+
encryptedKey: PwdProtectedKey;
|
|
48
|
+
enc: EmailBodyEncrypted;
|
|
49
|
+
params: EmailPublicParameters;
|
|
50
|
+
id: string;
|
|
51
|
+
isSubjectEncrypted: boolean;
|
|
59
52
|
};
|
|
60
53
|
type StoredEmail = {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
params: EmailPublicParameters;
|
|
55
|
+
enc: EmailBodyEncrypted;
|
|
56
|
+
id: string;
|
|
64
57
|
};
|
|
65
58
|
type HybridEncKey = {
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
kyberCiphertext: string;
|
|
60
|
+
encryptedKey: string;
|
|
68
61
|
};
|
|
69
62
|
type PwdProtectedKey = {
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
encryptedKey: string;
|
|
64
|
+
salt: string;
|
|
65
|
+
};
|
|
66
|
+
type EmailBodyEncrypted = {
|
|
67
|
+
encText: string;
|
|
68
|
+
encAttachments?: string[];
|
|
72
69
|
};
|
|
73
70
|
type EmailBody = {
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
text: string;
|
|
72
|
+
attachments?: string[];
|
|
76
73
|
};
|
|
77
74
|
type EmailPublicParameters = {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
75
|
+
subject: string;
|
|
76
|
+
createdAt: string;
|
|
77
|
+
sender: User;
|
|
78
|
+
recipient: User;
|
|
79
|
+
recipients?: User[];
|
|
80
|
+
replyToEmailID?: string;
|
|
81
|
+
labels?: string[];
|
|
85
82
|
};
|
|
86
83
|
type Email = {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
id: string;
|
|
85
|
+
body: EmailBody;
|
|
86
|
+
params: EmailPublicParameters;
|
|
90
87
|
};
|
|
91
88
|
interface MailCache<Email> {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
89
|
+
esCache: Map<string, Email>;
|
|
90
|
+
cacheSize: number;
|
|
91
|
+
isCacheLimited: boolean;
|
|
92
|
+
isCacheReady: boolean;
|
|
96
93
|
}
|
|
97
94
|
interface EmailSearchResult {
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
email: Email;
|
|
96
|
+
score?: number;
|
|
97
|
+
}
|
|
98
|
+
declare enum KeystoreType {
|
|
99
|
+
ENCRYPTION = "Encryption",
|
|
100
|
+
RECOVERY = "Recovery"
|
|
100
101
|
}
|
|
101
|
-
|
|
102
|
-
export {
|
|
102
|
+
//#endregion
|
|
103
|
+
export { Email, EmailBody, EmailBodyEncrypted, EmailKeys, EmailKeysEncrypted, EmailPublicParameters, EmailSearchResult, EncryptedKeystore, HybridEncKey, HybridEncryptedEmail, KeystoreType, MailCache, PrivateKeys, PrivateKeysEncrypted, PublicKeys, PublicKeysBase64, PwdProtectedEmail, PwdProtectedKey, StoredEmail, User, UserWithPublicKeys };
|
|
104
|
+
//# sourceMappingURL=types.d.mts.map
|