pixel-react 1.14.91 → 1.14.93
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/lib/assets/icons/lambda_icon.svg.js +1 -1
- package/lib/assets/icons/lambda_icon.svg.js.map +1 -1
- package/lib/components/Comments/Comments.js +5 -3
- package/lib/components/Comments/Comments.js.map +1 -1
- package/lib/components/SessionManager/SessionManager.js +28 -21
- package/lib/components/SessionManager/SessionManager.js.map +1 -1
- package/lib/components/SessionManager/types.d.ts +1 -0
- package/lib/components/Tooltip/Tooltip.js +19 -0
- package/lib/components/Tooltip/Tooltip.js.map +1 -1
- package/lib/components/TruncatedTooltip/TruncatedTooltip.js +3 -0
- package/lib/components/TruncatedTooltip/TruncatedTooltip.js.map +1 -1
- package/lib/index.cjs +75 -5243
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/node_modules/js-beautify/js/src/css/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/css/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/options.js +1 -1
- package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
- package/lib/styles.css +1 -1
- package/lib/styles.css.map +1 -1
- package/lib/utils/getEncryptedData/getEncryptedData.d.ts +1 -1
- package/lib/utils/getEncryptedData/getEncryptedData.js +17 -8
- package/lib/utils/getEncryptedData/getEncryptedData.js.map +1 -1
- package/package.json +2 -3
- package/lib/node_modules/jsencrypt/lib/JSEncrypt.js +0 -189
- package/lib/node_modules/jsencrypt/lib/JSEncrypt.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/JSEncryptRSAKey.js +0 -323
- package/lib/node_modules/jsencrypt/lib/JSEncryptRSAKey.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/index.js +0 -6
- package/lib/node_modules/jsencrypt/lib/index.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/asn1.js +0 -570
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/asn1.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/base64.js +0 -88
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/base64.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/hex.js +0 -66
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/hex.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/int10.js +0 -87
- package/lib/node_modules/jsencrypt/lib/lib/asn1js/int10.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/base64.js +0 -65
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/base64.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/jsbn.js +0 -1700
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/jsbn.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/prng4.js +0 -48
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/prng4.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/rng.js +0 -77
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/rng.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/rsa.js +0 -371
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/rsa.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/util.js +0 -61
- package/lib/node_modules/jsencrypt/lib/lib/jsbn/util.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js +0 -1547
- package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js.map +0 -1
- package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/yahoo.js +0 -71
- package/lib/node_modules/jsencrypt/lib/lib/jsrsasign/yahoo.js.map +0 -1
@@ -1,371 +0,0 @@
|
|
1
|
-
import { parseBigInt, BigInteger, nbi } from './jsbn.js';
|
2
|
-
import { SecureRandom } from './rng.js';
|
3
|
-
|
4
|
-
// Depends on jsbn.js and rng.js
|
5
|
-
// Version 1.1: support utf-8 encoding in pkcs1pad2
|
6
|
-
// convert a (hex) string to a bignum object
|
7
|
-
// function linebrk(s,n) {
|
8
|
-
// var ret = "";
|
9
|
-
// var i = 0;
|
10
|
-
// while(i + n < s.length) {
|
11
|
-
// ret += s.substring(i,i+n) + "\n";
|
12
|
-
// i += n;
|
13
|
-
// }
|
14
|
-
// return ret + s.substring(i,s.length);
|
15
|
-
// }
|
16
|
-
// function byte2Hex(b) {
|
17
|
-
// if(b < 0x10)
|
18
|
-
// return "0" + b.toString(16);
|
19
|
-
// else
|
20
|
-
// return b.toString(16);
|
21
|
-
// }
|
22
|
-
function pkcs1pad1(s, n) {
|
23
|
-
if (n < s.length + 22) {
|
24
|
-
console.error("Message too long for RSA");
|
25
|
-
return null;
|
26
|
-
}
|
27
|
-
var len = n - s.length - 6;
|
28
|
-
var filler = "";
|
29
|
-
for (var f = 0; f < len; f += 2) {
|
30
|
-
filler += "ff";
|
31
|
-
}
|
32
|
-
var m = "0001" + filler + "00" + s;
|
33
|
-
return parseBigInt(m, 16);
|
34
|
-
}
|
35
|
-
// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint
|
36
|
-
function pkcs1pad2(s, n) {
|
37
|
-
if (n < s.length + 11) {
|
38
|
-
// TODO: fix for utf-8
|
39
|
-
console.error("Message too long for RSA");
|
40
|
-
return null;
|
41
|
-
}
|
42
|
-
var ba = [];
|
43
|
-
var i = s.length - 1;
|
44
|
-
while (i >= 0 && n > 0) {
|
45
|
-
var c = s.charCodeAt(i--);
|
46
|
-
if (c < 128) {
|
47
|
-
// encode using utf-8
|
48
|
-
ba[--n] = c;
|
49
|
-
} else if (c > 127 && c < 2048) {
|
50
|
-
ba[--n] = c & 63 | 128;
|
51
|
-
ba[--n] = c >> 6 | 192;
|
52
|
-
} else {
|
53
|
-
ba[--n] = c & 63 | 128;
|
54
|
-
ba[--n] = c >> 6 & 63 | 128;
|
55
|
-
ba[--n] = c >> 12 | 224;
|
56
|
-
}
|
57
|
-
}
|
58
|
-
ba[--n] = 0;
|
59
|
-
var rng = new SecureRandom();
|
60
|
-
var x = [];
|
61
|
-
while (n > 2) {
|
62
|
-
// random non-zero pad
|
63
|
-
x[0] = 0;
|
64
|
-
while (x[0] == 0) {
|
65
|
-
rng.nextBytes(x);
|
66
|
-
}
|
67
|
-
ba[--n] = x[0];
|
68
|
-
}
|
69
|
-
ba[--n] = 2;
|
70
|
-
ba[--n] = 0;
|
71
|
-
return new BigInteger(ba);
|
72
|
-
}
|
73
|
-
// "empty" RSA key constructor
|
74
|
-
var RSAKey = /** @class */function () {
|
75
|
-
function RSAKey() {
|
76
|
-
this.n = null;
|
77
|
-
this.e = 0;
|
78
|
-
this.d = null;
|
79
|
-
this.p = null;
|
80
|
-
this.q = null;
|
81
|
-
this.dmp1 = null;
|
82
|
-
this.dmq1 = null;
|
83
|
-
this.coeff = null;
|
84
|
-
}
|
85
|
-
//#region PROTECTED
|
86
|
-
// protected
|
87
|
-
// RSAKey.prototype.doPublic = RSADoPublic;
|
88
|
-
// Perform raw public operation on "x": return x^e (mod n)
|
89
|
-
RSAKey.prototype.doPublic = function (x) {
|
90
|
-
return x.modPowInt(this.e, this.n);
|
91
|
-
};
|
92
|
-
// RSAKey.prototype.doPrivate = RSADoPrivate;
|
93
|
-
// Perform raw private operation on "x": return x^d (mod n)
|
94
|
-
RSAKey.prototype.doPrivate = function (x) {
|
95
|
-
if (this.p == null || this.q == null) {
|
96
|
-
return x.modPow(this.d, this.n);
|
97
|
-
}
|
98
|
-
// TODO: re-calculate any missing CRT params
|
99
|
-
var xp = x.mod(this.p).modPow(this.dmp1, this.p);
|
100
|
-
var xq = x.mod(this.q).modPow(this.dmq1, this.q);
|
101
|
-
while (xp.compareTo(xq) < 0) {
|
102
|
-
xp = xp.add(this.p);
|
103
|
-
}
|
104
|
-
return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);
|
105
|
-
};
|
106
|
-
//#endregion PROTECTED
|
107
|
-
//#region PUBLIC
|
108
|
-
// RSAKey.prototype.setPublic = RSASetPublic;
|
109
|
-
// Set the public key fields N and e from hex strings
|
110
|
-
RSAKey.prototype.setPublic = function (N, E) {
|
111
|
-
if (N != null && E != null && N.length > 0 && E.length > 0) {
|
112
|
-
this.n = parseBigInt(N, 16);
|
113
|
-
this.e = parseInt(E, 16);
|
114
|
-
} else {
|
115
|
-
console.error("Invalid RSA public key");
|
116
|
-
}
|
117
|
-
};
|
118
|
-
// RSAKey.prototype.encrypt = RSAEncrypt;
|
119
|
-
// Return the PKCS#1 RSA encryption of "text" as an even-length hex string
|
120
|
-
RSAKey.prototype.encrypt = function (text) {
|
121
|
-
var maxLength = this.n.bitLength() + 7 >> 3;
|
122
|
-
var m = pkcs1pad2(text, maxLength);
|
123
|
-
if (m == null) {
|
124
|
-
return null;
|
125
|
-
}
|
126
|
-
var c = this.doPublic(m);
|
127
|
-
if (c == null) {
|
128
|
-
return null;
|
129
|
-
}
|
130
|
-
var h = c.toString(16);
|
131
|
-
var length = h.length;
|
132
|
-
// fix zero before result
|
133
|
-
for (var i = 0; i < maxLength * 2 - length; i++) {
|
134
|
-
h = "0" + h;
|
135
|
-
}
|
136
|
-
return h;
|
137
|
-
};
|
138
|
-
// RSAKey.prototype.setPrivate = RSASetPrivate;
|
139
|
-
// Set the private key fields N, e, and d from hex strings
|
140
|
-
RSAKey.prototype.setPrivate = function (N, E, D) {
|
141
|
-
if (N != null && E != null && N.length > 0 && E.length > 0) {
|
142
|
-
this.n = parseBigInt(N, 16);
|
143
|
-
this.e = parseInt(E, 16);
|
144
|
-
this.d = parseBigInt(D, 16);
|
145
|
-
} else {
|
146
|
-
console.error("Invalid RSA private key");
|
147
|
-
}
|
148
|
-
};
|
149
|
-
// RSAKey.prototype.setPrivateEx = RSASetPrivateEx;
|
150
|
-
// Set the private key fields N, e, d and CRT params from hex strings
|
151
|
-
RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {
|
152
|
-
if (N != null && E != null && N.length > 0 && E.length > 0) {
|
153
|
-
this.n = parseBigInt(N, 16);
|
154
|
-
this.e = parseInt(E, 16);
|
155
|
-
this.d = parseBigInt(D, 16);
|
156
|
-
this.p = parseBigInt(P, 16);
|
157
|
-
this.q = parseBigInt(Q, 16);
|
158
|
-
this.dmp1 = parseBigInt(DP, 16);
|
159
|
-
this.dmq1 = parseBigInt(DQ, 16);
|
160
|
-
this.coeff = parseBigInt(C, 16);
|
161
|
-
} else {
|
162
|
-
console.error("Invalid RSA private key");
|
163
|
-
}
|
164
|
-
};
|
165
|
-
// RSAKey.prototype.generate = RSAGenerate;
|
166
|
-
// Generate a new random private key B bits long, using public expt E
|
167
|
-
RSAKey.prototype.generate = function (B, E) {
|
168
|
-
var rng = new SecureRandom();
|
169
|
-
var qs = B >> 1;
|
170
|
-
this.e = parseInt(E, 16);
|
171
|
-
var ee = new BigInteger(E, 16);
|
172
|
-
for (;;) {
|
173
|
-
for (;;) {
|
174
|
-
this.p = new BigInteger(B - qs, 1, rng);
|
175
|
-
if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {
|
176
|
-
break;
|
177
|
-
}
|
178
|
-
}
|
179
|
-
for (;;) {
|
180
|
-
this.q = new BigInteger(qs, 1, rng);
|
181
|
-
if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {
|
182
|
-
break;
|
183
|
-
}
|
184
|
-
}
|
185
|
-
if (this.p.compareTo(this.q) <= 0) {
|
186
|
-
var t = this.p;
|
187
|
-
this.p = this.q;
|
188
|
-
this.q = t;
|
189
|
-
}
|
190
|
-
var p1 = this.p.subtract(BigInteger.ONE);
|
191
|
-
var q1 = this.q.subtract(BigInteger.ONE);
|
192
|
-
var phi = p1.multiply(q1);
|
193
|
-
if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {
|
194
|
-
this.n = this.p.multiply(this.q);
|
195
|
-
this.d = ee.modInverse(phi);
|
196
|
-
this.dmp1 = this.d.mod(p1);
|
197
|
-
this.dmq1 = this.d.mod(q1);
|
198
|
-
this.coeff = this.q.modInverse(this.p);
|
199
|
-
break;
|
200
|
-
}
|
201
|
-
}
|
202
|
-
};
|
203
|
-
// RSAKey.prototype.decrypt = RSADecrypt;
|
204
|
-
// Return the PKCS#1 RSA decryption of "ctext".
|
205
|
-
// "ctext" is an even-length hex string and the output is a plain string.
|
206
|
-
RSAKey.prototype.decrypt = function (ctext) {
|
207
|
-
var c = parseBigInt(ctext, 16);
|
208
|
-
var m = this.doPrivate(c);
|
209
|
-
if (m == null) {
|
210
|
-
return null;
|
211
|
-
}
|
212
|
-
return pkcs1unpad2(m, this.n.bitLength() + 7 >> 3);
|
213
|
-
};
|
214
|
-
// Generate a new random private key B bits long, using public expt E
|
215
|
-
RSAKey.prototype.generateAsync = function (B, E, callback) {
|
216
|
-
var rng = new SecureRandom();
|
217
|
-
var qs = B >> 1;
|
218
|
-
this.e = parseInt(E, 16);
|
219
|
-
var ee = new BigInteger(E, 16);
|
220
|
-
var rsa = this;
|
221
|
-
// These functions have non-descript names because they were originally for(;;) loops.
|
222
|
-
// I don't know about cryptography to give them better names than loop1-4.
|
223
|
-
var loop1 = function () {
|
224
|
-
var loop4 = function () {
|
225
|
-
if (rsa.p.compareTo(rsa.q) <= 0) {
|
226
|
-
var t = rsa.p;
|
227
|
-
rsa.p = rsa.q;
|
228
|
-
rsa.q = t;
|
229
|
-
}
|
230
|
-
var p1 = rsa.p.subtract(BigInteger.ONE);
|
231
|
-
var q1 = rsa.q.subtract(BigInteger.ONE);
|
232
|
-
var phi = p1.multiply(q1);
|
233
|
-
if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {
|
234
|
-
rsa.n = rsa.p.multiply(rsa.q);
|
235
|
-
rsa.d = ee.modInverse(phi);
|
236
|
-
rsa.dmp1 = rsa.d.mod(p1);
|
237
|
-
rsa.dmq1 = rsa.d.mod(q1);
|
238
|
-
rsa.coeff = rsa.q.modInverse(rsa.p);
|
239
|
-
setTimeout(function () {
|
240
|
-
callback();
|
241
|
-
}, 0); // escape
|
242
|
-
} else {
|
243
|
-
setTimeout(loop1, 0);
|
244
|
-
}
|
245
|
-
};
|
246
|
-
var loop3 = function () {
|
247
|
-
rsa.q = nbi();
|
248
|
-
rsa.q.fromNumberAsync(qs, 1, rng, function () {
|
249
|
-
rsa.q.subtract(BigInteger.ONE).gcda(ee, function (r) {
|
250
|
-
if (r.compareTo(BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {
|
251
|
-
setTimeout(loop4, 0);
|
252
|
-
} else {
|
253
|
-
setTimeout(loop3, 0);
|
254
|
-
}
|
255
|
-
});
|
256
|
-
});
|
257
|
-
};
|
258
|
-
var loop2 = function () {
|
259
|
-
rsa.p = nbi();
|
260
|
-
rsa.p.fromNumberAsync(B - qs, 1, rng, function () {
|
261
|
-
rsa.p.subtract(BigInteger.ONE).gcda(ee, function (r) {
|
262
|
-
if (r.compareTo(BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {
|
263
|
-
setTimeout(loop3, 0);
|
264
|
-
} else {
|
265
|
-
setTimeout(loop2, 0);
|
266
|
-
}
|
267
|
-
});
|
268
|
-
});
|
269
|
-
};
|
270
|
-
setTimeout(loop2, 0);
|
271
|
-
};
|
272
|
-
setTimeout(loop1, 0);
|
273
|
-
};
|
274
|
-
RSAKey.prototype.sign = function (text, digestMethod, digestName) {
|
275
|
-
var header = getDigestHeader(digestName);
|
276
|
-
var digest = header + digestMethod(text).toString();
|
277
|
-
var m = pkcs1pad1(digest, this.n.bitLength() / 4);
|
278
|
-
if (m == null) {
|
279
|
-
return null;
|
280
|
-
}
|
281
|
-
var c = this.doPrivate(m);
|
282
|
-
if (c == null) {
|
283
|
-
return null;
|
284
|
-
}
|
285
|
-
var h = c.toString(16);
|
286
|
-
if ((h.length & 1) == 0) {
|
287
|
-
return h;
|
288
|
-
} else {
|
289
|
-
return "0" + h;
|
290
|
-
}
|
291
|
-
};
|
292
|
-
RSAKey.prototype.verify = function (text, signature, digestMethod) {
|
293
|
-
var c = parseBigInt(signature, 16);
|
294
|
-
var m = this.doPublic(c);
|
295
|
-
if (m == null) {
|
296
|
-
return null;
|
297
|
-
}
|
298
|
-
var unpadded = m.toString(16).replace(/^1f+00/, "");
|
299
|
-
var digest = removeDigestHeader(unpadded);
|
300
|
-
return digest == digestMethod(text).toString();
|
301
|
-
};
|
302
|
-
return RSAKey;
|
303
|
-
}();
|
304
|
-
// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext
|
305
|
-
function pkcs1unpad2(d, n) {
|
306
|
-
var b = d.toByteArray();
|
307
|
-
var i = 0;
|
308
|
-
while (i < b.length && b[i] == 0) {
|
309
|
-
++i;
|
310
|
-
}
|
311
|
-
if (b.length - i != n - 1 || b[i] != 2) {
|
312
|
-
return null;
|
313
|
-
}
|
314
|
-
++i;
|
315
|
-
while (b[i] != 0) {
|
316
|
-
if (++i >= b.length) {
|
317
|
-
return null;
|
318
|
-
}
|
319
|
-
}
|
320
|
-
var ret = "";
|
321
|
-
while (++i < b.length) {
|
322
|
-
var c = b[i] & 255;
|
323
|
-
if (c < 128) {
|
324
|
-
// utf-8 decode
|
325
|
-
ret += String.fromCharCode(c);
|
326
|
-
} else if (c > 191 && c < 224) {
|
327
|
-
ret += String.fromCharCode((c & 31) << 6 | b[i + 1] & 63);
|
328
|
-
++i;
|
329
|
-
} else {
|
330
|
-
ret += String.fromCharCode((c & 15) << 12 | (b[i + 1] & 63) << 6 | b[i + 2] & 63);
|
331
|
-
i += 2;
|
332
|
-
}
|
333
|
-
}
|
334
|
-
return ret;
|
335
|
-
}
|
336
|
-
// https://tools.ietf.org/html/rfc3447#page-43
|
337
|
-
var DIGEST_HEADERS = {
|
338
|
-
md2: "3020300c06082a864886f70d020205000410",
|
339
|
-
md5: "3020300c06082a864886f70d020505000410",
|
340
|
-
sha1: "3021300906052b0e03021a05000414",
|
341
|
-
sha224: "302d300d06096086480165030402040500041c",
|
342
|
-
sha256: "3031300d060960864801650304020105000420",
|
343
|
-
sha384: "3041300d060960864801650304020205000430",
|
344
|
-
sha512: "3051300d060960864801650304020305000440",
|
345
|
-
ripemd160: "3021300906052b2403020105000414"
|
346
|
-
};
|
347
|
-
function getDigestHeader(name) {
|
348
|
-
return DIGEST_HEADERS[name] || "";
|
349
|
-
}
|
350
|
-
function removeDigestHeader(str) {
|
351
|
-
for (var name_1 in DIGEST_HEADERS) {
|
352
|
-
if (DIGEST_HEADERS.hasOwnProperty(name_1)) {
|
353
|
-
var header = DIGEST_HEADERS[name_1];
|
354
|
-
var len = header.length;
|
355
|
-
if (str.substr(0, len) == header) {
|
356
|
-
return str.substr(len);
|
357
|
-
}
|
358
|
-
}
|
359
|
-
}
|
360
|
-
return str;
|
361
|
-
}
|
362
|
-
// Return the PKCS#1 RSA encryption of "text" as a Base64-encoded string
|
363
|
-
// function RSAEncryptB64(text) {
|
364
|
-
// var h = this.encrypt(text);
|
365
|
-
// if(h) return hex2b64(h); else return null;
|
366
|
-
// }
|
367
|
-
// public
|
368
|
-
// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;
|
369
|
-
|
370
|
-
export { RSAKey };
|
371
|
-
//# sourceMappingURL=rsa.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"rsa.js","sources":["../../../../../../node_modules/jsencrypt/lib/lib/jsbn/rsa.js"],"sourcesContent":["// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\nimport { BigInteger, nbi, parseBigInt } from \"./jsbn\";\nimport { SecureRandom } from \"./rng\";\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return parseBigInt(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = parseBigInt(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E, D) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = parseBigInt(N, 16);\n this.e = parseInt(E, 16);\n this.d = parseBigInt(D, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;\n // Set the private key fields N, e, d and CRT params from hex strings\n RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = parseBigInt(N, 16);\n this.e = parseInt(E, 16);\n this.d = parseBigInt(D, 16);\n this.p = parseBigInt(P, 16);\n this.q = parseBigInt(Q, 16);\n this.dmp1 = parseBigInt(DP, 16);\n this.dmq1 = parseBigInt(DQ, 16);\n this.coeff = parseBigInt(C, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.generate = RSAGenerate;\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generate = function (B, E) {\n var rng = new SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new BigInteger(E, 16);\n for (;;) {\n for (;;) {\n this.p = new BigInteger(B - qs, 1, rng);\n if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {\n break;\n }\n }\n for (;;) {\n this.q = new BigInteger(qs, 1, rng);\n if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {\n break;\n }\n }\n if (this.p.compareTo(this.q) <= 0) {\n var t = this.p;\n this.p = this.q;\n this.q = t;\n }\n var p1 = this.p.subtract(BigInteger.ONE);\n var q1 = this.q.subtract(BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {\n this.n = this.p.multiply(this.q);\n this.d = ee.modInverse(phi);\n this.dmp1 = this.d.mod(p1);\n this.dmq1 = this.d.mod(q1);\n this.coeff = this.q.modInverse(this.p);\n break;\n }\n }\n };\n // RSAKey.prototype.decrypt = RSADecrypt;\n // Return the PKCS#1 RSA decryption of \"ctext\".\n // \"ctext\" is an even-length hex string and the output is a plain string.\n RSAKey.prototype.decrypt = function (ctext) {\n var c = parseBigInt(ctext, 16);\n var m = this.doPrivate(c);\n if (m == null) {\n return null;\n }\n return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3);\n };\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generateAsync = function (B, E, callback) {\n var rng = new SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new BigInteger(E, 16);\n var rsa = this;\n // These functions have non-descript names because they were originally for(;;) loops.\n // I don't know about cryptography to give them better names than loop1-4.\n var loop1 = function () {\n var loop4 = function () {\n if (rsa.p.compareTo(rsa.q) <= 0) {\n var t = rsa.p;\n rsa.p = rsa.q;\n rsa.q = t;\n }\n var p1 = rsa.p.subtract(BigInteger.ONE);\n var q1 = rsa.q.subtract(BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) {\n rsa.n = rsa.p.multiply(rsa.q);\n rsa.d = ee.modInverse(phi);\n rsa.dmp1 = rsa.d.mod(p1);\n rsa.dmq1 = rsa.d.mod(q1);\n rsa.coeff = rsa.q.modInverse(rsa.p);\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(loop1, 0);\n }\n };\n var loop3 = function () {\n rsa.q = nbi();\n rsa.q.fromNumberAsync(qs, 1, rng, function () {\n rsa.q.subtract(BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {\n setTimeout(loop4, 0);\n }\n else {\n setTimeout(loop3, 0);\n }\n });\n });\n };\n var loop2 = function () {\n rsa.p = nbi();\n rsa.p.fromNumberAsync(B - qs, 1, rng, function () {\n rsa.p.subtract(BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {\n setTimeout(loop3, 0);\n }\n else {\n setTimeout(loop2, 0);\n }\n });\n });\n };\n setTimeout(loop2, 0);\n };\n setTimeout(loop1, 0);\n };\n RSAKey.prototype.sign = function (text, digestMethod, digestName) {\n var header = getDigestHeader(digestName);\n var digest = header + digestMethod(text).toString();\n var m = pkcs1pad1(digest, this.n.bitLength() / 4);\n if (m == null) {\n return null;\n }\n var c = this.doPrivate(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n if ((h.length & 1) == 0) {\n return h;\n }\n else {\n return \"0\" + h;\n }\n };\n RSAKey.prototype.verify = function (text, signature, digestMethod) {\n var c = parseBigInt(signature, 16);\n var m = this.doPublic(c);\n if (m == null) {\n return null;\n }\n var unpadded = m.toString(16).replace(/^1f+00/, \"\");\n var digest = removeDigestHeader(unpadded);\n return digest == digestMethod(text).toString();\n };\n return RSAKey;\n}());\nexport { RSAKey };\n// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext\nfunction pkcs1unpad2(d, n) {\n var b = d.toByteArray();\n var i = 0;\n while (i < b.length && b[i] == 0) {\n ++i;\n }\n if (b.length - i != n - 1 || b[i] != 2) {\n return null;\n }\n ++i;\n while (b[i] != 0) {\n if (++i >= b.length) {\n return null;\n }\n }\n var ret = \"\";\n while (++i < b.length) {\n var c = b[i] & 255;\n if (c < 128) { // utf-8 decode\n ret += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\n ++i;\n }\n else {\n ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\n i += 2;\n }\n }\n return ret;\n}\n// https://tools.ietf.org/html/rfc3447#page-43\nvar DIGEST_HEADERS = {\n md2: \"3020300c06082a864886f70d020205000410\",\n md5: \"3020300c06082a864886f70d020505000410\",\n sha1: \"3021300906052b0e03021a05000414\",\n sha224: \"302d300d06096086480165030402040500041c\",\n sha256: \"3031300d060960864801650304020105000420\",\n sha384: \"3041300d060960864801650304020205000430\",\n sha512: \"3051300d060960864801650304020305000440\",\n ripemd160: \"3021300906052b2403020105000414\"\n};\nfunction getDigestHeader(name) {\n return DIGEST_HEADERS[name] || \"\";\n}\nfunction removeDigestHeader(str) {\n for (var name_1 in DIGEST_HEADERS) {\n if (DIGEST_HEADERS.hasOwnProperty(name_1)) {\n var header = DIGEST_HEADERS[name_1];\n var len = header.length;\n if (str.substr(0, len) == header) {\n return str.substr(len);\n }\n }\n }\n return str;\n}\n// Return the PKCS#1 RSA encryption of \"text\" as a Base64-encoded string\n// function RSAEncryptB64(text) {\n// var h = this.encrypt(text);\n// if(h) return hex2b64(h); else return null;\n// }\n// public\n// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;\n"],"names":["pkcs1pad1","s","n","length","console","error","len","filler","f","m","parseBigInt","pkcs1pad2","ba","i","c","charCodeAt","rng","SecureRandom","x","nextBytes","BigInteger","RSAKey","e","d","p","q","dmp1","dmq1","coeff","prototype","doPublic","modPowInt","doPrivate","modPow","xp","mod","xq","compareTo","add","subtract","multiply","setPublic","N","E","parseInt","encrypt","text","maxLength","bitLength","h","toString","setPrivate","D","setPrivateEx","P","Q","DP","DQ","C","generate","B","qs","ee","ONE","gcd","isProbablePrime","t","p1","q1","phi","modInverse","decrypt","ctext","pkcs1unpad2","generateAsync","callback","rsa","loop1","loop4","setTimeout","loop3","nbi","fromNumberAsync","gcda","r","loop2","sign","digestMethod","digestName","header","getDigestHeader","digest","verify","signature","unpadded","replace","removeDigestHeader","b","toByteArray","ret","String","fromCharCode","DIGEST_HEADERS","md2","md5","sha1","sha224","sha256","sha384","sha512","ripemd160","name","str","name_1","hasOwnProperty","substr"],"mappings":"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","x_google_ignoreList":[0]}
|
@@ -1,61 +0,0 @@
|
|
1
|
-
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
|
2
|
-
function int2char(n) {
|
3
|
-
return BI_RM.charAt(n);
|
4
|
-
}
|
5
|
-
//#region BIT_OPERATIONS
|
6
|
-
// (public) this & a
|
7
|
-
function op_and(x, y) {
|
8
|
-
return x & y;
|
9
|
-
}
|
10
|
-
// (public) this | a
|
11
|
-
function op_or(x, y) {
|
12
|
-
return x | y;
|
13
|
-
}
|
14
|
-
// (public) this ^ a
|
15
|
-
function op_xor(x, y) {
|
16
|
-
return x ^ y;
|
17
|
-
}
|
18
|
-
// (public) this & ~a
|
19
|
-
function op_andnot(x, y) {
|
20
|
-
return x & ~y;
|
21
|
-
}
|
22
|
-
// return index of lowest 1-bit in x, x < 2^31
|
23
|
-
function lbit(x) {
|
24
|
-
if (x == 0) {
|
25
|
-
return -1;
|
26
|
-
}
|
27
|
-
var r = 0;
|
28
|
-
if ((x & 0xffff) == 0) {
|
29
|
-
x >>= 16;
|
30
|
-
r += 16;
|
31
|
-
}
|
32
|
-
if ((x & 0xff) == 0) {
|
33
|
-
x >>= 8;
|
34
|
-
r += 8;
|
35
|
-
}
|
36
|
-
if ((x & 0xf) == 0) {
|
37
|
-
x >>= 4;
|
38
|
-
r += 4;
|
39
|
-
}
|
40
|
-
if ((x & 3) == 0) {
|
41
|
-
x >>= 2;
|
42
|
-
r += 2;
|
43
|
-
}
|
44
|
-
if ((x & 1) == 0) {
|
45
|
-
++r;
|
46
|
-
}
|
47
|
-
return r;
|
48
|
-
}
|
49
|
-
// return number of 1 bits in x
|
50
|
-
function cbit(x) {
|
51
|
-
var r = 0;
|
52
|
-
while (x != 0) {
|
53
|
-
x &= x - 1;
|
54
|
-
++r;
|
55
|
-
}
|
56
|
-
return r;
|
57
|
-
}
|
58
|
-
//#endregion BIT_OPERATIONS
|
59
|
-
|
60
|
-
export { cbit, int2char, lbit, op_and, op_andnot, op_or, op_xor };
|
61
|
-
//# sourceMappingURL=util.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"util.js","sources":["../../../../../../node_modules/jsencrypt/lib/lib/jsbn/util.js"],"sourcesContent":["var BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nexport function int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nexport function op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nexport function op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nexport function op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nexport function op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nexport function lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nexport function cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n"],"names":["BI_RM","int2char","n","charAt","op_and","x","y","op_or","op_xor","op_andnot","lbit","r","cbit"],"mappings":"AAAA,IAAIA,KAAK,GAAG,sCAAsC;AAC3C,SAASC,QAAQA,CAACC,CAAC,EAAE;AACxB,EAAA,OAAOF,KAAK,CAACG,MAAM,CAACD,CAAC,CAAC;AAC1B;AACA;AACA;AACO,SAASE,MAAMA,CAACC,CAAC,EAAEC,CAAC,EAAE;EACzB,OAAOD,CAAC,GAAGC,CAAC;AAChB;AACA;AACO,SAASC,KAAKA,CAACF,CAAC,EAAEC,CAAC,EAAE;EACxB,OAAOD,CAAC,GAAGC,CAAC;AAChB;AACA;AACO,SAASE,MAAMA,CAACH,CAAC,EAAEC,CAAC,EAAE;EACzB,OAAOD,CAAC,GAAGC,CAAC;AAChB;AACA;AACO,SAASG,SAASA,CAACJ,CAAC,EAAEC,CAAC,EAAE;EAC5B,OAAOD,CAAC,GAAG,CAACC,CAAC;AACjB;AACA;AACO,SAASI,IAAIA,CAACL,CAAC,EAAE;EACpB,IAAIA,CAAC,IAAI,CAAC,EAAE;AACR,IAAA,OAAO,EAAE;AACb;EACA,IAAIM,CAAC,GAAG,CAAC;AACT,EAAA,IAAI,CAACN,CAAC,GAAG,MAAM,KAAK,CAAC,EAAE;AACnBA,IAAAA,CAAC,KAAK,EAAE;AACRM,IAAAA,CAAC,IAAI,EAAE;AACX;AACA,EAAA,IAAI,CAACN,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE;AACjBA,IAAAA,CAAC,KAAK,CAAC;AACPM,IAAAA,CAAC,IAAI,CAAC;AACV;AACA,EAAA,IAAI,CAACN,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE;AAChBA,IAAAA,CAAC,KAAK,CAAC;AACPM,IAAAA,CAAC,IAAI,CAAC;AACV;AACA,EAAA,IAAI,CAACN,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACdA,IAAAA,CAAC,KAAK,CAAC;AACPM,IAAAA,CAAC,IAAI,CAAC;AACV;AACA,EAAA,IAAI,CAACN,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACd,IAAA,EAAEM,CAAC;AACP;AACA,EAAA,OAAOA,CAAC;AACZ;AACA;AACO,SAASC,IAAIA,CAACP,CAAC,EAAE;EACpB,IAAIM,CAAC,GAAG,CAAC;EACT,OAAON,CAAC,IAAI,CAAC,EAAE;IACXA,CAAC,IAAIA,CAAC,GAAG,CAAC;AACV,IAAA,EAAEM,CAAC;AACP;AACA,EAAA,OAAOA,CAAC;AACZ;AACA;;;;","x_google_ignoreList":[0]}
|