ddan-js 2.7.7 → 2.7.8
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/bin/ddan-js.esm.js +1 -1
- package/bin/ddan-js.js +1 -1
- package/bin/lib/class/mapping.js +5 -0
- package/bin/lib/modules/crypto/rsa.js +143 -0
- package/bin/lib/modules/node/index.js +2 -1
- package/bin/lib/modules/node/rsa-web.js +19 -0
- package/bin/lib/modules/rsa.js +9 -100
- package/bin/types/class/mapping.d.ts +1 -0
- package/bin/types/index.d.ts +16 -4
- package/bin/types/modules/crypto/rsa.d.ts +15 -0
- package/bin/types/modules/node/index.d.ts +12 -0
- package/bin/types/modules/node/rsa-web.d.ts +13 -0
- package/bin/types/modules/rsa.d.ts +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const convert_1 = require("../convert");
|
|
4
|
+
const RSAPublicKey = `MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApiLWsPmoaiGdr02AmPYS
|
|
5
|
+
4/VgxyJNNJSK2VICirXl4P8qAP3b/6GIs7Hwnsmmuj7gledJ0XiZodFjDNgQEZEG
|
|
6
|
+
j4K9KX8NixcrJwnTQV5UebiERdj+64ihwqPVWo9dIOj43ZPJ8f4dritJv5tnQaBb
|
|
7
|
+
b9zTkU3Ofzk1g8RU00Ith6quOGZcU2IWC4OQ+5YiZvzrCBKEvjFwK2OvGq43tI51
|
|
8
|
+
GaZdI9H09jisypqefsMvv6esjEQQOtl+WGlI5fof7KZUt3dppvuDI4CYgeXIoKKL
|
|
9
|
+
9T9qDl8F9aNSs3XHx32YyA7L1FraFD6PjqRjueIFp2emsXQcIMeMqqgVyV+4qb+0
|
|
10
|
+
uwIDAQAB`;
|
|
11
|
+
const RSAPrivateKey = `MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCmItaw+ahqIZ2v
|
|
12
|
+
TYCY9hLj9WDHIk00lIrZUgKKteXg/yoA/dv/oYizsfCeyaa6PuCV50nReJmh0WMM
|
|
13
|
+
2BARkQaPgr0pfw2LFysnCdNBXlR5uIRF2P7riKHCo9Vaj10g6Pjdk8nx/h2uK0m/
|
|
14
|
+
m2dBoFtv3NORTc5/OTWDxFTTQi2Hqq44ZlxTYhYLg5D7liJm/OsIEoS+MXArY68a
|
|
15
|
+
rje0jnUZpl0j0fT2OKzKmp5+wy+/p6yMRBA62X5YaUjl+h/splS3d2mm+4MjgJiB
|
|
16
|
+
5cigoov1P2oOXwX1o1KzdcfHfZjIDsvUWtoUPo+OpGO54gWnZ6axdBwgx4yqqBXJ
|
|
17
|
+
X7ipv7S7AgMBAAECggEAE1kuWLkSsJ2OoDpt9iJ+a7cJmNd5V1zPWOTwr9fkWFJP
|
|
18
|
+
QYNPKlPVOFxKUivY84rcHAkuMyuQ9OQOXZISOQGDWpZW0mzeFmtR1r+Rr2S9gNmI
|
|
19
|
+
6huOAL9OW306HUxiA7GuPhv2omy+Zyjac2q1WVLEI2B78Um2+WEfxuNIH7xu0gRR
|
|
20
|
+
z/wluevMBQlv6hSeMESP6e9s2kB+FuM4bL7+1sexwS1TudKbHybujaiB8un9E2V3
|
|
21
|
+
C9BkE6yf00Rhvii6Q4E4w3PFQfcBEFnjOD0S2Watx8GIbYjlYvtquy8Yj7OtyZB6
|
|
22
|
+
w5sxyaYhKVVnkpGAbOgaCj94ABYF47VuwXr45I4PzQKBgQDp6svzD+QKlARjcWgO
|
|
23
|
+
rH7UEpFX6m49G6Ib4c63xEg9+GesTgfDxoYxtXDKsC7I8OwMrmffJGbyfjaAvzmg
|
|
24
|
+
icM3Y7kF6UPO9+q2mBRsyhoJSNONTeUVyoFSc+QDsVgndlTZIjqC5XLrONGaSPLJ
|
|
25
|
+
7jJzqKhp3NQcpO8+xY0d7Efm1QKBgQC10fCNuF1LUTYgsWvvGxTiCCAIBurZmHU+
|
|
26
|
+
GMb2Okfoco/P+QNl1jEba91AC7FudW3g/lRn0vTnDajlNoz2/CKunrTKN4/9lEBI
|
|
27
|
+
tiwEOvhc5FtapRifSfrrNwFqPM+LijvOkcteWVhAUWCEP1eLmpnXGqfmZxnTaaVe
|
|
28
|
+
5DyDgyAVTwKBgQDhEawfOQEANJ9sV2f6BnsZ7quuXcCoR3hZP5G5O8EO735BSesq
|
|
29
|
+
sk/YcG4QeCjr6vQU15LWH552YH5srpHyJ9uP5gHW8DTwZZaPDhFJA8S9fjcfVP3B
|
|
30
|
+
U9HO1fdknjTl83N8YPTPkZpbPZZfzyTcqrYclwFEqtfkn8YbLdW0Hu6n6QKBgDEv
|
|
31
|
+
jvS3uD1ExfDILlurptWSvx+Mx4F/1c+roj8/+u3t9+uaAIpPDE/PuTW3NBOens/r
|
|
32
|
+
3WeM0QWkU1lWjYHPKY61jlDaARDnRxCkf3nRfhibCf+Wg/erar6wzagwtTCZf55d
|
|
33
|
+
IHfwkYgsu4BrJkK02wMuydbxczIW9U6bTaeCFG7PAoGAN3oHYzTEBwZ7ZKv11QiQ
|
|
34
|
+
Ep/HeHBvD8fH/e1uVyBel4Co7NO5pV2s8qjS8+3+jxumKLNXCirjqwHo03YCdzxi
|
|
35
|
+
cy4GFDsukHmDQ7FF9VC4QV0fJ0F7jGYE9nNZ+K9qwS5KrihOSBPxj0HptrF6TSOw
|
|
36
|
+
BTSwr0byL3TC0m0StkSNKpo=`;
|
|
37
|
+
const generateKeys = async (subtle) => {
|
|
38
|
+
try {
|
|
39
|
+
// 生成RSA密钥对
|
|
40
|
+
const keyPair = await subtle.generateKey({
|
|
41
|
+
name: 'RSA-OAEP',
|
|
42
|
+
modulusLength: 2048,
|
|
43
|
+
publicExponent: new Uint8Array([1, 0, 1]),
|
|
44
|
+
hash: 'SHA-256',
|
|
45
|
+
}, true, // 是否可导出密钥
|
|
46
|
+
['encrypt', 'decrypt']);
|
|
47
|
+
// 导出公钥为SPKI格式(可共享)
|
|
48
|
+
const publicBuffer = await window.crypto.subtle.exportKey('spki', keyPair.publicKey);
|
|
49
|
+
const publicKey = format_pem_content(publicBuffer);
|
|
50
|
+
const publicKeyPem = format_pem_key(publicKey, 'PUBLIC KEY');
|
|
51
|
+
// 导出私钥为PKCS#8格式(需保护)
|
|
52
|
+
const privateBuffer = await window.crypto.subtle.exportKey('pkcs8', keyPair.privateKey);
|
|
53
|
+
const privateKey = format_pem_content(privateBuffer);
|
|
54
|
+
const privateKeyPem = format_pem_key(privateKey, 'PRIVATE KEY');
|
|
55
|
+
return {
|
|
56
|
+
publicKey,
|
|
57
|
+
publicKeyPem,
|
|
58
|
+
privateKey,
|
|
59
|
+
privateKeyPem,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
console.error('generateKeys failed:', err);
|
|
64
|
+
return {
|
|
65
|
+
publicKey: '',
|
|
66
|
+
publicKeyPem: '',
|
|
67
|
+
privateKey: '',
|
|
68
|
+
privateKeyPem: '',
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const format_pem_content = (buffer) => {
|
|
73
|
+
try {
|
|
74
|
+
const base64String = convert_1.default.ab2str(buffer, true);
|
|
75
|
+
return base64String.match(/.{1,64}/g)?.join('\n') || '';
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
return '';
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
const format_pem_key = (pemContent = '', label = 'PUBLIC KEY') => {
|
|
82
|
+
return `-----BEGIN ${label}-----\n${pemContent}\n-----END ${label}-----`;
|
|
83
|
+
};
|
|
84
|
+
// SHA256: 256 - 2 - 2*32 = 190
|
|
85
|
+
// SHA1: 256 - 2 - 2*20 = 214
|
|
86
|
+
const maxChunkSize = 190;
|
|
87
|
+
const encrypt = async (subtle, data, publicKey) => {
|
|
88
|
+
try {
|
|
89
|
+
const bytes = new TextEncoder().encode(data);
|
|
90
|
+
const key = await subtle.importKey('spki', convert_1.default.str2ab(publicKey, true), {
|
|
91
|
+
name: 'RSA-OAEP',
|
|
92
|
+
hash: 'SHA-256',
|
|
93
|
+
}, true, ['encrypt']);
|
|
94
|
+
const encryptedChunks = [];
|
|
95
|
+
for (let i = 0; i < bytes.length; i += maxChunkSize) {
|
|
96
|
+
let chunk = bytes.slice(i, i + maxChunkSize);
|
|
97
|
+
let encryptedChunk = await subtle.encrypt({
|
|
98
|
+
name: 'RSA-OAEP',
|
|
99
|
+
}, key, chunk);
|
|
100
|
+
encryptedChunks.push(new Uint8Array(encryptedChunk));
|
|
101
|
+
}
|
|
102
|
+
const enctryptedBytes = convert_1.default.concatBytes(...encryptedChunks);
|
|
103
|
+
return convert_1.default.bytesToBase64(enctryptedBytes);
|
|
104
|
+
}
|
|
105
|
+
catch (error) {
|
|
106
|
+
console.error(`[debug] encrypt`, error);
|
|
107
|
+
return '';
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const decrypt = async (subtle, encryptedBase64, privateKey) => {
|
|
111
|
+
try {
|
|
112
|
+
const encrypted = convert_1.default.base64ToBytes(encryptedBase64);
|
|
113
|
+
const key = await subtle.importKey('pkcs8', convert_1.default.str2ab(privateKey, true), {
|
|
114
|
+
name: 'RSA-OAEP',
|
|
115
|
+
hash: 'SHA-256',
|
|
116
|
+
}, true, ['decrypt']);
|
|
117
|
+
const decryptedChunks = [];
|
|
118
|
+
const chunkSize = 256; // 每个加密块的大小(2048位 RSA 的加密输出为 256 字节)
|
|
119
|
+
for (let i = 0; i < encrypted.length; i += chunkSize) {
|
|
120
|
+
let chunk = encrypted.slice(i, i + chunkSize);
|
|
121
|
+
let decryptedChunk = await subtle.decrypt({
|
|
122
|
+
name: 'RSA-OAEP',
|
|
123
|
+
}, key, chunk);
|
|
124
|
+
// 添加解密后的数据
|
|
125
|
+
decryptedChunks.push(new Uint8Array(decryptedChunk));
|
|
126
|
+
}
|
|
127
|
+
const encryptedBytes = convert_1.default.concatBytes(...decryptedChunks);
|
|
128
|
+
return convert_1.default.bytesToStr(encryptedBytes);
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
console.error('decrypt failed:', err);
|
|
132
|
+
return '';
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
exports.default = {
|
|
136
|
+
RSAPublicKey,
|
|
137
|
+
RSAPrivateKey,
|
|
138
|
+
generateKeys,
|
|
139
|
+
format_pem_key,
|
|
140
|
+
format_pem_content,
|
|
141
|
+
encrypt,
|
|
142
|
+
decrypt,
|
|
143
|
+
};
|
|
@@ -6,4 +6,5 @@ const socks5_1 = require("./socks5");
|
|
|
6
6
|
const child_1 = require("./child");
|
|
7
7
|
const proxy_1 = require("./proxy");
|
|
8
8
|
const ecdh_web_1 = require("./ecdh-web");
|
|
9
|
-
|
|
9
|
+
const rsa_web_1 = require("./rsa-web");
|
|
10
|
+
exports.default = { ...brotli_1.default, ...child_1.default, ...proxy_1.default, Ecdh: ecdh_1.default, EcdhWeb: ecdh_web_1.default, Socks5: socks5_1.Socks5, rsa: rsa_web_1.default };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const rsa_1 = require("../crypto/rsa");
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const getSubtle = () => crypto_1.default.webcrypto.subtle;
|
|
6
|
+
const generateKeys = () => rsa_1.default.generateKeys(getSubtle());
|
|
7
|
+
// SHA256: 256 - 2 - 2*32 = 190
|
|
8
|
+
// SHA1: 256 - 2 - 2*20 = 214
|
|
9
|
+
const encrypt = async (data, publicKey) => rsa_1.default.encrypt(getSubtle(), data, publicKey);
|
|
10
|
+
const decrypt = async (encryptedBase64, privateKey) => rsa_1.default.decrypt(getSubtle(), encryptedBase64, privateKey);
|
|
11
|
+
const encode = async (data) => rsa_1.default.encrypt(getSubtle(), data, rsa_1.default.RSAPublicKey);
|
|
12
|
+
const decode = async (encryptedBase64) => rsa_1.default.decrypt(getSubtle(), encryptedBase64, rsa_1.default.RSAPrivateKey);
|
|
13
|
+
exports.default = {
|
|
14
|
+
generateKeys,
|
|
15
|
+
encrypt,
|
|
16
|
+
decrypt,
|
|
17
|
+
encode,
|
|
18
|
+
decode,
|
|
19
|
+
};
|
package/bin/lib/modules/rsa.js
CHANGED
|
@@ -1,109 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const generateKeys =
|
|
6
|
-
try {
|
|
7
|
-
// 生成RSA密钥对
|
|
8
|
-
const keyPair = await window.crypto.subtle.generateKey({
|
|
9
|
-
name: 'RSA-OAEP',
|
|
10
|
-
modulusLength: 2048,
|
|
11
|
-
publicExponent: new Uint8Array([1, 0, 1]),
|
|
12
|
-
hash: 'SHA-256',
|
|
13
|
-
}, true, // 是否可导出密钥
|
|
14
|
-
['encrypt', 'decrypt']);
|
|
15
|
-
// 导出公钥为SPKI格式(可共享)
|
|
16
|
-
const publicBuffer = await window.crypto.subtle.exportKey('spki', keyPair.publicKey);
|
|
17
|
-
const publicKey = format_pem_content(publicBuffer);
|
|
18
|
-
const publicKeyPem = format_pem_key(publicKey, 'PUBLIC KEY');
|
|
19
|
-
// 导出私钥为PKCS#8格式(需保护)
|
|
20
|
-
const privateBuffer = await window.crypto.subtle.exportKey('pkcs8', keyPair.privateKey);
|
|
21
|
-
const privateKey = format_pem_content(privateBuffer);
|
|
22
|
-
const privateKeyPem = format_pem_key(privateKey, 'PRIVATE KEY');
|
|
23
|
-
return {
|
|
24
|
-
publicKey,
|
|
25
|
-
publicKeyPem,
|
|
26
|
-
privateKey,
|
|
27
|
-
privateKeyPem,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
catch (err) {
|
|
31
|
-
console.error('generateKeys failed:', err);
|
|
32
|
-
return {
|
|
33
|
-
publicKey: '',
|
|
34
|
-
publicKeyPem: '',
|
|
35
|
-
privateKey: '',
|
|
36
|
-
privateKeyPem: '',
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
const format_pem_content = (buffer) => {
|
|
41
|
-
try {
|
|
42
|
-
const base64String = convert_1.default.ab2str(buffer, true);
|
|
43
|
-
return base64String.match(/.{1,64}/g)?.join('\n') || '';
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
return '';
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
const format_pem_key = (pemContent = '', label = 'PUBLIC KEY') => {
|
|
50
|
-
return `-----BEGIN ${label}-----\n${pemContent}\n-----END ${label}-----`;
|
|
51
|
-
};
|
|
3
|
+
const rsa_1 = require("./crypto/rsa");
|
|
4
|
+
const __subtle = ((typeof window !== 'undefined') ? window.crypto.subtle : {});
|
|
5
|
+
const generateKeys = () => rsa_1.default.generateKeys(__subtle);
|
|
52
6
|
// SHA256: 256 - 2 - 2*32 = 190
|
|
53
7
|
// SHA1: 256 - 2 - 2*20 = 214
|
|
54
|
-
const
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const key = await window.crypto.subtle.importKey('spki', __1.dHook.str2ab(window.atob(publicKey)), {
|
|
59
|
-
name: 'RSA-OAEP',
|
|
60
|
-
hash: 'SHA-256',
|
|
61
|
-
}, true, ['encrypt']);
|
|
62
|
-
const encryptedChunks = [];
|
|
63
|
-
for (let i = 0; i < bytes.length; i += maxChunkSize) {
|
|
64
|
-
let chunk = bytes.slice(i, i + maxChunkSize);
|
|
65
|
-
let encryptedChunk = await window.crypto.subtle.encrypt({
|
|
66
|
-
name: 'RSA-OAEP',
|
|
67
|
-
}, key, chunk);
|
|
68
|
-
encryptedChunks.push(new Uint8Array(encryptedChunk));
|
|
69
|
-
}
|
|
70
|
-
const enctryptedBytes = __1.dHook.concatBytes(...encryptedChunks);
|
|
71
|
-
return __1.dHook.bytesToBase64(enctryptedBytes);
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
console.error(`[debug] encrypt`, error);
|
|
75
|
-
return '';
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
const decrypt = async (encryptedBase64, privateKey) => {
|
|
79
|
-
try {
|
|
80
|
-
const encrypted = __1.dHook.base64ToBytes(encryptedBase64);
|
|
81
|
-
const key = await window.crypto.subtle.importKey('pkcs8', __1.dHook.str2ab(privateKey, true), {
|
|
82
|
-
name: 'RSA-OAEP',
|
|
83
|
-
hash: 'SHA-256',
|
|
84
|
-
}, true, ['decrypt']);
|
|
85
|
-
const decryptedChunks = [];
|
|
86
|
-
const chunkSize = 256; // 每个加密块的大小(2048位 RSA 的加密输出为 256 字节)
|
|
87
|
-
for (let i = 0; i < encrypted.length; i += chunkSize) {
|
|
88
|
-
let chunk = encrypted.slice(i, i + chunkSize);
|
|
89
|
-
let decryptedChunk = await window.crypto.subtle.decrypt({
|
|
90
|
-
name: 'RSA-OAEP',
|
|
91
|
-
}, key, chunk);
|
|
92
|
-
// 添加解密后的数据
|
|
93
|
-
decryptedChunks.push(new Uint8Array(decryptedChunk));
|
|
94
|
-
}
|
|
95
|
-
const encryptedBytes = __1.dHook.concatBytes(...decryptedChunks);
|
|
96
|
-
return __1.dHook.bytesToStr(encryptedBytes);
|
|
97
|
-
}
|
|
98
|
-
catch (err) {
|
|
99
|
-
console.error('decrypt failed:', err);
|
|
100
|
-
return '';
|
|
101
|
-
}
|
|
102
|
-
};
|
|
8
|
+
const encrypt = async (data, publicKey) => rsa_1.default.encrypt(__subtle, data, publicKey);
|
|
9
|
+
const decrypt = async (encryptedBase64, privateKey) => rsa_1.default.decrypt(__subtle, encryptedBase64, privateKey);
|
|
10
|
+
const encode = async (data) => rsa_1.default.encrypt(__subtle, data, rsa_1.default.RSAPublicKey);
|
|
11
|
+
const decode = async (encryptedBase64) => rsa_1.default.decrypt(__subtle, encryptedBase64, rsa_1.default.RSAPrivateKey);
|
|
103
12
|
exports.default = {
|
|
104
13
|
generateKeys,
|
|
105
|
-
format_pem_key,
|
|
106
|
-
format_pem_content,
|
|
107
14
|
encrypt,
|
|
108
15
|
decrypt,
|
|
16
|
+
encode,
|
|
17
|
+
decode,
|
|
109
18
|
};
|
|
@@ -5,6 +5,7 @@ export default class Mapping<T = any> {
|
|
|
5
5
|
get keys(): string[];
|
|
6
6
|
get values(): KValue<T>[];
|
|
7
7
|
get(key: string): T | undefined;
|
|
8
|
+
getKV(key: string): KValue<T> | undefined;
|
|
8
9
|
set(key: string, value?: T): void;
|
|
9
10
|
delete(key: string, cb?: (value?: T, key?: string) => void): void;
|
|
10
11
|
clear(): void;
|
package/bin/types/index.d.ts
CHANGED
|
@@ -557,16 +557,28 @@ declare const dWeb: {
|
|
|
557
557
|
privateKey: string;
|
|
558
558
|
privateKeyPem: string;
|
|
559
559
|
}>;
|
|
560
|
-
format_pem_key: (pemContent?: string, label?: string) => string;
|
|
561
|
-
format_pem_content: (buffer: ArrayBuffer) => string;
|
|
562
560
|
encrypt: (data: string, publicKey: string) => Promise<string>;
|
|
563
561
|
decrypt: (encryptedBase64: string, privateKey: string) => Promise<string>;
|
|
562
|
+
encode: (data: string) => Promise<string>;
|
|
563
|
+
decode: (encryptedBase64: string) => Promise<string>;
|
|
564
564
|
};
|
|
565
565
|
};
|
|
566
566
|
declare const dNode: {
|
|
567
567
|
Ecdh: typeof import("./modules/node/ecdh").default;
|
|
568
568
|
EcdhWeb: typeof import("./modules/node/ecdh-web").default;
|
|
569
569
|
Socks5: typeof import("./modules/node/socks5").Socks5;
|
|
570
|
+
rsa: {
|
|
571
|
+
generateKeys: () => Promise<{
|
|
572
|
+
publicKey: string;
|
|
573
|
+
publicKeyPem: string;
|
|
574
|
+
privateKey: string;
|
|
575
|
+
privateKeyPem: string;
|
|
576
|
+
}>;
|
|
577
|
+
encrypt: (data: string, publicKey: string) => Promise<string>;
|
|
578
|
+
decrypt: (encryptedBase64: string, privateKey: string) => Promise<string>;
|
|
579
|
+
encode: (data: string) => Promise<string>;
|
|
580
|
+
decode: (encryptedBase64: string) => Promise<string>;
|
|
581
|
+
};
|
|
570
582
|
getSystemProxy: () => Promise<{
|
|
571
583
|
ipaddress: string;
|
|
572
584
|
port: number;
|
|
@@ -968,10 +980,10 @@ declare const _default: {
|
|
|
968
980
|
privateKey: string;
|
|
969
981
|
privateKeyPem: string;
|
|
970
982
|
}>;
|
|
971
|
-
format_pem_key: (pemContent?: string, label?: string) => string;
|
|
972
|
-
format_pem_content: (buffer: ArrayBuffer) => string;
|
|
973
983
|
encrypt: (data: string, publicKey: string) => Promise<string>;
|
|
974
984
|
decrypt: (encryptedBase64: string, privateKey: string) => Promise<string>;
|
|
985
|
+
encode: (data: string) => Promise<string>;
|
|
986
|
+
decode: (encryptedBase64: string) => Promise<string>;
|
|
975
987
|
};
|
|
976
988
|
};
|
|
977
989
|
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
RSAPublicKey: string;
|
|
3
|
+
RSAPrivateKey: string;
|
|
4
|
+
generateKeys: (subtle: any) => Promise<{
|
|
5
|
+
publicKey: string;
|
|
6
|
+
publicKeyPem: string;
|
|
7
|
+
privateKey: string;
|
|
8
|
+
privateKeyPem: string;
|
|
9
|
+
}>;
|
|
10
|
+
format_pem_key: (pemContent?: string, label?: string) => string;
|
|
11
|
+
format_pem_content: (buffer: ArrayBuffer) => string;
|
|
12
|
+
encrypt: (subtle: any, data: string, publicKey: string) => Promise<string>;
|
|
13
|
+
decrypt: (subtle: any, encryptedBase64: string, privateKey: string) => Promise<string>;
|
|
14
|
+
};
|
|
15
|
+
export default _default;
|
|
@@ -5,6 +5,18 @@ declare const _default: {
|
|
|
5
5
|
Ecdh: typeof Ecdh;
|
|
6
6
|
EcdhWeb: typeof EcdhWeb;
|
|
7
7
|
Socks5: typeof Socks5;
|
|
8
|
+
rsa: {
|
|
9
|
+
generateKeys: () => Promise<{
|
|
10
|
+
publicKey: string;
|
|
11
|
+
publicKeyPem: string;
|
|
12
|
+
privateKey: string;
|
|
13
|
+
privateKeyPem: string;
|
|
14
|
+
}>;
|
|
15
|
+
encrypt: (data: string, publicKey: string) => Promise<string>;
|
|
16
|
+
decrypt: (encryptedBase64: string, privateKey: string) => Promise<string>;
|
|
17
|
+
encode: (data: string) => Promise<string>;
|
|
18
|
+
decode: (encryptedBase64: string) => Promise<string>;
|
|
19
|
+
};
|
|
8
20
|
getSystemProxy: () => Promise<{
|
|
9
21
|
ipaddress: string;
|
|
10
22
|
port: number;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
generateKeys: () => Promise<{
|
|
3
|
+
publicKey: string;
|
|
4
|
+
publicKeyPem: string;
|
|
5
|
+
privateKey: string;
|
|
6
|
+
privateKeyPem: string;
|
|
7
|
+
}>;
|
|
8
|
+
encrypt: (data: string, publicKey: string) => Promise<string>;
|
|
9
|
+
decrypt: (encryptedBase64: string, privateKey: string) => Promise<string>;
|
|
10
|
+
encode: (data: string) => Promise<string>;
|
|
11
|
+
decode: (encryptedBase64: string) => Promise<string>;
|
|
12
|
+
};
|
|
13
|
+
export default _default;
|
|
@@ -5,9 +5,9 @@ declare const _default: {
|
|
|
5
5
|
privateKey: string;
|
|
6
6
|
privateKeyPem: string;
|
|
7
7
|
}>;
|
|
8
|
-
format_pem_key: (pemContent?: string, label?: string) => string;
|
|
9
|
-
format_pem_content: (buffer: ArrayBuffer) => string;
|
|
10
8
|
encrypt: (data: string, publicKey: string) => Promise<string>;
|
|
11
9
|
decrypt: (encryptedBase64: string, privateKey: string) => Promise<string>;
|
|
10
|
+
encode: (data: string) => Promise<string>;
|
|
11
|
+
decode: (encryptedBase64: string) => Promise<string>;
|
|
12
12
|
};
|
|
13
13
|
export default _default;
|