@vue-pdf-viewer/viewer 3.5.0 → 3.5.1-rc.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.
- package/dist/{index-Bz8uGFuW.js → index-BfJLA8qY.js} +5313 -5387
- package/dist/{index-BteJz2qP.js → index-DqZjAW3G.js} +1102 -1071
- package/dist/index.js +2 -2
- package/dist/index.umd.cjs +30 -30
- package/dist/types/components/LayerTextHighlight.vue.d.ts +2 -1
- package/dist/types/composables/useCopyText.d.ts +2 -0
- package/dist/types/composables/useHighlight.d.ts +2 -2
- package/dist/types/const.d.ts +3 -2
- package/dist/types/utils/highlight.d.ts +4 -1
- package/dist/types/utils/transformMatrix.d.ts +3 -0
- package/dist/types/utils/types.d.ts +7 -0
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as kt } from "./index-
|
|
1
|
+
import { p as kt } from "./index-BfJLA8qY.js";
|
|
2
2
|
function En(e, t) {
|
|
3
3
|
for (var a = 0; a < t.length; a++) {
|
|
4
4
|
const r = t[a];
|
|
@@ -42,7 +42,7 @@ var ee = {
|
|
|
42
42
|
}
|
|
43
43
|
}, Ei = {}, Hr = {};
|
|
44
44
|
Hr.byteLength = An;
|
|
45
|
-
Hr.toByteArray =
|
|
45
|
+
Hr.toByteArray = wn;
|
|
46
46
|
Hr.fromByteArray = Rn;
|
|
47
47
|
var xt = [], ot = [], In = typeof Uint8Array < "u" ? Uint8Array : Array, ta = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
48
48
|
for (var Jt = 0, Bn = ta.length; Jt < Bn; ++Jt)
|
|
@@ -65,18 +65,18 @@ function An(e) {
|
|
|
65
65
|
function bn(e, t, a) {
|
|
66
66
|
return (t + a) * 3 / 4 - a;
|
|
67
67
|
}
|
|
68
|
-
function _n(e) {
|
|
69
|
-
var t, a = xi(e), r = a[0], i = a[1], n = new In(bn(e, r, i)), s = 0, o = i > 0 ? r - 4 : r, f;
|
|
70
|
-
for (f = 0; f < o; f += 4)
|
|
71
|
-
t = ot[e.charCodeAt(f)] << 18 | ot[e.charCodeAt(f + 1)] << 12 | ot[e.charCodeAt(f + 2)] << 6 | ot[e.charCodeAt(f + 3)], n[s++] = t >> 16 & 255, n[s++] = t >> 8 & 255, n[s++] = t & 255;
|
|
72
|
-
return i === 2 && (t = ot[e.charCodeAt(f)] << 2 | ot[e.charCodeAt(f + 1)] >> 4, n[s++] = t & 255), i === 1 && (t = ot[e.charCodeAt(f)] << 10 | ot[e.charCodeAt(f + 1)] << 4 | ot[e.charCodeAt(f + 2)] >> 2, n[s++] = t >> 8 & 255, n[s++] = t & 255), n;
|
|
73
|
-
}
|
|
74
68
|
function wn(e) {
|
|
69
|
+
var t, a = xi(e), r = a[0], i = a[1], n = new In(bn(e, r, i)), s = 0, o = i > 0 ? r - 4 : r, l;
|
|
70
|
+
for (l = 0; l < o; l += 4)
|
|
71
|
+
t = ot[e.charCodeAt(l)] << 18 | ot[e.charCodeAt(l + 1)] << 12 | ot[e.charCodeAt(l + 2)] << 6 | ot[e.charCodeAt(l + 3)], n[s++] = t >> 16 & 255, n[s++] = t >> 8 & 255, n[s++] = t & 255;
|
|
72
|
+
return i === 2 && (t = ot[e.charCodeAt(l)] << 2 | ot[e.charCodeAt(l + 1)] >> 4, n[s++] = t & 255), i === 1 && (t = ot[e.charCodeAt(l)] << 10 | ot[e.charCodeAt(l + 1)] << 4 | ot[e.charCodeAt(l + 2)] >> 2, n[s++] = t >> 8 & 255, n[s++] = t & 255), n;
|
|
73
|
+
}
|
|
74
|
+
function _n(e) {
|
|
75
75
|
return xt[e >> 18 & 63] + xt[e >> 12 & 63] + xt[e >> 6 & 63] + xt[e & 63];
|
|
76
76
|
}
|
|
77
77
|
function Nn(e, t, a) {
|
|
78
78
|
for (var r, i = [], n = t; n < a; n += 3)
|
|
79
|
-
r = (e[n] << 16 & 16711680) + (e[n + 1] << 8 & 65280) + (e[n + 2] & 255), i.push(
|
|
79
|
+
r = (e[n] << 16 & 16711680) + (e[n + 1] << 8 & 65280) + (e[n + 2] & 255), i.push(_n(r));
|
|
80
80
|
return i.join("");
|
|
81
81
|
}
|
|
82
82
|
function Rn(e) {
|
|
@@ -91,25 +91,25 @@ function Rn(e) {
|
|
|
91
91
|
var Aa = {};
|
|
92
92
|
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
93
93
|
Aa.read = function(e, t, a, r, i) {
|
|
94
|
-
var n, s, o = i * 8 - r - 1,
|
|
94
|
+
var n, s, o = i * 8 - r - 1, l = (1 << o) - 1, f = l >> 1, u = -7, p = a ? i - 1 : 0, m = a ? -1 : 1, S = e[t + p];
|
|
95
95
|
for (p += m, n = S & (1 << -u) - 1, S >>= -u, u += o; u > 0; n = n * 256 + e[t + p], p += m, u -= 8)
|
|
96
96
|
;
|
|
97
97
|
for (s = n & (1 << -u) - 1, n >>= -u, u += r; u > 0; s = s * 256 + e[t + p], p += m, u -= 8)
|
|
98
98
|
;
|
|
99
99
|
if (n === 0)
|
|
100
|
-
n = 1 -
|
|
100
|
+
n = 1 - f;
|
|
101
101
|
else {
|
|
102
|
-
if (n ===
|
|
102
|
+
if (n === l)
|
|
103
103
|
return s ? NaN : (S ? -1 : 1) * (1 / 0);
|
|
104
|
-
s = s + Math.pow(2, r), n = n -
|
|
104
|
+
s = s + Math.pow(2, r), n = n - f;
|
|
105
105
|
}
|
|
106
106
|
return (S ? -1 : 1) * s * Math.pow(2, n - r);
|
|
107
107
|
};
|
|
108
108
|
Aa.write = function(e, t, a, r, i, n) {
|
|
109
|
-
var s, o,
|
|
110
|
-
for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (o = isNaN(t) ? 1 : 0, s = u) : (s = Math.floor(Math.log(t) / Math.LN2), t * (
|
|
109
|
+
var s, o, l, f = n * 8 - i - 1, u = (1 << f) - 1, p = u >> 1, m = i === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0, S = r ? 0 : n - 1, C = r ? 1 : -1, A = t < 0 || t === 0 && 1 / t < 0 ? 1 : 0;
|
|
110
|
+
for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (o = isNaN(t) ? 1 : 0, s = u) : (s = Math.floor(Math.log(t) / Math.LN2), t * (l = Math.pow(2, -s)) < 1 && (s--, l *= 2), s + p >= 1 ? t += m / l : t += m * Math.pow(2, 1 - p), t * l >= 2 && (s++, l /= 2), s + p >= u ? (o = 0, s = u) : s + p >= 1 ? (o = (t * l - 1) * Math.pow(2, i), s = s + p) : (o = t * Math.pow(2, p - 1) * Math.pow(2, i), s = 0)); i >= 8; e[a + S] = o & 255, S += C, o /= 256, i -= 8)
|
|
111
111
|
;
|
|
112
|
-
for (s = s << i | o,
|
|
112
|
+
for (s = s << i | o, f += i; f > 0; e[a + S] = s & 255, S += C, s /= 256, f -= 8)
|
|
113
113
|
;
|
|
114
114
|
e[a + S - C] |= A * 128;
|
|
115
115
|
};
|
|
@@ -125,10 +125,10 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
125
125
|
const i = 2147483647;
|
|
126
126
|
e.kMaxLength = i;
|
|
127
127
|
const { Uint8Array: n, ArrayBuffer: s, SharedArrayBuffer: o } = globalThis;
|
|
128
|
-
u.TYPED_ARRAY_SUPPORT =
|
|
128
|
+
u.TYPED_ARRAY_SUPPORT = l(), !u.TYPED_ARRAY_SUPPORT && typeof console < "u" && typeof console.error == "function" && console.error(
|
|
129
129
|
"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."
|
|
130
130
|
);
|
|
131
|
-
function
|
|
131
|
+
function l() {
|
|
132
132
|
try {
|
|
133
133
|
const v = new n(1), c = { foo: function() {
|
|
134
134
|
return 42;
|
|
@@ -151,7 +151,7 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
151
151
|
return this.byteOffset;
|
|
152
152
|
}
|
|
153
153
|
});
|
|
154
|
-
function
|
|
154
|
+
function f(v) {
|
|
155
155
|
if (v > i)
|
|
156
156
|
throw new RangeError('The value "' + v + '" is invalid for option "size"');
|
|
157
157
|
const c = new n(v);
|
|
@@ -172,7 +172,7 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
172
172
|
if (typeof v == "string")
|
|
173
173
|
return A(v, c);
|
|
174
174
|
if (s.isView(v))
|
|
175
|
-
return
|
|
175
|
+
return _(v);
|
|
176
176
|
if (v == null)
|
|
177
177
|
throw new TypeError(
|
|
178
178
|
"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type " + typeof v
|
|
@@ -204,13 +204,13 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
204
204
|
throw new RangeError('The value "' + v + '" is invalid for option "size"');
|
|
205
205
|
}
|
|
206
206
|
function S(v, c, h) {
|
|
207
|
-
return m(v), v <= 0 ?
|
|
207
|
+
return m(v), v <= 0 ? f(v) : c !== void 0 ? typeof h == "string" ? f(v).fill(c, h) : f(v).fill(c) : f(v);
|
|
208
208
|
}
|
|
209
209
|
u.alloc = function(v, c, h) {
|
|
210
210
|
return S(v, c, h);
|
|
211
211
|
};
|
|
212
212
|
function C(v) {
|
|
213
|
-
return m(v),
|
|
213
|
+
return m(v), f(v < 0 ? 0 : G(v) | 0);
|
|
214
214
|
}
|
|
215
215
|
u.allocUnsafe = function(v) {
|
|
216
216
|
return C(v);
|
|
@@ -221,17 +221,17 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
221
221
|
if ((typeof c != "string" || c === "") && (c = "utf8"), !u.isEncoding(c))
|
|
222
222
|
throw new TypeError("Unknown encoding: " + c);
|
|
223
223
|
const h = F(v, c) | 0;
|
|
224
|
-
let E =
|
|
224
|
+
let E = f(h);
|
|
225
225
|
const B = E.write(v, c);
|
|
226
226
|
return B !== h && (E = E.slice(0, B)), E;
|
|
227
227
|
}
|
|
228
228
|
function b(v) {
|
|
229
|
-
const c = v.length < 0 ? 0 :
|
|
229
|
+
const c = v.length < 0 ? 0 : G(v.length) | 0, h = f(c);
|
|
230
230
|
for (let E = 0; E < c; E += 1)
|
|
231
231
|
h[E] = v[E] & 255;
|
|
232
232
|
return h;
|
|
233
233
|
}
|
|
234
|
-
function
|
|
234
|
+
function _(v) {
|
|
235
235
|
if (vt(v, n)) {
|
|
236
236
|
const c = new n(v);
|
|
237
237
|
return U(c.buffer, c.byteOffset, c.byteLength);
|
|
@@ -248,15 +248,15 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
248
248
|
}
|
|
249
249
|
function D(v) {
|
|
250
250
|
if (u.isBuffer(v)) {
|
|
251
|
-
const c =
|
|
251
|
+
const c = G(v.length) | 0, h = f(c);
|
|
252
252
|
return h.length === 0 || v.copy(h, 0, 0, c), h;
|
|
253
253
|
}
|
|
254
254
|
if (v.length !== void 0)
|
|
255
|
-
return typeof v.length != "number" || ea(v.length) ?
|
|
255
|
+
return typeof v.length != "number" || ea(v.length) ? f(0) : b(v);
|
|
256
256
|
if (v.type === "Buffer" && Array.isArray(v.data))
|
|
257
257
|
return b(v.data);
|
|
258
258
|
}
|
|
259
|
-
function
|
|
259
|
+
function G(v) {
|
|
260
260
|
if (v >= i)
|
|
261
261
|
throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x" + i.toString(16) + " bytes");
|
|
262
262
|
return v | 0;
|
|
@@ -375,7 +375,7 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
375
375
|
return be(this, c, h);
|
|
376
376
|
case "latin1":
|
|
377
377
|
case "binary":
|
|
378
|
-
return
|
|
378
|
+
return we(this, c, h);
|
|
379
379
|
case "base64":
|
|
380
380
|
return Ae(this, c, h);
|
|
381
381
|
case "ucs2":
|
|
@@ -439,15 +439,15 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
439
439
|
return 1;
|
|
440
440
|
if (h >>>= 0, E >>>= 0, B >>>= 0, N >>>= 0, this === c) return 0;
|
|
441
441
|
let L = N - B, te = E - h;
|
|
442
|
-
const
|
|
443
|
-
for (let ge = 0; ge <
|
|
442
|
+
const _e = Math.min(L, te), Te = this.slice(B, N), Ne = c.slice(h, E);
|
|
443
|
+
for (let ge = 0; ge < _e; ++ge)
|
|
444
444
|
if (Te[ge] !== Ne[ge]) {
|
|
445
445
|
L = Te[ge], te = Ne[ge];
|
|
446
446
|
break;
|
|
447
447
|
}
|
|
448
448
|
return L < te ? -1 : te < L ? 1 : 0;
|
|
449
449
|
};
|
|
450
|
-
function
|
|
450
|
+
function le(v, c, h, E, B) {
|
|
451
451
|
if (v.length === 0) return -1;
|
|
452
452
|
if (typeof h == "string" ? (E = h, h = 0) : h > 2147483647 ? h = 2147483647 : h < -2147483648 && (h = -2147483648), h = +h, ea(h) && (h = B ? 0 : v.length - 1), h < 0 && (h = v.length + h), h >= v.length) {
|
|
453
453
|
if (B) return -1;
|
|
@@ -468,14 +468,14 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
468
468
|
return -1;
|
|
469
469
|
N = 2, L /= 2, te /= 2, h /= 2;
|
|
470
470
|
}
|
|
471
|
-
function
|
|
471
|
+
function _e(Ne, ge) {
|
|
472
472
|
return N === 1 ? Ne[ge] : Ne.readUInt16BE(ge * N);
|
|
473
473
|
}
|
|
474
474
|
let Te;
|
|
475
475
|
if (B) {
|
|
476
476
|
let Ne = -1;
|
|
477
477
|
for (Te = h; Te < L; Te++)
|
|
478
|
-
if (
|
|
478
|
+
if (_e(v, Te) === _e(c, Ne === -1 ? 0 : Te - Ne)) {
|
|
479
479
|
if (Ne === -1 && (Ne = Te), Te - Ne + 1 === te) return Ne * N;
|
|
480
480
|
} else
|
|
481
481
|
Ne !== -1 && (Te -= Te - Ne), Ne = -1;
|
|
@@ -483,7 +483,7 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
483
483
|
for (h + te > L && (h = L - te), Te = h; Te >= 0; Te--) {
|
|
484
484
|
let Ne = !0;
|
|
485
485
|
for (let ge = 0; ge < te; ge++)
|
|
486
|
-
if (
|
|
486
|
+
if (_e(v, Te + ge) !== _e(c, ge)) {
|
|
487
487
|
Ne = !1;
|
|
488
488
|
break;
|
|
489
489
|
}
|
|
@@ -494,9 +494,9 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
494
494
|
u.prototype.includes = function(c, h, E) {
|
|
495
495
|
return this.indexOf(c, h, E) !== -1;
|
|
496
496
|
}, u.prototype.indexOf = function(c, h, E) {
|
|
497
|
-
return
|
|
497
|
+
return le(this, c, h, E, !0);
|
|
498
498
|
}, u.prototype.lastIndexOf = function(c, h, E) {
|
|
499
|
-
return
|
|
499
|
+
return le(this, c, h, E, !1);
|
|
500
500
|
};
|
|
501
501
|
function de(v, c, h, E) {
|
|
502
502
|
h = Number(h) || 0;
|
|
@@ -579,19 +579,19 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
579
579
|
const N = v[B];
|
|
580
580
|
let L = null, te = N > 239 ? 4 : N > 223 ? 3 : N > 191 ? 2 : 1;
|
|
581
581
|
if (B + te <= h) {
|
|
582
|
-
let
|
|
582
|
+
let _e, Te, Ne, ge;
|
|
583
583
|
switch (te) {
|
|
584
584
|
case 1:
|
|
585
585
|
N < 128 && (L = N);
|
|
586
586
|
break;
|
|
587
587
|
case 2:
|
|
588
|
-
|
|
588
|
+
_e = v[B + 1], (_e & 192) === 128 && (ge = (N & 31) << 6 | _e & 63, ge > 127 && (L = ge));
|
|
589
589
|
break;
|
|
590
590
|
case 3:
|
|
591
|
-
|
|
591
|
+
_e = v[B + 1], Te = v[B + 2], (_e & 192) === 128 && (Te & 192) === 128 && (ge = (N & 15) << 12 | (_e & 63) << 6 | Te & 63, ge > 2047 && (ge < 55296 || ge > 57343) && (L = ge));
|
|
592
592
|
break;
|
|
593
593
|
case 4:
|
|
594
|
-
|
|
594
|
+
_e = v[B + 1], Te = v[B + 2], Ne = v[B + 3], (_e & 192) === 128 && (Te & 192) === 128 && (Ne & 192) === 128 && (ge = (N & 15) << 18 | (_e & 63) << 12 | (Te & 63) << 6 | Ne & 63, ge > 65535 && ge < 1114112 && (L = ge));
|
|
595
595
|
}
|
|
596
596
|
}
|
|
597
597
|
L === null ? (L = 65533, te = 1) : L > 65535 && (L -= 65536, E.push(L >>> 10 & 1023 | 55296), L = 56320 | L & 1023), E.push(L), B += te;
|
|
@@ -618,7 +618,7 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
618
618
|
E += String.fromCharCode(v[B] & 127);
|
|
619
619
|
return E;
|
|
620
620
|
}
|
|
621
|
-
function
|
|
621
|
+
function we(v, c, h) {
|
|
622
622
|
let E = "";
|
|
623
623
|
h = Math.min(v.length, h);
|
|
624
624
|
for (let B = c; B < h; ++B)
|
|
@@ -786,8 +786,8 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
786
786
|
return Pe(this, c, h, BigInt(0), BigInt("0xffffffffffffffff"));
|
|
787
787
|
}), u.prototype.writeIntLE = function(c, h, E, B) {
|
|
788
788
|
if (c = +c, h = h >>> 0, !B) {
|
|
789
|
-
const
|
|
790
|
-
ce(this, c, h, E,
|
|
789
|
+
const _e = Math.pow(2, 8 * E - 1);
|
|
790
|
+
ce(this, c, h, E, _e - 1, -_e);
|
|
791
791
|
}
|
|
792
792
|
let N = 0, L = 1, te = 0;
|
|
793
793
|
for (this[h] = c & 255; ++N < E && (L *= 256); )
|
|
@@ -795,8 +795,8 @@ Aa.write = function(e, t, a, r, i, n) {
|
|
|
795
795
|
return h + E;
|
|
796
796
|
}, u.prototype.writeIntBE = function(c, h, E, B) {
|
|
797
797
|
if (c = +c, h = h >>> 0, !B) {
|
|
798
|
-
const
|
|
799
|
-
ce(this, c, h, E,
|
|
798
|
+
const _e = Math.pow(2, 8 * E - 1);
|
|
799
|
+
ce(this, c, h, E, _e - 1, -_e);
|
|
800
800
|
}
|
|
801
801
|
let N = E - 1, L = 1, te = 0;
|
|
802
802
|
for (this[h + N] = c & 255; --N >= 0 && (L *= 256); )
|
|
@@ -1072,10 +1072,10 @@ ba.encode = function(e, t, a) {
|
|
|
1072
1072
|
else {
|
|
1073
1073
|
var i = 0, n = t.length, s = t.charAt(0), o = [0];
|
|
1074
1074
|
for (i = 0; i < e.length; ++i) {
|
|
1075
|
-
for (var
|
|
1076
|
-
|
|
1077
|
-
for (;
|
|
1078
|
-
o.push(
|
|
1075
|
+
for (var l = 0, f = e[i]; l < o.length; ++l)
|
|
1076
|
+
f += o[l] << 8, o[l] = f % n, f = f / n | 0;
|
|
1077
|
+
for (; f > 0; )
|
|
1078
|
+
o.push(f % n), f = f / n | 0;
|
|
1079
1079
|
}
|
|
1080
1080
|
for (i = 0; e[i] === 0 && i < e.length - 1; ++i)
|
|
1081
1081
|
r += s;
|
|
@@ -1105,10 +1105,10 @@ ba.decode = function(e, t) {
|
|
|
1105
1105
|
var o = a[e.charCodeAt(r)];
|
|
1106
1106
|
if (o === void 0)
|
|
1107
1107
|
return;
|
|
1108
|
-
for (var
|
|
1109
|
-
|
|
1110
|
-
for (;
|
|
1111
|
-
s.push(
|
|
1108
|
+
for (var l = 0, f = o; l < s.length; ++l)
|
|
1109
|
+
f += s[l] * i, s[l] = f & 255, f >>= 8;
|
|
1110
|
+
for (; f > 0; )
|
|
1111
|
+
s.push(f & 255), f >>= 8;
|
|
1112
1112
|
}
|
|
1113
1113
|
for (var u = 0; e[u] === n && u < e.length - 1; ++u)
|
|
1114
1114
|
s.push(0);
|
|
@@ -1122,12 +1122,12 @@ function Un(e, t) {
|
|
|
1122
1122
|
for (; o > 0; )
|
|
1123
1123
|
n.push(o % r), o = o / r | 0;
|
|
1124
1124
|
}
|
|
1125
|
-
var
|
|
1125
|
+
var l = "";
|
|
1126
1126
|
for (a = 0; e.at(a) === 0 && a < e.length() - 1; ++a)
|
|
1127
|
-
|
|
1127
|
+
l += i;
|
|
1128
1128
|
for (a = n.length - 1; a >= 0; --a)
|
|
1129
|
-
|
|
1130
|
-
return
|
|
1129
|
+
l += t[n[a]];
|
|
1130
|
+
return l;
|
|
1131
1131
|
}
|
|
1132
1132
|
var Xa = ee, Wa = Ln, I = Xa.util = Xa.util || {};
|
|
1133
1133
|
(function() {
|
|
@@ -1149,9 +1149,9 @@ var Xa = ee, Wa = Ln, I = Xa.util = Xa.util || {};
|
|
|
1149
1149
|
let s = function(o) {
|
|
1150
1150
|
if (o.source === window && o.data === e) {
|
|
1151
1151
|
o.stopPropagation();
|
|
1152
|
-
var
|
|
1153
|
-
t.length = 0,
|
|
1154
|
-
|
|
1152
|
+
var l = t.slice();
|
|
1153
|
+
t.length = 0, l.forEach(function(f) {
|
|
1154
|
+
f();
|
|
1155
1155
|
});
|
|
1156
1156
|
}
|
|
1157
1157
|
};
|
|
@@ -1164,8 +1164,8 @@ var Xa = ee, Wa = Ln, I = Xa.util = Xa.util || {};
|
|
|
1164
1164
|
var a = Date.now(), r = !0, i = document.createElement("div"), t = [];
|
|
1165
1165
|
new MutationObserver(function() {
|
|
1166
1166
|
var o = t.slice();
|
|
1167
|
-
t.length = 0, o.forEach(function(
|
|
1168
|
-
|
|
1167
|
+
t.length = 0, o.forEach(function(l) {
|
|
1168
|
+
l();
|
|
1169
1169
|
});
|
|
1170
1170
|
}).observe(i, { attributes: !0 });
|
|
1171
1171
|
var n = I.setImmediate;
|
|
@@ -1192,8 +1192,8 @@ function xr(e) {
|
|
|
1192
1192
|
if (!(e === 8 || e === 16 || e === 24 || e === 32))
|
|
1193
1193
|
throw new Error("Only 8, 16, 24, or 32 bits supported: " + e);
|
|
1194
1194
|
}
|
|
1195
|
-
I.ByteBuffer =
|
|
1196
|
-
function
|
|
1195
|
+
I.ByteBuffer = wa;
|
|
1196
|
+
function wa(e) {
|
|
1197
1197
|
if (this.data = "", this.read = 0, typeof e == "string")
|
|
1198
1198
|
this.data = e;
|
|
1199
1199
|
else if (I.isArrayBuffer(e) || I.isArrayBufferView(e))
|
|
@@ -1208,10 +1208,10 @@ function _a(e) {
|
|
|
1208
1208
|
this.putByte(t[a]);
|
|
1209
1209
|
}
|
|
1210
1210
|
}
|
|
1211
|
-
else (e instanceof
|
|
1211
|
+
else (e instanceof wa || typeof e == "object" && typeof e.data == "string" && typeof e.read == "number") && (this.data = e.data, this.read = e.read);
|
|
1212
1212
|
this._constructedStringLength = 0;
|
|
1213
1213
|
}
|
|
1214
|
-
I.ByteStringBuffer =
|
|
1214
|
+
I.ByteStringBuffer = wa;
|
|
1215
1215
|
var Dn = 4096;
|
|
1216
1216
|
I.ByteStringBuffer.prototype._optimizeConstructedString = function(e) {
|
|
1217
1217
|
this._constructedStringLength += e, this._constructedStringLength > Dn && (this.data.substr(0, 1), this._constructedStringLength = 0);
|
|
@@ -1730,9 +1730,9 @@ I.binary.base64.encode = function(e, t) {
|
|
|
1730
1730
|
I.binary.base64.decode = function(e, t, a) {
|
|
1731
1731
|
var r = t;
|
|
1732
1732
|
r || (r = new Uint8Array(Math.ceil(e.length / 4) * 3)), e = e.replace(/[^A-Za-z0-9\+\/\=]/g, ""), a = a || 0;
|
|
1733
|
-
for (var i, n, s, o,
|
|
1734
|
-
i = Vt[e.charCodeAt(
|
|
1735
|
-
return t ?
|
|
1733
|
+
for (var i, n, s, o, l = 0, f = a; l < e.length; )
|
|
1734
|
+
i = Vt[e.charCodeAt(l++) - 43], n = Vt[e.charCodeAt(l++) - 43], s = Vt[e.charCodeAt(l++) - 43], o = Vt[e.charCodeAt(l++) - 43], r[f++] = i << 2 | n >> 4, s !== 64 && (r[f++] = (n & 15) << 4 | s >> 2, o !== 64 && (r[f++] = (s & 3) << 6 | o));
|
|
1735
|
+
return t ? f - a : r.subarray(0, f);
|
|
1736
1736
|
};
|
|
1737
1737
|
I.binary.base58.encode = function(e, t) {
|
|
1738
1738
|
return I.binary.baseN.encode(e, Si, t);
|
|
@@ -1778,7 +1778,7 @@ I.inflate = function(e, t, a) {
|
|
|
1778
1778
|
var r = e.inflate(I.encode64(t)).rval;
|
|
1779
1779
|
return r === null ? null : I.decode64(r);
|
|
1780
1780
|
};
|
|
1781
|
-
var
|
|
1781
|
+
var _a = function(e, t, a) {
|
|
1782
1782
|
if (!e)
|
|
1783
1783
|
throw new Error("WebStorage not available.");
|
|
1784
1784
|
var r;
|
|
@@ -1802,7 +1802,7 @@ var wa = function(e, t, a) {
|
|
|
1802
1802
|
return a !== null && (a = JSON.parse(I.decode64(a))), a;
|
|
1803
1803
|
}, Pn = function(e, t, a, r) {
|
|
1804
1804
|
var i = Na(e, t);
|
|
1805
|
-
i === null && (i = {}), i[a] = r,
|
|
1805
|
+
i === null && (i = {}), i[a] = r, _a(e, t, i);
|
|
1806
1806
|
}, Vn = function(e, t, a) {
|
|
1807
1807
|
var r = Na(e, t);
|
|
1808
1808
|
return r !== null && (r = a in r ? r[a] : null), r;
|
|
@@ -1815,10 +1815,10 @@ var wa = function(e, t, a) {
|
|
|
1815
1815
|
i = !1;
|
|
1816
1816
|
break;
|
|
1817
1817
|
}
|
|
1818
|
-
i && (r = null),
|
|
1818
|
+
i && (r = null), _a(e, t, r);
|
|
1819
1819
|
}
|
|
1820
1820
|
}, On = function(e, t) {
|
|
1821
|
-
|
|
1821
|
+
_a(e, t, null);
|
|
1822
1822
|
}, Gr = function(e, t, a) {
|
|
1823
1823
|
var r = null;
|
|
1824
1824
|
typeof a > "u" && (a = ["web", "flash"]);
|
|
@@ -1832,8 +1832,8 @@ var wa = function(e, t, a) {
|
|
|
1832
1832
|
r = e.apply(this, t), n = i === "flash";
|
|
1833
1833
|
}
|
|
1834
1834
|
(i === "web" || i === "both") && (t[0] = localStorage, r = e.apply(this, t), n = !0);
|
|
1835
|
-
} catch (
|
|
1836
|
-
s =
|
|
1835
|
+
} catch (l) {
|
|
1836
|
+
s = l;
|
|
1837
1837
|
}
|
|
1838
1838
|
if (n)
|
|
1839
1839
|
break;
|
|
@@ -1879,8 +1879,8 @@ I.format = function(e) {
|
|
|
1879
1879
|
return n.push(e.substring(s)), n.join("");
|
|
1880
1880
|
};
|
|
1881
1881
|
I.formatNumber = function(e, t, a, r) {
|
|
1882
|
-
var i = e, n = isNaN(t = Math.abs(t)) ? 2 : t, s = a === void 0 ? "," : a, o = r === void 0 ? "." : r,
|
|
1883
|
-
return
|
|
1882
|
+
var i = e, n = isNaN(t = Math.abs(t)) ? 2 : t, s = a === void 0 ? "," : a, o = r === void 0 ? "." : r, l = i < 0 ? "-" : "", f = parseInt(i = Math.abs(+i || 0).toFixed(n), 10) + "", u = f.length > 3 ? f.length % 3 : 0;
|
|
1883
|
+
return l + (u ? f.substr(0, u) + o : "") + f.substr(u).replace(/(\d{3})(?=\d)/g, "$1" + o) + (n ? s + Math.abs(i - f).toFixed(n).slice(2) : "");
|
|
1884
1884
|
};
|
|
1885
1885
|
I.formatSize = function(e) {
|
|
1886
1886
|
return e >= 1073741824 ? e = I.formatNumber(e / 1073741824, 2, ".", "") + " GiB" : e >= 1048576 ? e = I.formatNumber(e / 1048576, 2, ".", "") + " MiB" : e >= 1024 ? e = I.formatNumber(e / 1024, 0) + " KiB" : e = I.formatNumber(e, 0) + " bytes", e;
|
|
@@ -1937,8 +1937,8 @@ I.bytesToIPv6 = function(e) {
|
|
|
1937
1937
|
t.push(n);
|
|
1938
1938
|
}
|
|
1939
1939
|
if (a.length > 0) {
|
|
1940
|
-
var
|
|
1941
|
-
|
|
1940
|
+
var l = a[r];
|
|
1941
|
+
l.end - l.start > 0 && (t.splice(l.start, l.end - l.start + 1, ""), l.start === 0 && t.unshift(""), l.end === 7 && t.push(""));
|
|
1942
1942
|
}
|
|
1943
1943
|
return t.join(":");
|
|
1944
1944
|
};
|
|
@@ -1955,46 +1955,46 @@ I.estimateCores = function(e, t) {
|
|
|
1955
1955
|
"(",
|
|
1956
1956
|
function() {
|
|
1957
1957
|
self.addEventListener("message", function(s) {
|
|
1958
|
-
var o = Date.now(),
|
|
1959
|
-
self.postMessage({ st: o, et:
|
|
1958
|
+
var o = Date.now(), l = o + 4;
|
|
1959
|
+
self.postMessage({ st: o, et: l });
|
|
1960
1960
|
});
|
|
1961
1961
|
}.toString(),
|
|
1962
1962
|
")()"
|
|
1963
1963
|
], { type: "application/javascript" }));
|
|
1964
1964
|
r([], 5, 16);
|
|
1965
|
-
function r(s, o,
|
|
1965
|
+
function r(s, o, l) {
|
|
1966
1966
|
if (o === 0) {
|
|
1967
|
-
var
|
|
1967
|
+
var f = Math.floor(s.reduce(function(u, p) {
|
|
1968
1968
|
return u + p;
|
|
1969
1969
|
}, 0) / s.length);
|
|
1970
|
-
return I.cores = Math.max(1,
|
|
1970
|
+
return I.cores = Math.max(1, f), URL.revokeObjectURL(a), t(null, I.cores);
|
|
1971
1971
|
}
|
|
1972
|
-
i(
|
|
1973
|
-
s.push(n(
|
|
1972
|
+
i(l, function(u, p) {
|
|
1973
|
+
s.push(n(l, p)), r(s, o - 1, l);
|
|
1974
1974
|
});
|
|
1975
1975
|
}
|
|
1976
1976
|
function i(s, o) {
|
|
1977
|
-
for (var
|
|
1977
|
+
for (var l = [], f = [], u = 0; u < s; ++u) {
|
|
1978
1978
|
var p = new Worker(a);
|
|
1979
1979
|
p.addEventListener("message", function(m) {
|
|
1980
|
-
if (
|
|
1980
|
+
if (f.push(m.data), f.length === s) {
|
|
1981
1981
|
for (var S = 0; S < s; ++S)
|
|
1982
|
-
|
|
1983
|
-
o(null,
|
|
1982
|
+
l[S].terminate();
|
|
1983
|
+
o(null, f);
|
|
1984
1984
|
}
|
|
1985
|
-
}),
|
|
1985
|
+
}), l.push(p);
|
|
1986
1986
|
}
|
|
1987
1987
|
for (var u = 0; u < s; ++u)
|
|
1988
|
-
|
|
1988
|
+
l[u].postMessage(u);
|
|
1989
1989
|
}
|
|
1990
1990
|
function n(s, o) {
|
|
1991
|
-
for (var
|
|
1992
|
-
for (var u = o[
|
|
1993
|
-
if (
|
|
1991
|
+
for (var l = [], f = 0; f < s; ++f)
|
|
1992
|
+
for (var u = o[f], p = l[f] = [], m = 0; m < s; ++m)
|
|
1993
|
+
if (f !== m) {
|
|
1994
1994
|
var S = o[m];
|
|
1995
1995
|
(u.st > S.st && u.st < S.et || S.st > u.st && S.st < u.et) && p.push(m);
|
|
1996
1996
|
}
|
|
1997
|
-
return
|
|
1997
|
+
return l.reduce(function(C, A) {
|
|
1998
1998
|
return Math.max(C, A.length);
|
|
1999
1999
|
}, 0);
|
|
2000
2000
|
}
|
|
@@ -2372,8 +2372,8 @@ ie.gcm.prototype.ghash = function(e, t, a) {
|
|
|
2372
2372
|
};
|
|
2373
2373
|
ie.gcm.prototype.generateHashTable = function(e, t) {
|
|
2374
2374
|
for (var a = 8 / t, r = 4 * a, i = 16 * a, n = new Array(i), s = 0; s < i; ++s) {
|
|
2375
|
-
var o = [0, 0, 0, 0],
|
|
2376
|
-
o[
|
|
2375
|
+
var o = [0, 0, 0, 0], l = s / r | 0, f = (r - 1 - s % r) * t;
|
|
2376
|
+
o[l] = 1 << t - 1 << f, n[s] = this.generateSubHashTable(this.multiply(o, e), t);
|
|
2377
2377
|
}
|
|
2378
2378
|
return n;
|
|
2379
2379
|
};
|
|
@@ -2384,19 +2384,19 @@ ie.gcm.prototype.generateSubHashTable = function(e, t) {
|
|
|
2384
2384
|
this.pow(i[2 * n], i[n] = []), n >>= 1;
|
|
2385
2385
|
for (n = 2; n < r; ) {
|
|
2386
2386
|
for (var s = 1; s < n; ++s) {
|
|
2387
|
-
var o = i[n],
|
|
2387
|
+
var o = i[n], l = i[s];
|
|
2388
2388
|
i[n + s] = [
|
|
2389
|
-
o[0] ^
|
|
2390
|
-
o[1] ^
|
|
2391
|
-
o[2] ^
|
|
2392
|
-
o[3] ^
|
|
2389
|
+
o[0] ^ l[0],
|
|
2390
|
+
o[1] ^ l[1],
|
|
2391
|
+
o[2] ^ l[2],
|
|
2392
|
+
o[3] ^ l[3]
|
|
2393
2393
|
];
|
|
2394
2394
|
}
|
|
2395
2395
|
n *= 2;
|
|
2396
2396
|
}
|
|
2397
2397
|
for (i[0] = [0, 0, 0, 0], n = r + 1; n < a; ++n) {
|
|
2398
|
-
var
|
|
2399
|
-
i[n] = [e[0] ^
|
|
2398
|
+
var f = i[n ^ r];
|
|
2399
|
+
i[n] = [e[0] ^ f[0], e[1] ^ f[1], e[2] ^ f[2], e[3] ^ f[3]];
|
|
2400
2400
|
}
|
|
2401
2401
|
return i;
|
|
2402
2402
|
};
|
|
@@ -2467,10 +2467,10 @@ Ce.aes.Algorithm = function(e, t) {
|
|
|
2467
2467
|
blockSize: 16,
|
|
2468
2468
|
cipher: {
|
|
2469
2469
|
encrypt: function(r, i) {
|
|
2470
|
-
return
|
|
2470
|
+
return la(a._w, r, i, !1);
|
|
2471
2471
|
},
|
|
2472
2472
|
decrypt: function(r, i) {
|
|
2473
|
-
return
|
|
2473
|
+
return la(a._w, r, i, !0);
|
|
2474
2474
|
}
|
|
2475
2475
|
}
|
|
2476
2476
|
}), a._init = !1;
|
|
@@ -2503,7 +2503,7 @@ Ce.aes.Algorithm.prototype.initialize = function(e) {
|
|
|
2503
2503
|
Ce.aes._expandKey = function(e, t) {
|
|
2504
2504
|
return La || Ii(), Bi(e, t);
|
|
2505
2505
|
};
|
|
2506
|
-
Ce.aes._updateBlock =
|
|
2506
|
+
Ce.aes._updateBlock = la;
|
|
2507
2507
|
ur("AES-ECB", Ce.cipher.modes.ecb);
|
|
2508
2508
|
ur("AES-CBC", Ce.cipher.modes.cbc);
|
|
2509
2509
|
ur("AES-CFB", Ce.cipher.modes.cfb);
|
|
@@ -2516,51 +2516,51 @@ function ur(e, t) {
|
|
|
2516
2516
|
};
|
|
2517
2517
|
Ce.cipher.registerAlgorithm(e, a);
|
|
2518
2518
|
}
|
|
2519
|
-
var La = !1, er = 4, Ze,
|
|
2519
|
+
var La = !1, er = 4, Ze, fa, Ti, Xt, yt;
|
|
2520
2520
|
function Ii() {
|
|
2521
2521
|
La = !0, Ti = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54];
|
|
2522
2522
|
for (var e = new Array(256), t = 0; t < 128; ++t)
|
|
2523
2523
|
e[t] = t << 1, e[t + 128] = t + 128 << 1 ^ 283;
|
|
2524
|
-
Ze = new Array(256),
|
|
2524
|
+
Ze = new Array(256), fa = new Array(256), Xt = new Array(4), yt = new Array(4);
|
|
2525
2525
|
for (var t = 0; t < 4; ++t)
|
|
2526
2526
|
Xt[t] = new Array(256), yt[t] = new Array(256);
|
|
2527
|
-
for (var a = 0, r = 0, i, n, s, o,
|
|
2528
|
-
o = r ^ r << 1 ^ r << 2 ^ r << 3 ^ r << 4, o = o >> 8 ^ o & 255 ^ 99, Ze[a] = o,
|
|
2527
|
+
for (var a = 0, r = 0, i, n, s, o, l, f, u, t = 0; t < 256; ++t) {
|
|
2528
|
+
o = r ^ r << 1 ^ r << 2 ^ r << 3 ^ r << 4, o = o >> 8 ^ o & 255 ^ 99, Ze[a] = o, fa[o] = a, l = e[o], i = e[a], n = e[i], s = e[n], f = l << 24 ^ // 2
|
|
2529
2529
|
o << 16 ^ // 1
|
|
2530
2530
|
o << 8 ^ // 1
|
|
2531
|
-
(o ^
|
|
2531
|
+
(o ^ l), u = (i ^ n ^ s) << 24 ^ // E (14)
|
|
2532
2532
|
(a ^ s) << 16 ^ // 9
|
|
2533
2533
|
(a ^ n ^ s) << 8 ^ // D (13)
|
|
2534
2534
|
(a ^ i ^ s);
|
|
2535
2535
|
for (var p = 0; p < 4; ++p)
|
|
2536
|
-
Xt[p][a] =
|
|
2536
|
+
Xt[p][a] = f, yt[p][o] = u, f = f << 24 | f >>> 8, u = u << 24 | u >>> 8;
|
|
2537
2537
|
a === 0 ? a = r = 1 : (a = i ^ e[e[e[i ^ s]]], r ^= e[e[r]]);
|
|
2538
2538
|
}
|
|
2539
2539
|
}
|
|
2540
2540
|
function Bi(e, t) {
|
|
2541
|
-
for (var a = e.slice(0), r, i = 1, n = a.length, s = n + 6 + 1, o = er * s,
|
|
2542
|
-
r = a[
|
|
2541
|
+
for (var a = e.slice(0), r, i = 1, n = a.length, s = n + 6 + 1, o = er * s, l = n; l < o; ++l)
|
|
2542
|
+
r = a[l - 1], l % n === 0 ? (r = Ze[r >>> 16 & 255] << 24 ^ Ze[r >>> 8 & 255] << 16 ^ Ze[r & 255] << 8 ^ Ze[r >>> 24] ^ Ti[i] << 24, i++) : n > 6 && l % n === 4 && (r = Ze[r >>> 24] << 24 ^ Ze[r >>> 16 & 255] << 16 ^ Ze[r >>> 8 & 255] << 8 ^ Ze[r & 255]), a[l] = a[l - n] ^ r;
|
|
2543
2543
|
if (t) {
|
|
2544
|
-
var
|
|
2544
|
+
var f, u = yt[0], p = yt[1], m = yt[2], S = yt[3], C = a.slice(0);
|
|
2545
2545
|
o = a.length;
|
|
2546
|
-
for (var
|
|
2547
|
-
if (
|
|
2548
|
-
C[
|
|
2546
|
+
for (var l = 0, A = o - er; l < o; l += er, A -= er)
|
|
2547
|
+
if (l === 0 || l === o - er)
|
|
2548
|
+
C[l] = a[A], C[l + 1] = a[A + 3], C[l + 2] = a[A + 2], C[l + 3] = a[A + 1];
|
|
2549
2549
|
else
|
|
2550
2550
|
for (var b = 0; b < er; ++b)
|
|
2551
|
-
|
|
2551
|
+
f = a[A + b], C[l + (3 & -b)] = u[Ze[f >>> 24]] ^ p[Ze[f >>> 16 & 255]] ^ m[Ze[f >>> 8 & 255]] ^ S[Ze[f & 255]];
|
|
2552
2552
|
a = C;
|
|
2553
2553
|
}
|
|
2554
2554
|
return a;
|
|
2555
2555
|
}
|
|
2556
|
-
function
|
|
2557
|
-
var i = e.length / 4 - 1, n, s, o,
|
|
2558
|
-
r ? (n = yt[0], s = yt[1], o = yt[2],
|
|
2556
|
+
function la(e, t, a, r) {
|
|
2557
|
+
var i = e.length / 4 - 1, n, s, o, l, f;
|
|
2558
|
+
r ? (n = yt[0], s = yt[1], o = yt[2], l = yt[3], f = fa) : (n = Xt[0], s = Xt[1], o = Xt[2], l = Xt[3], f = Ze);
|
|
2559
2559
|
var u, p, m, S, C, A, b;
|
|
2560
2560
|
u = t[0] ^ e[0], p = t[r ? 3 : 1] ^ e[1], m = t[2] ^ e[2], S = t[r ? 1 : 3] ^ e[3];
|
|
2561
|
-
for (var
|
|
2562
|
-
C = n[u >>> 24] ^ s[p >>> 16 & 255] ^ o[m >>> 8 & 255] ^
|
|
2563
|
-
a[0] =
|
|
2561
|
+
for (var _ = 3, U = 1; U < i; ++U)
|
|
2562
|
+
C = n[u >>> 24] ^ s[p >>> 16 & 255] ^ o[m >>> 8 & 255] ^ l[S & 255] ^ e[++_], A = n[p >>> 24] ^ s[m >>> 16 & 255] ^ o[S >>> 8 & 255] ^ l[u & 255] ^ e[++_], b = n[m >>> 24] ^ s[S >>> 16 & 255] ^ o[u >>> 8 & 255] ^ l[p & 255] ^ e[++_], S = n[S >>> 24] ^ s[u >>> 16 & 255] ^ o[p >>> 8 & 255] ^ l[m & 255] ^ e[++_], u = C, p = A, m = b;
|
|
2563
|
+
a[0] = f[u >>> 24] << 24 ^ f[p >>> 16 & 255] << 16 ^ f[m >>> 8 & 255] << 8 ^ f[S & 255] ^ e[++_], a[r ? 3 : 1] = f[p >>> 24] << 24 ^ f[m >>> 16 & 255] << 16 ^ f[S >>> 8 & 255] << 8 ^ f[u & 255] ^ e[++_], a[2] = f[m >>> 24] << 24 ^ f[S >>> 16 & 255] << 16 ^ f[u >>> 8 & 255] << 8 ^ f[p & 255] ^ e[++_], a[r ? 1 : 3] = f[S >>> 24] << 24 ^ f[u >>> 16 & 255] << 16 ^ f[p >>> 8 & 255] << 8 ^ f[m & 255] ^ e[++_];
|
|
2564
2564
|
}
|
|
2565
2565
|
function zr(e) {
|
|
2566
2566
|
e = e || {};
|
|
@@ -2709,14 +2709,14 @@ V("1.3.6.1.5.5.7.3.2", "clientAuth");
|
|
|
2709
2709
|
V("1.3.6.1.5.5.7.3.3", "codeSigning");
|
|
2710
2710
|
V("1.3.6.1.5.5.7.3.4", "emailProtection");
|
|
2711
2711
|
V("1.3.6.1.5.5.7.3.8", "timeStamping");
|
|
2712
|
-
var xe = ee,
|
|
2713
|
-
|
|
2712
|
+
var xe = ee, H = xe.asn1 = xe.asn1 || {};
|
|
2713
|
+
H.Class = {
|
|
2714
2714
|
UNIVERSAL: 0,
|
|
2715
2715
|
APPLICATION: 64,
|
|
2716
2716
|
CONTEXT_SPECIFIC: 128,
|
|
2717
2717
|
PRIVATE: 192
|
|
2718
2718
|
};
|
|
2719
|
-
|
|
2719
|
+
H.Type = {
|
|
2720
2720
|
NONE: 0,
|
|
2721
2721
|
BOOLEAN: 1,
|
|
2722
2722
|
INTEGER: 2,
|
|
@@ -2739,7 +2739,8 @@ G.Type = {
|
|
|
2739
2739
|
GENERALIZEDTIME: 24,
|
|
2740
2740
|
BMPSTRING: 30
|
|
2741
2741
|
};
|
|
2742
|
-
|
|
2742
|
+
H.maxDepth = 256;
|
|
2743
|
+
H.create = function(e, t, a, r, i) {
|
|
2743
2744
|
if (xe.util.isArray(r)) {
|
|
2744
2745
|
for (var n = [], s = 0; s < r.length; ++s)
|
|
2745
2746
|
r[s] !== void 0 && n.push(r[s]);
|
|
@@ -2752,14 +2753,14 @@ G.create = function(e, t, a, r, i) {
|
|
|
2752
2753
|
composed: a || xe.util.isArray(r),
|
|
2753
2754
|
value: r
|
|
2754
2755
|
};
|
|
2755
|
-
return i && "bitStringContents" in i && (o.bitStringContents = i.bitStringContents, o.original =
|
|
2756
|
+
return i && "bitStringContents" in i && (o.bitStringContents = i.bitStringContents, o.original = H.copy(o)), o;
|
|
2756
2757
|
};
|
|
2757
|
-
|
|
2758
|
+
H.copy = function(e, t) {
|
|
2758
2759
|
var a;
|
|
2759
2760
|
if (xe.util.isArray(e)) {
|
|
2760
2761
|
a = [];
|
|
2761
2762
|
for (var r = 0; r < e.length; ++r)
|
|
2762
|
-
a.push(
|
|
2763
|
+
a.push(H.copy(e[r], t));
|
|
2763
2764
|
return a;
|
|
2764
2765
|
}
|
|
2765
2766
|
return typeof e == "string" ? e : (a = {
|
|
@@ -2767,15 +2768,15 @@ G.copy = function(e, t) {
|
|
|
2767
2768
|
type: e.type,
|
|
2768
2769
|
constructed: e.constructed,
|
|
2769
2770
|
composed: e.composed,
|
|
2770
|
-
value:
|
|
2771
|
+
value: H.copy(e.value, t)
|
|
2771
2772
|
}, t && !t.excludeBitStringContents && (a.bitStringContents = e.bitStringContents), a);
|
|
2772
2773
|
};
|
|
2773
|
-
|
|
2774
|
+
H.equals = function(e, t, a) {
|
|
2774
2775
|
if (xe.util.isArray(e)) {
|
|
2775
2776
|
if (!xe.util.isArray(t) || e.length !== t.length)
|
|
2776
2777
|
return !1;
|
|
2777
2778
|
for (var r = 0; r < e.length; ++r)
|
|
2778
|
-
if (!
|
|
2779
|
+
if (!H.equals(e[r], t[r]))
|
|
2779
2780
|
return !1;
|
|
2780
2781
|
return !0;
|
|
2781
2782
|
}
|
|
@@ -2783,10 +2784,10 @@ G.equals = function(e, t, a) {
|
|
|
2783
2784
|
return !1;
|
|
2784
2785
|
if (typeof e == "string")
|
|
2785
2786
|
return e === t;
|
|
2786
|
-
var i = e.tagClass === t.tagClass && e.type === t.type && e.constructed === t.constructed && e.composed === t.composed &&
|
|
2787
|
+
var i = e.tagClass === t.tagClass && e.type === t.type && e.constructed === t.constructed && e.composed === t.composed && H.equals(e.value, t.value);
|
|
2787
2788
|
return a && a.includeBitStringContents && (i = i && e.bitStringContents === t.bitStringContents), i;
|
|
2788
2789
|
};
|
|
2789
|
-
|
|
2790
|
+
H.getBerValueLength = function(e) {
|
|
2790
2791
|
var t = e.getByte();
|
|
2791
2792
|
if (t !== 128) {
|
|
2792
2793
|
var a, r = t & 128;
|
|
@@ -2814,7 +2815,7 @@ var Kn = function(e, t) {
|
|
|
2814
2815
|
return r;
|
|
2815
2816
|
}
|
|
2816
2817
|
};
|
|
2817
|
-
|
|
2818
|
+
H.fromDer = function(e, t) {
|
|
2818
2819
|
t === void 0 && (t = {
|
|
2819
2820
|
strict: !0,
|
|
2820
2821
|
parseAllBytes: !0,
|
|
@@ -2823,91 +2824,93 @@ G.fromDer = function(e, t) {
|
|
|
2823
2824
|
strict: t,
|
|
2824
2825
|
parseAllBytes: !0,
|
|
2825
2826
|
decodeBitStrings: !0
|
|
2826
|
-
}), "strict" in t || (t.strict = !0), "parseAllBytes" in t || (t.parseAllBytes = !0), "decodeBitStrings" in t || (t.decodeBitStrings = !0), typeof e == "string" && (e = xe.util.createBuffer(e));
|
|
2827
|
-
var a = e.length(), r =
|
|
2827
|
+
}), "strict" in t || (t.strict = !0), "parseAllBytes" in t || (t.parseAllBytes = !0), "decodeBitStrings" in t || (t.decodeBitStrings = !0), "maxDepth" in t || (t.maxDepth = H.maxDepth), typeof e == "string" && (e = xe.util.createBuffer(e));
|
|
2828
|
+
var a = e.length(), r = _r(e, e.length(), 0, t);
|
|
2828
2829
|
if (t.parseAllBytes && e.length() !== 0) {
|
|
2829
2830
|
var i = new Error("Unparsed DER bytes remain after ASN.1 parsing.");
|
|
2830
2831
|
throw i.byteCount = a, i.remaining = e.length(), i;
|
|
2831
2832
|
}
|
|
2832
2833
|
return r;
|
|
2833
2834
|
};
|
|
2834
|
-
function
|
|
2835
|
+
function _r(e, t, a, r) {
|
|
2836
|
+
if (a >= r.maxDepth)
|
|
2837
|
+
throw new Error("ASN.1 parsing error: Max depth exceeded.");
|
|
2835
2838
|
var i;
|
|
2836
2839
|
yr(e, t, 2);
|
|
2837
2840
|
var n = e.getByte();
|
|
2838
2841
|
t--;
|
|
2839
2842
|
var s = n & 192, o = n & 31;
|
|
2840
2843
|
i = e.length();
|
|
2841
|
-
var
|
|
2842
|
-
if (t -= i - e.length(),
|
|
2844
|
+
var l = Kn(e, t);
|
|
2845
|
+
if (t -= i - e.length(), l !== void 0 && l > t) {
|
|
2843
2846
|
if (r.strict) {
|
|
2844
|
-
var
|
|
2845
|
-
throw
|
|
2847
|
+
var f = new Error("Too few bytes to read ASN.1 value.");
|
|
2848
|
+
throw f.available = e.length(), f.remaining = t, f.requested = l, f;
|
|
2846
2849
|
}
|
|
2847
|
-
|
|
2850
|
+
l = t;
|
|
2848
2851
|
}
|
|
2849
2852
|
var u, p, m = (n & 32) === 32;
|
|
2850
2853
|
if (m)
|
|
2851
|
-
if (u = [],
|
|
2854
|
+
if (u = [], l === void 0)
|
|
2852
2855
|
for (; ; ) {
|
|
2853
2856
|
if (yr(e, t, 2), e.bytes(2) === "\0\0") {
|
|
2854
2857
|
e.getBytes(2), t -= 2;
|
|
2855
2858
|
break;
|
|
2856
2859
|
}
|
|
2857
|
-
i = e.length(), u.push(
|
|
2860
|
+
i = e.length(), u.push(_r(e, t, a + 1, r)), t -= i - e.length();
|
|
2858
2861
|
}
|
|
2859
2862
|
else
|
|
2860
|
-
for (;
|
|
2861
|
-
i = e.length(), u.push(
|
|
2862
|
-
if (u === void 0 && s ===
|
|
2863
|
+
for (; l > 0; )
|
|
2864
|
+
i = e.length(), u.push(_r(e, l, a + 1, r)), t -= i - e.length(), l -= i - e.length();
|
|
2865
|
+
if (u === void 0 && s === H.Class.UNIVERSAL && o === H.Type.BITSTRING && (p = e.bytes(l)), u === void 0 && r.decodeBitStrings && s === H.Class.UNIVERSAL && // FIXME: OCTET STRINGs not yet supported here
|
|
2863
2866
|
// .. other parts of forge expect to decode OCTET STRINGs manually
|
|
2864
|
-
o ===
|
|
2867
|
+
o === H.Type.BITSTRING && l > 1) {
|
|
2865
2868
|
var S = e.read, C = t, A = 0;
|
|
2866
|
-
if (o ===
|
|
2869
|
+
if (o === H.Type.BITSTRING && (yr(e, t, 1), A = e.getByte(), t--), A === 0)
|
|
2867
2870
|
try {
|
|
2868
2871
|
i = e.length();
|
|
2869
2872
|
var b = {
|
|
2870
2873
|
// enforce strict mode to avoid parsing ASN.1 from plain data
|
|
2871
2874
|
strict: !0,
|
|
2872
2875
|
decodeBitStrings: !0
|
|
2873
|
-
},
|
|
2874
|
-
t -= U, o ==
|
|
2875
|
-
var D =
|
|
2876
|
-
U ===
|
|
2876
|
+
}, _ = _r(e, t, a + 1, b), U = i - e.length();
|
|
2877
|
+
t -= U, o == H.Type.BITSTRING && U++;
|
|
2878
|
+
var D = _.tagClass;
|
|
2879
|
+
U === l && (D === H.Class.UNIVERSAL || D === H.Class.CONTEXT_SPECIFIC) && (u = [_]);
|
|
2877
2880
|
} catch {
|
|
2878
2881
|
}
|
|
2879
2882
|
u === void 0 && (e.read = S, t = C);
|
|
2880
2883
|
}
|
|
2881
2884
|
if (u === void 0) {
|
|
2882
|
-
if (
|
|
2885
|
+
if (l === void 0) {
|
|
2883
2886
|
if (r.strict)
|
|
2884
2887
|
throw new Error("Non-constructed ASN.1 object of indefinite length.");
|
|
2885
|
-
|
|
2888
|
+
l = t;
|
|
2886
2889
|
}
|
|
2887
|
-
if (o ===
|
|
2888
|
-
for (u = "";
|
|
2890
|
+
if (o === H.Type.BMPSTRING)
|
|
2891
|
+
for (u = ""; l > 0; l -= 2)
|
|
2889
2892
|
yr(e, t, 2), u += String.fromCharCode(e.getInt16()), t -= 2;
|
|
2890
2893
|
else
|
|
2891
|
-
u = e.getBytes(
|
|
2894
|
+
u = e.getBytes(l), t -= l;
|
|
2892
2895
|
}
|
|
2893
|
-
var
|
|
2896
|
+
var G = p === void 0 ? null : {
|
|
2894
2897
|
bitStringContents: p
|
|
2895
2898
|
};
|
|
2896
|
-
return
|
|
2899
|
+
return H.create(s, o, m, u, G);
|
|
2897
2900
|
}
|
|
2898
|
-
|
|
2901
|
+
H.toDer = function(e) {
|
|
2899
2902
|
var t = xe.util.createBuffer(), a = e.tagClass | e.type, r = xe.util.createBuffer(), i = !1;
|
|
2900
|
-
if ("bitStringContents" in e && (i = !0, e.original && (i =
|
|
2903
|
+
if ("bitStringContents" in e && (i = !0, e.original && (i = H.equals(e, e.original))), i)
|
|
2901
2904
|
r.putBytes(e.bitStringContents);
|
|
2902
2905
|
else if (e.composed) {
|
|
2903
2906
|
e.constructed ? a |= 32 : r.putByte(0);
|
|
2904
2907
|
for (var n = 0; n < e.value.length; ++n)
|
|
2905
|
-
e.value[n] !== void 0 && r.putBuffer(
|
|
2906
|
-
} else if (e.type ===
|
|
2908
|
+
e.value[n] !== void 0 && r.putBuffer(H.toDer(e.value[n]));
|
|
2909
|
+
} else if (e.type === H.Type.BMPSTRING)
|
|
2907
2910
|
for (var n = 0; n < e.value.length; ++n)
|
|
2908
2911
|
r.putInt16(e.value.charCodeAt(n));
|
|
2909
2912
|
else
|
|
2910
|
-
e.type ===
|
|
2913
|
+
e.type === H.Type.INTEGER && e.value.length > 1 && // leading 0x00 for positive integer
|
|
2911
2914
|
(e.value.charCodeAt(0) === 0 && !(e.value.charCodeAt(1) & 128) || // leading 0xFF for negative integer
|
|
2912
2915
|
e.value.charCodeAt(0) === 255 && (e.value.charCodeAt(1) & 128) === 128) ? r.putBytes(e.value.substr(1)) : r.putBytes(e.value);
|
|
2913
2916
|
if (t.putByte(a), r.length() <= 127)
|
|
@@ -2923,53 +2926,57 @@ G.toDer = function(e) {
|
|
|
2923
2926
|
}
|
|
2924
2927
|
return t.putBuffer(r), t;
|
|
2925
2928
|
};
|
|
2926
|
-
|
|
2929
|
+
H.oidToDer = function(e) {
|
|
2927
2930
|
var t = e.split("."), a = xe.util.createBuffer();
|
|
2928
2931
|
a.putByte(40 * parseInt(t[0], 10) + parseInt(t[1], 10));
|
|
2929
2932
|
for (var r, i, n, s, o = 2; o < t.length; ++o) {
|
|
2930
|
-
r = !0, i = [], n = parseInt(t[o], 10)
|
|
2933
|
+
if (r = !0, i = [], n = parseInt(t[o], 10), n > 4294967295)
|
|
2934
|
+
throw new Error("OID value too large; max is 32-bits.");
|
|
2931
2935
|
do
|
|
2932
2936
|
s = n & 127, n = n >>> 7, r || (s |= 128), i.push(s), r = !1;
|
|
2933
2937
|
while (n > 0);
|
|
2934
|
-
for (var
|
|
2935
|
-
a.putByte(i[
|
|
2938
|
+
for (var l = i.length - 1; l >= 0; --l)
|
|
2939
|
+
a.putByte(i[l]);
|
|
2936
2940
|
}
|
|
2937
2941
|
return a;
|
|
2938
2942
|
};
|
|
2939
|
-
|
|
2943
|
+
H.derToOid = function(e) {
|
|
2940
2944
|
var t;
|
|
2941
2945
|
typeof e == "string" && (e = xe.util.createBuffer(e));
|
|
2942
2946
|
var a = e.getByte();
|
|
2943
2947
|
t = Math.floor(a / 40) + "." + a % 40;
|
|
2944
|
-
for (var r = 0; e.length() > 0; )
|
|
2945
|
-
|
|
2948
|
+
for (var r = 0; e.length() > 0; ) {
|
|
2949
|
+
if (r > 70368744177663)
|
|
2950
|
+
throw new Error("OID value too large; max is 53-bits.");
|
|
2951
|
+
a = e.getByte(), r = r * 128, a & 128 ? r += a & 127 : (t += "." + (r + a), r = 0);
|
|
2952
|
+
}
|
|
2946
2953
|
return t;
|
|
2947
2954
|
};
|
|
2948
|
-
|
|
2955
|
+
H.utcTimeToDate = function(e) {
|
|
2949
2956
|
var t = /* @__PURE__ */ new Date(), a = parseInt(e.substr(0, 2), 10);
|
|
2950
2957
|
a = a >= 50 ? 1900 + a : 2e3 + a;
|
|
2951
2958
|
var r = parseInt(e.substr(2, 2), 10) - 1, i = parseInt(e.substr(4, 2), 10), n = parseInt(e.substr(6, 2), 10), s = parseInt(e.substr(8, 2), 10), o = 0;
|
|
2952
2959
|
if (e.length > 11) {
|
|
2953
|
-
var
|
|
2954
|
-
|
|
2960
|
+
var l = e.charAt(10), f = 10;
|
|
2961
|
+
l !== "+" && l !== "-" && (o = parseInt(e.substr(10, 2), 10), f += 2);
|
|
2955
2962
|
}
|
|
2956
|
-
if (t.setUTCFullYear(a, r, i), t.setUTCHours(n, s, o, 0),
|
|
2957
|
-
var u = parseInt(e.substr(
|
|
2958
|
-
m *= 6e4,
|
|
2963
|
+
if (t.setUTCFullYear(a, r, i), t.setUTCHours(n, s, o, 0), f && (l = e.charAt(f), l === "+" || l === "-")) {
|
|
2964
|
+
var u = parseInt(e.substr(f + 1, 2), 10), p = parseInt(e.substr(f + 4, 2), 10), m = u * 60 + p;
|
|
2965
|
+
m *= 6e4, l === "+" ? t.setTime(+t - m) : t.setTime(+t + m);
|
|
2959
2966
|
}
|
|
2960
2967
|
return t;
|
|
2961
2968
|
};
|
|
2962
|
-
|
|
2963
|
-
var t = /* @__PURE__ */ new Date(), a = parseInt(e.substr(0, 4), 10), r = parseInt(e.substr(4, 2), 10) - 1, i = parseInt(e.substr(6, 2), 10), n = parseInt(e.substr(8, 2), 10), s = parseInt(e.substr(10, 2), 10), o = parseInt(e.substr(12, 2), 10),
|
|
2969
|
+
H.generalizedTimeToDate = function(e) {
|
|
2970
|
+
var t = /* @__PURE__ */ new Date(), a = parseInt(e.substr(0, 4), 10), r = parseInt(e.substr(4, 2), 10) - 1, i = parseInt(e.substr(6, 2), 10), n = parseInt(e.substr(8, 2), 10), s = parseInt(e.substr(10, 2), 10), o = parseInt(e.substr(12, 2), 10), l = 0, f = 0, u = !1;
|
|
2964
2971
|
e.charAt(e.length - 1) === "Z" && (u = !0);
|
|
2965
2972
|
var p = e.length - 5, m = e.charAt(p);
|
|
2966
2973
|
if (m === "+" || m === "-") {
|
|
2967
2974
|
var S = parseInt(e.substr(p + 1, 2), 10), C = parseInt(e.substr(p + 4, 2), 10);
|
|
2968
|
-
|
|
2975
|
+
f = S * 60 + C, f *= 6e4, m === "+" && (f *= -1), u = !0;
|
|
2969
2976
|
}
|
|
2970
|
-
return e.charAt(14) === "." && (
|
|
2977
|
+
return e.charAt(14) === "." && (l = parseFloat(e.substr(14), 10) * 1e3), u ? (t.setUTCFullYear(a, r, i), t.setUTCHours(n, s, o, l), t.setTime(+t + f)) : (t.setFullYear(a, r, i), t.setHours(n, s, o, l)), t;
|
|
2971
2978
|
};
|
|
2972
|
-
|
|
2979
|
+
H.dateToUtcTime = function(e) {
|
|
2973
2980
|
if (typeof e == "string")
|
|
2974
2981
|
return e;
|
|
2975
2982
|
var t = "", a = [];
|
|
@@ -2978,7 +2985,7 @@ G.dateToUtcTime = function(e) {
|
|
|
2978
2985
|
a[r].length < 2 && (t += "0"), t += a[r];
|
|
2979
2986
|
return t += "Z", t;
|
|
2980
2987
|
};
|
|
2981
|
-
|
|
2988
|
+
H.dateToGeneralizedTime = function(e) {
|
|
2982
2989
|
if (typeof e == "string")
|
|
2983
2990
|
return e;
|
|
2984
2991
|
var t = "", a = [];
|
|
@@ -2987,7 +2994,7 @@ G.dateToGeneralizedTime = function(e) {
|
|
|
2987
2994
|
a[r].length < 2 && (t += "0"), t += a[r];
|
|
2988
2995
|
return t += "Z", t;
|
|
2989
2996
|
};
|
|
2990
|
-
|
|
2997
|
+
H.integerToDer = function(e) {
|
|
2991
2998
|
var t = xe.util.createBuffer();
|
|
2992
2999
|
if (e >= -128 && e < 128)
|
|
2993
3000
|
return t.putSignedInt(e, 8);
|
|
@@ -3000,28 +3007,51 @@ G.integerToDer = function(e) {
|
|
|
3000
3007
|
var a = new Error("Integer too large; max is 32-bits.");
|
|
3001
3008
|
throw a.integer = e, a;
|
|
3002
3009
|
};
|
|
3003
|
-
|
|
3010
|
+
H.derToInteger = function(e) {
|
|
3004
3011
|
typeof e == "string" && (e = xe.util.createBuffer(e));
|
|
3005
3012
|
var t = e.length() * 8;
|
|
3006
3013
|
if (t > 32)
|
|
3007
3014
|
throw new Error("Integer too large; max is 32-bits.");
|
|
3008
3015
|
return e.getSignedInt(t);
|
|
3009
3016
|
};
|
|
3010
|
-
|
|
3017
|
+
H.validate = function(e, t, a, r) {
|
|
3011
3018
|
var i = !1;
|
|
3012
3019
|
if ((e.tagClass === t.tagClass || typeof t.tagClass > "u") && (e.type === t.type || typeof t.type > "u"))
|
|
3013
3020
|
if (e.constructed === t.constructed || typeof t.constructed > "u") {
|
|
3014
3021
|
if (i = !0, t.value && xe.util.isArray(t.value))
|
|
3015
|
-
for (var n = 0, s = 0; i && s < t.value.length; ++s)
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3022
|
+
for (var n = 0, s = 0; i && s < t.value.length; ++s) {
|
|
3023
|
+
var o = t.value[s];
|
|
3024
|
+
i = !!o.optional;
|
|
3025
|
+
var l = e.value[n];
|
|
3026
|
+
if (!l) {
|
|
3027
|
+
o.optional || (i = !1, r && r.push("[" + t.name + '] Missing required element. Expected tag class "' + o.tagClass + '", type "' + o.type + '"'));
|
|
3028
|
+
continue;
|
|
3029
|
+
}
|
|
3030
|
+
var f = typeof o.tagClass < "u" && typeof o.type < "u";
|
|
3031
|
+
if (f && (l.tagClass !== o.tagClass || l.type !== o.type))
|
|
3032
|
+
if (o.optional) {
|
|
3033
|
+
i = !0;
|
|
3034
|
+
continue;
|
|
3035
|
+
} else {
|
|
3036
|
+
i = !1, r && r.push("[" + t.name + "] Tag mismatch. Expected (" + o.tagClass + "," + o.type + "), got (" + l.tagClass + "," + l.type + ")");
|
|
3037
|
+
break;
|
|
3038
|
+
}
|
|
3039
|
+
var u = H.validate(l, o, a, r);
|
|
3040
|
+
if (u)
|
|
3041
|
+
++n, i = !0;
|
|
3042
|
+
else if (o.optional)
|
|
3043
|
+
i = !0;
|
|
3044
|
+
else {
|
|
3045
|
+
i = !1;
|
|
3046
|
+
break;
|
|
3047
|
+
}
|
|
3048
|
+
}
|
|
3019
3049
|
if (i && a && (t.capture && (a[t.capture] = e.value), t.captureAsn1 && (a[t.captureAsn1] = e), t.captureBitStringContents && "bitStringContents" in e && (a[t.captureBitStringContents] = e.bitStringContents), t.captureBitStringValue && "bitStringContents" in e))
|
|
3020
3050
|
if (e.bitStringContents.length < 2)
|
|
3021
3051
|
a[t.captureBitStringValue] = "";
|
|
3022
3052
|
else {
|
|
3023
|
-
var
|
|
3024
|
-
if (
|
|
3053
|
+
var p = e.bitStringContents.charCodeAt(0);
|
|
3054
|
+
if (p !== 0)
|
|
3025
3055
|
throw new Error(
|
|
3026
3056
|
"captureBitStringValue only supported for zero unused bits"
|
|
3027
3057
|
);
|
|
@@ -3038,89 +3068,89 @@ G.validate = function(e, t, a, r) {
|
|
|
3038
3068
|
return i;
|
|
3039
3069
|
};
|
|
3040
3070
|
var $a = /[^\\u0000-\\u00ff]/;
|
|
3041
|
-
|
|
3071
|
+
H.prettyPrint = function(e, t, a) {
|
|
3042
3072
|
var r = "";
|
|
3043
3073
|
t = t || 0, a = a || 2, t > 0 && (r += `
|
|
3044
3074
|
`);
|
|
3045
3075
|
for (var i = "", n = 0; n < t * a; ++n)
|
|
3046
3076
|
i += " ";
|
|
3047
3077
|
switch (r += i + "Tag: ", e.tagClass) {
|
|
3048
|
-
case
|
|
3078
|
+
case H.Class.UNIVERSAL:
|
|
3049
3079
|
r += "Universal:";
|
|
3050
3080
|
break;
|
|
3051
|
-
case
|
|
3081
|
+
case H.Class.APPLICATION:
|
|
3052
3082
|
r += "Application:";
|
|
3053
3083
|
break;
|
|
3054
|
-
case
|
|
3084
|
+
case H.Class.CONTEXT_SPECIFIC:
|
|
3055
3085
|
r += "Context-Specific:";
|
|
3056
3086
|
break;
|
|
3057
|
-
case
|
|
3087
|
+
case H.Class.PRIVATE:
|
|
3058
3088
|
r += "Private:";
|
|
3059
3089
|
break;
|
|
3060
3090
|
}
|
|
3061
|
-
if (e.tagClass ===
|
|
3091
|
+
if (e.tagClass === H.Class.UNIVERSAL)
|
|
3062
3092
|
switch (r += e.type, e.type) {
|
|
3063
|
-
case
|
|
3093
|
+
case H.Type.NONE:
|
|
3064
3094
|
r += " (None)";
|
|
3065
3095
|
break;
|
|
3066
|
-
case
|
|
3096
|
+
case H.Type.BOOLEAN:
|
|
3067
3097
|
r += " (Boolean)";
|
|
3068
3098
|
break;
|
|
3069
|
-
case
|
|
3099
|
+
case H.Type.INTEGER:
|
|
3070
3100
|
r += " (Integer)";
|
|
3071
3101
|
break;
|
|
3072
|
-
case
|
|
3102
|
+
case H.Type.BITSTRING:
|
|
3073
3103
|
r += " (Bit string)";
|
|
3074
3104
|
break;
|
|
3075
|
-
case
|
|
3105
|
+
case H.Type.OCTETSTRING:
|
|
3076
3106
|
r += " (Octet string)";
|
|
3077
3107
|
break;
|
|
3078
|
-
case
|
|
3108
|
+
case H.Type.NULL:
|
|
3079
3109
|
r += " (Null)";
|
|
3080
3110
|
break;
|
|
3081
|
-
case
|
|
3111
|
+
case H.Type.OID:
|
|
3082
3112
|
r += " (Object Identifier)";
|
|
3083
3113
|
break;
|
|
3084
|
-
case
|
|
3114
|
+
case H.Type.ODESC:
|
|
3085
3115
|
r += " (Object Descriptor)";
|
|
3086
3116
|
break;
|
|
3087
|
-
case
|
|
3117
|
+
case H.Type.EXTERNAL:
|
|
3088
3118
|
r += " (External or Instance of)";
|
|
3089
3119
|
break;
|
|
3090
|
-
case
|
|
3120
|
+
case H.Type.REAL:
|
|
3091
3121
|
r += " (Real)";
|
|
3092
3122
|
break;
|
|
3093
|
-
case
|
|
3123
|
+
case H.Type.ENUMERATED:
|
|
3094
3124
|
r += " (Enumerated)";
|
|
3095
3125
|
break;
|
|
3096
|
-
case
|
|
3126
|
+
case H.Type.EMBEDDED:
|
|
3097
3127
|
r += " (Embedded PDV)";
|
|
3098
3128
|
break;
|
|
3099
|
-
case
|
|
3129
|
+
case H.Type.UTF8:
|
|
3100
3130
|
r += " (UTF8)";
|
|
3101
3131
|
break;
|
|
3102
|
-
case
|
|
3132
|
+
case H.Type.ROID:
|
|
3103
3133
|
r += " (Relative Object Identifier)";
|
|
3104
3134
|
break;
|
|
3105
|
-
case
|
|
3135
|
+
case H.Type.SEQUENCE:
|
|
3106
3136
|
r += " (Sequence)";
|
|
3107
3137
|
break;
|
|
3108
|
-
case
|
|
3138
|
+
case H.Type.SET:
|
|
3109
3139
|
r += " (Set)";
|
|
3110
3140
|
break;
|
|
3111
|
-
case
|
|
3141
|
+
case H.Type.PRINTABLESTRING:
|
|
3112
3142
|
r += " (Printable String)";
|
|
3113
3143
|
break;
|
|
3114
|
-
case
|
|
3144
|
+
case H.Type.IA5String:
|
|
3115
3145
|
r += " (IA5String (ASCII))";
|
|
3116
3146
|
break;
|
|
3117
|
-
case
|
|
3147
|
+
case H.Type.UTCTIME:
|
|
3118
3148
|
r += " (UTC time)";
|
|
3119
3149
|
break;
|
|
3120
|
-
case
|
|
3150
|
+
case H.Type.GENERALIZEDTIME:
|
|
3121
3151
|
r += " (Generalized time)";
|
|
3122
3152
|
break;
|
|
3123
|
-
case
|
|
3153
|
+
case H.Type.BMPSTRING:
|
|
3124
3154
|
r += " (BMP String)";
|
|
3125
3155
|
break;
|
|
3126
3156
|
}
|
|
@@ -3130,27 +3160,27 @@ G.prettyPrint = function(e, t, a) {
|
|
|
3130
3160
|
`, r += i + "Constructed: " + e.constructed + `
|
|
3131
3161
|
`, e.composed) {
|
|
3132
3162
|
for (var s = 0, o = "", n = 0; n < e.value.length; ++n)
|
|
3133
|
-
e.value[n] !== void 0 && (s += 1, o +=
|
|
3163
|
+
e.value[n] !== void 0 && (s += 1, o += H.prettyPrint(e.value[n], t + 1, a), n + 1 < e.value.length && (o += ","));
|
|
3134
3164
|
r += i + "Sub values: " + s + o;
|
|
3135
3165
|
} else {
|
|
3136
|
-
if (r += i + "Value: ", e.type ===
|
|
3137
|
-
var
|
|
3138
|
-
r +=
|
|
3166
|
+
if (r += i + "Value: ", e.type === H.Type.OID) {
|
|
3167
|
+
var l = H.derToOid(e.value);
|
|
3168
|
+
r += l, xe.pki && xe.pki.oids && l in xe.pki.oids && (r += " (" + xe.pki.oids[l] + ") ");
|
|
3139
3169
|
}
|
|
3140
|
-
if (e.type ===
|
|
3170
|
+
if (e.type === H.Type.INTEGER)
|
|
3141
3171
|
try {
|
|
3142
|
-
r +=
|
|
3172
|
+
r += H.derToInteger(e.value);
|
|
3143
3173
|
} catch {
|
|
3144
3174
|
r += "0x" + xe.util.bytesToHex(e.value);
|
|
3145
3175
|
}
|
|
3146
|
-
else if (e.type ===
|
|
3176
|
+
else if (e.type === H.Type.BITSTRING) {
|
|
3147
3177
|
if (e.value.length > 1 ? r += "0x" + xe.util.bytesToHex(e.value.slice(1)) : r += "(none)", e.value.length > 0) {
|
|
3148
|
-
var
|
|
3149
|
-
|
|
3178
|
+
var f = e.value.charCodeAt(0);
|
|
3179
|
+
f == 1 ? r += " (1 unused bit shown)" : f > 1 && (r += " (" + f + " unused bits shown)");
|
|
3150
3180
|
}
|
|
3151
|
-
} else if (e.type ===
|
|
3181
|
+
} else if (e.type === H.Type.OCTETSTRING)
|
|
3152
3182
|
$a.test(e.value) || (r += "(" + e.value + ") "), r += "0x" + xe.util.bytesToHex(e.value);
|
|
3153
|
-
else if (e.type ===
|
|
3183
|
+
else if (e.type === H.Type.UTF8)
|
|
3154
3184
|
try {
|
|
3155
3185
|
r += xe.util.decodeUtf8(e.value);
|
|
3156
3186
|
} catch (u) {
|
|
@@ -3159,21 +3189,21 @@ G.prettyPrint = function(e, t, a) {
|
|
|
3159
3189
|
else
|
|
3160
3190
|
throw u;
|
|
3161
3191
|
}
|
|
3162
|
-
else e.type ===
|
|
3192
|
+
else e.type === H.Type.PRINTABLESTRING || e.type === H.Type.IA5String ? r += e.value : $a.test(e.value) ? r += "0x" + xe.util.bytesToHex(e.value) : e.value.length === 0 ? r += "[null]" : r += e.value;
|
|
3163
3193
|
}
|
|
3164
3194
|
return r;
|
|
3165
3195
|
};
|
|
3166
3196
|
var Lr = ee;
|
|
3167
3197
|
Lr.md = Lr.md || {};
|
|
3168
3198
|
Lr.md.algorithms = Lr.md.algorithms || {};
|
|
3169
|
-
var
|
|
3199
|
+
var wt = ee, Mn = wt.hmac = wt.hmac || {};
|
|
3170
3200
|
Mn.create = function() {
|
|
3171
3201
|
var e = null, t = null, a = null, r = null, i = {};
|
|
3172
3202
|
return i.start = function(n, s) {
|
|
3173
3203
|
if (n !== null)
|
|
3174
3204
|
if (typeof n == "string")
|
|
3175
|
-
if (n = n.toLowerCase(), n in
|
|
3176
|
-
t =
|
|
3205
|
+
if (n = n.toLowerCase(), n in wt.md.algorithms)
|
|
3206
|
+
t = wt.md.algorithms[n].create();
|
|
3177
3207
|
else
|
|
3178
3208
|
throw new Error('Unknown hash algorithm "' + n + '"');
|
|
3179
3209
|
else
|
|
@@ -3182,21 +3212,21 @@ Mn.create = function() {
|
|
|
3182
3212
|
s = e;
|
|
3183
3213
|
else {
|
|
3184
3214
|
if (typeof s == "string")
|
|
3185
|
-
s =
|
|
3186
|
-
else if (
|
|
3215
|
+
s = wt.util.createBuffer(s);
|
|
3216
|
+
else if (wt.util.isArray(s)) {
|
|
3187
3217
|
var o = s;
|
|
3188
|
-
s =
|
|
3189
|
-
for (var
|
|
3190
|
-
s.putByte(o[
|
|
3218
|
+
s = wt.util.createBuffer();
|
|
3219
|
+
for (var l = 0; l < o.length; ++l)
|
|
3220
|
+
s.putByte(o[l]);
|
|
3191
3221
|
}
|
|
3192
|
-
var
|
|
3193
|
-
|
|
3194
|
-
for (var
|
|
3195
|
-
var o = s.at(
|
|
3222
|
+
var f = s.length();
|
|
3223
|
+
f > t.blockLength && (t.start(), t.update(s.bytes()), s = t.digest()), a = wt.util.createBuffer(), r = wt.util.createBuffer(), f = s.length();
|
|
3224
|
+
for (var l = 0; l < f; ++l) {
|
|
3225
|
+
var o = s.at(l);
|
|
3196
3226
|
a.putByte(54 ^ o), r.putByte(92 ^ o);
|
|
3197
3227
|
}
|
|
3198
|
-
if (
|
|
3199
|
-
for (var o = t.blockLength -
|
|
3228
|
+
if (f < t.blockLength)
|
|
3229
|
+
for (var o = t.blockLength - f, l = 0; l < o; ++l)
|
|
3200
3230
|
a.putByte(54), r.putByte(92);
|
|
3201
3231
|
e = s, a = a.bytes(), r = r.bytes();
|
|
3202
3232
|
}
|
|
@@ -3245,8 +3275,8 @@ Ai.create = function() {
|
|
|
3245
3275
|
i.putBytes(t.bytes());
|
|
3246
3276
|
var n = r.fullMessageLength[r.fullMessageLength.length - 1] + r.messageLengthSize, s = n & r.blockLength - 1;
|
|
3247
3277
|
i.putBytes(ha.substr(0, r.blockLength - s));
|
|
3248
|
-
for (var o,
|
|
3249
|
-
o = r.fullMessageLength[
|
|
3278
|
+
for (var o, l = 0, f = r.fullMessageLength.length - 1; f >= 0; --f)
|
|
3279
|
+
o = r.fullMessageLength[f] * 8 + l, l = o / 4294967296 >>> 0, i.putInt32Le(o >>> 0);
|
|
3250
3280
|
var u = {
|
|
3251
3281
|
h0: e.h0,
|
|
3252
3282
|
h1: e.h1,
|
|
@@ -3396,20 +3426,20 @@ function Hn() {
|
|
|
3396
3426
|
bi = !0;
|
|
3397
3427
|
}
|
|
3398
3428
|
function ja(e, t, a) {
|
|
3399
|
-
for (var r, i, n, s, o,
|
|
3429
|
+
for (var r, i, n, s, o, l, f, u, p = a.length(); p >= 64; ) {
|
|
3400
3430
|
for (i = e.h0, n = e.h1, s = e.h2, o = e.h3, u = 0; u < 16; ++u)
|
|
3401
|
-
t[u] = a.getInt32Le(),
|
|
3431
|
+
t[u] = a.getInt32Le(), l = o ^ n & (s ^ o), r = i + l + rr[u] + t[u], f = gr[u], i = o, o = s, s = n, n += r << f | r >>> 32 - f;
|
|
3402
3432
|
for (; u < 32; ++u)
|
|
3403
|
-
|
|
3433
|
+
l = s ^ o & (n ^ s), r = i + l + rr[u] + t[Nr[u]], f = gr[u], i = o, o = s, s = n, n += r << f | r >>> 32 - f;
|
|
3404
3434
|
for (; u < 48; ++u)
|
|
3405
|
-
|
|
3435
|
+
l = n ^ s ^ o, r = i + l + rr[u] + t[Nr[u]], f = gr[u], i = o, o = s, s = n, n += r << f | r >>> 32 - f;
|
|
3406
3436
|
for (; u < 64; ++u)
|
|
3407
|
-
|
|
3437
|
+
l = s ^ (n | ~o), r = i + l + rr[u] + t[Nr[u]], f = gr[u], i = o, o = s, s = n, n += r << f | r >>> 32 - f;
|
|
3408
3438
|
e.h0 = e.h0 + i | 0, e.h1 = e.h1 + n | 0, e.h2 = e.h2 + s | 0, e.h3 = e.h3 + o | 0, p -= 64;
|
|
3409
3439
|
}
|
|
3410
3440
|
}
|
|
3411
|
-
var Ur = ee,
|
|
3412
|
-
|
|
3441
|
+
var Ur = ee, wi = Ur.pem = Ur.pem || {};
|
|
3442
|
+
wi.encode = function(e, t) {
|
|
3413
3443
|
t = t || {};
|
|
3414
3444
|
var a = "-----BEGIN " + e.type + `-----\r
|
|
3415
3445
|
`, r;
|
|
@@ -3424,7 +3454,7 @@ _i.encode = function(e, t) {
|
|
|
3424
3454
|
`, a += "-----END " + e.type + `-----\r
|
|
3425
3455
|
`, a;
|
|
3426
3456
|
};
|
|
3427
|
-
|
|
3457
|
+
wi.decode = function(e) {
|
|
3428
3458
|
for (var t = [], a = /\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g, r = /([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/, i = /\r?\n/, n; n = a.exec(e), !!n; ) {
|
|
3429
3459
|
var s = n[1];
|
|
3430
3460
|
s === "NEW CERTIFICATE REQUEST" && (s = "CERTIFICATE REQUEST");
|
|
@@ -3437,12 +3467,12 @@ _i.decode = function(e) {
|
|
|
3437
3467
|
body: Ur.util.decode64(n[3])
|
|
3438
3468
|
};
|
|
3439
3469
|
if (t.push(o), !!n[2]) {
|
|
3440
|
-
for (var
|
|
3441
|
-
for (var u = f
|
|
3442
|
-
var m =
|
|
3470
|
+
for (var l = n[2].split(i), f = 0; n && f < l.length; ) {
|
|
3471
|
+
for (var u = l[f].replace(/\s+$/, ""), p = f + 1; p < l.length; ++p) {
|
|
3472
|
+
var m = l[p];
|
|
3443
3473
|
if (!/\s/.test(m[0]))
|
|
3444
3474
|
break;
|
|
3445
|
-
u += m,
|
|
3475
|
+
u += m, f = p;
|
|
3446
3476
|
}
|
|
3447
3477
|
if (n = u.match(r), n) {
|
|
3448
3478
|
for (var S = { name: n[1], values: [] }, C = n[2].split(","), A = 0; A < C.length; ++A)
|
|
@@ -3464,7 +3494,7 @@ _i.decode = function(e) {
|
|
|
3464
3494
|
o.procType = { version: C[0], type: C[1] };
|
|
3465
3495
|
}
|
|
3466
3496
|
}
|
|
3467
|
-
++
|
|
3497
|
+
++f;
|
|
3468
3498
|
}
|
|
3469
3499
|
if (o.procType === "ENCRYPTED" && !o.dekInfo)
|
|
3470
3500
|
throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".');
|
|
@@ -3475,8 +3505,8 @@ _i.decode = function(e) {
|
|
|
3475
3505
|
return t;
|
|
3476
3506
|
};
|
|
3477
3507
|
function Br(e) {
|
|
3478
|
-
for (var t = e.name + ": ", a = [], r = function(
|
|
3479
|
-
return " " +
|
|
3508
|
+
for (var t = e.name + ": ", a = [], r = function(l, f) {
|
|
3509
|
+
return " " + f;
|
|
3480
3510
|
}, i = 0; i < e.values.length; ++i)
|
|
3481
3511
|
a.push(e.values[i].replace(/^(\S+\r\n)/, r));
|
|
3482
3512
|
t += a.join(",") + `\r
|
|
@@ -3569,13 +3599,13 @@ function At(e, t) {
|
|
|
3569
3599
|
}
|
|
3570
3600
|
var qn = [16843776, 0, 65536, 16843780, 16842756, 66564, 4, 65536, 1024, 16843776, 16843780, 1024, 16778244, 16842756, 16777216, 4, 1028, 16778240, 16778240, 66560, 66560, 16842752, 16842752, 16778244, 65540, 16777220, 16777220, 65540, 0, 1028, 66564, 16777216, 65536, 16843780, 4, 16842752, 16843776, 16777216, 16777216, 1024, 16842756, 65536, 66560, 16777220, 1024, 4, 16778244, 66564, 16843780, 65540, 16842752, 16778244, 16777220, 1028, 66564, 16843776, 1028, 16778240, 16778240, 0, 65540, 66560, 0, 16842756], Qn = [-2146402272, -2147450880, 32768, 1081376, 1048576, 32, -2146435040, -2147450848, -2147483616, -2146402272, -2146402304, -2147483648, -2147450880, 1048576, 32, -2146435040, 1081344, 1048608, -2147450848, 0, -2147483648, 32768, 1081376, -2146435072, 1048608, -2147483616, 0, 1081344, 32800, -2146402304, -2146435072, 32800, 0, 1081376, -2146435040, 1048576, -2147450848, -2146435072, -2146402304, 32768, -2146435072, -2147450880, 32, -2146402272, 1081376, 32, 32768, -2147483648, 32800, -2146402304, 1048576, -2147483616, 1048608, -2147450848, -2147483616, 1048608, 1081344, 0, -2147450880, 32800, -2147483648, -2146435040, -2146402272, 1081344], zn = [520, 134349312, 0, 134348808, 134218240, 0, 131592, 134218240, 131080, 134217736, 134217736, 131072, 134349320, 131080, 134348800, 520, 134217728, 8, 134349312, 512, 131584, 134348800, 134348808, 131592, 134218248, 131584, 131072, 134218248, 8, 134349320, 512, 134217728, 134349312, 134217728, 131080, 520, 131072, 134349312, 134218240, 0, 512, 131080, 134349320, 134218240, 134217736, 512, 0, 134348808, 134218248, 131072, 134217728, 134349320, 8, 131592, 131584, 134217736, 134348800, 134218248, 520, 134348800, 131592, 8, 134348808, 131584], Yn = [8396801, 8321, 8321, 128, 8396928, 8388737, 8388609, 8193, 0, 8396800, 8396800, 8396929, 129, 0, 8388736, 8388609, 1, 8192, 8388608, 8396801, 128, 8388608, 8193, 8320, 8388737, 1, 8320, 8388736, 8192, 8396928, 8396929, 129, 8388736, 8388609, 8396800, 8396929, 129, 0, 0, 8396800, 8320, 8388736, 8388737, 1, 8396801, 8321, 8321, 128, 8396929, 129, 1, 8192, 8388609, 8193, 8396928, 8388737, 8193, 8320, 8388608, 8396801, 128, 8388608, 8192, 8396928], Xn = [256, 34078976, 34078720, 1107296512, 524288, 256, 1073741824, 34078720, 1074266368, 524288, 33554688, 1074266368, 1107296512, 1107820544, 524544, 1073741824, 33554432, 1074266112, 1074266112, 0, 1073742080, 1107820800, 1107820800, 33554688, 1107820544, 1073742080, 0, 1107296256, 34078976, 33554432, 1107296256, 524544, 524288, 1107296512, 256, 33554432, 1073741824, 34078720, 1107296512, 1074266368, 33554688, 1073741824, 1107820544, 34078976, 1074266368, 256, 33554432, 1107820544, 1107820800, 524544, 1107296256, 1107820800, 34078720, 0, 1074266112, 1107296256, 524544, 33554688, 1073742080, 524288, 0, 1074266112, 34078976, 1073742080], Wn = [536870928, 541065216, 16384, 541081616, 541065216, 16, 541081616, 4194304, 536887296, 4210704, 4194304, 536870928, 4194320, 536887296, 536870912, 16400, 0, 4194320, 536887312, 16384, 4210688, 536887312, 16, 541065232, 541065232, 0, 4210704, 541081600, 16400, 4210688, 541081600, 536870912, 536887296, 16, 541065232, 4210688, 541081616, 4194304, 16400, 536870928, 4194304, 536887296, 536870912, 16400, 536870928, 541081616, 4210688, 541065216, 4210704, 541081600, 0, 541065232, 16, 16384, 541065216, 4210704, 16384, 4194320, 536887312, 0, 541081600, 536870912, 4194320, 536887312], $n = [2097152, 69206018, 67110914, 0, 2048, 67110914, 2099202, 69208064, 69208066, 2097152, 0, 67108866, 2, 67108864, 69206018, 2050, 67110912, 2099202, 2097154, 67110912, 67108866, 69206016, 69208064, 2097154, 69206016, 2048, 2050, 69208066, 2099200, 2, 67108864, 2099200, 67108864, 2099200, 2097152, 67110914, 67110914, 69206018, 69206018, 2, 2097154, 67108864, 67110912, 2097152, 69208064, 2050, 2099202, 69208064, 2050, 67108866, 69208066, 69206016, 2099200, 0, 2, 69208066, 0, 2099202, 69206016, 2048, 67108866, 67110912, 2048, 2097154], jn = [268439616, 4096, 262144, 268701760, 268435456, 268439616, 64, 268435456, 262208, 268697600, 268701760, 266240, 268701696, 266304, 4096, 64, 268697600, 268435520, 268439552, 4160, 266240, 262208, 268697664, 268701696, 4160, 0, 0, 268697664, 268435520, 268439552, 266304, 262144, 266304, 262144, 268701696, 4096, 64, 268697664, 4096, 266304, 268439552, 64, 268435520, 268697600, 268697664, 268435456, 262144, 268439616, 0, 268701760, 262208, 268435520, 268697600, 268439552, 268439616, 0, 268701760, 266240, 266240, 4160, 4160, 262208, 268435456, 268701696];
|
|
3571
3601
|
function Zn(e) {
|
|
3572
|
-
for (var t = [0, 4, 536870912, 536870916, 65536, 65540, 536936448, 536936452, 512, 516, 536871424, 536871428, 66048, 66052, 536936960, 536936964], a = [0, 1, 1048576, 1048577, 67108864, 67108865, 68157440, 68157441, 256, 257, 1048832, 1048833, 67109120, 67109121, 68157696, 68157697], r = [0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272, 0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272], i = [0, 2097152, 134217728, 136314880, 8192, 2105344, 134225920, 136323072, 131072, 2228224, 134348800, 136445952, 139264, 2236416, 134356992, 136454144], n = [0, 262144, 16, 262160, 0, 262144, 16, 262160, 4096, 266240, 4112, 266256, 4096, 266240, 4112, 266256], s = [0, 1024, 32, 1056, 0, 1024, 32, 1056, 33554432, 33555456, 33554464, 33555488, 33554432, 33555456, 33554464, 33555488], o = [0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746, 0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746],
|
|
3602
|
+
for (var t = [0, 4, 536870912, 536870916, 65536, 65540, 536936448, 536936452, 512, 516, 536871424, 536871428, 66048, 66052, 536936960, 536936964], a = [0, 1, 1048576, 1048577, 67108864, 67108865, 68157440, 68157441, 256, 257, 1048832, 1048833, 67109120, 67109121, 68157696, 68157697], r = [0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272, 0, 8, 2048, 2056, 16777216, 16777224, 16779264, 16779272], i = [0, 2097152, 134217728, 136314880, 8192, 2105344, 134225920, 136323072, 131072, 2228224, 134348800, 136445952, 139264, 2236416, 134356992, 136454144], n = [0, 262144, 16, 262160, 0, 262144, 16, 262160, 4096, 266240, 4112, 266256, 4096, 266240, 4112, 266256], s = [0, 1024, 32, 1056, 0, 1024, 32, 1056, 33554432, 33555456, 33554464, 33555488, 33554432, 33555456, 33554464, 33555488], o = [0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746, 0, 268435456, 524288, 268959744, 2, 268435458, 524290, 268959746], l = [0, 65536, 2048, 67584, 536870912, 536936448, 536872960, 536938496, 131072, 196608, 133120, 198656, 537001984, 537067520, 537004032, 537069568], f = [0, 262144, 0, 262144, 2, 262146, 2, 262146, 33554432, 33816576, 33554432, 33816576, 33554434, 33816578, 33554434, 33816578], u = [0, 268435456, 8, 268435464, 0, 268435456, 8, 268435464, 1024, 268436480, 1032, 268436488, 1024, 268436480, 1032, 268436488], p = [0, 32, 0, 32, 1048576, 1048608, 1048576, 1048608, 8192, 8224, 8192, 8224, 1056768, 1056800, 1056768, 1056800], m = [0, 16777216, 512, 16777728, 2097152, 18874368, 2097664, 18874880, 67108864, 83886080, 67109376, 83886592, 69206016, 85983232, 69206528, 85983744], S = [0, 4096, 134217728, 134221824, 524288, 528384, 134742016, 134746112, 16, 4112, 134217744, 134221840, 524304, 528400, 134742032, 134746128], C = [0, 4, 256, 260, 0, 4, 256, 260, 1, 5, 257, 261, 1, 5, 257, 261], A = e.length() > 8 ? 3 : 1, b = [], _ = [0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0], U = 0, D, G = 0; G < A; G++) {
|
|
3573
3603
|
var O = e.getInt32(), F = e.getInt32();
|
|
3574
3604
|
D = (O >>> 4 ^ F) & 252645135, F ^= D, O ^= D << 4, D = (F >>> -16 ^ O) & 65535, O ^= D, F ^= D << -16, D = (O >>> 2 ^ F) & 858993459, F ^= D, O ^= D << 2, D = (F >>> -16 ^ O) & 65535, O ^= D, F ^= D << -16, D = (O >>> 1 ^ F) & 1431655765, F ^= D, O ^= D << 1, D = (F >>> 8 ^ O) & 16711935, O ^= D, F ^= D << 8, D = (O >>> 1 ^ F) & 1431655765, F ^= D, O ^= D << 1, D = O << 8 | F >>> 20 & 240, O = F << 24 | F << 8 & 16711680 | F >>> 8 & 65280 | F >>> 24 & 240, F = D;
|
|
3575
|
-
for (var $ = 0; $ <
|
|
3576
|
-
|
|
3577
|
-
var j = t[O >>> 28] | a[O >>> 24 & 15] | r[O >>> 20 & 15] | i[O >>> 16 & 15] | n[O >>> 12 & 15] | s[O >>> 8 & 15] | o[O >>> 4 & 15],
|
|
3578
|
-
D = (
|
|
3605
|
+
for (var $ = 0; $ < _.length; ++$) {
|
|
3606
|
+
_[$] ? (O = O << 2 | O >>> 26, F = F << 2 | F >>> 26) : (O = O << 1 | O >>> 27, F = F << 1 | F >>> 27), O &= -15, F &= -15;
|
|
3607
|
+
var j = t[O >>> 28] | a[O >>> 24 & 15] | r[O >>> 20 & 15] | i[O >>> 16 & 15] | n[O >>> 12 & 15] | s[O >>> 8 & 15] | o[O >>> 4 & 15], le = l[F >>> 28] | f[F >>> 24 & 15] | u[F >>> 20 & 15] | p[F >>> 16 & 15] | m[F >>> 12 & 15] | S[F >>> 8 & 15] | C[F >>> 4 & 15];
|
|
3608
|
+
D = (le >>> 16 ^ j) & 65535, b[U++] = j ^ D, b[U++] = le ^ D << 16;
|
|
3579
3609
|
}
|
|
3580
3610
|
}
|
|
3581
3611
|
return b;
|
|
@@ -3583,16 +3613,16 @@ function Zn(e) {
|
|
|
3583
3613
|
function Za(e, t, a, r) {
|
|
3584
3614
|
var i = e.length === 32 ? 3 : 9, n;
|
|
3585
3615
|
i === 3 ? n = r ? [30, -2, -2] : [0, 32, 2] : n = r ? [94, 62, -2, 32, 64, 2, 30, -2, -2] : [0, 32, 2, 62, 30, -2, 64, 96, 2];
|
|
3586
|
-
var s, o = t[0],
|
|
3587
|
-
s = (o >>> 4 ^
|
|
3588
|
-
for (var
|
|
3589
|
-
for (var u = n[
|
|
3590
|
-
var S =
|
|
3591
|
-
s = o, o =
|
|
3616
|
+
var s, o = t[0], l = t[1];
|
|
3617
|
+
s = (o >>> 4 ^ l) & 252645135, l ^= s, o ^= s << 4, s = (o >>> 16 ^ l) & 65535, l ^= s, o ^= s << 16, s = (l >>> 2 ^ o) & 858993459, o ^= s, l ^= s << 2, s = (l >>> 8 ^ o) & 16711935, o ^= s, l ^= s << 8, s = (o >>> 1 ^ l) & 1431655765, l ^= s, o ^= s << 1, o = o << 1 | o >>> 31, l = l << 1 | l >>> 31;
|
|
3618
|
+
for (var f = 0; f < i; f += 3) {
|
|
3619
|
+
for (var u = n[f + 1], p = n[f + 2], m = n[f]; m != u; m += p) {
|
|
3620
|
+
var S = l ^ e[m], C = (l >>> 4 | l << 28) ^ e[m + 1];
|
|
3621
|
+
s = o, o = l, l = s ^ (Qn[S >>> 24 & 63] | Yn[S >>> 16 & 63] | Wn[S >>> 8 & 63] | jn[S & 63] | qn[C >>> 24 & 63] | zn[C >>> 16 & 63] | Xn[C >>> 8 & 63] | $n[C & 63]);
|
|
3592
3622
|
}
|
|
3593
|
-
s = o, o =
|
|
3623
|
+
s = o, o = l, l = s;
|
|
3594
3624
|
}
|
|
3595
|
-
o = o >>> 1 | o << 31,
|
|
3625
|
+
o = o >>> 1 | o << 31, l = l >>> 1 | l << 31, s = (o >>> 1 ^ l) & 1431655765, l ^= s, o ^= s << 1, s = (l >>> 8 ^ o) & 16711935, o ^= s, l ^= s << 8, s = (l >>> 2 ^ o) & 858993459, o ^= s, l ^= s << 2, s = (o >>> 16 ^ l) & 65535, l ^= s, o ^= s << 16, s = (o >>> 4 ^ l) & 252645135, l ^= s, o ^= s << 4, a[0] = o, a[1] = l;
|
|
3596
3626
|
}
|
|
3597
3627
|
function Yr(e) {
|
|
3598
3628
|
e = e || {};
|
|
@@ -3609,14 +3639,14 @@ var Je = ee, ts = Je.pkcs5 = Je.pkcs5 || {}, bt;
|
|
|
3609
3639
|
Je.util.isNodejs && !Je.options.usePureJavaScript && (bt = Ua);
|
|
3610
3640
|
Je.pbkdf2 = ts.pbkdf2 = function(e, t, a, r, i, n) {
|
|
3611
3641
|
if (typeof i == "function" && (n = i, i = null), Je.util.isNodejs && !Je.options.usePureJavaScript && bt.pbkdf2 && (i === null || typeof i != "object") && (bt.pbkdf2Sync.length > 4 || !i || i === "sha1"))
|
|
3612
|
-
return typeof i != "string" && (i = "sha1"), e = pt.from(e, "binary"), t = pt.from(t, "binary"), n ? bt.pbkdf2Sync.length === 4 ? bt.pbkdf2(e, t, a, r, function(D,
|
|
3642
|
+
return typeof i != "string" && (i = "sha1"), e = pt.from(e, "binary"), t = pt.from(t, "binary"), n ? bt.pbkdf2Sync.length === 4 ? bt.pbkdf2(e, t, a, r, function(D, G) {
|
|
3613
3643
|
if (D)
|
|
3614
3644
|
return n(D);
|
|
3615
|
-
n(null,
|
|
3616
|
-
}) : bt.pbkdf2(e, t, a, r, i, function(D,
|
|
3645
|
+
n(null, G.toString("binary"));
|
|
3646
|
+
}) : bt.pbkdf2(e, t, a, r, i, function(D, G) {
|
|
3617
3647
|
if (D)
|
|
3618
3648
|
return n(D);
|
|
3619
|
-
n(null,
|
|
3649
|
+
n(null, G.toString("binary"));
|
|
3620
3650
|
}) : bt.pbkdf2Sync.length === 4 ? bt.pbkdf2Sync(e, t, a, r).toString("binary") : bt.pbkdf2Sync(e, t, a, r, i).toString("binary");
|
|
3621
3651
|
if ((typeof i > "u" || i === null) && (i = "sha1"), typeof i == "string") {
|
|
3622
3652
|
if (!(i in Je.md.algorithms))
|
|
@@ -3630,34 +3660,34 @@ Je.pbkdf2 = ts.pbkdf2 = function(e, t, a, r, i, n) {
|
|
|
3630
3660
|
return n(o);
|
|
3631
3661
|
throw o;
|
|
3632
3662
|
}
|
|
3633
|
-
var
|
|
3663
|
+
var l = Math.ceil(r / s), f = r - (l - 1) * s, u = Je.hmac.create();
|
|
3634
3664
|
u.start(i, e);
|
|
3635
3665
|
var p = "", m, S, C;
|
|
3636
3666
|
if (!n) {
|
|
3637
|
-
for (var A = 1; A <=
|
|
3667
|
+
for (var A = 1; A <= l; ++A) {
|
|
3638
3668
|
u.start(null, null), u.update(t), u.update(Je.util.int32ToBytes(A)), m = C = u.digest().getBytes();
|
|
3639
3669
|
for (var b = 2; b <= a; ++b)
|
|
3640
3670
|
u.start(null, null), u.update(C), S = u.digest().getBytes(), m = Je.util.xorBytes(m, S, s), C = S;
|
|
3641
|
-
p += A <
|
|
3671
|
+
p += A < l ? m : m.substr(0, f);
|
|
3642
3672
|
}
|
|
3643
3673
|
return p;
|
|
3644
3674
|
}
|
|
3645
3675
|
var A = 1, b;
|
|
3646
|
-
function
|
|
3647
|
-
if (A >
|
|
3676
|
+
function _() {
|
|
3677
|
+
if (A > l)
|
|
3648
3678
|
return n(null, p);
|
|
3649
3679
|
u.start(null, null), u.update(t), u.update(Je.util.int32ToBytes(A)), m = C = u.digest().getBytes(), b = 2, U();
|
|
3650
3680
|
}
|
|
3651
3681
|
function U() {
|
|
3652
3682
|
if (b <= a)
|
|
3653
3683
|
return u.start(null, null), u.update(C), S = u.digest().getBytes(), m = Je.util.xorBytes(m, S, s), C = S, ++b, Je.util.setImmediate(U);
|
|
3654
|
-
p += A <
|
|
3684
|
+
p += A < l ? m : m.substr(0, f), ++A, _();
|
|
3655
3685
|
}
|
|
3656
|
-
|
|
3686
|
+
_();
|
|
3657
3687
|
};
|
|
3658
|
-
var Tt = ee,
|
|
3659
|
-
Tt.md.sha256 = Tt.md.algorithms.sha256 =
|
|
3660
|
-
|
|
3688
|
+
var Tt = ee, _i = Tt.sha256 = Tt.sha256 || {};
|
|
3689
|
+
Tt.md.sha256 = Tt.md.algorithms.sha256 = _i;
|
|
3690
|
+
_i.create = function() {
|
|
3661
3691
|
Ni || rs();
|
|
3662
3692
|
var e = null, t = Tt.util.createBuffer(), a = new Array(64), r = {
|
|
3663
3693
|
algorithm: "sha256",
|
|
@@ -3696,9 +3726,9 @@ wi.create = function() {
|
|
|
3696
3726
|
i.putBytes(t.bytes());
|
|
3697
3727
|
var n = r.fullMessageLength[r.fullMessageLength.length - 1] + r.messageLengthSize, s = n & r.blockLength - 1;
|
|
3698
3728
|
i.putBytes(pa.substr(0, r.blockLength - s));
|
|
3699
|
-
for (var o,
|
|
3700
|
-
o = r.fullMessageLength[u + 1] * 8,
|
|
3701
|
-
i.putInt32(
|
|
3729
|
+
for (var o, l, f = r.fullMessageLength[0] * 8, u = 0; u < r.fullMessageLength.length - 1; ++u)
|
|
3730
|
+
o = r.fullMessageLength[u + 1] * 8, l = o / 4294967296 >>> 0, f += l, i.putInt32(f >>> 0), f = o >>> 0;
|
|
3731
|
+
i.putInt32(f);
|
|
3702
3732
|
var p = {
|
|
3703
3733
|
h0: e.h0,
|
|
3704
3734
|
h1: e.h1,
|
|
@@ -3784,14 +3814,14 @@ function rs() {
|
|
|
3784
3814
|
], Ni = !0;
|
|
3785
3815
|
}
|
|
3786
3816
|
function Ja(e, t, a) {
|
|
3787
|
-
for (var r, i, n, s, o,
|
|
3788
|
-
for (
|
|
3789
|
-
t[
|
|
3790
|
-
for (;
|
|
3791
|
-
r = t[
|
|
3792
|
-
for (u = e.h0, p = e.h1, m = e.h2, S = e.h3, C = e.h4, A = e.h5, b = e.h6,
|
|
3793
|
-
s = (C >>> 6 | C << 26) ^ (C >>> 11 | C << 21) ^ (C >>> 25 | C << 7), o = b ^ C & (A ^ b), n = (u >>> 2 | u << 30) ^ (u >>> 13 | u << 19) ^ (u >>> 22 | u << 10),
|
|
3794
|
-
e.h0 = e.h0 + u | 0, e.h1 = e.h1 + p | 0, e.h2 = e.h2 + m | 0, e.h3 = e.h3 + S | 0, e.h4 = e.h4 + C | 0, e.h5 = e.h5 + A | 0, e.h6 = e.h6 + b | 0, e.h7 = e.h7 +
|
|
3817
|
+
for (var r, i, n, s, o, l, f, u, p, m, S, C, A, b, _, U = a.length(); U >= 64; ) {
|
|
3818
|
+
for (f = 0; f < 16; ++f)
|
|
3819
|
+
t[f] = a.getInt32();
|
|
3820
|
+
for (; f < 64; ++f)
|
|
3821
|
+
r = t[f - 2], r = (r >>> 17 | r << 15) ^ (r >>> 19 | r << 13) ^ r >>> 10, i = t[f - 15], i = (i >>> 7 | i << 25) ^ (i >>> 18 | i << 14) ^ i >>> 3, t[f] = r + t[f - 7] + i + t[f - 16] | 0;
|
|
3822
|
+
for (u = e.h0, p = e.h1, m = e.h2, S = e.h3, C = e.h4, A = e.h5, b = e.h6, _ = e.h7, f = 0; f < 64; ++f)
|
|
3823
|
+
s = (C >>> 6 | C << 26) ^ (C >>> 11 | C << 21) ^ (C >>> 25 | C << 7), o = b ^ C & (A ^ b), n = (u >>> 2 | u << 30) ^ (u >>> 13 | u << 19) ^ (u >>> 22 | u << 10), l = u & p | m & (u ^ p), r = _ + s + o + Ri[f] + t[f], i = n + l, _ = b, b = A, A = C, C = S + r >>> 0, S = m, m = p, p = u, u = r + i >>> 0;
|
|
3824
|
+
e.h0 = e.h0 + u | 0, e.h1 = e.h1 + p | 0, e.h2 = e.h2 + m | 0, e.h3 = e.h3 + S | 0, e.h4 = e.h4 + C | 0, e.h5 = e.h5 + A | 0, e.h6 = e.h6 + b | 0, e.h7 = e.h7 + _ | 0, U -= 64;
|
|
3795
3825
|
}
|
|
3796
3826
|
}
|
|
3797
3827
|
var Ct = ee, Rr = null;
|
|
@@ -3811,16 +3841,16 @@ as.create = function(e) {
|
|
|
3811
3841
|
keyBytes: ""
|
|
3812
3842
|
}, a = e.md, r = new Array(32), i = 0; i < 32; ++i)
|
|
3813
3843
|
r[i] = a.create();
|
|
3814
|
-
t.pools = r, t.pool = 0, t.generate = function(
|
|
3844
|
+
t.pools = r, t.pool = 0, t.generate = function(f, u) {
|
|
3815
3845
|
if (!u)
|
|
3816
|
-
return t.generateSync(
|
|
3846
|
+
return t.generateSync(f);
|
|
3817
3847
|
var p = t.plugin.cipher, m = t.plugin.increment, S = t.plugin.formatKey, C = t.plugin.formatSeed, A = Ct.util.createBuffer();
|
|
3818
3848
|
t.key = null, b();
|
|
3819
|
-
function b(
|
|
3820
|
-
if (
|
|
3821
|
-
return u(
|
|
3822
|
-
if (A.length() >=
|
|
3823
|
-
return u(null, A.getBytes(
|
|
3849
|
+
function b(_) {
|
|
3850
|
+
if (_)
|
|
3851
|
+
return u(_);
|
|
3852
|
+
if (A.length() >= f)
|
|
3853
|
+
return u(null, A.getBytes(f));
|
|
3824
3854
|
if (t.generated > 1048575 && (t.key = null), t.key === null)
|
|
3825
3855
|
return Ct.util.nextTick(function() {
|
|
3826
3856
|
n(b);
|
|
@@ -3828,51 +3858,51 @@ as.create = function(e) {
|
|
|
3828
3858
|
var U = p(t.key, t.seed);
|
|
3829
3859
|
t.generated += U.length, A.putBytes(U), t.key = S(p(t.key, m(t.seed))), t.seed = C(p(t.key, t.seed)), Ct.util.setImmediate(b);
|
|
3830
3860
|
}
|
|
3831
|
-
}, t.generateSync = function(
|
|
3861
|
+
}, t.generateSync = function(f) {
|
|
3832
3862
|
var u = t.plugin.cipher, p = t.plugin.increment, m = t.plugin.formatKey, S = t.plugin.formatSeed;
|
|
3833
3863
|
t.key = null;
|
|
3834
|
-
for (var C = Ct.util.createBuffer(); C.length() <
|
|
3864
|
+
for (var C = Ct.util.createBuffer(); C.length() < f; ) {
|
|
3835
3865
|
t.generated > 1048575 && (t.key = null), t.key === null && s();
|
|
3836
3866
|
var A = u(t.key, t.seed);
|
|
3837
3867
|
t.generated += A.length, C.putBytes(A), t.key = m(u(t.key, p(t.seed))), t.seed = S(u(t.key, t.seed));
|
|
3838
3868
|
}
|
|
3839
|
-
return C.getBytes(
|
|
3869
|
+
return C.getBytes(f);
|
|
3840
3870
|
};
|
|
3841
|
-
function n(
|
|
3871
|
+
function n(f) {
|
|
3842
3872
|
if (t.pools[0].messageLength >= 32)
|
|
3843
|
-
return o(),
|
|
3873
|
+
return o(), f();
|
|
3844
3874
|
var u = 32 - t.pools[0].messageLength << 5;
|
|
3845
3875
|
t.seedFile(u, function(p, m) {
|
|
3846
3876
|
if (p)
|
|
3847
|
-
return
|
|
3848
|
-
t.collect(m), o(),
|
|
3877
|
+
return f(p);
|
|
3878
|
+
t.collect(m), o(), f();
|
|
3849
3879
|
});
|
|
3850
3880
|
}
|
|
3851
3881
|
function s() {
|
|
3852
3882
|
if (t.pools[0].messageLength >= 32)
|
|
3853
3883
|
return o();
|
|
3854
|
-
var
|
|
3855
|
-
t.collect(t.seedFileSync(
|
|
3884
|
+
var f = 32 - t.pools[0].messageLength << 5;
|
|
3885
|
+
t.collect(t.seedFileSync(f)), o();
|
|
3856
3886
|
}
|
|
3857
3887
|
function o() {
|
|
3858
3888
|
t.reseeds = t.reseeds === 4294967295 ? 0 : t.reseeds + 1;
|
|
3859
|
-
var
|
|
3860
|
-
|
|
3889
|
+
var f = t.plugin.md.create();
|
|
3890
|
+
f.update(t.keyBytes);
|
|
3861
3891
|
for (var u = 1, p = 0; p < 32; ++p)
|
|
3862
|
-
t.reseeds % u === 0 && (
|
|
3863
|
-
t.keyBytes =
|
|
3864
|
-
var m =
|
|
3892
|
+
t.reseeds % u === 0 && (f.update(t.pools[p].digest().getBytes()), t.pools[p].start()), u = u << 1;
|
|
3893
|
+
t.keyBytes = f.digest().getBytes(), f.start(), f.update(t.keyBytes);
|
|
3894
|
+
var m = f.digest().getBytes();
|
|
3865
3895
|
t.key = t.plugin.formatKey(t.keyBytes), t.seed = t.plugin.formatSeed(m), t.generated = 0;
|
|
3866
3896
|
}
|
|
3867
|
-
function f
|
|
3897
|
+
function l(f) {
|
|
3868
3898
|
var u = null, p = Ct.util.globalScope, m = p.crypto || p.msCrypto;
|
|
3869
3899
|
m && m.getRandomValues && (u = function(O) {
|
|
3870
3900
|
return m.getRandomValues(O);
|
|
3871
3901
|
});
|
|
3872
3902
|
var S = Ct.util.createBuffer();
|
|
3873
3903
|
if (u)
|
|
3874
|
-
for (; S.length() <
|
|
3875
|
-
var C = Math.max(1, Math.min(
|
|
3904
|
+
for (; S.length() < f; ) {
|
|
3905
|
+
var C = Math.max(1, Math.min(f - S.length(), 65536) / 4), A = new Uint32Array(Math.floor(C));
|
|
3876
3906
|
try {
|
|
3877
3907
|
u(A);
|
|
3878
3908
|
for (var b = 0; b < A.length; ++b)
|
|
@@ -3882,37 +3912,37 @@ as.create = function(e) {
|
|
|
3882
3912
|
throw O;
|
|
3883
3913
|
}
|
|
3884
3914
|
}
|
|
3885
|
-
if (S.length() <
|
|
3886
|
-
for (var
|
|
3887
|
-
U = 16807 * (
|
|
3915
|
+
if (S.length() < f)
|
|
3916
|
+
for (var _, U, D, G = Math.floor(Math.random() * 65536); S.length() < f; ) {
|
|
3917
|
+
U = 16807 * (G & 65535), _ = 16807 * (G >> 16), U += (_ & 32767) << 16, U += _ >> 15, U = (U & 2147483647) + (U >> 31), G = U & 4294967295;
|
|
3888
3918
|
for (var b = 0; b < 3; ++b)
|
|
3889
|
-
D =
|
|
3919
|
+
D = G >>> (b << 3), D ^= Math.floor(Math.random() * 256), S.putByte(D & 255);
|
|
3890
3920
|
}
|
|
3891
|
-
return S.getBytes(
|
|
3921
|
+
return S.getBytes(f);
|
|
3892
3922
|
}
|
|
3893
|
-
return Rr ? (t.seedFile = function(
|
|
3894
|
-
Rr.randomBytes(
|
|
3923
|
+
return Rr ? (t.seedFile = function(f, u) {
|
|
3924
|
+
Rr.randomBytes(f, function(p, m) {
|
|
3895
3925
|
if (p)
|
|
3896
3926
|
return u(p);
|
|
3897
3927
|
u(null, m.toString());
|
|
3898
3928
|
});
|
|
3899
|
-
}, t.seedFileSync = function(
|
|
3900
|
-
return Rr.randomBytes(
|
|
3901
|
-
}) : (t.seedFile = function(
|
|
3929
|
+
}, t.seedFileSync = function(f) {
|
|
3930
|
+
return Rr.randomBytes(f).toString();
|
|
3931
|
+
}) : (t.seedFile = function(f, u) {
|
|
3902
3932
|
try {
|
|
3903
|
-
u(null, f
|
|
3933
|
+
u(null, l(f));
|
|
3904
3934
|
} catch (p) {
|
|
3905
3935
|
u(p);
|
|
3906
3936
|
}
|
|
3907
|
-
}, t.seedFileSync =
|
|
3908
|
-
for (var u =
|
|
3909
|
-
t.pools[t.pool].update(
|
|
3910
|
-
}, t.collectInt = function(
|
|
3937
|
+
}, t.seedFileSync = l), t.collect = function(f) {
|
|
3938
|
+
for (var u = f.length, p = 0; p < u; ++p)
|
|
3939
|
+
t.pools[t.pool].update(f.substr(p, 1)), t.pool = t.pool === 31 ? 0 : t.pool + 1;
|
|
3940
|
+
}, t.collectInt = function(f, u) {
|
|
3911
3941
|
for (var p = "", m = 0; m < u; m += 8)
|
|
3912
|
-
p += String.fromCharCode(
|
|
3942
|
+
p += String.fromCharCode(f >> m & 255);
|
|
3913
3943
|
t.collect(p);
|
|
3914
|
-
}, t.registerWorker = function(
|
|
3915
|
-
if (
|
|
3944
|
+
}, t.registerWorker = function(f) {
|
|
3945
|
+
if (f === self)
|
|
3916
3946
|
t.seedFile = function(p, m) {
|
|
3917
3947
|
function S(C) {
|
|
3918
3948
|
var A = C.data;
|
|
@@ -3924,10 +3954,10 @@ as.create = function(e) {
|
|
|
3924
3954
|
var u = function(p) {
|
|
3925
3955
|
var m = p.data;
|
|
3926
3956
|
m.forge && m.forge.prng && t.seedFile(m.forge.prng.needed, function(S, C) {
|
|
3927
|
-
|
|
3957
|
+
f.postMessage({ forge: { prng: { err: S, bytes: C } } });
|
|
3928
3958
|
});
|
|
3929
3959
|
};
|
|
3930
|
-
|
|
3960
|
+
f.addEventListener("message", u);
|
|
3931
3961
|
}
|
|
3932
3962
|
}, t;
|
|
3933
3963
|
};
|
|
@@ -3958,18 +3988,18 @@ var qe = ee;
|
|
|
3958
3988
|
return p.generate(m);
|
|
3959
3989
|
}, p;
|
|
3960
3990
|
}
|
|
3961
|
-
var n = i(), s = null, o = qe.util.globalScope,
|
|
3962
|
-
if (
|
|
3963
|
-
return
|
|
3991
|
+
var n = i(), s = null, o = qe.util.globalScope, l = o.crypto || o.msCrypto;
|
|
3992
|
+
if (l && l.getRandomValues && (s = function(p) {
|
|
3993
|
+
return l.getRandomValues(p);
|
|
3964
3994
|
}), qe.options.usePureJavaScript || !qe.util.isNodejs && !s) {
|
|
3965
3995
|
if (n.collectInt(+/* @__PURE__ */ new Date(), 32), typeof navigator < "u") {
|
|
3966
|
-
var
|
|
3996
|
+
var f = "";
|
|
3967
3997
|
for (var u in navigator)
|
|
3968
3998
|
try {
|
|
3969
|
-
typeof navigator[u] == "string" && (
|
|
3999
|
+
typeof navigator[u] == "string" && (f += navigator[u]);
|
|
3970
4000
|
} catch {
|
|
3971
4001
|
}
|
|
3972
|
-
n.collect(
|
|
4002
|
+
n.collect(f), f = null;
|
|
3973
4003
|
}
|
|
3974
4004
|
e && (e().mousemove(function(p) {
|
|
3975
4005
|
n.collectInt(p.clientX, 16), n.collectInt(p.clientY, 16);
|
|
@@ -4258,34 +4288,34 @@ at.rc2.expandKey = function(e, t) {
|
|
|
4258
4288
|
return a;
|
|
4259
4289
|
};
|
|
4260
4290
|
var Li = function(e, t, a) {
|
|
4261
|
-
var r = !1, i = null, n = null, s = null, o,
|
|
4262
|
-
for (e = at.rc2.expandKey(e, t),
|
|
4291
|
+
var r = !1, i = null, n = null, s = null, o, l, f, u, p = [];
|
|
4292
|
+
for (e = at.rc2.expandKey(e, t), f = 0; f < 64; f++)
|
|
4263
4293
|
p.push(e.getInt16Le());
|
|
4264
4294
|
a ? (o = function(C) {
|
|
4265
|
-
for (
|
|
4266
|
-
C[
|
|
4267
|
-
},
|
|
4268
|
-
for (
|
|
4269
|
-
C[
|
|
4295
|
+
for (f = 0; f < 4; f++)
|
|
4296
|
+
C[f] += p[u] + (C[(f + 3) % 4] & C[(f + 2) % 4]) + (~C[(f + 3) % 4] & C[(f + 1) % 4]), C[f] = is(C[f], ei[f]), u++;
|
|
4297
|
+
}, l = function(C) {
|
|
4298
|
+
for (f = 0; f < 4; f++)
|
|
4299
|
+
C[f] += p[C[(f + 3) % 4] & 63];
|
|
4270
4300
|
}) : (o = function(C) {
|
|
4271
|
-
for (
|
|
4272
|
-
C[
|
|
4273
|
-
},
|
|
4274
|
-
for (
|
|
4275
|
-
C[
|
|
4301
|
+
for (f = 3; f >= 0; f--)
|
|
4302
|
+
C[f] = ns(C[f], ei[f]), C[f] -= p[u] + (C[(f + 3) % 4] & C[(f + 2) % 4]) + (~C[(f + 3) % 4] & C[(f + 1) % 4]), u--;
|
|
4303
|
+
}, l = function(C) {
|
|
4304
|
+
for (f = 3; f >= 0; f--)
|
|
4305
|
+
C[f] -= p[C[(f + 3) % 4] & 63];
|
|
4276
4306
|
});
|
|
4277
4307
|
var m = function(C) {
|
|
4278
4308
|
var A = [];
|
|
4279
|
-
for (
|
|
4309
|
+
for (f = 0; f < 4; f++) {
|
|
4280
4310
|
var b = i.getInt16Le();
|
|
4281
4311
|
s !== null && (a ? b ^= s.getInt16Le() : s.putInt16Le(b)), A.push(b & 65535);
|
|
4282
4312
|
}
|
|
4283
4313
|
u = a ? 0 : 63;
|
|
4284
|
-
for (var
|
|
4285
|
-
for (var U = 0; U < C[
|
|
4286
|
-
C[
|
|
4287
|
-
for (
|
|
4288
|
-
s !== null && (a ? s.putInt16Le(A[
|
|
4314
|
+
for (var _ = 0; _ < C.length; _++)
|
|
4315
|
+
for (var U = 0; U < C[_][0]; U++)
|
|
4316
|
+
C[_][1](A);
|
|
4317
|
+
for (f = 0; f < 4; f++)
|
|
4318
|
+
s !== null && (a ? s.putInt16Le(A[f]) : A[f] ^= s.getInt16Le()), n.putInt16Le(A[f]);
|
|
4289
4319
|
}, S = null;
|
|
4290
4320
|
return S = {
|
|
4291
4321
|
/**
|
|
@@ -4310,9 +4340,9 @@ var Li = function(e, t, a) {
|
|
|
4310
4340
|
for (r || i.putBuffer(C); i.length() >= 8; )
|
|
4311
4341
|
m([
|
|
4312
4342
|
[5, o],
|
|
4313
|
-
[1,
|
|
4343
|
+
[1, l],
|
|
4314
4344
|
[6, o],
|
|
4315
|
-
[1,
|
|
4345
|
+
[1, l],
|
|
4316
4346
|
[5, o]
|
|
4317
4347
|
]);
|
|
4318
4348
|
},
|
|
@@ -4337,8 +4367,8 @@ var Li = function(e, t, a) {
|
|
|
4337
4367
|
if (C)
|
|
4338
4368
|
A = C(8, n, !a);
|
|
4339
4369
|
else {
|
|
4340
|
-
var
|
|
4341
|
-
U >
|
|
4370
|
+
var _ = n.length(), U = n.at(_ - 1);
|
|
4371
|
+
U > _ ? A = !1 : n.truncate(U);
|
|
4342
4372
|
}
|
|
4343
4373
|
return A;
|
|
4344
4374
|
}
|
|
@@ -4360,12 +4390,12 @@ at.rc2.createDecryptionCipher = function(e, t) {
|
|
|
4360
4390
|
};
|
|
4361
4391
|
var da = ee;
|
|
4362
4392
|
da.jsbn = da.jsbn || {};
|
|
4363
|
-
var
|
|
4393
|
+
var _t;
|
|
4364
4394
|
function P(e, t, a) {
|
|
4365
4395
|
this.data = [], e != null && (typeof e == "number" ? this.fromNumber(e, t, a) : t == null && typeof e != "string" ? this.fromString(e, 256) : this.fromString(e, t));
|
|
4366
4396
|
}
|
|
4367
4397
|
da.jsbn.BigInteger = P;
|
|
4368
|
-
function
|
|
4398
|
+
function fe() {
|
|
4369
4399
|
return new P(null);
|
|
4370
4400
|
}
|
|
4371
4401
|
function ss(e, t, a, r, i, n) {
|
|
@@ -4377,33 +4407,33 @@ function ss(e, t, a, r, i, n) {
|
|
|
4377
4407
|
}
|
|
4378
4408
|
function os(e, t, a, r, i, n) {
|
|
4379
4409
|
for (var s = t & 32767, o = t >> 15; --n >= 0; ) {
|
|
4380
|
-
var
|
|
4381
|
-
|
|
4410
|
+
var l = this.data[e] & 32767, f = this.data[e++] >> 15, u = o * l + f * s;
|
|
4411
|
+
l = s * l + ((u & 32767) << 15) + a.data[r] + (i & 1073741823), i = (l >>> 30) + (u >>> 15) + o * f + (i >>> 30), a.data[r++] = l & 1073741823;
|
|
4382
4412
|
}
|
|
4383
4413
|
return i;
|
|
4384
4414
|
}
|
|
4385
4415
|
function ti(e, t, a, r, i, n) {
|
|
4386
4416
|
for (var s = t & 16383, o = t >> 14; --n >= 0; ) {
|
|
4387
|
-
var
|
|
4388
|
-
|
|
4417
|
+
var l = this.data[e] & 16383, f = this.data[e++] >> 14, u = o * l + f * s;
|
|
4418
|
+
l = s * l + ((u & 16383) << 14) + a.data[r] + i, i = (l >> 28) + (u >> 14) + o * f, a.data[r++] = l & 268435455;
|
|
4389
4419
|
}
|
|
4390
4420
|
return i;
|
|
4391
4421
|
}
|
|
4392
|
-
typeof navigator > "u" ? (P.prototype.am = ti,
|
|
4393
|
-
P.prototype.DB =
|
|
4394
|
-
P.prototype.DM = (1 <<
|
|
4395
|
-
P.prototype.DV = 1 <<
|
|
4422
|
+
typeof navigator > "u" ? (P.prototype.am = ti, _t = 28) : navigator.appName == "Microsoft Internet Explorer" ? (P.prototype.am = os, _t = 30) : navigator.appName != "Netscape" ? (P.prototype.am = ss, _t = 26) : (P.prototype.am = ti, _t = 28);
|
|
4423
|
+
P.prototype.DB = _t;
|
|
4424
|
+
P.prototype.DM = (1 << _t) - 1;
|
|
4425
|
+
P.prototype.DV = 1 << _t;
|
|
4396
4426
|
var Da = 52;
|
|
4397
4427
|
P.prototype.FV = Math.pow(2, Da);
|
|
4398
|
-
P.prototype.F1 = Da -
|
|
4399
|
-
P.prototype.F2 = 2 *
|
|
4400
|
-
var us = "0123456789abcdefghijklmnopqrstuvwxyz", Xr = new Array(),
|
|
4401
|
-
|
|
4402
|
-
for (
|
|
4403
|
-
|
|
4404
|
-
for (
|
|
4405
|
-
|
|
4406
|
-
for (
|
|
4428
|
+
P.prototype.F1 = Da - _t;
|
|
4429
|
+
P.prototype.F2 = 2 * _t - Da;
|
|
4430
|
+
var us = "0123456789abcdefghijklmnopqrstuvwxyz", Xr = new Array(), fr, ft;
|
|
4431
|
+
fr = 48;
|
|
4432
|
+
for (ft = 0; ft <= 9; ++ft) Xr[fr++] = ft;
|
|
4433
|
+
fr = 97;
|
|
4434
|
+
for (ft = 10; ft < 36; ++ft) Xr[fr++] = ft;
|
|
4435
|
+
fr = 65;
|
|
4436
|
+
for (ft = 10; ft < 36; ++ft) Xr[fr++] = ft;
|
|
4407
4437
|
function ri(e) {
|
|
4408
4438
|
return us.charAt(e);
|
|
4409
4439
|
}
|
|
@@ -4411,15 +4441,15 @@ function Ui(e, t) {
|
|
|
4411
4441
|
var a = Xr[e.charCodeAt(t)];
|
|
4412
4442
|
return a ?? -1;
|
|
4413
4443
|
}
|
|
4414
|
-
function
|
|
4444
|
+
function fs(e) {
|
|
4415
4445
|
for (var t = this.t - 1; t >= 0; --t) e.data[t] = this.data[t];
|
|
4416
4446
|
e.t = this.t, e.s = this.s;
|
|
4417
4447
|
}
|
|
4418
|
-
function
|
|
4448
|
+
function ls(e) {
|
|
4419
4449
|
this.t = 1, this.s = e < 0 ? -1 : 0, e > 0 ? this.data[0] = e : e < -1 ? this.data[0] = e + this.DV : this.t = 0;
|
|
4420
4450
|
}
|
|
4421
4451
|
function Ft(e) {
|
|
4422
|
-
var t =
|
|
4452
|
+
var t = fe();
|
|
4423
4453
|
return t.fromInt(e), t;
|
|
4424
4454
|
}
|
|
4425
4455
|
function cs(e, t) {
|
|
@@ -4464,7 +4494,7 @@ function ps(e) {
|
|
|
4464
4494
|
return i ? n : "0";
|
|
4465
4495
|
}
|
|
4466
4496
|
function ds() {
|
|
4467
|
-
var e =
|
|
4497
|
+
var e = fe();
|
|
4468
4498
|
return P.ZERO.subTo(this, e), e;
|
|
4469
4499
|
}
|
|
4470
4500
|
function ys() {
|
|
@@ -4551,24 +4581,24 @@ function Bs(e, t, a) {
|
|
|
4551
4581
|
t?.fromInt(0), a != null && this.copyTo(a);
|
|
4552
4582
|
return;
|
|
4553
4583
|
}
|
|
4554
|
-
a == null && (a =
|
|
4555
|
-
var n =
|
|
4556
|
-
|
|
4557
|
-
var
|
|
4584
|
+
a == null && (a = fe());
|
|
4585
|
+
var n = fe(), s = this.s, o = e.s, l = this.DB - Wr(r.data[r.t - 1]);
|
|
4586
|
+
l > 0 ? (r.lShiftTo(l, n), i.lShiftTo(l, a)) : (r.copyTo(n), i.copyTo(a));
|
|
4587
|
+
var f = n.t, u = n.data[f - 1];
|
|
4558
4588
|
if (u != 0) {
|
|
4559
|
-
var p = u * (1 << this.F1) + (
|
|
4560
|
-
for (n.dlShiftTo(b,
|
|
4589
|
+
var p = u * (1 << this.F1) + (f > 1 ? n.data[f - 2] >> this.F2 : 0), m = this.FV / p, S = (1 << this.F1) / p, C = 1 << this.F2, A = a.t, b = A - f, _ = t ?? fe();
|
|
4590
|
+
for (n.dlShiftTo(b, _), a.compareTo(_) >= 0 && (a.data[a.t++] = 1, a.subTo(_, a)), P.ONE.dlShiftTo(f, _), _.subTo(n, n); n.t < f; ) n.data[n.t++] = 0;
|
|
4561
4591
|
for (; --b >= 0; ) {
|
|
4562
4592
|
var U = a.data[--A] == u ? this.DM : Math.floor(a.data[A] * m + (a.data[A - 1] + C) * S);
|
|
4563
|
-
if ((a.data[A] += n.am(0, U, a, b, 0,
|
|
4564
|
-
for (n.dlShiftTo(b,
|
|
4593
|
+
if ((a.data[A] += n.am(0, U, a, b, 0, f)) < U)
|
|
4594
|
+
for (n.dlShiftTo(b, _), a.subTo(_, a); a.data[A] < --U; ) a.subTo(_, a);
|
|
4565
4595
|
}
|
|
4566
|
-
t != null && (a.drShiftTo(
|
|
4596
|
+
t != null && (a.drShiftTo(f, t), s != o && P.ZERO.subTo(t, t)), a.t = f, a.clamp(), l > 0 && a.rShiftTo(l, a), s < 0 && P.ZERO.subTo(a, a);
|
|
4567
4597
|
}
|
|
4568
4598
|
}
|
|
4569
4599
|
}
|
|
4570
4600
|
function As(e) {
|
|
4571
|
-
var t =
|
|
4601
|
+
var t = fe();
|
|
4572
4602
|
return this.abs().divRemTo(e, null, t), this.s < 0 && t.compareTo(P.ZERO) > 0 && e.subTo(t, t), t;
|
|
4573
4603
|
}
|
|
4574
4604
|
function $t(e) {
|
|
@@ -4577,10 +4607,10 @@ function $t(e) {
|
|
|
4577
4607
|
function bs(e) {
|
|
4578
4608
|
return e.s < 0 || e.compareTo(this.m) >= 0 ? e.mod(this.m) : e;
|
|
4579
4609
|
}
|
|
4580
|
-
function
|
|
4610
|
+
function ws(e) {
|
|
4581
4611
|
return e;
|
|
4582
4612
|
}
|
|
4583
|
-
function
|
|
4613
|
+
function _s(e) {
|
|
4584
4614
|
e.divRemTo(this.m, null, e);
|
|
4585
4615
|
}
|
|
4586
4616
|
function Ns(e, t, a) {
|
|
@@ -4590,8 +4620,8 @@ function Rs(e, t) {
|
|
|
4590
4620
|
e.squareTo(t), this.reduce(t);
|
|
4591
4621
|
}
|
|
4592
4622
|
$t.prototype.convert = bs;
|
|
4593
|
-
$t.prototype.revert =
|
|
4594
|
-
$t.prototype.reduce =
|
|
4623
|
+
$t.prototype.revert = ws;
|
|
4624
|
+
$t.prototype.reduce = _s;
|
|
4595
4625
|
$t.prototype.mulTo = Ns;
|
|
4596
4626
|
$t.prototype.sqrTo = Rs;
|
|
4597
4627
|
function Ls() {
|
|
@@ -4605,11 +4635,11 @@ function jt(e) {
|
|
|
4605
4635
|
this.m = e, this.mp = e.invDigit(), this.mpl = this.mp & 32767, this.mph = this.mp >> 15, this.um = (1 << e.DB - 15) - 1, this.mt2 = 2 * e.t;
|
|
4606
4636
|
}
|
|
4607
4637
|
function Us(e) {
|
|
4608
|
-
var t =
|
|
4638
|
+
var t = fe();
|
|
4609
4639
|
return e.abs().dlShiftTo(this.m.t, t), t.divRemTo(this.m, null, t), e.s < 0 && t.compareTo(P.ZERO) > 0 && this.m.subTo(t, t), t;
|
|
4610
4640
|
}
|
|
4611
4641
|
function Ds(e) {
|
|
4612
|
-
var t =
|
|
4642
|
+
var t = fe();
|
|
4613
4643
|
return e.copyTo(t), this.reduce(t), t;
|
|
4614
4644
|
}
|
|
4615
4645
|
function ks(e) {
|
|
@@ -4638,7 +4668,7 @@ function Fs() {
|
|
|
4638
4668
|
}
|
|
4639
4669
|
function Os(e, t) {
|
|
4640
4670
|
if (e > 4294967295 || e < 1) return P.ONE;
|
|
4641
|
-
var a =
|
|
4671
|
+
var a = fe(), r = fe(), i = t.convert(this), n = Wr(e) - 1;
|
|
4642
4672
|
for (i.copyTo(a); --n >= 0; )
|
|
4643
4673
|
if (t.sqrTo(a, r), (e & 1 << n) > 0) t.mulTo(r, i, a);
|
|
4644
4674
|
else {
|
|
@@ -4651,8 +4681,8 @@ function Ks(e, t) {
|
|
|
4651
4681
|
var a;
|
|
4652
4682
|
return e < 256 || t.isEven() ? a = new $t(t) : a = new jt(t), this.exp(e, a);
|
|
4653
4683
|
}
|
|
4654
|
-
P.prototype.copyTo =
|
|
4655
|
-
P.prototype.fromInt =
|
|
4684
|
+
P.prototype.copyTo = fs;
|
|
4685
|
+
P.prototype.fromInt = ls;
|
|
4656
4686
|
P.prototype.fromString = cs;
|
|
4657
4687
|
P.prototype.clamp = hs;
|
|
4658
4688
|
P.prototype.dlShiftTo = ms;
|
|
@@ -4676,7 +4706,7 @@ P.prototype.modPowInt = Ks;
|
|
|
4676
4706
|
P.ZERO = Ft(0);
|
|
4677
4707
|
P.ONE = Ft(1);
|
|
4678
4708
|
function Ms() {
|
|
4679
|
-
var e =
|
|
4709
|
+
var e = fe();
|
|
4680
4710
|
return this.copyTo(e), e;
|
|
4681
4711
|
}
|
|
4682
4712
|
function Hs() {
|
|
@@ -4703,7 +4733,7 @@ function zs() {
|
|
|
4703
4733
|
}
|
|
4704
4734
|
function Ys(e) {
|
|
4705
4735
|
if (e == null && (e = 10), this.signum() == 0 || e < 2 || e > 36) return "0";
|
|
4706
|
-
var t = this.chunkSize(e), a = Math.pow(e, t), r = Ft(a), i =
|
|
4736
|
+
var t = this.chunkSize(e), a = Math.pow(e, t), r = Ft(a), i = fe(), n = fe(), s = "";
|
|
4707
4737
|
for (this.divRemTo(r, i, n); i.signum() > 0; )
|
|
4708
4738
|
s = (a + n.intValue()).toString(e).substr(1) + s, i.divRemTo(r, i, n);
|
|
4709
4739
|
return n.intValue().toString(e) + s;
|
|
@@ -4711,12 +4741,12 @@ function Ys(e) {
|
|
|
4711
4741
|
function Xs(e, t) {
|
|
4712
4742
|
this.fromInt(0), t == null && (t = 10);
|
|
4713
4743
|
for (var a = this.chunkSize(t), r = Math.pow(t, a), i = !1, n = 0, s = 0, o = 0; o < e.length; ++o) {
|
|
4714
|
-
var
|
|
4715
|
-
if (
|
|
4744
|
+
var l = Ui(e, o);
|
|
4745
|
+
if (l < 0) {
|
|
4716
4746
|
e.charAt(o) == "-" && this.signum() == 0 && (i = !0);
|
|
4717
4747
|
continue;
|
|
4718
4748
|
}
|
|
4719
|
-
s = t * s +
|
|
4749
|
+
s = t * s + l, ++n >= a && (this.dMultiply(r), this.dAddOffset(s, 0), n = 0, s = 0);
|
|
4720
4750
|
}
|
|
4721
4751
|
n > 0 && (this.dMultiply(Math.pow(t, n)), this.dAddOffset(s, 0)), i && P.ZERO.subTo(this, this);
|
|
4722
4752
|
}
|
|
@@ -4765,50 +4795,50 @@ function to(e, t) {
|
|
|
4765
4795
|
return e & t;
|
|
4766
4796
|
}
|
|
4767
4797
|
function ro(e) {
|
|
4768
|
-
var t =
|
|
4798
|
+
var t = fe();
|
|
4769
4799
|
return this.bitwiseTo(e, to, t), t;
|
|
4770
4800
|
}
|
|
4771
4801
|
function ka(e, t) {
|
|
4772
4802
|
return e | t;
|
|
4773
4803
|
}
|
|
4774
4804
|
function ao(e) {
|
|
4775
|
-
var t =
|
|
4805
|
+
var t = fe();
|
|
4776
4806
|
return this.bitwiseTo(e, ka, t), t;
|
|
4777
4807
|
}
|
|
4778
4808
|
function Di(e, t) {
|
|
4779
4809
|
return e ^ t;
|
|
4780
4810
|
}
|
|
4781
4811
|
function io(e) {
|
|
4782
|
-
var t =
|
|
4812
|
+
var t = fe();
|
|
4783
4813
|
return this.bitwiseTo(e, Di, t), t;
|
|
4784
4814
|
}
|
|
4785
4815
|
function ki(e, t) {
|
|
4786
4816
|
return e & ~t;
|
|
4787
4817
|
}
|
|
4788
4818
|
function no(e) {
|
|
4789
|
-
var t =
|
|
4819
|
+
var t = fe();
|
|
4790
4820
|
return this.bitwiseTo(e, ki, t), t;
|
|
4791
4821
|
}
|
|
4792
4822
|
function so() {
|
|
4793
|
-
for (var e =
|
|
4823
|
+
for (var e = fe(), t = 0; t < this.t; ++t) e.data[t] = this.DM & ~this.data[t];
|
|
4794
4824
|
return e.t = this.t, e.s = ~this.s, e;
|
|
4795
4825
|
}
|
|
4796
4826
|
function oo(e) {
|
|
4797
|
-
var t =
|
|
4827
|
+
var t = fe();
|
|
4798
4828
|
return e < 0 ? this.rShiftTo(-e, t) : this.lShiftTo(e, t), t;
|
|
4799
4829
|
}
|
|
4800
4830
|
function uo(e) {
|
|
4801
|
-
var t =
|
|
4831
|
+
var t = fe();
|
|
4802
4832
|
return e < 0 ? this.lShiftTo(-e, t) : this.rShiftTo(e, t), t;
|
|
4803
4833
|
}
|
|
4804
|
-
function
|
|
4834
|
+
function fo(e) {
|
|
4805
4835
|
if (e == 0) return -1;
|
|
4806
4836
|
var t = 0;
|
|
4807
4837
|
return e & 65535 || (e >>= 16, t += 16), e & 255 || (e >>= 8, t += 8), e & 15 || (e >>= 4, t += 4), e & 3 || (e >>= 2, t += 2), e & 1 || ++t, t;
|
|
4808
4838
|
}
|
|
4809
|
-
function
|
|
4839
|
+
function lo() {
|
|
4810
4840
|
for (var e = 0; e < this.t; ++e)
|
|
4811
|
-
if (this.data[e] != 0) return e * this.DB +
|
|
4841
|
+
if (this.data[e] != 0) return e * this.DB + fo(this.data[e]);
|
|
4812
4842
|
return this.s < 0 ? this.t * this.DB : -1;
|
|
4813
4843
|
}
|
|
4814
4844
|
function co(e) {
|
|
@@ -4852,27 +4882,27 @@ function Co(e, t) {
|
|
|
4852
4882
|
t.s = r < 0 ? -1 : 0, r > 0 ? t.data[a++] = r : r < -1 && (t.data[a++] = this.DV + r), t.t = a, t.clamp();
|
|
4853
4883
|
}
|
|
4854
4884
|
function Eo(e) {
|
|
4855
|
-
var t =
|
|
4885
|
+
var t = fe();
|
|
4856
4886
|
return this.addTo(e, t), t;
|
|
4857
4887
|
}
|
|
4858
4888
|
function xo(e) {
|
|
4859
|
-
var t =
|
|
4889
|
+
var t = fe();
|
|
4860
4890
|
return this.subTo(e, t), t;
|
|
4861
4891
|
}
|
|
4862
4892
|
function So(e) {
|
|
4863
|
-
var t =
|
|
4893
|
+
var t = fe();
|
|
4864
4894
|
return this.multiplyTo(e, t), t;
|
|
4865
4895
|
}
|
|
4866
4896
|
function To(e) {
|
|
4867
|
-
var t =
|
|
4897
|
+
var t = fe();
|
|
4868
4898
|
return this.divRemTo(e, t, null), t;
|
|
4869
4899
|
}
|
|
4870
4900
|
function Io(e) {
|
|
4871
|
-
var t =
|
|
4901
|
+
var t = fe();
|
|
4872
4902
|
return this.divRemTo(e, null, t), t;
|
|
4873
4903
|
}
|
|
4874
4904
|
function Bo(e) {
|
|
4875
|
-
var t =
|
|
4905
|
+
var t = fe(), a = fe();
|
|
4876
4906
|
return this.divRemTo(e, t, a), new Array(t, a);
|
|
4877
4907
|
}
|
|
4878
4908
|
function Ao(e) {
|
|
@@ -4890,16 +4920,16 @@ function Sr() {
|
|
|
4890
4920
|
function Pi(e) {
|
|
4891
4921
|
return e;
|
|
4892
4922
|
}
|
|
4893
|
-
function
|
|
4923
|
+
function wo(e, t, a) {
|
|
4894
4924
|
e.multiplyTo(t, a);
|
|
4895
4925
|
}
|
|
4896
|
-
function
|
|
4926
|
+
function _o(e, t) {
|
|
4897
4927
|
e.squareTo(t);
|
|
4898
4928
|
}
|
|
4899
4929
|
Sr.prototype.convert = Pi;
|
|
4900
4930
|
Sr.prototype.revert = Pi;
|
|
4901
|
-
Sr.prototype.mulTo =
|
|
4902
|
-
Sr.prototype.sqrTo =
|
|
4931
|
+
Sr.prototype.mulTo = wo;
|
|
4932
|
+
Sr.prototype.sqrTo = _o;
|
|
4903
4933
|
function No(e) {
|
|
4904
4934
|
return this.exp(e, new Sr());
|
|
4905
4935
|
}
|
|
@@ -4919,13 +4949,13 @@ function Lo(e, t, a) {
|
|
|
4919
4949
|
a.data[this.t + r - t] = this.am(t - r, e.data[r], a, 0, 0, this.t + r - t);
|
|
4920
4950
|
a.clamp(), a.drShiftTo(1, a);
|
|
4921
4951
|
}
|
|
4922
|
-
function
|
|
4923
|
-
this.r2 =
|
|
4952
|
+
function lr(e) {
|
|
4953
|
+
this.r2 = fe(), this.q3 = fe(), P.ONE.dlShiftTo(2 * e.t, this.r2), this.mu = this.r2.divide(e), this.m = e;
|
|
4924
4954
|
}
|
|
4925
4955
|
function Uo(e) {
|
|
4926
4956
|
if (e.s < 0 || e.t > 2 * this.m.t) return e.mod(this.m);
|
|
4927
4957
|
if (e.compareTo(this.m) < 0) return e;
|
|
4928
|
-
var t =
|
|
4958
|
+
var t = fe();
|
|
4929
4959
|
return e.copyTo(t), this.reduce(t), t;
|
|
4930
4960
|
}
|
|
4931
4961
|
function Do(e) {
|
|
@@ -4941,24 +4971,24 @@ function Po(e, t) {
|
|
|
4941
4971
|
function Vo(e, t, a) {
|
|
4942
4972
|
e.multiplyTo(t, a), this.reduce(a);
|
|
4943
4973
|
}
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
4974
|
+
lr.prototype.convert = Uo;
|
|
4975
|
+
lr.prototype.revert = Do;
|
|
4976
|
+
lr.prototype.reduce = ko;
|
|
4977
|
+
lr.prototype.mulTo = Vo;
|
|
4978
|
+
lr.prototype.sqrTo = Po;
|
|
4949
4979
|
function Fo(e, t) {
|
|
4950
4980
|
var a = e.bitLength(), r, i = Ft(1), n;
|
|
4951
4981
|
if (a <= 0) return i;
|
|
4952
|
-
a < 18 ? r = 1 : a < 48 ? r = 3 : a < 144 ? r = 4 : a < 768 ? r = 5 : r = 6, a < 8 ? n = new $t(t) : t.isEven() ? n = new
|
|
4953
|
-
var s = new Array(), o = 3,
|
|
4982
|
+
a < 18 ? r = 1 : a < 48 ? r = 3 : a < 144 ? r = 4 : a < 768 ? r = 5 : r = 6, a < 8 ? n = new $t(t) : t.isEven() ? n = new lr(t) : n = new jt(t);
|
|
4983
|
+
var s = new Array(), o = 3, l = r - 1, f = (1 << r) - 1;
|
|
4954
4984
|
if (s[1] = n.convert(this), r > 1) {
|
|
4955
|
-
var u =
|
|
4956
|
-
for (n.sqrTo(s[1], u); o <=
|
|
4957
|
-
s[o] =
|
|
4985
|
+
var u = fe();
|
|
4986
|
+
for (n.sqrTo(s[1], u); o <= f; )
|
|
4987
|
+
s[o] = fe(), n.mulTo(u, s[o - 2], s[o]), o += 2;
|
|
4958
4988
|
}
|
|
4959
|
-
var p = e.t - 1, m, S = !0, C =
|
|
4989
|
+
var p = e.t - 1, m, S = !0, C = fe(), A;
|
|
4960
4990
|
for (a = Wr(e.data[p]) - 1; p >= 0; ) {
|
|
4961
|
-
for (a >=
|
|
4991
|
+
for (a >= l ? m = e.data[p] >> a - l & f : (m = (e.data[p] & (1 << a + 1) - 1) << l - a, p > 0 && (m |= e.data[p - 1] >> this.DB + a - l)), o = r; !(m & 1); )
|
|
4962
4992
|
m >>= 1, --o;
|
|
4963
4993
|
if ((a -= o) < 0 && (a += this.DB, --p), S)
|
|
4964
4994
|
s[m].copyTo(i), S = !1;
|
|
@@ -5032,7 +5062,7 @@ function qo(e) {
|
|
|
5032
5062
|
while (n.compareTo(P.ONE) <= 0 || n.compareTo(t) >= 0);
|
|
5033
5063
|
var o = n.modPow(r, this);
|
|
5034
5064
|
if (o.compareTo(P.ONE) != 0 && o.compareTo(t) != 0) {
|
|
5035
|
-
for (var
|
|
5065
|
+
for (var l = 1; l++ < a && o.compareTo(t) != 0; )
|
|
5036
5066
|
if (o = o.modPowInt(2, this), o.compareTo(P.ONE) == 0) return !1;
|
|
5037
5067
|
if (o.compareTo(t) != 0) return !1;
|
|
5038
5068
|
}
|
|
@@ -5077,7 +5107,7 @@ P.prototype.andNot = no;
|
|
|
5077
5107
|
P.prototype.not = so;
|
|
5078
5108
|
P.prototype.shiftLeft = oo;
|
|
5079
5109
|
P.prototype.shiftRight = uo;
|
|
5080
|
-
P.prototype.getLowestSetBit =
|
|
5110
|
+
P.prototype.getLowestSetBit = lo;
|
|
5081
5111
|
P.prototype.bitCount = ho;
|
|
5082
5112
|
P.prototype.testBit = po;
|
|
5083
5113
|
P.prototype.setBit = go;
|
|
@@ -5132,9 +5162,9 @@ Vi.create = function() {
|
|
|
5132
5162
|
i.putBytes(t.bytes());
|
|
5133
5163
|
var n = r.fullMessageLength[r.fullMessageLength.length - 1] + r.messageLengthSize, s = n & r.blockLength - 1;
|
|
5134
5164
|
i.putBytes(ya.substr(0, r.blockLength - s));
|
|
5135
|
-
for (var o,
|
|
5136
|
-
o = r.fullMessageLength[u + 1] * 8,
|
|
5137
|
-
i.putInt32(
|
|
5165
|
+
for (var o, l, f = r.fullMessageLength[0] * 8, u = 0; u < r.fullMessageLength.length - 1; ++u)
|
|
5166
|
+
o = r.fullMessageLength[u + 1] * 8, l = o / 4294967296 >>> 0, f += l, i.putInt32(f >>> 0), f = o >>> 0;
|
|
5167
|
+
i.putInt32(f);
|
|
5138
5168
|
var p = {
|
|
5139
5169
|
h0: e.h0,
|
|
5140
5170
|
h1: e.h1,
|
|
@@ -5152,42 +5182,42 @@ function zo() {
|
|
|
5152
5182
|
ya = "", ya += It.util.fillString("\0", 64), Fi = !0;
|
|
5153
5183
|
}
|
|
5154
5184
|
function ai(e, t, a) {
|
|
5155
|
-
for (var r, i, n, s, o,
|
|
5156
|
-
for (i = e.h0, n = e.h1, s = e.h2, o = e.h3,
|
|
5157
|
-
r = a.getInt32(), t[u] = r,
|
|
5185
|
+
for (var r, i, n, s, o, l, f, u, p = a.length(); p >= 64; ) {
|
|
5186
|
+
for (i = e.h0, n = e.h1, s = e.h2, o = e.h3, l = e.h4, u = 0; u < 16; ++u)
|
|
5187
|
+
r = a.getInt32(), t[u] = r, f = o ^ n & (s ^ o), r = (i << 5 | i >>> 27) + f + l + 1518500249 + r, l = o, o = s, s = (n << 30 | n >>> 2) >>> 0, n = i, i = r;
|
|
5158
5188
|
for (; u < 20; ++u)
|
|
5159
|
-
r = t[u - 3] ^ t[u - 8] ^ t[u - 14] ^ t[u - 16], r = r << 1 | r >>> 31, t[u] = r,
|
|
5189
|
+
r = t[u - 3] ^ t[u - 8] ^ t[u - 14] ^ t[u - 16], r = r << 1 | r >>> 31, t[u] = r, f = o ^ n & (s ^ o), r = (i << 5 | i >>> 27) + f + l + 1518500249 + r, l = o, o = s, s = (n << 30 | n >>> 2) >>> 0, n = i, i = r;
|
|
5160
5190
|
for (; u < 32; ++u)
|
|
5161
|
-
r = t[u - 3] ^ t[u - 8] ^ t[u - 14] ^ t[u - 16], r = r << 1 | r >>> 31, t[u] = r,
|
|
5191
|
+
r = t[u - 3] ^ t[u - 8] ^ t[u - 14] ^ t[u - 16], r = r << 1 | r >>> 31, t[u] = r, f = n ^ s ^ o, r = (i << 5 | i >>> 27) + f + l + 1859775393 + r, l = o, o = s, s = (n << 30 | n >>> 2) >>> 0, n = i, i = r;
|
|
5162
5192
|
for (; u < 40; ++u)
|
|
5163
|
-
r = t[u - 6] ^ t[u - 16] ^ t[u - 28] ^ t[u - 32], r = r << 2 | r >>> 30, t[u] = r,
|
|
5193
|
+
r = t[u - 6] ^ t[u - 16] ^ t[u - 28] ^ t[u - 32], r = r << 2 | r >>> 30, t[u] = r, f = n ^ s ^ o, r = (i << 5 | i >>> 27) + f + l + 1859775393 + r, l = o, o = s, s = (n << 30 | n >>> 2) >>> 0, n = i, i = r;
|
|
5164
5194
|
for (; u < 60; ++u)
|
|
5165
|
-
r = t[u - 6] ^ t[u - 16] ^ t[u - 28] ^ t[u - 32], r = r << 2 | r >>> 30, t[u] = r,
|
|
5195
|
+
r = t[u - 6] ^ t[u - 16] ^ t[u - 28] ^ t[u - 32], r = r << 2 | r >>> 30, t[u] = r, f = n & s | o & (n ^ s), r = (i << 5 | i >>> 27) + f + l + 2400959708 + r, l = o, o = s, s = (n << 30 | n >>> 2) >>> 0, n = i, i = r;
|
|
5166
5196
|
for (; u < 80; ++u)
|
|
5167
|
-
r = t[u - 6] ^ t[u - 16] ^ t[u - 28] ^ t[u - 32], r = r << 2 | r >>> 30, t[u] = r,
|
|
5168
|
-
e.h0 = e.h0 + i | 0, e.h1 = e.h1 + n | 0, e.h2 = e.h2 + s | 0, e.h3 = e.h3 + o | 0, e.h4 = e.h4 +
|
|
5197
|
+
r = t[u - 6] ^ t[u - 16] ^ t[u - 28] ^ t[u - 32], r = r << 2 | r >>> 30, t[u] = r, f = n ^ s ^ o, r = (i << 5 | i >>> 27) + f + l + 3395469782 + r, l = o, o = s, s = (n << 30 | n >>> 2) >>> 0, n = i, i = r;
|
|
5198
|
+
e.h0 = e.h0 + i | 0, e.h1 = e.h1 + n | 0, e.h2 = e.h2 + s | 0, e.h3 = e.h3 + o | 0, e.h4 = e.h4 + l | 0, p -= 64;
|
|
5169
5199
|
}
|
|
5170
5200
|
}
|
|
5171
5201
|
var Bt = ee, Oi = Bt.pkcs1 = Bt.pkcs1 || {};
|
|
5172
5202
|
Oi.encode_rsa_oaep = function(e, t, a) {
|
|
5173
5203
|
var r, i, n, s;
|
|
5174
5204
|
typeof a == "string" ? (r = a, i = arguments[3] || void 0, n = arguments[4] || void 0) : a && (r = a.label || void 0, i = a.seed || void 0, n = a.md || void 0, a.mgf1 && a.mgf1.md && (s = a.mgf1.md)), n ? n.start() : n = Bt.md.sha1.create(), s || (s = n);
|
|
5175
|
-
var o = Math.ceil(e.n.bitLength() / 8),
|
|
5176
|
-
if (t.length >
|
|
5177
|
-
var
|
|
5178
|
-
throw
|
|
5205
|
+
var o = Math.ceil(e.n.bitLength() / 8), l = o - 2 * n.digestLength - 2;
|
|
5206
|
+
if (t.length > l) {
|
|
5207
|
+
var f = new Error("RSAES-OAEP input message length is too long.");
|
|
5208
|
+
throw f.length = t.length, f.maxLength = l, f;
|
|
5179
5209
|
}
|
|
5180
5210
|
r || (r = ""), n.update(r, "raw");
|
|
5181
|
-
for (var u = n.digest(), p = "", m =
|
|
5211
|
+
for (var u = n.digest(), p = "", m = l - t.length, S = 0; S < m; S++)
|
|
5182
5212
|
p += "\0";
|
|
5183
5213
|
var C = u.getBytes() + p + "" + t;
|
|
5184
5214
|
if (!i)
|
|
5185
5215
|
i = Bt.random.getBytes(n.digestLength);
|
|
5186
5216
|
else if (i.length !== n.digestLength) {
|
|
5187
|
-
var
|
|
5188
|
-
throw
|
|
5217
|
+
var f = new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");
|
|
5218
|
+
throw f.seedLength = i.length, f.digestLength = n.digestLength, f;
|
|
5189
5219
|
}
|
|
5190
|
-
var A = Dr(i, o - n.digestLength - 1, s), b = Bt.util.xorBytes(C, A, C.length),
|
|
5220
|
+
var A = Dr(i, o - n.digestLength - 1, s), b = Bt.util.xorBytes(C, A, C.length), _ = Dr(b, n.digestLength, s), U = Bt.util.xorBytes(i, _, i.length);
|
|
5191
5221
|
return "\0" + U + b;
|
|
5192
5222
|
};
|
|
5193
5223
|
Oi.decode_rsa_oaep = function(e, t, a) {
|
|
@@ -5201,10 +5231,10 @@ Oi.decode_rsa_oaep = function(e, t, a) {
|
|
|
5201
5231
|
if (i === void 0 ? i = Bt.md.sha1.create() : i.start(), n || (n = i), s < 2 * i.digestLength + 2)
|
|
5202
5232
|
throw new Error("RSAES-OAEP key is too short for the hash function.");
|
|
5203
5233
|
r || (r = ""), i.update(r, "raw");
|
|
5204
|
-
for (var o = i.digest().getBytes(),
|
|
5205
|
-
b |= o.charAt(
|
|
5206
|
-
for (var U = 1, D = i.digestLength,
|
|
5207
|
-
var O = C.charCodeAt(
|
|
5234
|
+
for (var o = i.digest().getBytes(), l = t.charAt(0), f = t.substring(1, i.digestLength + 1), u = t.substring(1 + i.digestLength), p = Dr(u, i.digestLength, n), m = Bt.util.xorBytes(f, p, f.length), S = Dr(m, s - i.digestLength - 1, n), C = Bt.util.xorBytes(u, S, u.length), A = C.substring(0, i.digestLength), b = l !== "\0", _ = 0; _ < i.digestLength; ++_)
|
|
5235
|
+
b |= o.charAt(_) !== A.charAt(_);
|
|
5236
|
+
for (var U = 1, D = i.digestLength, G = i.digestLength; G < C.length; G++) {
|
|
5237
|
+
var O = C.charCodeAt(G), F = O & 1 ^ 1, $ = U ? 65534 : 0;
|
|
5208
5238
|
b |= O & $, U = U & F, D += U;
|
|
5209
5239
|
}
|
|
5210
5240
|
if (b || C.charCodeAt(D) !== 1)
|
|
@@ -5241,9 +5271,9 @@ var Ut = ee;
|
|
|
5241
5271
|
typeof C == "string" && (C = { name: C }), C.options = C.options || {};
|
|
5242
5272
|
var A = m.prng || Ut.random, b = {
|
|
5243
5273
|
// x is an array to fill with bytes
|
|
5244
|
-
nextBytes: function(
|
|
5245
|
-
for (var U = A.getBytesSync(
|
|
5246
|
-
|
|
5274
|
+
nextBytes: function(_) {
|
|
5275
|
+
for (var U = A.getBytesSync(_.length), D = 0; D < _.length; ++D)
|
|
5276
|
+
_[D] = U.charCodeAt(D);
|
|
5247
5277
|
}
|
|
5248
5278
|
};
|
|
5249
5279
|
if (C.name === "PRIMEINC")
|
|
@@ -5251,60 +5281,60 @@ var Ut = ee;
|
|
|
5251
5281
|
throw new Error("Invalid prime generation algorithm: " + C.name);
|
|
5252
5282
|
};
|
|
5253
5283
|
function n(p, m, S, C) {
|
|
5254
|
-
return "workers" in S ?
|
|
5284
|
+
return "workers" in S ? l(p, m, S, C) : s(p, m, S, C);
|
|
5255
5285
|
}
|
|
5256
5286
|
function s(p, m, S, C) {
|
|
5257
|
-
var A =
|
|
5258
|
-
"millerRabinTests" in S && (
|
|
5287
|
+
var A = f(p, m), b = 0, _ = u(A.bitLength());
|
|
5288
|
+
"millerRabinTests" in S && (_ = S.millerRabinTests);
|
|
5259
5289
|
var U = 10;
|
|
5260
|
-
"maxBlockTime" in S && (U = S.maxBlockTime), o(A, p, m, b,
|
|
5290
|
+
"maxBlockTime" in S && (U = S.maxBlockTime), o(A, p, m, b, _, U, C);
|
|
5261
5291
|
}
|
|
5262
|
-
function o(p, m, S, C, A, b,
|
|
5292
|
+
function o(p, m, S, C, A, b, _) {
|
|
5263
5293
|
var U = +/* @__PURE__ */ new Date();
|
|
5264
5294
|
do {
|
|
5265
|
-
if (p.bitLength() > m && (p =
|
|
5266
|
-
return
|
|
5295
|
+
if (p.bitLength() > m && (p = f(m, S)), p.isProbablePrime(A))
|
|
5296
|
+
return _(null, p);
|
|
5267
5297
|
p.dAddOffset(a[C++ % 8], 0);
|
|
5268
5298
|
} while (b < 0 || +/* @__PURE__ */ new Date() - U < b);
|
|
5269
5299
|
Ut.util.setImmediate(function() {
|
|
5270
|
-
o(p, m, S, C, A, b,
|
|
5300
|
+
o(p, m, S, C, A, b, _);
|
|
5271
5301
|
});
|
|
5272
5302
|
}
|
|
5273
|
-
function
|
|
5303
|
+
function l(p, m, S, C) {
|
|
5274
5304
|
if (typeof Worker > "u")
|
|
5275
5305
|
return s(p, m, S, C);
|
|
5276
|
-
var A =
|
|
5306
|
+
var A = f(p, m), b = S.workers, _ = S.workLoad || 100, U = _ * 30 / 8, D = S.workerScript || "forge/prime.worker.js";
|
|
5277
5307
|
if (b === -1)
|
|
5278
5308
|
return Ut.util.estimateCores(function(O, F) {
|
|
5279
|
-
O && (F = 2), b = F - 1,
|
|
5309
|
+
O && (F = 2), b = F - 1, G();
|
|
5280
5310
|
});
|
|
5281
|
-
|
|
5282
|
-
function
|
|
5311
|
+
G();
|
|
5312
|
+
function G() {
|
|
5283
5313
|
b = Math.max(1, b);
|
|
5284
5314
|
for (var O = [], F = 0; F < b; ++F)
|
|
5285
5315
|
O[F] = new Worker(D);
|
|
5286
5316
|
for (var F = 0; F < b; ++F)
|
|
5287
5317
|
O[F].addEventListener("message", j);
|
|
5288
5318
|
var $ = !1;
|
|
5289
|
-
function j(
|
|
5319
|
+
function j(le) {
|
|
5290
5320
|
if (!$) {
|
|
5291
|
-
var he =
|
|
5321
|
+
var he = le.data;
|
|
5292
5322
|
if (he.found) {
|
|
5293
5323
|
for (var de = 0; de < O.length; ++de)
|
|
5294
5324
|
O[de].terminate();
|
|
5295
5325
|
return $ = !0, C(null, new t(he.prime, 16));
|
|
5296
5326
|
}
|
|
5297
|
-
A.bitLength() > p && (A =
|
|
5327
|
+
A.bitLength() > p && (A = f(p, m));
|
|
5298
5328
|
var Ee = A.toString(16);
|
|
5299
|
-
|
|
5329
|
+
le.target.postMessage({
|
|
5300
5330
|
hex: Ee,
|
|
5301
|
-
workLoad:
|
|
5331
|
+
workLoad: _
|
|
5302
5332
|
}), A.dAddOffset(U, 0);
|
|
5303
5333
|
}
|
|
5304
5334
|
}
|
|
5305
5335
|
}
|
|
5306
5336
|
}
|
|
5307
|
-
function
|
|
5337
|
+
function f(p, m) {
|
|
5308
5338
|
var S = new t(p, m), C = p - 1;
|
|
5309
5339
|
return S.testBit(C) || S.bitwiseTo(t.ONE.shiftLeft(C), i, S), S.dAddOffset(31 - S.mod(r).byteValue(), 0), S;
|
|
5310
5340
|
}
|
|
@@ -5315,163 +5345,163 @@ var Ut = ee;
|
|
|
5315
5345
|
var Y = ee;
|
|
5316
5346
|
if (typeof ue > "u")
|
|
5317
5347
|
var ue = Y.jsbn.BigInteger;
|
|
5318
|
-
var ga = Y.util.isNodejs ? Ua : null,
|
|
5348
|
+
var ga = Y.util.isNodejs ? Ua : null, w = Y.asn1, lt = Y.util;
|
|
5319
5349
|
Y.pki = Y.pki || {};
|
|
5320
5350
|
Y.pki.rsa = Y.rsa = Y.rsa || {};
|
|
5321
5351
|
var Z = Y.pki, Yo = [6, 4, 2, 4, 2, 4, 6, 2], Xo = {
|
|
5322
5352
|
// PrivateKeyInfo
|
|
5323
5353
|
name: "PrivateKeyInfo",
|
|
5324
|
-
tagClass:
|
|
5325
|
-
type:
|
|
5354
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5355
|
+
type: w.Type.SEQUENCE,
|
|
5326
5356
|
constructed: !0,
|
|
5327
5357
|
value: [{
|
|
5328
5358
|
// Version (INTEGER)
|
|
5329
5359
|
name: "PrivateKeyInfo.version",
|
|
5330
|
-
tagClass:
|
|
5331
|
-
type:
|
|
5360
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5361
|
+
type: w.Type.INTEGER,
|
|
5332
5362
|
constructed: !1,
|
|
5333
5363
|
capture: "privateKeyVersion"
|
|
5334
5364
|
}, {
|
|
5335
5365
|
// privateKeyAlgorithm
|
|
5336
5366
|
name: "PrivateKeyInfo.privateKeyAlgorithm",
|
|
5337
|
-
tagClass:
|
|
5338
|
-
type:
|
|
5367
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5368
|
+
type: w.Type.SEQUENCE,
|
|
5339
5369
|
constructed: !0,
|
|
5340
5370
|
value: [{
|
|
5341
5371
|
name: "AlgorithmIdentifier.algorithm",
|
|
5342
|
-
tagClass:
|
|
5343
|
-
type:
|
|
5372
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5373
|
+
type: w.Type.OID,
|
|
5344
5374
|
constructed: !1,
|
|
5345
5375
|
capture: "privateKeyOid"
|
|
5346
5376
|
}]
|
|
5347
5377
|
}, {
|
|
5348
5378
|
// PrivateKey
|
|
5349
5379
|
name: "PrivateKeyInfo",
|
|
5350
|
-
tagClass:
|
|
5351
|
-
type:
|
|
5380
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5381
|
+
type: w.Type.OCTETSTRING,
|
|
5352
5382
|
constructed: !1,
|
|
5353
5383
|
capture: "privateKey"
|
|
5354
5384
|
}]
|
|
5355
5385
|
}, Wo = {
|
|
5356
5386
|
// RSAPrivateKey
|
|
5357
5387
|
name: "RSAPrivateKey",
|
|
5358
|
-
tagClass:
|
|
5359
|
-
type:
|
|
5388
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5389
|
+
type: w.Type.SEQUENCE,
|
|
5360
5390
|
constructed: !0,
|
|
5361
5391
|
value: [{
|
|
5362
5392
|
// Version (INTEGER)
|
|
5363
5393
|
name: "RSAPrivateKey.version",
|
|
5364
|
-
tagClass:
|
|
5365
|
-
type:
|
|
5394
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5395
|
+
type: w.Type.INTEGER,
|
|
5366
5396
|
constructed: !1,
|
|
5367
5397
|
capture: "privateKeyVersion"
|
|
5368
5398
|
}, {
|
|
5369
5399
|
// modulus (n)
|
|
5370
5400
|
name: "RSAPrivateKey.modulus",
|
|
5371
|
-
tagClass:
|
|
5372
|
-
type:
|
|
5401
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5402
|
+
type: w.Type.INTEGER,
|
|
5373
5403
|
constructed: !1,
|
|
5374
5404
|
capture: "privateKeyModulus"
|
|
5375
5405
|
}, {
|
|
5376
5406
|
// publicExponent (e)
|
|
5377
5407
|
name: "RSAPrivateKey.publicExponent",
|
|
5378
|
-
tagClass:
|
|
5379
|
-
type:
|
|
5408
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5409
|
+
type: w.Type.INTEGER,
|
|
5380
5410
|
constructed: !1,
|
|
5381
5411
|
capture: "privateKeyPublicExponent"
|
|
5382
5412
|
}, {
|
|
5383
5413
|
// privateExponent (d)
|
|
5384
5414
|
name: "RSAPrivateKey.privateExponent",
|
|
5385
|
-
tagClass:
|
|
5386
|
-
type:
|
|
5415
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5416
|
+
type: w.Type.INTEGER,
|
|
5387
5417
|
constructed: !1,
|
|
5388
5418
|
capture: "privateKeyPrivateExponent"
|
|
5389
5419
|
}, {
|
|
5390
5420
|
// prime1 (p)
|
|
5391
5421
|
name: "RSAPrivateKey.prime1",
|
|
5392
|
-
tagClass:
|
|
5393
|
-
type:
|
|
5422
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5423
|
+
type: w.Type.INTEGER,
|
|
5394
5424
|
constructed: !1,
|
|
5395
5425
|
capture: "privateKeyPrime1"
|
|
5396
5426
|
}, {
|
|
5397
5427
|
// prime2 (q)
|
|
5398
5428
|
name: "RSAPrivateKey.prime2",
|
|
5399
|
-
tagClass:
|
|
5400
|
-
type:
|
|
5429
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5430
|
+
type: w.Type.INTEGER,
|
|
5401
5431
|
constructed: !1,
|
|
5402
5432
|
capture: "privateKeyPrime2"
|
|
5403
5433
|
}, {
|
|
5404
5434
|
// exponent1 (d mod (p-1))
|
|
5405
5435
|
name: "RSAPrivateKey.exponent1",
|
|
5406
|
-
tagClass:
|
|
5407
|
-
type:
|
|
5436
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5437
|
+
type: w.Type.INTEGER,
|
|
5408
5438
|
constructed: !1,
|
|
5409
5439
|
capture: "privateKeyExponent1"
|
|
5410
5440
|
}, {
|
|
5411
5441
|
// exponent2 (d mod (q-1))
|
|
5412
5442
|
name: "RSAPrivateKey.exponent2",
|
|
5413
|
-
tagClass:
|
|
5414
|
-
type:
|
|
5443
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5444
|
+
type: w.Type.INTEGER,
|
|
5415
5445
|
constructed: !1,
|
|
5416
5446
|
capture: "privateKeyExponent2"
|
|
5417
5447
|
}, {
|
|
5418
5448
|
// coefficient ((inverse of q) mod p)
|
|
5419
5449
|
name: "RSAPrivateKey.coefficient",
|
|
5420
|
-
tagClass:
|
|
5421
|
-
type:
|
|
5450
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5451
|
+
type: w.Type.INTEGER,
|
|
5422
5452
|
constructed: !1,
|
|
5423
5453
|
capture: "privateKeyCoefficient"
|
|
5424
5454
|
}]
|
|
5425
5455
|
}, $o = {
|
|
5426
5456
|
// RSAPublicKey
|
|
5427
5457
|
name: "RSAPublicKey",
|
|
5428
|
-
tagClass:
|
|
5429
|
-
type:
|
|
5458
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5459
|
+
type: w.Type.SEQUENCE,
|
|
5430
5460
|
constructed: !0,
|
|
5431
5461
|
value: [{
|
|
5432
5462
|
// modulus (n)
|
|
5433
5463
|
name: "RSAPublicKey.modulus",
|
|
5434
|
-
tagClass:
|
|
5435
|
-
type:
|
|
5464
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5465
|
+
type: w.Type.INTEGER,
|
|
5436
5466
|
constructed: !1,
|
|
5437
5467
|
capture: "publicKeyModulus"
|
|
5438
5468
|
}, {
|
|
5439
5469
|
// publicExponent (e)
|
|
5440
5470
|
name: "RSAPublicKey.exponent",
|
|
5441
|
-
tagClass:
|
|
5442
|
-
type:
|
|
5471
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5472
|
+
type: w.Type.INTEGER,
|
|
5443
5473
|
constructed: !1,
|
|
5444
5474
|
capture: "publicKeyExponent"
|
|
5445
5475
|
}]
|
|
5446
5476
|
}, jo = Y.pki.rsa.publicKeyValidator = {
|
|
5447
5477
|
name: "SubjectPublicKeyInfo",
|
|
5448
|
-
tagClass:
|
|
5449
|
-
type:
|
|
5478
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5479
|
+
type: w.Type.SEQUENCE,
|
|
5450
5480
|
constructed: !0,
|
|
5451
5481
|
captureAsn1: "subjectPublicKeyInfo",
|
|
5452
5482
|
value: [{
|
|
5453
5483
|
name: "SubjectPublicKeyInfo.AlgorithmIdentifier",
|
|
5454
|
-
tagClass:
|
|
5455
|
-
type:
|
|
5484
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5485
|
+
type: w.Type.SEQUENCE,
|
|
5456
5486
|
constructed: !0,
|
|
5457
5487
|
value: [{
|
|
5458
5488
|
name: "AlgorithmIdentifier.algorithm",
|
|
5459
|
-
tagClass:
|
|
5460
|
-
type:
|
|
5489
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5490
|
+
type: w.Type.OID,
|
|
5461
5491
|
constructed: !1,
|
|
5462
5492
|
capture: "publicKeyOid"
|
|
5463
5493
|
}]
|
|
5464
5494
|
}, {
|
|
5465
5495
|
// subjectPublicKey
|
|
5466
5496
|
name: "SubjectPublicKeyInfo.subjectPublicKey",
|
|
5467
|
-
tagClass:
|
|
5468
|
-
type:
|
|
5497
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5498
|
+
type: w.Type.BITSTRING,
|
|
5469
5499
|
constructed: !1,
|
|
5470
5500
|
value: [{
|
|
5471
5501
|
// RSAPublicKey
|
|
5472
5502
|
name: "SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",
|
|
5473
|
-
tagClass:
|
|
5474
|
-
type:
|
|
5503
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5504
|
+
type: w.Type.SEQUENCE,
|
|
5475
5505
|
constructed: !0,
|
|
5476
5506
|
optional: !0,
|
|
5477
5507
|
captureAsn1: "rsaPublicKey"
|
|
@@ -5479,25 +5509,25 @@ var Z = Y.pki, Yo = [6, 4, 2, 4, 2, 4, 6, 2], Xo = {
|
|
|
5479
5509
|
}]
|
|
5480
5510
|
}, Zo = {
|
|
5481
5511
|
name: "DigestInfo",
|
|
5482
|
-
tagClass:
|
|
5483
|
-
type:
|
|
5512
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5513
|
+
type: w.Type.SEQUENCE,
|
|
5484
5514
|
constructed: !0,
|
|
5485
5515
|
value: [{
|
|
5486
5516
|
name: "DigestInfo.DigestAlgorithm",
|
|
5487
|
-
tagClass:
|
|
5488
|
-
type:
|
|
5517
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5518
|
+
type: w.Type.SEQUENCE,
|
|
5489
5519
|
constructed: !0,
|
|
5490
5520
|
value: [{
|
|
5491
5521
|
name: "DigestInfo.DigestAlgorithm.algorithmIdentifier",
|
|
5492
|
-
tagClass:
|
|
5493
|
-
type:
|
|
5522
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5523
|
+
type: w.Type.OID,
|
|
5494
5524
|
constructed: !1,
|
|
5495
5525
|
capture: "algorithmIdentifier"
|
|
5496
5526
|
}, {
|
|
5497
|
-
// NULL
|
|
5527
|
+
// NULL parameters
|
|
5498
5528
|
name: "DigestInfo.DigestAlgorithm.parameters",
|
|
5499
|
-
tagClass:
|
|
5500
|
-
type:
|
|
5529
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5530
|
+
type: w.Type.NULL,
|
|
5501
5531
|
// captured only to check existence for md2 and md5
|
|
5502
5532
|
capture: "parameters",
|
|
5503
5533
|
optional: !0,
|
|
@@ -5506,8 +5536,8 @@ var Z = Y.pki, Yo = [6, 4, 2, 4, 2, 4, 6, 2], Xo = {
|
|
|
5506
5536
|
}, {
|
|
5507
5537
|
// digest
|
|
5508
5538
|
name: "DigestInfo.digest",
|
|
5509
|
-
tagClass:
|
|
5510
|
-
type:
|
|
5539
|
+
tagClass: w.Class.UNIVERSAL,
|
|
5540
|
+
type: w.Type.OCTETSTRING,
|
|
5511
5541
|
constructed: !1,
|
|
5512
5542
|
capture: "digest"
|
|
5513
5543
|
}]
|
|
@@ -5519,35 +5549,35 @@ var Z = Y.pki, Yo = [6, 4, 2, 4, 2, 4, 6, 2], Xo = {
|
|
|
5519
5549
|
var a = new Error("Unknown message digest algorithm.");
|
|
5520
5550
|
throw a.algorithm = e.algorithm, a;
|
|
5521
5551
|
}
|
|
5522
|
-
var r =
|
|
5523
|
-
|
|
5524
|
-
|
|
5552
|
+
var r = w.oidToDer(t).getBytes(), i = w.create(
|
|
5553
|
+
w.Class.UNIVERSAL,
|
|
5554
|
+
w.Type.SEQUENCE,
|
|
5525
5555
|
!0,
|
|
5526
5556
|
[]
|
|
5527
|
-
), n =
|
|
5528
|
-
|
|
5529
|
-
|
|
5557
|
+
), n = w.create(
|
|
5558
|
+
w.Class.UNIVERSAL,
|
|
5559
|
+
w.Type.SEQUENCE,
|
|
5530
5560
|
!0,
|
|
5531
5561
|
[]
|
|
5532
5562
|
);
|
|
5533
|
-
n.value.push(
|
|
5534
|
-
|
|
5535
|
-
|
|
5563
|
+
n.value.push(w.create(
|
|
5564
|
+
w.Class.UNIVERSAL,
|
|
5565
|
+
w.Type.OID,
|
|
5536
5566
|
!1,
|
|
5537
5567
|
r
|
|
5538
|
-
)), n.value.push(
|
|
5539
|
-
|
|
5540
|
-
|
|
5568
|
+
)), n.value.push(w.create(
|
|
5569
|
+
w.Class.UNIVERSAL,
|
|
5570
|
+
w.Type.NULL,
|
|
5541
5571
|
!1,
|
|
5542
5572
|
""
|
|
5543
5573
|
));
|
|
5544
|
-
var s =
|
|
5545
|
-
|
|
5546
|
-
|
|
5574
|
+
var s = w.create(
|
|
5575
|
+
w.Class.UNIVERSAL,
|
|
5576
|
+
w.Type.OCTETSTRING,
|
|
5547
5577
|
!1,
|
|
5548
5578
|
e.digest().getBytes()
|
|
5549
5579
|
);
|
|
5550
|
-
return i.value.push(n), i.value.push(s),
|
|
5580
|
+
return i.value.push(n), i.value.push(s), w.toDer(i).getBytes();
|
|
5551
5581
|
}, Ki = function(e, t, a) {
|
|
5552
5582
|
if (a)
|
|
5553
5583
|
return e.modPow(t.e, t.n);
|
|
@@ -5570,9 +5600,9 @@ var Z = Y.pki, Yo = [6, 4, 2, 4, 2, 4, 6, 2], Xo = {
|
|
|
5570
5600
|
Z.rsa.encrypt = function(e, t, a) {
|
|
5571
5601
|
var r = a, i, n = Math.ceil(t.n.bitLength() / 8);
|
|
5572
5602
|
a !== !1 && a !== !0 ? (r = a === 2, i = Mi(e, t, a)) : (i = Y.util.createBuffer(), i.putBytes(e));
|
|
5573
|
-
for (var s = new ue(i.toHex(), 16), o = Ki(s, t, r),
|
|
5574
|
-
|
|
5575
|
-
return
|
|
5603
|
+
for (var s = new ue(i.toHex(), 16), o = Ki(s, t, r), l = o.toString(16), f = Y.util.createBuffer(), u = n - Math.ceil(l.length / 2); u > 0; )
|
|
5604
|
+
f.putByte(0), --u;
|
|
5605
|
+
return f.putBytes(Y.util.hexToBytes(l)), f.getBytes();
|
|
5576
5606
|
};
|
|
5577
5607
|
Z.rsa.decrypt = function(e, t, a, r) {
|
|
5578
5608
|
var i = Math.ceil(t.n.bitLength() / 8);
|
|
@@ -5583,17 +5613,17 @@ Z.rsa.decrypt = function(e, t, a, r) {
|
|
|
5583
5613
|
var s = new ue(Y.util.createBuffer(e).toHex(), 16);
|
|
5584
5614
|
if (s.compareTo(t.n) >= 0)
|
|
5585
5615
|
throw new Error("Encrypted message is invalid.");
|
|
5586
|
-
for (var o = Ki(s, t, a),
|
|
5587
|
-
|
|
5588
|
-
return
|
|
5616
|
+
for (var o = Ki(s, t, a), l = o.toString(16), f = Y.util.createBuffer(), u = i - Math.ceil(l.length / 2); u > 0; )
|
|
5617
|
+
f.putByte(0), --u;
|
|
5618
|
+
return f.putBytes(Y.util.hexToBytes(l)), r !== !1 ? kr(f.getBytes(), t, a) : f.getBytes();
|
|
5589
5619
|
};
|
|
5590
5620
|
Z.rsa.createKeyPairGenerationState = function(e, t, a) {
|
|
5591
5621
|
typeof e == "string" && (e = parseInt(e, 10)), e = e || 2048, a = a || {};
|
|
5592
5622
|
var r = a.prng || Y.random, i = {
|
|
5593
5623
|
// x is an array to fill with bytes
|
|
5594
5624
|
nextBytes: function(o) {
|
|
5595
|
-
for (var
|
|
5596
|
-
o[
|
|
5625
|
+
for (var l = r.getBytesSync(o.length), f = 0; f < o.length; ++f)
|
|
5626
|
+
o[f] = l.charCodeAt(f);
|
|
5597
5627
|
}
|
|
5598
5628
|
}, n = a.algorithm || "PRIMEINC", s;
|
|
5599
5629
|
if (n === "PRIMEINC")
|
|
@@ -5624,12 +5654,12 @@ Z.rsa.stepKeyPairGenerationState = function(e, t) {
|
|
|
5624
5654
|
return p | m;
|
|
5625
5655
|
}, n = +/* @__PURE__ */ new Date(), s, o = 0; e.keys === null && (t <= 0 || o < t); ) {
|
|
5626
5656
|
if (e.state === 0) {
|
|
5627
|
-
var
|
|
5628
|
-
e.pqState === 0 ? (e.num = new ue(
|
|
5629
|
-
ue.ONE.shiftLeft(
|
|
5657
|
+
var l = e.p === null ? e.pBits : e.qBits, f = l - 1;
|
|
5658
|
+
e.pqState === 0 ? (e.num = new ue(l, e.rng), e.num.testBit(f) || e.num.bitwiseTo(
|
|
5659
|
+
ue.ONE.shiftLeft(f),
|
|
5630
5660
|
i,
|
|
5631
5661
|
e.num
|
|
5632
|
-
), e.num.dAddOffset(31 - e.num.mod(a).byteValue(), 0), r = 0, ++e.pqState) : e.pqState === 1 ? e.num.bitLength() >
|
|
5662
|
+
), e.num.dAddOffset(31 - e.num.mod(a).byteValue(), 0), r = 0, ++e.pqState) : e.pqState === 1 ? e.num.bitLength() > l ? e.pqState = 0 : e.num.isProbablePrime(
|
|
5633
5663
|
t0(e.num.bitLength())
|
|
5634
5664
|
) ? ++e.pqState : e.num.dAddOffset(Yo[r++ % 8], 0) : e.pqState === 2 ? e.pqState = e.num.subtract(ue.ONE).gcd(e.e).compareTo(ue.ONE) === 0 ? 3 : 0 : e.pqState === 3 && (e.pqState = 0, e.p === null ? e.p = e.num : e.q = e.num, e.p !== null && e.q !== null && ++e.state, e.num = null);
|
|
5635
5665
|
} else if (e.state === 1)
|
|
@@ -5675,22 +5705,22 @@ Z.rsa.generateKeyPair = function(e, t, a, r) {
|
|
|
5675
5705
|
type: "pkcs8",
|
|
5676
5706
|
format: "pem"
|
|
5677
5707
|
}
|
|
5678
|
-
}, function(o,
|
|
5708
|
+
}, function(o, l, f) {
|
|
5679
5709
|
if (o)
|
|
5680
5710
|
return r(o);
|
|
5681
5711
|
r(null, {
|
|
5682
|
-
privateKey: Z.privateKeyFromPem(
|
|
5683
|
-
publicKey: Z.publicKeyFromPem(
|
|
5712
|
+
privateKey: Z.privateKeyFromPem(f),
|
|
5713
|
+
publicKey: Z.publicKeyFromPem(l)
|
|
5684
5714
|
});
|
|
5685
5715
|
});
|
|
5686
5716
|
if (ni("generateKey") && ni("exportKey"))
|
|
5687
|
-
return
|
|
5717
|
+
return lt.globalScope.crypto.subtle.generateKey({
|
|
5688
5718
|
name: "RSASSA-PKCS1-v1_5",
|
|
5689
5719
|
modulusLength: e,
|
|
5690
5720
|
publicExponent: oi(t),
|
|
5691
5721
|
hash: { name: "SHA-256" }
|
|
5692
5722
|
}, !0, ["sign", "verify"]).then(function(o) {
|
|
5693
|
-
return
|
|
5723
|
+
return lt.globalScope.crypto.subtle.exportKey(
|
|
5694
5724
|
"pkcs8",
|
|
5695
5725
|
o.privateKey
|
|
5696
5726
|
);
|
|
@@ -5698,36 +5728,36 @@ Z.rsa.generateKeyPair = function(e, t, a, r) {
|
|
|
5698
5728
|
r(o);
|
|
5699
5729
|
}).then(function(o) {
|
|
5700
5730
|
if (o) {
|
|
5701
|
-
var
|
|
5702
|
-
|
|
5731
|
+
var l = Z.privateKeyFromAsn1(
|
|
5732
|
+
w.fromDer(Y.util.createBuffer(o))
|
|
5703
5733
|
);
|
|
5704
5734
|
r(null, {
|
|
5705
|
-
privateKey:
|
|
5706
|
-
publicKey: Z.setRsaPublicKey(
|
|
5735
|
+
privateKey: l,
|
|
5736
|
+
publicKey: Z.setRsaPublicKey(l.n, l.e)
|
|
5707
5737
|
});
|
|
5708
5738
|
}
|
|
5709
5739
|
});
|
|
5710
5740
|
if (si("generateKey") && si("exportKey")) {
|
|
5711
|
-
var i =
|
|
5741
|
+
var i = lt.globalScope.msCrypto.subtle.generateKey({
|
|
5712
5742
|
name: "RSASSA-PKCS1-v1_5",
|
|
5713
5743
|
modulusLength: e,
|
|
5714
5744
|
publicExponent: oi(t),
|
|
5715
5745
|
hash: { name: "SHA-256" }
|
|
5716
5746
|
}, !0, ["sign", "verify"]);
|
|
5717
5747
|
i.oncomplete = function(o) {
|
|
5718
|
-
var
|
|
5748
|
+
var l = o.target.result, f = lt.globalScope.msCrypto.subtle.exportKey(
|
|
5719
5749
|
"pkcs8",
|
|
5720
|
-
|
|
5750
|
+
l.privateKey
|
|
5721
5751
|
);
|
|
5722
|
-
|
|
5752
|
+
f.oncomplete = function(u) {
|
|
5723
5753
|
var p = u.target.result, m = Z.privateKeyFromAsn1(
|
|
5724
|
-
|
|
5754
|
+
w.fromDer(Y.util.createBuffer(p))
|
|
5725
5755
|
);
|
|
5726
5756
|
r(null, {
|
|
5727
5757
|
privateKey: m,
|
|
5728
5758
|
publicKey: Z.setRsaPublicKey(m.n, m.e)
|
|
5729
5759
|
});
|
|
5730
|
-
},
|
|
5760
|
+
}, f.onerror = function(u) {
|
|
5731
5761
|
r(u);
|
|
5732
5762
|
};
|
|
5733
5763
|
}, i.onerror = function(o) {
|
|
@@ -5767,14 +5797,14 @@ Z.setRsaPublicKey = Z.rsa.setPublicKey = function(e, t) {
|
|
|
5767
5797
|
return a.encrypt = function(r, i, n) {
|
|
5768
5798
|
if (typeof i == "string" ? i = i.toUpperCase() : i === void 0 && (i = "RSAES-PKCS1-V1_5"), i === "RSAES-PKCS1-V1_5")
|
|
5769
5799
|
i = {
|
|
5770
|
-
encode: function(o,
|
|
5771
|
-
return Mi(o,
|
|
5800
|
+
encode: function(o, l, f) {
|
|
5801
|
+
return Mi(o, l, 2).getBytes();
|
|
5772
5802
|
}
|
|
5773
5803
|
};
|
|
5774
5804
|
else if (i === "RSA-OAEP" || i === "RSAES-OAEP")
|
|
5775
5805
|
i = {
|
|
5776
|
-
encode: function(o,
|
|
5777
|
-
return Y.pkcs1.encode_rsa_oaep(
|
|
5806
|
+
encode: function(o, l) {
|
|
5807
|
+
return Y.pkcs1.encode_rsa_oaep(l, o, n);
|
|
5778
5808
|
}
|
|
5779
5809
|
};
|
|
5780
5810
|
else if (["RAW", "NONE", "NULL", null].indexOf(i) !== -1)
|
|
@@ -5789,18 +5819,18 @@ Z.setRsaPublicKey = Z.rsa.setPublicKey = function(e, t) {
|
|
|
5789
5819
|
typeof n == "string" ? n = n.toUpperCase() : n === void 0 && (n = "RSASSA-PKCS1-V1_5"), s === void 0 && (s = {
|
|
5790
5820
|
_parseAllDigestBytes: !0
|
|
5791
5821
|
}), "_parseAllDigestBytes" in s || (s._parseAllDigestBytes = !0), n === "RSASSA-PKCS1-V1_5" ? n = {
|
|
5792
|
-
verify: function(
|
|
5793
|
-
|
|
5794
|
-
var u =
|
|
5822
|
+
verify: function(l, f) {
|
|
5823
|
+
f = kr(f, a, !0);
|
|
5824
|
+
var u = w.fromDer(f, {
|
|
5795
5825
|
parseAllBytes: s._parseAllDigestBytes
|
|
5796
5826
|
}), p = {}, m = [];
|
|
5797
|
-
if (!
|
|
5827
|
+
if (!w.validate(u, Zo, p, m)) {
|
|
5798
5828
|
var S = new Error(
|
|
5799
5829
|
"ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value."
|
|
5800
5830
|
);
|
|
5801
5831
|
throw S.errors = m, S;
|
|
5802
5832
|
}
|
|
5803
|
-
var C =
|
|
5833
|
+
var C = w.derToOid(p.algorithmIdentifier);
|
|
5804
5834
|
if (!(C === Y.oids.md2 || C === Y.oids.md5 || C === Y.oids.sha1 || C === Y.oids.sha224 || C === Y.oids.sha256 || C === Y.oids.sha384 || C === Y.oids.sha512 || C === Y.oids["sha512-224"] || C === Y.oids["sha512-256"])) {
|
|
5805
5835
|
var S = new Error(
|
|
5806
5836
|
"Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier."
|
|
@@ -5809,13 +5839,13 @@ Z.setRsaPublicKey = Z.rsa.setPublicKey = function(e, t) {
|
|
|
5809
5839
|
}
|
|
5810
5840
|
if ((C === Y.oids.md2 || C === Y.oids.md5) && !("parameters" in p))
|
|
5811
5841
|
throw new Error(
|
|
5812
|
-
"ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm
|
|
5842
|
+
"ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifier NULL parameters."
|
|
5813
5843
|
);
|
|
5814
|
-
return
|
|
5844
|
+
return l === p.digest;
|
|
5815
5845
|
}
|
|
5816
5846
|
} : (n === "NONE" || n === "NULL" || n === null) && (n = {
|
|
5817
|
-
verify: function(
|
|
5818
|
-
return
|
|
5847
|
+
verify: function(l, f) {
|
|
5848
|
+
return f = kr(f, a, !0), l === f;
|
|
5819
5849
|
}
|
|
5820
5850
|
});
|
|
5821
5851
|
var o = Z.rsa.decrypt(i, a, !0, !1);
|
|
@@ -5823,7 +5853,7 @@ Z.setRsaPublicKey = Z.rsa.setPublicKey = function(e, t) {
|
|
|
5823
5853
|
}, a;
|
|
5824
5854
|
};
|
|
5825
5855
|
Z.setRsaPrivateKey = Z.rsa.setPrivateKey = function(e, t, a, r, i, n, s, o) {
|
|
5826
|
-
var
|
|
5856
|
+
var l = {
|
|
5827
5857
|
n: e,
|
|
5828
5858
|
e: t,
|
|
5829
5859
|
d: a,
|
|
@@ -5833,9 +5863,9 @@ Z.setRsaPrivateKey = Z.rsa.setPrivateKey = function(e, t, a, r, i, n, s, o) {
|
|
|
5833
5863
|
dQ: s,
|
|
5834
5864
|
qInv: o
|
|
5835
5865
|
};
|
|
5836
|
-
return
|
|
5866
|
+
return l.decrypt = function(f, u, p) {
|
|
5837
5867
|
typeof u == "string" ? u = u.toUpperCase() : u === void 0 && (u = "RSAES-PKCS1-V1_5");
|
|
5838
|
-
var m = Z.rsa.decrypt(
|
|
5868
|
+
var m = Z.rsa.decrypt(f, l, !1, !1);
|
|
5839
5869
|
if (u === "RSAES-PKCS1-V1_5")
|
|
5840
5870
|
u = { decode: kr };
|
|
5841
5871
|
else if (u === "RSA-OAEP" || u === "RSAES-OAEP")
|
|
@@ -5850,124 +5880,124 @@ Z.setRsaPrivateKey = Z.rsa.setPrivateKey = function(e, t, a, r, i, n, s, o) {
|
|
|
5850
5880
|
} };
|
|
5851
5881
|
else
|
|
5852
5882
|
throw new Error('Unsupported encryption scheme: "' + u + '".');
|
|
5853
|
-
return u.decode(m,
|
|
5854
|
-
},
|
|
5883
|
+
return u.decode(m, l, !1);
|
|
5884
|
+
}, l.sign = function(f, u) {
|
|
5855
5885
|
var p = !1;
|
|
5856
5886
|
typeof u == "string" && (u = u.toUpperCase()), u === void 0 || u === "RSASSA-PKCS1-V1_5" ? (u = { encode: Jo }, p = 1) : (u === "NONE" || u === "NULL" || u === null) && (u = { encode: function() {
|
|
5857
|
-
return
|
|
5887
|
+
return f;
|
|
5858
5888
|
} }, p = 1);
|
|
5859
|
-
var m = u.encode(
|
|
5860
|
-
return Z.rsa.encrypt(m,
|
|
5861
|
-
},
|
|
5889
|
+
var m = u.encode(f, l.n.bitLength());
|
|
5890
|
+
return Z.rsa.encrypt(m, l, p);
|
|
5891
|
+
}, l;
|
|
5862
5892
|
};
|
|
5863
5893
|
Z.wrapRsaPrivateKey = function(e) {
|
|
5864
|
-
return
|
|
5894
|
+
return w.create(w.Class.UNIVERSAL, w.Type.SEQUENCE, !0, [
|
|
5865
5895
|
// version (0)
|
|
5866
|
-
|
|
5867
|
-
|
|
5868
|
-
|
|
5896
|
+
w.create(
|
|
5897
|
+
w.Class.UNIVERSAL,
|
|
5898
|
+
w.Type.INTEGER,
|
|
5869
5899
|
!1,
|
|
5870
|
-
|
|
5900
|
+
w.integerToDer(0).getBytes()
|
|
5871
5901
|
),
|
|
5872
5902
|
// privateKeyAlgorithm
|
|
5873
|
-
|
|
5874
|
-
|
|
5875
|
-
|
|
5876
|
-
|
|
5903
|
+
w.create(w.Class.UNIVERSAL, w.Type.SEQUENCE, !0, [
|
|
5904
|
+
w.create(
|
|
5905
|
+
w.Class.UNIVERSAL,
|
|
5906
|
+
w.Type.OID,
|
|
5877
5907
|
!1,
|
|
5878
|
-
|
|
5908
|
+
w.oidToDer(Z.oids.rsaEncryption).getBytes()
|
|
5879
5909
|
),
|
|
5880
|
-
|
|
5910
|
+
w.create(w.Class.UNIVERSAL, w.Type.NULL, !1, "")
|
|
5881
5911
|
]),
|
|
5882
5912
|
// PrivateKey
|
|
5883
|
-
|
|
5884
|
-
|
|
5885
|
-
|
|
5913
|
+
w.create(
|
|
5914
|
+
w.Class.UNIVERSAL,
|
|
5915
|
+
w.Type.OCTETSTRING,
|
|
5886
5916
|
!1,
|
|
5887
|
-
|
|
5917
|
+
w.toDer(e).getBytes()
|
|
5888
5918
|
)
|
|
5889
5919
|
]);
|
|
5890
5920
|
};
|
|
5891
5921
|
Z.privateKeyFromAsn1 = function(e) {
|
|
5892
5922
|
var t = {}, a = [];
|
|
5893
|
-
if (
|
|
5923
|
+
if (w.validate(e, Xo, t, a) && (e = w.fromDer(Y.util.createBuffer(t.privateKey))), t = {}, a = [], !w.validate(e, Wo, t, a)) {
|
|
5894
5924
|
var r = new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");
|
|
5895
5925
|
throw r.errors = a, r;
|
|
5896
5926
|
}
|
|
5897
|
-
var i, n, s, o,
|
|
5898
|
-
return i = Y.util.createBuffer(t.privateKeyModulus).toHex(), n = Y.util.createBuffer(t.privateKeyPublicExponent).toHex(), s = Y.util.createBuffer(t.privateKeyPrivateExponent).toHex(), o = Y.util.createBuffer(t.privateKeyPrime1).toHex(),
|
|
5927
|
+
var i, n, s, o, l, f, u, p;
|
|
5928
|
+
return i = Y.util.createBuffer(t.privateKeyModulus).toHex(), n = Y.util.createBuffer(t.privateKeyPublicExponent).toHex(), s = Y.util.createBuffer(t.privateKeyPrivateExponent).toHex(), o = Y.util.createBuffer(t.privateKeyPrime1).toHex(), l = Y.util.createBuffer(t.privateKeyPrime2).toHex(), f = Y.util.createBuffer(t.privateKeyExponent1).toHex(), u = Y.util.createBuffer(t.privateKeyExponent2).toHex(), p = Y.util.createBuffer(t.privateKeyCoefficient).toHex(), Z.setRsaPrivateKey(
|
|
5899
5929
|
new ue(i, 16),
|
|
5900
5930
|
new ue(n, 16),
|
|
5901
5931
|
new ue(s, 16),
|
|
5902
5932
|
new ue(o, 16),
|
|
5903
|
-
new ue(f, 16),
|
|
5904
5933
|
new ue(l, 16),
|
|
5934
|
+
new ue(f, 16),
|
|
5905
5935
|
new ue(u, 16),
|
|
5906
5936
|
new ue(p, 16)
|
|
5907
5937
|
);
|
|
5908
5938
|
};
|
|
5909
5939
|
Z.privateKeyToAsn1 = Z.privateKeyToRSAPrivateKey = function(e) {
|
|
5910
|
-
return
|
|
5940
|
+
return w.create(w.Class.UNIVERSAL, w.Type.SEQUENCE, !0, [
|
|
5911
5941
|
// version (0 = only 2 primes, 1 multiple primes)
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5942
|
+
w.create(
|
|
5943
|
+
w.Class.UNIVERSAL,
|
|
5944
|
+
w.Type.INTEGER,
|
|
5915
5945
|
!1,
|
|
5916
|
-
|
|
5946
|
+
w.integerToDer(0).getBytes()
|
|
5917
5947
|
),
|
|
5918
5948
|
// modulus (n)
|
|
5919
|
-
|
|
5920
|
-
|
|
5921
|
-
|
|
5949
|
+
w.create(
|
|
5950
|
+
w.Class.UNIVERSAL,
|
|
5951
|
+
w.Type.INTEGER,
|
|
5922
5952
|
!1,
|
|
5923
5953
|
mt(e.n)
|
|
5924
5954
|
),
|
|
5925
5955
|
// publicExponent (e)
|
|
5926
|
-
|
|
5927
|
-
|
|
5928
|
-
|
|
5956
|
+
w.create(
|
|
5957
|
+
w.Class.UNIVERSAL,
|
|
5958
|
+
w.Type.INTEGER,
|
|
5929
5959
|
!1,
|
|
5930
5960
|
mt(e.e)
|
|
5931
5961
|
),
|
|
5932
5962
|
// privateExponent (d)
|
|
5933
|
-
|
|
5934
|
-
|
|
5935
|
-
|
|
5963
|
+
w.create(
|
|
5964
|
+
w.Class.UNIVERSAL,
|
|
5965
|
+
w.Type.INTEGER,
|
|
5936
5966
|
!1,
|
|
5937
5967
|
mt(e.d)
|
|
5938
5968
|
),
|
|
5939
5969
|
// privateKeyPrime1 (p)
|
|
5940
|
-
|
|
5941
|
-
|
|
5942
|
-
|
|
5970
|
+
w.create(
|
|
5971
|
+
w.Class.UNIVERSAL,
|
|
5972
|
+
w.Type.INTEGER,
|
|
5943
5973
|
!1,
|
|
5944
5974
|
mt(e.p)
|
|
5945
5975
|
),
|
|
5946
5976
|
// privateKeyPrime2 (q)
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
|
|
5977
|
+
w.create(
|
|
5978
|
+
w.Class.UNIVERSAL,
|
|
5979
|
+
w.Type.INTEGER,
|
|
5950
5980
|
!1,
|
|
5951
5981
|
mt(e.q)
|
|
5952
5982
|
),
|
|
5953
5983
|
// privateKeyExponent1 (dP)
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
|
|
5984
|
+
w.create(
|
|
5985
|
+
w.Class.UNIVERSAL,
|
|
5986
|
+
w.Type.INTEGER,
|
|
5957
5987
|
!1,
|
|
5958
5988
|
mt(e.dP)
|
|
5959
5989
|
),
|
|
5960
5990
|
// privateKeyExponent2 (dQ)
|
|
5961
|
-
|
|
5962
|
-
|
|
5963
|
-
|
|
5991
|
+
w.create(
|
|
5992
|
+
w.Class.UNIVERSAL,
|
|
5993
|
+
w.Type.INTEGER,
|
|
5964
5994
|
!1,
|
|
5965
5995
|
mt(e.dQ)
|
|
5966
5996
|
),
|
|
5967
5997
|
// coefficient (qInv)
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
5998
|
+
w.create(
|
|
5999
|
+
w.Class.UNIVERSAL,
|
|
6000
|
+
w.Type.INTEGER,
|
|
5971
6001
|
!1,
|
|
5972
6002
|
mt(e.qInv)
|
|
5973
6003
|
)
|
|
@@ -5975,15 +6005,15 @@ Z.privateKeyToAsn1 = Z.privateKeyToRSAPrivateKey = function(e) {
|
|
|
5975
6005
|
};
|
|
5976
6006
|
Z.publicKeyFromAsn1 = function(e) {
|
|
5977
6007
|
var t = {}, a = [];
|
|
5978
|
-
if (
|
|
5979
|
-
var r =
|
|
6008
|
+
if (w.validate(e, jo, t, a)) {
|
|
6009
|
+
var r = w.derToOid(t.publicKeyOid);
|
|
5980
6010
|
if (r !== Z.oids.rsaEncryption) {
|
|
5981
6011
|
var i = new Error("Cannot read public key. Unknown OID.");
|
|
5982
6012
|
throw i.oid = r, i;
|
|
5983
6013
|
}
|
|
5984
6014
|
e = t.rsaPublicKey;
|
|
5985
6015
|
}
|
|
5986
|
-
if (a = [], !
|
|
6016
|
+
if (a = [], !w.validate(e, $o, t, a)) {
|
|
5987
6017
|
var i = new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");
|
|
5988
6018
|
throw i.errors = a, i;
|
|
5989
6019
|
}
|
|
@@ -5994,38 +6024,38 @@ Z.publicKeyFromAsn1 = function(e) {
|
|
|
5994
6024
|
);
|
|
5995
6025
|
};
|
|
5996
6026
|
Z.publicKeyToAsn1 = Z.publicKeyToSubjectPublicKeyInfo = function(e) {
|
|
5997
|
-
return
|
|
6027
|
+
return w.create(w.Class.UNIVERSAL, w.Type.SEQUENCE, !0, [
|
|
5998
6028
|
// AlgorithmIdentifier
|
|
5999
|
-
|
|
6029
|
+
w.create(w.Class.UNIVERSAL, w.Type.SEQUENCE, !0, [
|
|
6000
6030
|
// algorithm
|
|
6001
|
-
|
|
6002
|
-
|
|
6003
|
-
|
|
6031
|
+
w.create(
|
|
6032
|
+
w.Class.UNIVERSAL,
|
|
6033
|
+
w.Type.OID,
|
|
6004
6034
|
!1,
|
|
6005
|
-
|
|
6035
|
+
w.oidToDer(Z.oids.rsaEncryption).getBytes()
|
|
6006
6036
|
),
|
|
6007
6037
|
// parameters (null)
|
|
6008
|
-
|
|
6038
|
+
w.create(w.Class.UNIVERSAL, w.Type.NULL, !1, "")
|
|
6009
6039
|
]),
|
|
6010
6040
|
// subjectPublicKey
|
|
6011
|
-
|
|
6041
|
+
w.create(w.Class.UNIVERSAL, w.Type.BITSTRING, !1, [
|
|
6012
6042
|
Z.publicKeyToRSAPublicKey(e)
|
|
6013
6043
|
])
|
|
6014
6044
|
]);
|
|
6015
6045
|
};
|
|
6016
6046
|
Z.publicKeyToRSAPublicKey = function(e) {
|
|
6017
|
-
return
|
|
6047
|
+
return w.create(w.Class.UNIVERSAL, w.Type.SEQUENCE, !0, [
|
|
6018
6048
|
// modulus (n)
|
|
6019
|
-
|
|
6020
|
-
|
|
6021
|
-
|
|
6049
|
+
w.create(
|
|
6050
|
+
w.Class.UNIVERSAL,
|
|
6051
|
+
w.Type.INTEGER,
|
|
6022
6052
|
!1,
|
|
6023
6053
|
mt(e.n)
|
|
6024
6054
|
),
|
|
6025
6055
|
// publicExponent (e)
|
|
6026
|
-
|
|
6027
|
-
|
|
6028
|
-
|
|
6056
|
+
w.create(
|
|
6057
|
+
w.Class.UNIVERSAL,
|
|
6058
|
+
w.Type.INTEGER,
|
|
6029
6059
|
!1,
|
|
6030
6060
|
mt(e.e)
|
|
6031
6061
|
)
|
|
@@ -6041,13 +6071,13 @@ function Mi(e, t, a) {
|
|
|
6041
6071
|
var s = i - 3 - e.length, o;
|
|
6042
6072
|
if (a === 0 || a === 1) {
|
|
6043
6073
|
o = a === 0 ? 0 : 255;
|
|
6044
|
-
for (var
|
|
6074
|
+
for (var l = 0; l < s; ++l)
|
|
6045
6075
|
r.putByte(o);
|
|
6046
6076
|
} else
|
|
6047
6077
|
for (; s > 0; ) {
|
|
6048
|
-
for (var
|
|
6049
|
-
o = u.charCodeAt(
|
|
6050
|
-
s =
|
|
6078
|
+
for (var f = 0, u = Y.random.getBytes(s), l = 0; l < s; ++l)
|
|
6079
|
+
o = u.charCodeAt(l), o === 0 ? ++f : r.putByte(o);
|
|
6080
|
+
s = f;
|
|
6051
6081
|
}
|
|
6052
6082
|
return r.putByte(0), r.putBytes(e), r;
|
|
6053
6083
|
}
|
|
@@ -6055,30 +6085,30 @@ function kr(e, t, a, r) {
|
|
|
6055
6085
|
var i = Math.ceil(t.n.bitLength() / 8), n = Y.util.createBuffer(e), s = n.getByte(), o = n.getByte();
|
|
6056
6086
|
if (s !== 0 || a && o !== 0 && o !== 1 || !a && o != 2 || a && o === 0 && typeof r > "u")
|
|
6057
6087
|
throw new Error("Encryption block is invalid.");
|
|
6058
|
-
var
|
|
6088
|
+
var l = 0;
|
|
6059
6089
|
if (o === 0) {
|
|
6060
|
-
|
|
6061
|
-
for (var
|
|
6090
|
+
l = i - 3 - r;
|
|
6091
|
+
for (var f = 0; f < l; ++f)
|
|
6062
6092
|
if (n.getByte() !== 0)
|
|
6063
6093
|
throw new Error("Encryption block is invalid.");
|
|
6064
6094
|
} else if (o === 1)
|
|
6065
|
-
for (
|
|
6095
|
+
for (l = 0; n.length() > 1; ) {
|
|
6066
6096
|
if (n.getByte() !== 255) {
|
|
6067
6097
|
--n.read;
|
|
6068
6098
|
break;
|
|
6069
6099
|
}
|
|
6070
|
-
++
|
|
6100
|
+
++l;
|
|
6071
6101
|
}
|
|
6072
6102
|
else if (o === 2)
|
|
6073
|
-
for (
|
|
6103
|
+
for (l = 0; n.length() > 1; ) {
|
|
6074
6104
|
if (n.getByte() === 0) {
|
|
6075
6105
|
--n.read;
|
|
6076
6106
|
break;
|
|
6077
6107
|
}
|
|
6078
|
-
++
|
|
6108
|
+
++l;
|
|
6079
6109
|
}
|
|
6080
6110
|
var u = n.getByte();
|
|
6081
|
-
if (u !== 0 ||
|
|
6111
|
+
if (u !== 0 || l !== i - 3 - n.length())
|
|
6082
6112
|
throw new Error("Encryption block is invalid.");
|
|
6083
6113
|
return n.getBytes();
|
|
6084
6114
|
}
|
|
@@ -6096,23 +6126,23 @@ function e0(e, t, a) {
|
|
|
6096
6126
|
};
|
|
6097
6127
|
"prng" in t && (r.prng = t.prng), i();
|
|
6098
6128
|
function i() {
|
|
6099
|
-
n(e.pBits, function(o,
|
|
6129
|
+
n(e.pBits, function(o, l) {
|
|
6100
6130
|
if (o)
|
|
6101
6131
|
return a(o);
|
|
6102
|
-
if (e.p =
|
|
6132
|
+
if (e.p = l, e.q !== null)
|
|
6103
6133
|
return s(o, e.q);
|
|
6104
6134
|
n(e.qBits, s);
|
|
6105
6135
|
});
|
|
6106
6136
|
}
|
|
6107
|
-
function n(o,
|
|
6108
|
-
Y.prime.generateProbablePrime(o, r,
|
|
6137
|
+
function n(o, l) {
|
|
6138
|
+
Y.prime.generateProbablePrime(o, r, l);
|
|
6109
6139
|
}
|
|
6110
|
-
function s(o,
|
|
6140
|
+
function s(o, l) {
|
|
6111
6141
|
if (o)
|
|
6112
6142
|
return a(o);
|
|
6113
|
-
if (e.q =
|
|
6114
|
-
var
|
|
6115
|
-
e.p = e.q, e.q =
|
|
6143
|
+
if (e.q = l, e.p.compareTo(e.q) < 0) {
|
|
6144
|
+
var f = e.p;
|
|
6145
|
+
e.p = e.q, e.q = f;
|
|
6116
6146
|
}
|
|
6117
6147
|
if (e.p.subtract(ue.ONE).gcd(e.e).compareTo(ue.ONE) !== 0) {
|
|
6118
6148
|
e.p = null, i();
|
|
@@ -6161,10 +6191,10 @@ function ii(e) {
|
|
|
6161
6191
|
return Y.util.isNodejs && typeof ga[e] == "function";
|
|
6162
6192
|
}
|
|
6163
6193
|
function ni(e) {
|
|
6164
|
-
return typeof
|
|
6194
|
+
return typeof lt.globalScope < "u" && typeof lt.globalScope.crypto == "object" && typeof lt.globalScope.crypto.subtle == "object" && typeof lt.globalScope.crypto.subtle[e] == "function";
|
|
6165
6195
|
}
|
|
6166
6196
|
function si(e) {
|
|
6167
|
-
return typeof
|
|
6197
|
+
return typeof lt.globalScope < "u" && typeof lt.globalScope.msCrypto == "object" && typeof lt.globalScope.msCrypto.subtle == "object" && typeof lt.globalScope.msCrypto.subtle[e] == "function";
|
|
6168
6198
|
}
|
|
6169
6199
|
function oi(e) {
|
|
6170
6200
|
for (var t = Y.util.hexToBytes(e.toString(16)), a = new Uint8Array(t.length), r = 0; r < t.length; ++r)
|
|
@@ -6303,28 +6333,28 @@ var qt = J.oids, a0 = {
|
|
|
6303
6333
|
};
|
|
6304
6334
|
J.encryptPrivateKeyInfo = function(e, t, a) {
|
|
6305
6335
|
a = a || {}, a.saltSize = a.saltSize || 8, a.count = a.count || 2048, a.algorithm = a.algorithm || "aes128", a.prfAlgorithm = a.prfAlgorithm || "sha1";
|
|
6306
|
-
var r = Q.random.getBytesSync(a.saltSize), i = a.count, n = R.integerToDer(i), s, o,
|
|
6336
|
+
var r = Q.random.getBytesSync(a.saltSize), i = a.count, n = R.integerToDer(i), s, o, l;
|
|
6307
6337
|
if (a.algorithm.indexOf("aes") === 0 || a.algorithm === "des") {
|
|
6308
|
-
var
|
|
6338
|
+
var f, u, p;
|
|
6309
6339
|
switch (a.algorithm) {
|
|
6310
6340
|
case "aes128":
|
|
6311
|
-
s = 16,
|
|
6341
|
+
s = 16, f = 16, u = qt["aes128-CBC"], p = Q.aes.createEncryptionCipher;
|
|
6312
6342
|
break;
|
|
6313
6343
|
case "aes192":
|
|
6314
|
-
s = 24,
|
|
6344
|
+
s = 24, f = 16, u = qt["aes192-CBC"], p = Q.aes.createEncryptionCipher;
|
|
6315
6345
|
break;
|
|
6316
6346
|
case "aes256":
|
|
6317
|
-
s = 32,
|
|
6347
|
+
s = 32, f = 16, u = qt["aes256-CBC"], p = Q.aes.createEncryptionCipher;
|
|
6318
6348
|
break;
|
|
6319
6349
|
case "des":
|
|
6320
|
-
s = 8,
|
|
6350
|
+
s = 8, f = 8, u = qt.desCBC, p = Q.des.createEncryptionCipher;
|
|
6321
6351
|
break;
|
|
6322
6352
|
default:
|
|
6323
6353
|
var m = new Error("Cannot encrypt private key. Unknown encryption algorithm.");
|
|
6324
6354
|
throw m.algorithm = a.algorithm, m;
|
|
6325
6355
|
}
|
|
6326
|
-
var S = "hmacWith" + a.prfAlgorithm.toUpperCase(), C = Gi(S), A = Q.pkcs5.pbkdf2(t, r, i, s, C), b = Q.random.getBytesSync(
|
|
6327
|
-
|
|
6356
|
+
var S = "hmacWith" + a.prfAlgorithm.toUpperCase(), C = Gi(S), A = Q.pkcs5.pbkdf2(t, r, i, s, C), b = Q.random.getBytesSync(f), _ = p(A);
|
|
6357
|
+
_.start(b), _.update(R.toDer(e)), _.finish(), l = _.output.getBytes();
|
|
6328
6358
|
var U = s0(r, n, s, S);
|
|
6329
6359
|
o = R.create(
|
|
6330
6360
|
R.Class.UNIVERSAL,
|
|
@@ -6370,8 +6400,8 @@ J.encryptPrivateKeyInfo = function(e, t, a) {
|
|
|
6370
6400
|
);
|
|
6371
6401
|
} else if (a.algorithm === "3des") {
|
|
6372
6402
|
s = 24;
|
|
6373
|
-
var D = new Q.util.ByteBuffer(r), A = J.pbe.generatePkcs12Key(t, D, 1, i, s), b = J.pbe.generatePkcs12Key(t, D, 2, i, s),
|
|
6374
|
-
|
|
6403
|
+
var D = new Q.util.ByteBuffer(r), A = J.pbe.generatePkcs12Key(t, D, 1, i, s), b = J.pbe.generatePkcs12Key(t, D, 2, i, s), _ = Q.des.createEncryptionCipher(A);
|
|
6404
|
+
_.start(b), _.update(R.toDer(e)), _.finish(), l = _.output.getBytes(), o = R.create(
|
|
6375
6405
|
R.Class.UNIVERSAL,
|
|
6376
6406
|
R.Type.SEQUENCE,
|
|
6377
6407
|
!0,
|
|
@@ -6400,7 +6430,7 @@ J.encryptPrivateKeyInfo = function(e, t, a) {
|
|
|
6400
6430
|
var m = new Error("Cannot encrypt private key. Unknown encryption algorithm.");
|
|
6401
6431
|
throw m.algorithm = a.algorithm, m;
|
|
6402
6432
|
}
|
|
6403
|
-
var
|
|
6433
|
+
var G = R.create(R.Class.UNIVERSAL, R.Type.SEQUENCE, !0, [
|
|
6404
6434
|
// encryptionAlgorithm
|
|
6405
6435
|
o,
|
|
6406
6436
|
// encryptedData
|
|
@@ -6408,10 +6438,10 @@ J.encryptPrivateKeyInfo = function(e, t, a) {
|
|
|
6408
6438
|
R.Class.UNIVERSAL,
|
|
6409
6439
|
R.Type.OCTETSTRING,
|
|
6410
6440
|
!1,
|
|
6411
|
-
|
|
6441
|
+
l
|
|
6412
6442
|
)
|
|
6413
6443
|
]);
|
|
6414
|
-
return
|
|
6444
|
+
return G;
|
|
6415
6445
|
};
|
|
6416
6446
|
J.decryptPrivateKeyInfo = function(e, t) {
|
|
6417
6447
|
var a = null, r = {}, i = [];
|
|
@@ -6419,8 +6449,8 @@ J.decryptPrivateKeyInfo = function(e, t) {
|
|
|
6419
6449
|
var n = new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");
|
|
6420
6450
|
throw n.errors = i, n;
|
|
6421
6451
|
}
|
|
6422
|
-
var s = R.derToOid(r.encryptionOid), o = J.pbe.getCipher(s, r.encryptionParams, t),
|
|
6423
|
-
return o.update(
|
|
6452
|
+
var s = R.derToOid(r.encryptionOid), o = J.pbe.getCipher(s, r.encryptionParams, t), l = Q.util.createBuffer(r.encryptedData);
|
|
6453
|
+
return o.update(l), o.finish() && (a = R.fromDer(o.output)), a;
|
|
6424
6454
|
};
|
|
6425
6455
|
J.encryptedPrivateKeyToPem = function(e, t) {
|
|
6426
6456
|
var a = {
|
|
@@ -6462,10 +6492,10 @@ J.encryptRsaPrivateKey = function(e, t, a) {
|
|
|
6462
6492
|
i = "DES-CBC", s = 8, n = Q.random.getBytesSync(8), o = Q.des.createEncryptionCipher;
|
|
6463
6493
|
break;
|
|
6464
6494
|
default:
|
|
6465
|
-
var
|
|
6466
|
-
throw
|
|
6495
|
+
var l = new Error('Could not encrypt RSA private key; unsupported encryption algorithm "' + a.algorithm + '".');
|
|
6496
|
+
throw l.algorithm = a.algorithm, l;
|
|
6467
6497
|
}
|
|
6468
|
-
var
|
|
6498
|
+
var f = Q.pbe.opensslDeriveBytes(t, n.substr(0, 8), s), u = o(f);
|
|
6469
6499
|
u.start(n), u.update(R.toDer(J.privateKeyToAsn1(e))), u.finish();
|
|
6470
6500
|
var p = {
|
|
6471
6501
|
type: "RSA PRIVATE KEY",
|
|
@@ -6524,9 +6554,9 @@ J.decryptRsaPrivateKey = function(e, t) {
|
|
|
6524
6554
|
var i = new Error('Could not decrypt private key; unsupported encryption algorithm "' + r.dekInfo.algorithm + '".');
|
|
6525
6555
|
throw i.algorithm = r.dekInfo.algorithm, i;
|
|
6526
6556
|
}
|
|
6527
|
-
var o = Q.util.hexToBytes(r.dekInfo.parameters),
|
|
6528
|
-
if (
|
|
6529
|
-
a =
|
|
6557
|
+
var o = Q.util.hexToBytes(r.dekInfo.parameters), l = Q.pbe.opensslDeriveBytes(t, o.substr(0, 8), n), f = s(l);
|
|
6558
|
+
if (f.start(o), f.update(Q.util.createBuffer(r.body)), f.finish())
|
|
6559
|
+
a = f.output.getBytes();
|
|
6530
6560
|
else
|
|
6531
6561
|
return a;
|
|
6532
6562
|
} else
|
|
@@ -6540,33 +6570,33 @@ J.pbe.generatePkcs12Key = function(e, t, a, r, i, n) {
|
|
|
6540
6570
|
throw new Error('"sha1" hash algorithm unavailable.');
|
|
6541
6571
|
n = Q.md.sha1.create();
|
|
6542
6572
|
}
|
|
6543
|
-
var
|
|
6573
|
+
var l = n.digestLength, f = n.blockLength, u = new Q.util.ByteBuffer(), p = new Q.util.ByteBuffer();
|
|
6544
6574
|
if (e != null) {
|
|
6545
6575
|
for (o = 0; o < e.length; o++)
|
|
6546
6576
|
p.putInt16(e.charCodeAt(o));
|
|
6547
6577
|
p.putInt16(0);
|
|
6548
6578
|
}
|
|
6549
6579
|
var m = p.length(), S = t.length(), C = new Q.util.ByteBuffer();
|
|
6550
|
-
C.fillWithByte(a,
|
|
6551
|
-
var A =
|
|
6580
|
+
C.fillWithByte(a, f);
|
|
6581
|
+
var A = f * Math.ceil(S / f), b = new Q.util.ByteBuffer();
|
|
6552
6582
|
for (o = 0; o < A; o++)
|
|
6553
6583
|
b.putByte(t.at(o % S));
|
|
6554
|
-
var
|
|
6555
|
-
for (o = 0; o <
|
|
6584
|
+
var _ = f * Math.ceil(m / f), U = new Q.util.ByteBuffer();
|
|
6585
|
+
for (o = 0; o < _; o++)
|
|
6556
6586
|
U.putByte(p.at(o % m));
|
|
6557
6587
|
var D = b;
|
|
6558
6588
|
D.putBuffer(U);
|
|
6559
|
-
for (var
|
|
6589
|
+
for (var G = Math.ceil(i / l), O = 1; O <= G; O++) {
|
|
6560
6590
|
var F = new Q.util.ByteBuffer();
|
|
6561
6591
|
F.putBytes(C.bytes()), F.putBytes(D.bytes());
|
|
6562
6592
|
for (var $ = 0; $ < r; $++)
|
|
6563
6593
|
n.start(), n.update(F.getBytes()), F = n.digest();
|
|
6564
6594
|
var j = new Q.util.ByteBuffer();
|
|
6565
|
-
for (o = 0; o <
|
|
6566
|
-
j.putByte(F.at(o %
|
|
6567
|
-
var
|
|
6568
|
-
for (s = 0; s <
|
|
6569
|
-
var de = new Q.util.ByteBuffer(D.getBytes(
|
|
6595
|
+
for (o = 0; o < f; o++)
|
|
6596
|
+
j.putByte(F.at(o % l));
|
|
6597
|
+
var le = Math.ceil(S / f) + Math.ceil(m / f), he = new Q.util.ByteBuffer();
|
|
6598
|
+
for (s = 0; s < le; s++) {
|
|
6599
|
+
var de = new Q.util.ByteBuffer(D.getBytes(f)), Ee = 511;
|
|
6570
6600
|
for (o = j.length() - 1; o >= 0; o--)
|
|
6571
6601
|
Ee = Ee >> 8, Ee += j.at(o) + de.at(o), de.setAt(o, Ee & 255);
|
|
6572
6602
|
he.putBuffer(de);
|
|
@@ -6613,25 +6643,25 @@ J.pbe.getCipherForPBES2 = function(e, t, a) {
|
|
|
6613
6643
|
}
|
|
6614
6644
|
var s = r.kdfSalt, o = Q.util.createBuffer(r.kdfIterationCount);
|
|
6615
6645
|
o = o.getInt(o.length() << 3);
|
|
6616
|
-
var
|
|
6646
|
+
var l, f;
|
|
6617
6647
|
switch (J.oids[e]) {
|
|
6618
6648
|
case "aes128-CBC":
|
|
6619
|
-
|
|
6649
|
+
l = 16, f = Q.aes.createDecryptionCipher;
|
|
6620
6650
|
break;
|
|
6621
6651
|
case "aes192-CBC":
|
|
6622
|
-
|
|
6652
|
+
l = 24, f = Q.aes.createDecryptionCipher;
|
|
6623
6653
|
break;
|
|
6624
6654
|
case "aes256-CBC":
|
|
6625
|
-
|
|
6655
|
+
l = 32, f = Q.aes.createDecryptionCipher;
|
|
6626
6656
|
break;
|
|
6627
6657
|
case "des-EDE3-CBC":
|
|
6628
|
-
|
|
6658
|
+
l = 24, f = Q.des.createDecryptionCipher;
|
|
6629
6659
|
break;
|
|
6630
6660
|
case "desCBC":
|
|
6631
|
-
|
|
6661
|
+
l = 8, f = Q.des.createDecryptionCipher;
|
|
6632
6662
|
break;
|
|
6633
6663
|
}
|
|
6634
|
-
var u = Hi(r.prfOid), p = Q.pkcs5.pbkdf2(a, s, o,
|
|
6664
|
+
var u = Hi(r.prfOid), p = Q.pkcs5.pbkdf2(a, s, o, l, u), m = r.encIv, S = f(p);
|
|
6635
6665
|
return S.start(m), S;
|
|
6636
6666
|
};
|
|
6637
6667
|
J.pbe.getCipherForPKCS12PBE = function(e, t, a) {
|
|
@@ -6642,24 +6672,24 @@ J.pbe.getCipherForPKCS12PBE = function(e, t, a) {
|
|
|
6642
6672
|
}
|
|
6643
6673
|
var s = Q.util.createBuffer(r.salt), o = Q.util.createBuffer(r.iterations);
|
|
6644
6674
|
o = o.getInt(o.length() << 3);
|
|
6645
|
-
var
|
|
6675
|
+
var l, f, u;
|
|
6646
6676
|
switch (e) {
|
|
6647
6677
|
case J.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:
|
|
6648
|
-
|
|
6678
|
+
l = 24, f = 8, u = Q.des.startDecrypting;
|
|
6649
6679
|
break;
|
|
6650
6680
|
case J.oids["pbewithSHAAnd40BitRC2-CBC"]:
|
|
6651
|
-
|
|
6652
|
-
var
|
|
6653
|
-
return
|
|
6681
|
+
l = 5, f = 8, u = function(A, b) {
|
|
6682
|
+
var _ = Q.rc2.createDecryptionCipher(A, 40);
|
|
6683
|
+
return _.start(b, null), _;
|
|
6654
6684
|
};
|
|
6655
6685
|
break;
|
|
6656
6686
|
default:
|
|
6657
6687
|
var n = new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");
|
|
6658
6688
|
throw n.oid = e, n;
|
|
6659
6689
|
}
|
|
6660
|
-
var p = Hi(r.prfOid), m = J.pbe.generatePkcs12Key(a, s, 1, o,
|
|
6690
|
+
var p = Hi(r.prfOid), m = J.pbe.generatePkcs12Key(a, s, 1, o, l, p);
|
|
6661
6691
|
p.start();
|
|
6662
|
-
var S = J.pbe.generatePkcs12Key(a, s, 2, o,
|
|
6692
|
+
var S = J.pbe.generatePkcs12Key(a, s, 2, o, f, p);
|
|
6663
6693
|
return u(m, S);
|
|
6664
6694
|
};
|
|
6665
6695
|
J.pbe.opensslDeriveBytes = function(e, t, a, r) {
|
|
@@ -7072,8 +7102,8 @@ u0.create = function(e) {
|
|
|
7072
7102
|
var Pr = ee;
|
|
7073
7103
|
Pr.mgf = Pr.mgf || {};
|
|
7074
7104
|
Pr.mgf.mgf1 = Pr.mgf1;
|
|
7075
|
-
var Qt = ee,
|
|
7076
|
-
|
|
7105
|
+
var Qt = ee, f0 = Qt.pss = Qt.pss || {};
|
|
7106
|
+
f0.create = function(e) {
|
|
7077
7107
|
arguments.length === 3 && (e = {
|
|
7078
7108
|
md: arguments[0],
|
|
7079
7109
|
mgf: arguments[1],
|
|
@@ -7091,42 +7121,42 @@ l0.create = function(e) {
|
|
|
7091
7121
|
if (i !== null && i.length() !== n)
|
|
7092
7122
|
throw new Error("Given salt length does not match length of given salt.");
|
|
7093
7123
|
var s = e.prng || Qt.random, o = {};
|
|
7094
|
-
return o.encode = function(
|
|
7095
|
-
var u, p =
|
|
7124
|
+
return o.encode = function(l, f) {
|
|
7125
|
+
var u, p = f - 1, m = Math.ceil(p / 8), S = l.digest().getBytes();
|
|
7096
7126
|
if (m < r + n + 2)
|
|
7097
7127
|
throw new Error("Message is too long to encrypt.");
|
|
7098
7128
|
var C;
|
|
7099
7129
|
i === null ? C = s.getBytesSync(n) : C = i.bytes();
|
|
7100
7130
|
var A = new Qt.util.ByteBuffer();
|
|
7101
7131
|
A.fillWithByte(0, 8), A.putBytes(S), A.putBytes(C), t.start(), t.update(A.getBytes());
|
|
7102
|
-
var b = t.digest().getBytes(),
|
|
7103
|
-
|
|
7104
|
-
var U =
|
|
7132
|
+
var b = t.digest().getBytes(), _ = new Qt.util.ByteBuffer();
|
|
7133
|
+
_.fillWithByte(0, m - n - r - 2), _.putByte(1), _.putBytes(C);
|
|
7134
|
+
var U = _.getBytes(), D = m - r - 1, G = a.generate(b, D), O = "";
|
|
7105
7135
|
for (u = 0; u < D; u++)
|
|
7106
|
-
O += String.fromCharCode(U.charCodeAt(u) ^
|
|
7136
|
+
O += String.fromCharCode(U.charCodeAt(u) ^ G.charCodeAt(u));
|
|
7107
7137
|
var F = 65280 >> 8 * m - p & 255;
|
|
7108
7138
|
return O = String.fromCharCode(O.charCodeAt(0) & ~F) + O.substr(1), O + b + "¼";
|
|
7109
|
-
}, o.verify = function(
|
|
7139
|
+
}, o.verify = function(l, f, u) {
|
|
7110
7140
|
var p, m = u - 1, S = Math.ceil(m / 8);
|
|
7111
|
-
if (
|
|
7141
|
+
if (f = f.substr(-S), S < r + n + 2)
|
|
7112
7142
|
throw new Error("Inconsistent parameters to PSS signature verification.");
|
|
7113
|
-
if (
|
|
7143
|
+
if (f.charCodeAt(S - 1) !== 188)
|
|
7114
7144
|
throw new Error("Encoded message does not end in 0xBC.");
|
|
7115
|
-
var C = S - r - 1, A =
|
|
7116
|
-
if (A.charCodeAt(0) &
|
|
7145
|
+
var C = S - r - 1, A = f.substr(0, C), b = f.substr(C, r), _ = 65280 >> 8 * S - m & 255;
|
|
7146
|
+
if (A.charCodeAt(0) & _)
|
|
7117
7147
|
throw new Error("Bits beyond keysize not zero as expected.");
|
|
7118
7148
|
var U = a.generate(b, C), D = "";
|
|
7119
7149
|
for (p = 0; p < C; p++)
|
|
7120
7150
|
D += String.fromCharCode(A.charCodeAt(p) ^ U.charCodeAt(p));
|
|
7121
|
-
D = String.fromCharCode(D.charCodeAt(0) & ~
|
|
7122
|
-
var
|
|
7123
|
-
for (p = 0; p <
|
|
7151
|
+
D = String.fromCharCode(D.charCodeAt(0) & ~_) + D.substr(1);
|
|
7152
|
+
var G = S - r - n - 2;
|
|
7153
|
+
for (p = 0; p < G; p++)
|
|
7124
7154
|
if (D.charCodeAt(p) !== 0)
|
|
7125
7155
|
throw new Error("Leftmost octets not zero as expected");
|
|
7126
|
-
if (D.charCodeAt(
|
|
7156
|
+
if (D.charCodeAt(G) !== 1)
|
|
7127
7157
|
throw new Error("Inconsistent PSS signature, 0x01 marker not found");
|
|
7128
7158
|
var O = D.substr(-n), F = new Qt.util.ByteBuffer();
|
|
7129
|
-
F.fillWithByte(0, 8), F.putBytes(
|
|
7159
|
+
F.fillWithByte(0, 8), F.putBytes(l), F.putBytes(O), t.start(), t.update(F.getBytes());
|
|
7130
7160
|
var $ = t.digest().getBytes();
|
|
7131
7161
|
return b === $;
|
|
7132
7162
|
}, o;
|
|
@@ -7146,7 +7176,7 @@ Re.OU = oe.organizationalUnitName;
|
|
|
7146
7176
|
Re.organizationalUnitName = "OU";
|
|
7147
7177
|
Re.E = oe.emailAddress;
|
|
7148
7178
|
Re.emailAddress = "E";
|
|
7149
|
-
var zi = X.pki.rsa.publicKeyValidator,
|
|
7179
|
+
var zi = X.pki.rsa.publicKeyValidator, l0 = {
|
|
7150
7180
|
name: "Certificate",
|
|
7151
7181
|
tagClass: d.Class.UNIVERSAL,
|
|
7152
7182
|
type: d.Type.SEQUENCE,
|
|
@@ -7510,8 +7540,8 @@ K.CRIAttributesAsArray = function(e) {
|
|
|
7510
7540
|
var o = {};
|
|
7511
7541
|
if (o.type = i, o.value = n[s].value, o.valueTagClass = n[s].type, o.type in oe && (o.name = oe[o.type], o.name in Re && (o.shortName = Re[o.name])), o.type === oe.extensionRequest) {
|
|
7512
7542
|
o.extensions = [];
|
|
7513
|
-
for (var
|
|
7514
|
-
o.extensions.push(K.certificateExtensionFromAsn1(o.value[
|
|
7543
|
+
for (var l = 0; l < o.value.length; ++l)
|
|
7544
|
+
o.extensions.push(K.certificateExtensionFromAsn1(o.value[l]));
|
|
7515
7545
|
}
|
|
7516
7546
|
t.push(o);
|
|
7517
7547
|
}
|
|
@@ -7737,8 +7767,8 @@ K.createCertificate = function() {
|
|
|
7737
7767
|
signatureOid: t.signatureOid,
|
|
7738
7768
|
type: "certificate"
|
|
7739
7769
|
});
|
|
7740
|
-
var o = t.tbsCertificate || K.getTBSCertificate(t),
|
|
7741
|
-
s.update(
|
|
7770
|
+
var o = t.tbsCertificate || K.getTBSCertificate(t), l = d.toDer(o);
|
|
7771
|
+
s.update(l.getBytes());
|
|
7742
7772
|
}
|
|
7743
7773
|
return s !== null && (a = Yi({
|
|
7744
7774
|
certificate: e,
|
|
@@ -7772,7 +7802,7 @@ K.createCertificate = function() {
|
|
|
7772
7802
|
};
|
|
7773
7803
|
K.certificateFromAsn1 = function(e, t) {
|
|
7774
7804
|
var a = {}, r = [];
|
|
7775
|
-
if (!d.validate(e,
|
|
7805
|
+
if (!d.validate(e, l0, a, r)) {
|
|
7776
7806
|
var i = new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");
|
|
7777
7807
|
throw i.errors = r, i;
|
|
7778
7808
|
}
|
|
@@ -7791,22 +7821,22 @@ K.certificateFromAsn1 = function(e, t) {
|
|
|
7791
7821
|
a.certinfoSignatureParams,
|
|
7792
7822
|
!1
|
|
7793
7823
|
), s.signature = a.certSignature;
|
|
7794
|
-
var
|
|
7795
|
-
if (a.certValidity1UTCTime !== void 0 &&
|
|
7824
|
+
var l = [];
|
|
7825
|
+
if (a.certValidity1UTCTime !== void 0 && l.push(d.utcTimeToDate(a.certValidity1UTCTime)), a.certValidity2GeneralizedTime !== void 0 && l.push(d.generalizedTimeToDate(
|
|
7796
7826
|
a.certValidity2GeneralizedTime
|
|
7797
|
-
)), a.certValidity3UTCTime !== void 0 &&
|
|
7827
|
+
)), a.certValidity3UTCTime !== void 0 && l.push(d.utcTimeToDate(a.certValidity3UTCTime)), a.certValidity4GeneralizedTime !== void 0 && l.push(d.generalizedTimeToDate(
|
|
7798
7828
|
a.certValidity4GeneralizedTime
|
|
7799
|
-
)),
|
|
7829
|
+
)), l.length > 2)
|
|
7800
7830
|
throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");
|
|
7801
|
-
if (
|
|
7831
|
+
if (l.length < 2)
|
|
7802
7832
|
throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");
|
|
7803
|
-
if (s.validity.notBefore =
|
|
7833
|
+
if (s.validity.notBefore = l[0], s.validity.notAfter = l[1], s.tbsCertificate = a.tbsCertificate, t) {
|
|
7804
7834
|
s.md = $r({
|
|
7805
7835
|
signatureOid: s.signatureOid,
|
|
7806
7836
|
type: "certificate"
|
|
7807
7837
|
});
|
|
7808
|
-
var
|
|
7809
|
-
s.md.update(
|
|
7838
|
+
var f = d.toDer(s.tbsCertificate);
|
|
7839
|
+
s.md.update(f.getBytes());
|
|
7810
7840
|
}
|
|
7811
7841
|
var u = X.md.sha1.create(), p = d.toDer(a.certIssuer);
|
|
7812
7842
|
u.update(p.getBytes()), s.issuer.getField = function(C) {
|
|
@@ -7848,22 +7878,22 @@ K.certificateExtensionFromAsn1 = function(e) {
|
|
|
7848
7878
|
a.value.length > 1 && (r = a.value.charCodeAt(1)), t.client = (r & 128) === 128, t.server = (r & 64) === 64, t.email = (r & 32) === 32, t.objsign = (r & 16) === 16, t.reserved = (r & 8) === 8, t.sslCA = (r & 4) === 4, t.emailCA = (r & 2) === 2, t.objCA = (r & 1) === 1;
|
|
7849
7879
|
} else if (t.name === "subjectAltName" || t.name === "issuerAltName") {
|
|
7850
7880
|
t.altNames = [];
|
|
7851
|
-
for (var
|
|
7852
|
-
|
|
7881
|
+
for (var l, a = d.fromDer(t.value), f = 0; f < a.value.length; ++f) {
|
|
7882
|
+
l = a.value[f];
|
|
7853
7883
|
var u = {
|
|
7854
|
-
type:
|
|
7855
|
-
value:
|
|
7884
|
+
type: l.type,
|
|
7885
|
+
value: l.value
|
|
7856
7886
|
};
|
|
7857
|
-
switch (t.altNames.push(u),
|
|
7887
|
+
switch (t.altNames.push(u), l.type) {
|
|
7858
7888
|
case 1:
|
|
7859
7889
|
case 2:
|
|
7860
7890
|
case 6:
|
|
7861
7891
|
break;
|
|
7862
7892
|
case 7:
|
|
7863
|
-
u.ip = X.util.bytesToIP(
|
|
7893
|
+
u.ip = X.util.bytesToIP(l.value);
|
|
7864
7894
|
break;
|
|
7865
7895
|
case 8:
|
|
7866
|
-
u.oid = d.derToOid(
|
|
7896
|
+
u.oid = d.derToOid(l.value);
|
|
7867
7897
|
break;
|
|
7868
7898
|
}
|
|
7869
7899
|
}
|
|
@@ -7900,18 +7930,18 @@ K.certificationRequestFromAsn1 = function(e, t) {
|
|
|
7900
7930
|
var o = d.toDer(s.certificationRequestInfo);
|
|
7901
7931
|
s.md.update(o.getBytes());
|
|
7902
7932
|
}
|
|
7903
|
-
var
|
|
7904
|
-
return s.subject.getField = function(
|
|
7905
|
-
return Ht(s.subject,
|
|
7906
|
-
}, s.subject.addField = function(
|
|
7907
|
-
ct([
|
|
7933
|
+
var l = X.md.sha1.create();
|
|
7934
|
+
return s.subject.getField = function(f) {
|
|
7935
|
+
return Ht(s.subject, f);
|
|
7936
|
+
}, s.subject.addField = function(f) {
|
|
7937
|
+
ct([f]), s.subject.attributes.push(f);
|
|
7908
7938
|
}, s.subject.attributes = K.RDNAttributesAsArray(
|
|
7909
7939
|
a.certificationRequestInfoSubject,
|
|
7910
|
-
|
|
7911
|
-
), s.subject.hash =
|
|
7912
|
-
return Ht(s,
|
|
7913
|
-
}, s.addAttribute = function(
|
|
7914
|
-
ct([
|
|
7940
|
+
l
|
|
7941
|
+
), s.subject.hash = l.digest().toHex(), s.publicKey = K.publicKeyFromAsn1(a.subjectPublicKeyInfo), s.getAttribute = function(f) {
|
|
7942
|
+
return Ht(s, f);
|
|
7943
|
+
}, s.addAttribute = function(f) {
|
|
7944
|
+
ct([f]), s.attributes.push(f);
|
|
7915
7945
|
}, s.attributes = K.CRIAttributesAsArray(
|
|
7916
7946
|
a.certificationRequestInfoAttributes || []
|
|
7917
7947
|
), s;
|
|
@@ -8049,17 +8079,17 @@ function Xi(e, t) {
|
|
|
8049
8079
|
[]
|
|
8050
8080
|
);
|
|
8051
8081
|
var o = e.value.value;
|
|
8052
|
-
for (var
|
|
8053
|
-
e[
|
|
8082
|
+
for (var l in e)
|
|
8083
|
+
e[l] === !0 && (l in oe ? o.push(d.create(
|
|
8054
8084
|
d.Class.UNIVERSAL,
|
|
8055
8085
|
d.Type.OID,
|
|
8056
8086
|
!1,
|
|
8057
|
-
d.oidToDer(oe[
|
|
8058
|
-
)) :
|
|
8087
|
+
d.oidToDer(oe[l]).getBytes()
|
|
8088
|
+
)) : l.indexOf(".") !== -1 && o.push(d.create(
|
|
8059
8089
|
d.Class.UNIVERSAL,
|
|
8060
8090
|
d.Type.OID,
|
|
8061
8091
|
!1,
|
|
8062
|
-
d.oidToDer(
|
|
8092
|
+
d.oidToDer(l).getBytes()
|
|
8063
8093
|
)));
|
|
8064
8094
|
} else if (e.name === "nsCertType") {
|
|
8065
8095
|
var r = 0, i = 0;
|
|
@@ -8073,20 +8103,20 @@ function Xi(e, t) {
|
|
|
8073
8103
|
);
|
|
8074
8104
|
} else if (e.name === "subjectAltName" || e.name === "issuerAltName") {
|
|
8075
8105
|
e.value = d.create(d.Class.UNIVERSAL, d.Type.SEQUENCE, !0, []);
|
|
8076
|
-
for (var
|
|
8077
|
-
|
|
8078
|
-
var s =
|
|
8079
|
-
if (
|
|
8080
|
-
if (s = X.util.bytesFromIP(
|
|
8106
|
+
for (var f, u = 0; u < e.altNames.length; ++u) {
|
|
8107
|
+
f = e.altNames[u];
|
|
8108
|
+
var s = f.value;
|
|
8109
|
+
if (f.type === 7 && f.ip) {
|
|
8110
|
+
if (s = X.util.bytesFromIP(f.ip), s === null) {
|
|
8081
8111
|
var a = new Error(
|
|
8082
8112
|
'Extension "ip" value is not a valid IPv4 or IPv6 address.'
|
|
8083
8113
|
);
|
|
8084
8114
|
throw a.extension = e, a;
|
|
8085
8115
|
}
|
|
8086
|
-
} else
|
|
8116
|
+
} else f.type === 8 && (f.oid ? s = d.oidToDer(d.oidToDer(f.oid)) : s = d.oidToDer(s));
|
|
8087
8117
|
e.value.value.push(d.create(
|
|
8088
8118
|
d.Class.CONTEXT_SPECIFIC,
|
|
8089
|
-
|
|
8119
|
+
f.type,
|
|
8090
8120
|
!1,
|
|
8091
8121
|
s
|
|
8092
8122
|
));
|
|
@@ -8145,20 +8175,20 @@ function Xi(e, t) {
|
|
|
8145
8175
|
0,
|
|
8146
8176
|
!0,
|
|
8147
8177
|
[]
|
|
8148
|
-
),
|
|
8149
|
-
|
|
8150
|
-
var s =
|
|
8151
|
-
if (
|
|
8152
|
-
if (s = X.util.bytesFromIP(
|
|
8178
|
+
), f, u = 0; u < e.altNames.length; ++u) {
|
|
8179
|
+
f = e.altNames[u];
|
|
8180
|
+
var s = f.value;
|
|
8181
|
+
if (f.type === 7 && f.ip) {
|
|
8182
|
+
if (s = X.util.bytesFromIP(f.ip), s === null) {
|
|
8153
8183
|
var a = new Error(
|
|
8154
8184
|
'Extension "ip" value is not a valid IPv4 or IPv6 address.'
|
|
8155
8185
|
);
|
|
8156
8186
|
throw a.extension = e, a;
|
|
8157
8187
|
}
|
|
8158
|
-
} else
|
|
8188
|
+
} else f.type === 8 && (f.oid ? s = d.oidToDer(d.oidToDer(f.oid)) : s = d.oidToDer(s));
|
|
8159
8189
|
b.value.push(d.create(
|
|
8160
8190
|
d.Class.CONTEXT_SPECIFIC,
|
|
8161
|
-
|
|
8191
|
+
f.type,
|
|
8162
8192
|
!1,
|
|
8163
8193
|
s
|
|
8164
8194
|
));
|
|
@@ -8229,7 +8259,7 @@ function d0(e) {
|
|
|
8229
8259
|
"valueTagClass" in i && (s = i.valueTagClass), s === d.Type.UTF8 && (n = X.util.encodeUtf8(n));
|
|
8230
8260
|
var o = !1;
|
|
8231
8261
|
"valueConstructed" in i && (o = i.valueConstructed);
|
|
8232
|
-
var
|
|
8262
|
+
var l = d.create(d.Class.UNIVERSAL, d.Type.SEQUENCE, !0, [
|
|
8233
8263
|
// AttributeType
|
|
8234
8264
|
d.create(
|
|
8235
8265
|
d.Class.UNIVERSAL,
|
|
@@ -8247,12 +8277,12 @@ function d0(e) {
|
|
|
8247
8277
|
)
|
|
8248
8278
|
])
|
|
8249
8279
|
]);
|
|
8250
|
-
t.value.push(
|
|
8280
|
+
t.value.push(l);
|
|
8251
8281
|
}
|
|
8252
8282
|
return t;
|
|
8253
8283
|
}
|
|
8254
8284
|
var y0 = /* @__PURE__ */ new Date("1950-01-01T00:00:00Z"), g0 = /* @__PURE__ */ new Date("2050-01-01T00:00:00Z");
|
|
8255
|
-
function
|
|
8285
|
+
function fi(e) {
|
|
8256
8286
|
return e >= y0 && e < g0 ? d.create(
|
|
8257
8287
|
d.Class.UNIVERSAL,
|
|
8258
8288
|
d.Type.UTCTIME,
|
|
@@ -8266,7 +8296,7 @@ function li(e) {
|
|
|
8266
8296
|
);
|
|
8267
8297
|
}
|
|
8268
8298
|
K.getTBSCertificate = function(e) {
|
|
8269
|
-
var t =
|
|
8299
|
+
var t = fi(e.validity.notBefore), a = fi(e.validity.notAfter), r = d.create(d.Class.UNIVERSAL, d.Type.SEQUENCE, !0, [
|
|
8270
8300
|
// version
|
|
8271
8301
|
d.create(d.Class.CONTEXT_SPECIFIC, 0, !0, [
|
|
8272
8302
|
// integer
|
|
@@ -8455,9 +8485,9 @@ K.createCaStore = function(e) {
|
|
|
8455
8485
|
if (!o)
|
|
8456
8486
|
return !1;
|
|
8457
8487
|
X.util.isArray(o) || (o = [o]);
|
|
8458
|
-
for (var
|
|
8459
|
-
var u = d.toDer(K.certificateToAsn1(o[
|
|
8460
|
-
if (
|
|
8488
|
+
for (var l = d.toDer(K.certificateToAsn1(s)).getBytes(), f = 0; f < o.length; ++f) {
|
|
8489
|
+
var u = d.toDer(K.certificateToAsn1(o[f])).getBytes();
|
|
8490
|
+
if (l === u)
|
|
8461
8491
|
return !0;
|
|
8462
8492
|
}
|
|
8463
8493
|
return !1;
|
|
@@ -8465,26 +8495,26 @@ K.createCaStore = function(e) {
|
|
|
8465
8495
|
var s = [];
|
|
8466
8496
|
for (var o in t.certs)
|
|
8467
8497
|
if (t.certs.hasOwnProperty(o)) {
|
|
8468
|
-
var
|
|
8469
|
-
if (!X.util.isArray(
|
|
8470
|
-
s.push(
|
|
8498
|
+
var l = t.certs[o];
|
|
8499
|
+
if (!X.util.isArray(l))
|
|
8500
|
+
s.push(l);
|
|
8471
8501
|
else
|
|
8472
|
-
for (var
|
|
8473
|
-
s.push(f
|
|
8502
|
+
for (var f = 0; f < l.length; ++f)
|
|
8503
|
+
s.push(l[f]);
|
|
8474
8504
|
}
|
|
8475
8505
|
return s;
|
|
8476
8506
|
}, t.removeCertificate = function(s) {
|
|
8477
8507
|
var o;
|
|
8478
8508
|
if (typeof s == "string" && (s = X.pki.certificateFromPem(s)), r(s.subject), !t.hasCertificate(s))
|
|
8479
8509
|
return null;
|
|
8480
|
-
var
|
|
8481
|
-
if (!X.util.isArray(
|
|
8510
|
+
var l = a(s.subject);
|
|
8511
|
+
if (!X.util.isArray(l))
|
|
8482
8512
|
return o = t.certs[s.subject.hash], delete t.certs[s.subject.hash], o;
|
|
8483
|
-
for (var
|
|
8484
|
-
var p = d.toDer(K.certificateToAsn1(
|
|
8485
|
-
|
|
8513
|
+
for (var f = d.toDer(K.certificateToAsn1(s)).getBytes(), u = 0; u < l.length; ++u) {
|
|
8514
|
+
var p = d.toDer(K.certificateToAsn1(l[u])).getBytes();
|
|
8515
|
+
f === p && (o = l[u], l.splice(u, 1));
|
|
8486
8516
|
}
|
|
8487
|
-
return
|
|
8517
|
+
return l.length === 0 && delete t.certs[s.subject.hash], o;
|
|
8488
8518
|
};
|
|
8489
8519
|
function a(s) {
|
|
8490
8520
|
return r(s), t.certs[s.hash] || null;
|
|
@@ -8516,23 +8546,23 @@ K.verifyCertificateChain = function(e, t, a) {
|
|
|
8516
8546
|
typeof i > "u" && (i = /* @__PURE__ */ new Date());
|
|
8517
8547
|
var n = !0, s = null, o = 0;
|
|
8518
8548
|
do {
|
|
8519
|
-
var
|
|
8520
|
-
if (i && (i <
|
|
8549
|
+
var l = t.shift(), f = null, u = !1;
|
|
8550
|
+
if (i && (i < l.validity.notBefore || i > l.validity.notAfter) && (s = {
|
|
8521
8551
|
message: "Certificate is not valid yet or has expired.",
|
|
8522
8552
|
error: K.certificateError.certificate_expired,
|
|
8523
|
-
notBefore:
|
|
8524
|
-
notAfter:
|
|
8553
|
+
notBefore: l.validity.notBefore,
|
|
8554
|
+
notAfter: l.validity.notAfter,
|
|
8525
8555
|
// TODO: we might want to reconsider renaming 'now' to
|
|
8526
8556
|
// 'validityCheckDate' should this API be changed in the future.
|
|
8527
8557
|
now: i
|
|
8528
8558
|
}), s === null) {
|
|
8529
|
-
if (
|
|
8530
|
-
var p =
|
|
8559
|
+
if (f = t[0] || e.getIssuer(l), f === null && l.isIssuer(l) && (u = !0, f = l), f) {
|
|
8560
|
+
var p = f;
|
|
8531
8561
|
X.util.isArray(p) || (p = [p]);
|
|
8532
8562
|
for (var m = !1; !m && p.length > 0; ) {
|
|
8533
|
-
|
|
8563
|
+
f = p.shift();
|
|
8534
8564
|
try {
|
|
8535
|
-
m =
|
|
8565
|
+
m = f.verify(l);
|
|
8536
8566
|
} catch {
|
|
8537
8567
|
}
|
|
8538
8568
|
}
|
|
@@ -8541,34 +8571,34 @@ K.verifyCertificateChain = function(e, t, a) {
|
|
|
8541
8571
|
error: K.certificateError.bad_certificate
|
|
8542
8572
|
});
|
|
8543
8573
|
}
|
|
8544
|
-
s === null && (!
|
|
8574
|
+
s === null && (!f || u) && !e.hasCertificate(l) && (s = {
|
|
8545
8575
|
message: "Certificate is not trusted.",
|
|
8546
8576
|
error: K.certificateError.unknown_ca
|
|
8547
8577
|
});
|
|
8548
8578
|
}
|
|
8549
|
-
if (s === null &&
|
|
8579
|
+
if (s === null && f && !l.isIssuer(f) && (s = {
|
|
8550
8580
|
message: "Certificate issuer is invalid.",
|
|
8551
8581
|
error: K.certificateError.bad_certificate
|
|
8552
8582
|
}), s === null)
|
|
8553
8583
|
for (var S = {
|
|
8554
8584
|
keyUsage: !0,
|
|
8555
8585
|
basicConstraints: !0
|
|
8556
|
-
}, C = 0; s === null && C <
|
|
8557
|
-
var A =
|
|
8586
|
+
}, C = 0; s === null && C < l.extensions.length; ++C) {
|
|
8587
|
+
var A = l.extensions[C];
|
|
8558
8588
|
A.critical && !(A.name in S) && (s = {
|
|
8559
8589
|
message: "Certificate has an unsupported critical extension.",
|
|
8560
8590
|
error: K.certificateError.unsupported_certificate
|
|
8561
8591
|
});
|
|
8562
8592
|
}
|
|
8563
|
-
if (s === null && (!n || t.length === 0 && (!
|
|
8564
|
-
var b =
|
|
8565
|
-
if (
|
|
8593
|
+
if (s === null && (!n || t.length === 0 && (!f || u))) {
|
|
8594
|
+
var b = l.getExtension("basicConstraints"), _ = l.getExtension("keyUsage");
|
|
8595
|
+
if (_ !== null && (!_.keyCertSign || b === null) && (s = {
|
|
8566
8596
|
message: "Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",
|
|
8567
8597
|
error: K.certificateError.bad_certificate
|
|
8568
8598
|
}), s === null && b !== null && !b.cA && (s = {
|
|
8569
8599
|
message: "Certificate basicConstraints indicates the certificate is not a CA.",
|
|
8570
8600
|
error: K.certificateError.bad_certificate
|
|
8571
|
-
}), s === null &&
|
|
8601
|
+
}), s === null && _ !== null && "pathLenConstraint" in b) {
|
|
8572
8602
|
var U = o - 1;
|
|
8573
8603
|
U > b.pathLenConstraint && (s = {
|
|
8574
8604
|
message: "Certificate basicConstraints pathLenConstraint violated.",
|
|
@@ -8576,14 +8606,14 @@ K.verifyCertificateChain = function(e, t, a) {
|
|
|
8576
8606
|
});
|
|
8577
8607
|
}
|
|
8578
8608
|
}
|
|
8579
|
-
var D = s === null ? !0 : s.error,
|
|
8580
|
-
if (
|
|
8609
|
+
var D = s === null ? !0 : s.error, G = a.verify ? a.verify(D, o, r) : D;
|
|
8610
|
+
if (G === !0)
|
|
8581
8611
|
s = null;
|
|
8582
8612
|
else
|
|
8583
8613
|
throw D === !0 && (s = {
|
|
8584
8614
|
message: "The application rejected the certificate.",
|
|
8585
8615
|
error: K.certificateError.bad_certificate
|
|
8586
|
-
}), (
|
|
8616
|
+
}), (G || G === 0) && (typeof G == "object" && !X.util.isArray(G) ? (G.message && (s.message = G.message), G.error && (s.error = G.error)) : typeof G == "string" && (s.error = G)), s;
|
|
8587
8617
|
n = !1, ++o;
|
|
8588
8618
|
} while (t.length > 0);
|
|
8589
8619
|
return !0;
|
|
@@ -8779,23 +8809,23 @@ Er.pkcs12FromAsn1 = function(e, t, a) {
|
|
|
8779
8809
|
* bag type.
|
|
8780
8810
|
*/
|
|
8781
8811
|
getBags: function(b) {
|
|
8782
|
-
var
|
|
8783
|
-
return "localKeyId" in b ? U = b.localKeyId : "localKeyIdHex" in b && (U = me.util.hexToBytes(b.localKeyIdHex)), U === void 0 && !("friendlyName" in b) && "bagType" in b && (
|
|
8812
|
+
var _ = {}, U;
|
|
8813
|
+
return "localKeyId" in b ? U = b.localKeyId : "localKeyIdHex" in b && (U = me.util.hexToBytes(b.localKeyIdHex)), U === void 0 && !("friendlyName" in b) && "bagType" in b && (_[b.bagType] = pr(
|
|
8784
8814
|
s.safeContents,
|
|
8785
8815
|
null,
|
|
8786
8816
|
null,
|
|
8787
8817
|
b.bagType
|
|
8788
|
-
)), U !== void 0 && (
|
|
8818
|
+
)), U !== void 0 && (_.localKeyId = pr(
|
|
8789
8819
|
s.safeContents,
|
|
8790
8820
|
"localKeyId",
|
|
8791
8821
|
U,
|
|
8792
8822
|
b.bagType
|
|
8793
|
-
)), "friendlyName" in b && (
|
|
8823
|
+
)), "friendlyName" in b && (_.friendlyName = pr(
|
|
8794
8824
|
s.safeContents,
|
|
8795
8825
|
"friendlyName",
|
|
8796
8826
|
b.friendlyName,
|
|
8797
8827
|
b.bagType
|
|
8798
|
-
)),
|
|
8828
|
+
)), _;
|
|
8799
8829
|
},
|
|
8800
8830
|
/**
|
|
8801
8831
|
* DEPRECATED: use getBags() instead.
|
|
@@ -8807,12 +8837,12 @@ Er.pkcs12FromAsn1 = function(e, t, a) {
|
|
|
8807
8837
|
*
|
|
8808
8838
|
* @return an array of bags with matching friendlyName attribute.
|
|
8809
8839
|
*/
|
|
8810
|
-
getBagsByFriendlyName: function(b,
|
|
8840
|
+
getBagsByFriendlyName: function(b, _) {
|
|
8811
8841
|
return pr(
|
|
8812
8842
|
s.safeContents,
|
|
8813
8843
|
"friendlyName",
|
|
8814
8844
|
b,
|
|
8815
|
-
|
|
8845
|
+
_
|
|
8816
8846
|
);
|
|
8817
8847
|
},
|
|
8818
8848
|
/**
|
|
@@ -8825,12 +8855,12 @@ Er.pkcs12FromAsn1 = function(e, t, a) {
|
|
|
8825
8855
|
*
|
|
8826
8856
|
* @return an array of bags with matching localKeyId attribute.
|
|
8827
8857
|
*/
|
|
8828
|
-
getBagsByLocalKeyId: function(b,
|
|
8858
|
+
getBagsByLocalKeyId: function(b, _) {
|
|
8829
8859
|
return pr(
|
|
8830
8860
|
s.safeContents,
|
|
8831
8861
|
"localKeyId",
|
|
8832
8862
|
b,
|
|
8833
|
-
|
|
8863
|
+
_
|
|
8834
8864
|
);
|
|
8835
8865
|
}
|
|
8836
8866
|
};
|
|
@@ -8846,39 +8876,40 @@ Er.pkcs12FromAsn1 = function(e, t, a) {
|
|
|
8846
8876
|
if (o.tagClass !== x.Class.UNIVERSAL || o.type !== x.Type.OCTETSTRING)
|
|
8847
8877
|
throw new Error("PKCS#12 authSafe content data is not an OCTET STRING.");
|
|
8848
8878
|
if (o = Va(o), r.mac) {
|
|
8849
|
-
var
|
|
8879
|
+
var l = null, f = 0, u = x.derToOid(r.macAlgorithm);
|
|
8850
8880
|
switch (u) {
|
|
8851
8881
|
case re.oids.sha1:
|
|
8852
|
-
|
|
8882
|
+
l = me.md.sha1.create(), f = 20;
|
|
8853
8883
|
break;
|
|
8854
8884
|
case re.oids.sha256:
|
|
8855
|
-
|
|
8885
|
+
l = me.md.sha256.create(), f = 32;
|
|
8856
8886
|
break;
|
|
8857
8887
|
case re.oids.sha384:
|
|
8858
|
-
|
|
8888
|
+
l = me.md.sha384.create(), f = 48;
|
|
8859
8889
|
break;
|
|
8860
8890
|
case re.oids.sha512:
|
|
8861
|
-
|
|
8891
|
+
l = me.md.sha512.create(), f = 64;
|
|
8862
8892
|
break;
|
|
8863
8893
|
case re.oids.md5:
|
|
8864
|
-
|
|
8894
|
+
l = me.md.md5.create(), f = 16;
|
|
8865
8895
|
break;
|
|
8866
8896
|
}
|
|
8867
|
-
if (
|
|
8897
|
+
if (l === null)
|
|
8868
8898
|
throw new Error("PKCS#12 uses unsupported MAC algorithm: " + u);
|
|
8869
8899
|
var p = new me.util.ByteBuffer(r.macSalt), m = "macIterations" in r ? parseInt(me.util.bytesToHex(r.macIterations), 16) : 1, S = Er.generateKey(
|
|
8870
8900
|
a,
|
|
8871
8901
|
p,
|
|
8872
8902
|
3,
|
|
8873
8903
|
m,
|
|
8874
|
-
|
|
8875
|
-
|
|
8904
|
+
f,
|
|
8905
|
+
l
|
|
8876
8906
|
), C = me.hmac.create();
|
|
8877
|
-
C.start(
|
|
8907
|
+
C.start(l, S), C.update(o.value);
|
|
8878
8908
|
var A = C.getMac();
|
|
8879
8909
|
if (A.getBytes() !== r.macDigest)
|
|
8880
8910
|
throw new Error("PKCS#12 MAC could not be verified. Invalid password?");
|
|
8881
|
-
}
|
|
8911
|
+
} else if (Array.isArray(e.value) && e.value.length > 2)
|
|
8912
|
+
throw new Error("Invalid PKCS#12. macData field present but MAC was not validated.");
|
|
8882
8913
|
return x0(s, o.value, t, a), s;
|
|
8883
8914
|
};
|
|
8884
8915
|
function Va(e) {
|
|
@@ -8895,10 +8926,10 @@ function x0(e, t, a, r) {
|
|
|
8895
8926
|
for (var i = 0; i < t.value.length; i++) {
|
|
8896
8927
|
var n = t.value[i], s = {}, o = [];
|
|
8897
8928
|
if (!x.validate(n, Wi, s, o)) {
|
|
8898
|
-
var
|
|
8899
|
-
throw
|
|
8929
|
+
var l = new Error("Cannot read ContentInfo.");
|
|
8930
|
+
throw l.errors = o, l;
|
|
8900
8931
|
}
|
|
8901
|
-
var
|
|
8932
|
+
var f = {
|
|
8902
8933
|
encrypted: !1
|
|
8903
8934
|
}, u = null, p = s.content.value[0];
|
|
8904
8935
|
switch (x.derToOid(s.contentType)) {
|
|
@@ -8908,13 +8939,13 @@ function x0(e, t, a, r) {
|
|
|
8908
8939
|
u = Va(p).value;
|
|
8909
8940
|
break;
|
|
8910
8941
|
case re.oids.encryptedData:
|
|
8911
|
-
u = S0(p, r),
|
|
8942
|
+
u = S0(p, r), f.encrypted = !0;
|
|
8912
8943
|
break;
|
|
8913
8944
|
default:
|
|
8914
|
-
var
|
|
8915
|
-
throw
|
|
8945
|
+
var l = new Error("Unsupported PKCS#12 contentType.");
|
|
8946
|
+
throw l.contentType = x.derToOid(s.contentType), l;
|
|
8916
8947
|
}
|
|
8917
|
-
|
|
8948
|
+
f.safeBags = T0(u, a, r), e.safeContents.push(f);
|
|
8918
8949
|
}
|
|
8919
8950
|
}
|
|
8920
8951
|
function S0(e, t) {
|
|
@@ -8936,8 +8967,8 @@ function S0(e, t) {
|
|
|
8936
8967
|
throw i.oid = n, i;
|
|
8937
8968
|
}
|
|
8938
8969
|
n = x.derToOid(a.encAlgorithm);
|
|
8939
|
-
var s = re.pbe.getCipher(n, a.encParameter, t), o = Va(a.encryptedContentAsn1),
|
|
8940
|
-
if (s.update(
|
|
8970
|
+
var s = re.pbe.getCipher(n, a.encParameter, t), o = Va(a.encryptedContentAsn1), l = me.util.createBuffer(o.value);
|
|
8971
|
+
if (s.update(l), !s.finish())
|
|
8941
8972
|
throw new Error("Failed to decrypt PKCS#12 SafeContents.");
|
|
8942
8973
|
return s.output.getBytes();
|
|
8943
8974
|
}
|
|
@@ -8951,16 +8982,16 @@ function T0(e, t, a) {
|
|
|
8951
8982
|
for (var r = [], i = 0; i < e.value.length; i++) {
|
|
8952
8983
|
var n = e.value[i], s = {}, o = [];
|
|
8953
8984
|
if (!x.validate(n, m0, s, o)) {
|
|
8954
|
-
var
|
|
8955
|
-
throw
|
|
8985
|
+
var l = new Error("Cannot read SafeBag.");
|
|
8986
|
+
throw l.errors = o, l;
|
|
8956
8987
|
}
|
|
8957
|
-
var
|
|
8988
|
+
var f = {
|
|
8958
8989
|
type: x.derToOid(s.bagId),
|
|
8959
8990
|
attributes: I0(s.bagAttributes)
|
|
8960
8991
|
};
|
|
8961
|
-
r.push(
|
|
8992
|
+
r.push(f);
|
|
8962
8993
|
var u, p, m = s.bagValue.value[0];
|
|
8963
|
-
switch (
|
|
8994
|
+
switch (f.type) {
|
|
8964
8995
|
case re.oids.pkcs8ShroudedKeyBag:
|
|
8965
8996
|
if (m = re.decryptPrivateKeyInfo(m, a), m === null)
|
|
8966
8997
|
throw new Error(
|
|
@@ -8968,9 +8999,9 @@ function T0(e, t, a) {
|
|
|
8968
8999
|
);
|
|
8969
9000
|
case re.oids.keyBag:
|
|
8970
9001
|
try {
|
|
8971
|
-
|
|
9002
|
+
f.key = re.privateKeyFromAsn1(m);
|
|
8972
9003
|
} catch {
|
|
8973
|
-
|
|
9004
|
+
f.key = null, f.asn1 = m;
|
|
8974
9005
|
}
|
|
8975
9006
|
continue;
|
|
8976
9007
|
case re.oids.certBag:
|
|
@@ -8983,19 +9014,19 @@ function T0(e, t, a) {
|
|
|
8983
9014
|
}
|
|
8984
9015
|
var A = x.fromDer(s.cert, t);
|
|
8985
9016
|
try {
|
|
8986
|
-
|
|
9017
|
+
f.cert = re.certificateFromAsn1(A, !0);
|
|
8987
9018
|
} catch {
|
|
8988
|
-
|
|
9019
|
+
f.cert = null, f.asn1 = A;
|
|
8989
9020
|
}
|
|
8990
9021
|
};
|
|
8991
9022
|
break;
|
|
8992
9023
|
default:
|
|
8993
|
-
var
|
|
8994
|
-
throw
|
|
9024
|
+
var l = new Error("Unsupported PKCS#12 SafeBag type.");
|
|
9025
|
+
throw l.oid = f.type, l;
|
|
8995
9026
|
}
|
|
8996
9027
|
if (u !== void 0 && !x.validate(m, u, s, o)) {
|
|
8997
|
-
var
|
|
8998
|
-
throw
|
|
9028
|
+
var l = new Error("Cannot read PKCS#12 " + u.name);
|
|
9029
|
+
throw l.errors = o, l;
|
|
8999
9030
|
}
|
|
9000
9031
|
p();
|
|
9001
9032
|
}
|
|
@@ -9032,8 +9063,8 @@ Er.toPkcs12Asn1 = function(e, t, a, r) {
|
|
|
9032
9063
|
o.update(x.toDer(re.certificateToAsn1(s)).getBytes()), i = o.digest().getBytes();
|
|
9033
9064
|
} else
|
|
9034
9065
|
i = me.random.getBytes(20);
|
|
9035
|
-
var
|
|
9036
|
-
i !== null &&
|
|
9066
|
+
var l = [];
|
|
9067
|
+
i !== null && l.push(
|
|
9037
9068
|
// localKeyID
|
|
9038
9069
|
x.create(x.Class.UNIVERSAL, x.Type.SEQUENCE, !0, [
|
|
9039
9070
|
// attrId
|
|
@@ -9053,7 +9084,7 @@ Er.toPkcs12Asn1 = function(e, t, a, r) {
|
|
|
9053
9084
|
)
|
|
9054
9085
|
])
|
|
9055
9086
|
])
|
|
9056
|
-
), "friendlyName" in r &&
|
|
9087
|
+
), "friendlyName" in r && l.push(
|
|
9057
9088
|
// friendlyName
|
|
9058
9089
|
x.create(x.Class.UNIVERSAL, x.Type.SEQUENCE, !0, [
|
|
9059
9090
|
// attrId
|
|
@@ -9073,8 +9104,8 @@ Er.toPkcs12Asn1 = function(e, t, a, r) {
|
|
|
9073
9104
|
)
|
|
9074
9105
|
])
|
|
9075
9106
|
])
|
|
9076
|
-
),
|
|
9077
|
-
var
|
|
9107
|
+
), l.length > 0 && (n = x.create(x.Class.UNIVERSAL, x.Type.SET, !0, l));
|
|
9108
|
+
var f = [], u = [];
|
|
9078
9109
|
t !== null && (me.util.isArray(t) ? u = t : u = [t]);
|
|
9079
9110
|
for (var p = [], m = 0; m < u.length; ++m) {
|
|
9080
9111
|
t = u[m], typeof t == "string" && (t = re.certificateFromPem(t));
|
|
@@ -9119,7 +9150,7 @@ Er.toPkcs12Asn1 = function(e, t, a, r) {
|
|
|
9119
9150
|
x.Type.SEQUENCE,
|
|
9120
9151
|
!0,
|
|
9121
9152
|
p
|
|
9122
|
-
),
|
|
9153
|
+
), _ = (
|
|
9123
9154
|
// PKCS#7 ContentInfo
|
|
9124
9155
|
x.create(x.Class.UNIVERSAL, x.Type.SEQUENCE, !0, [
|
|
9125
9156
|
// contentType
|
|
@@ -9141,7 +9172,7 @@ Er.toPkcs12Asn1 = function(e, t, a, r) {
|
|
|
9141
9172
|
])
|
|
9142
9173
|
])
|
|
9143
9174
|
);
|
|
9144
|
-
|
|
9175
|
+
f.push(_);
|
|
9145
9176
|
}
|
|
9146
9177
|
var U = null;
|
|
9147
9178
|
if (e !== null) {
|
|
@@ -9177,7 +9208,7 @@ Er.toPkcs12Asn1 = function(e, t, a, r) {
|
|
|
9177
9208
|
// bagAttributes (OPTIONAL)
|
|
9178
9209
|
n
|
|
9179
9210
|
]);
|
|
9180
|
-
var
|
|
9211
|
+
var G = x.create(x.Class.UNIVERSAL, x.Type.SEQUENCE, !0, [U]), O = (
|
|
9181
9212
|
// PKCS#7 ContentInfo
|
|
9182
9213
|
x.create(x.Class.UNIVERSAL, x.Type.SEQUENCE, !0, [
|
|
9183
9214
|
// contentType
|
|
@@ -9194,23 +9225,23 @@ Er.toPkcs12Asn1 = function(e, t, a, r) {
|
|
|
9194
9225
|
x.Class.UNIVERSAL,
|
|
9195
9226
|
x.Type.OCTETSTRING,
|
|
9196
9227
|
!1,
|
|
9197
|
-
x.toDer(
|
|
9228
|
+
x.toDer(G).getBytes()
|
|
9198
9229
|
)
|
|
9199
9230
|
])
|
|
9200
9231
|
])
|
|
9201
9232
|
);
|
|
9202
|
-
|
|
9233
|
+
f.push(O);
|
|
9203
9234
|
}
|
|
9204
9235
|
var F = x.create(
|
|
9205
9236
|
x.Class.UNIVERSAL,
|
|
9206
9237
|
x.Type.SEQUENCE,
|
|
9207
9238
|
!0,
|
|
9208
|
-
|
|
9239
|
+
f
|
|
9209
9240
|
), $;
|
|
9210
9241
|
if (r.useMac) {
|
|
9211
9242
|
var o = me.md.sha1.create(), j = new me.util.ByteBuffer(
|
|
9212
9243
|
me.random.getBytes(r.saltSize)
|
|
9213
|
-
),
|
|
9244
|
+
), le = r.count, e = Er.generateKey(a, j, 3, le, 20), he = me.hmac.create();
|
|
9214
9245
|
he.start(o, e), he.update(x.toDer(F).getBytes());
|
|
9215
9246
|
var de = he.getMac();
|
|
9216
9247
|
$ = x.create(x.Class.UNIVERSAL, x.Type.SEQUENCE, !0, [
|
|
@@ -9248,7 +9279,7 @@ Er.toPkcs12Asn1 = function(e, t, a, r) {
|
|
|
9248
9279
|
x.Class.UNIVERSAL,
|
|
9249
9280
|
x.Type.INTEGER,
|
|
9250
9281
|
!1,
|
|
9251
|
-
x.integerToDer(
|
|
9282
|
+
x.integerToDer(le).getBytes()
|
|
9252
9283
|
)
|
|
9253
9284
|
]);
|
|
9254
9285
|
}
|
|
@@ -9317,19 +9348,19 @@ or.privateKeyInfoToPem = function(e, t) {
|
|
|
9317
9348
|
return Gt.pem.encode(a, { maxline: t });
|
|
9318
9349
|
};
|
|
9319
9350
|
var k = ee, jr = function(e, t, a, r) {
|
|
9320
|
-
var i = k.util.createBuffer(), n = e.length >> 1, s = n + (e.length & 1), o = e.substr(0, s),
|
|
9351
|
+
var i = k.util.createBuffer(), n = e.length >> 1, s = n + (e.length & 1), o = e.substr(0, s), l = e.substr(n, s), f = k.util.createBuffer(), u = k.hmac.create();
|
|
9321
9352
|
a = t + a;
|
|
9322
9353
|
var p = Math.ceil(r / 16), m = Math.ceil(r / 20);
|
|
9323
9354
|
u.start("MD5", o);
|
|
9324
9355
|
var S = k.util.createBuffer();
|
|
9325
|
-
|
|
9356
|
+
f.putBytes(a);
|
|
9326
9357
|
for (var C = 0; C < p; ++C)
|
|
9327
|
-
u.start(null, null), u.update(
|
|
9328
|
-
u.start("SHA1",
|
|
9358
|
+
u.start(null, null), u.update(f.getBytes()), f.putBuffer(u.digest()), u.start(null, null), u.update(f.bytes() + a), S.putBuffer(u.digest());
|
|
9359
|
+
u.start("SHA1", l);
|
|
9329
9360
|
var A = k.util.createBuffer();
|
|
9330
|
-
|
|
9361
|
+
f.clear(), f.putBytes(a);
|
|
9331
9362
|
for (var C = 0; C < m; ++C)
|
|
9332
|
-
u.start(null, null), u.update(
|
|
9363
|
+
u.start(null, null), u.update(f.getBytes()), f.putBuffer(u.digest()), u.start(null, null), u.update(f.bytes() + a), A.putBuffer(u.digest());
|
|
9333
9364
|
return i.putBytes(k.util.xorBytes(
|
|
9334
9365
|
S.getBytes(),
|
|
9335
9366
|
A.getBytes(),
|
|
@@ -9527,10 +9558,10 @@ g.parseHelloMessage = function(e, t, a) {
|
|
|
9527
9558
|
data: nt(o, 2)
|
|
9528
9559
|
});
|
|
9529
9560
|
if (!i)
|
|
9530
|
-
for (var
|
|
9531
|
-
var
|
|
9532
|
-
if (
|
|
9533
|
-
for (var u = nt(
|
|
9561
|
+
for (var l = 0; l < r.extensions.length; ++l) {
|
|
9562
|
+
var f = r.extensions[l];
|
|
9563
|
+
if (f.type[0] === 0 && f.type[1] === 0)
|
|
9564
|
+
for (var u = nt(f.data, 2); u.length() > 0; ) {
|
|
9534
9565
|
var p = u.getByte();
|
|
9535
9566
|
if (p !== 0)
|
|
9536
9567
|
break;
|
|
@@ -9605,7 +9636,7 @@ g.handleServerHello = function(e, t, a) {
|
|
|
9605
9636
|
});
|
|
9606
9637
|
e.session.version = e.version;
|
|
9607
9638
|
var i = r.session_id.bytes();
|
|
9608
|
-
i.length > 0 && i === e.session.id ? (e.expect = $i, e.session.resuming = !0, e.session.sp.server_random = r.random.bytes()) : (e.expect =
|
|
9639
|
+
i.length > 0 && i === e.session.id ? (e.expect = $i, e.session.resuming = !0, e.session.sp.server_random = r.random.bytes()) : (e.expect = _0, e.session.resuming = !1, g.createSecurityParameters(e, r)), e.session.id = i, e.process();
|
|
9609
9640
|
}
|
|
9610
9641
|
};
|
|
9611
9642
|
g.handleClientHello = function(e, t, a) {
|
|
@@ -9659,10 +9690,10 @@ g.handleCertificate = function(e, t, a) {
|
|
|
9659
9690
|
try {
|
|
9660
9691
|
for (; i.certificate_list.length() > 0; )
|
|
9661
9692
|
n = nt(i.certificate_list, 3), s = k.asn1.fromDer(n), n = k.pki.certificateFromAsn1(s, !0), o.push(n);
|
|
9662
|
-
} catch (
|
|
9693
|
+
} catch (f) {
|
|
9663
9694
|
return e.error(e, {
|
|
9664
9695
|
message: "Could not parse certificate list.",
|
|
9665
|
-
cause:
|
|
9696
|
+
cause: f,
|
|
9666
9697
|
send: !0,
|
|
9667
9698
|
alert: {
|
|
9668
9699
|
level: g.Alert.Level.fatal,
|
|
@@ -9670,15 +9701,15 @@ g.handleCertificate = function(e, t, a) {
|
|
|
9670
9701
|
}
|
|
9671
9702
|
});
|
|
9672
9703
|
}
|
|
9673
|
-
var
|
|
9674
|
-
(
|
|
9675
|
-
message:
|
|
9704
|
+
var l = e.entity === g.ConnectionEnd.client;
|
|
9705
|
+
(l || e.verifyClient === !0) && o.length === 0 ? e.error(e, {
|
|
9706
|
+
message: l ? "No server certificate provided." : "No client certificate provided.",
|
|
9676
9707
|
send: !0,
|
|
9677
9708
|
alert: {
|
|
9678
9709
|
level: g.Alert.Level.fatal,
|
|
9679
9710
|
description: g.Alert.Description.illegal_parameter
|
|
9680
9711
|
}
|
|
9681
|
-
}) : o.length === 0 ? e.expect =
|
|
9712
|
+
}) : o.length === 0 ? e.expect = l ? li : va : (l ? e.session.serverCertificate = o[0] : e.session.clientCertificate = o[0], g.verifyCertificateChain(e, o) && (e.expect = l ? li : va)), e.process();
|
|
9682
9713
|
};
|
|
9683
9714
|
g.handleServerKeyExchange = function(e, t, a) {
|
|
9684
9715
|
if (a > 0)
|
|
@@ -9708,10 +9739,10 @@ g.handleClientKeyExchange = function(e, t, a) {
|
|
|
9708
9739
|
if (e.getPrivateKey)
|
|
9709
9740
|
try {
|
|
9710
9741
|
n = e.getPrivateKey(e, e.session.serverCertificate), n = k.pki.privateKeyFromPem(n);
|
|
9711
|
-
} catch (
|
|
9742
|
+
} catch (l) {
|
|
9712
9743
|
e.error(e, {
|
|
9713
9744
|
message: "Could not get private key.",
|
|
9714
|
-
cause:
|
|
9745
|
+
cause: l,
|
|
9715
9746
|
send: !0,
|
|
9716
9747
|
alert: {
|
|
9717
9748
|
level: g.Alert.Level.fatal,
|
|
@@ -9819,10 +9850,10 @@ g.handleServerHelloDone = function(e, t, a) {
|
|
|
9819
9850
|
type: g.ContentType.handshake,
|
|
9820
9851
|
data: g.createClientKeyExchange(e)
|
|
9821
9852
|
}), g.queue(e, t), e.expect = D0;
|
|
9822
|
-
var s = function(o,
|
|
9853
|
+
var s = function(o, l) {
|
|
9823
9854
|
o.session.certificateRequest !== null && o.session.clientCertificate !== null && g.queue(o, g.createRecord(o, {
|
|
9824
9855
|
type: g.ContentType.handshake,
|
|
9825
|
-
data: g.createCertificateVerify(o,
|
|
9856
|
+
data: g.createCertificateVerify(o, l)
|
|
9826
9857
|
})), g.queue(o, g.createRecord(o, {
|
|
9827
9858
|
type: g.ContentType.change_cipher_spec,
|
|
9828
9859
|
data: g.createChangeCipherSpec()
|
|
@@ -9855,8 +9886,8 @@ g.handleFinished = function(e, t, a) {
|
|
|
9855
9886
|
r.read += 4;
|
|
9856
9887
|
var n = t.fragment.getBytes();
|
|
9857
9888
|
r = k.util.createBuffer(), r.putBuffer(e.session.md5.digest()), r.putBuffer(e.session.sha1.digest());
|
|
9858
|
-
var s = e.entity === g.ConnectionEnd.client, o = s ? "server finished" : "client finished",
|
|
9859
|
-
if (r = u(
|
|
9889
|
+
var s = e.entity === g.ConnectionEnd.client, o = s ? "server finished" : "client finished", l = e.session.sp, f = 12, u = jr;
|
|
9890
|
+
if (r = u(l.master_secret, o, r.getBytes(), f), r.getBytes() !== n)
|
|
9860
9891
|
return e.error(e, {
|
|
9861
9892
|
message: "Invalid verify_data in Finished message.",
|
|
9862
9893
|
send: !0,
|
|
@@ -10005,7 +10036,7 @@ g.handleHeartbeat = function(e, t) {
|
|
|
10005
10036
|
}
|
|
10006
10037
|
e.process();
|
|
10007
10038
|
};
|
|
10008
|
-
var
|
|
10039
|
+
var w0 = 0, _0 = 1, li = 2, N0 = 3, R0 = 4, $i = 5, L0 = 6, U0 = 7, D0 = 8, k0 = 0, P0 = 1, va = 2, V0 = 3, Oa = 4, F0 = 5, O0 = 6, y = g.handleUnexpected, ji = g.handleChangeCipherSpec, Xe = g.handleAlert, et = g.handleHandshake, Zi = g.handleApplicationData, We = g.handleHeartbeat, Ka = [];
|
|
10009
10040
|
Ka[g.ConnectionEnd.client] = [
|
|
10010
10041
|
// CC,AL,HS,AD,HB
|
|
10011
10042
|
/*SHE*/
|
|
@@ -10218,12 +10249,12 @@ g.createClientHello = function(e) {
|
|
|
10218
10249
|
n.putByte(g.CompressionMethod.none);
|
|
10219
10250
|
var s = n.length(), o = k.util.createBuffer();
|
|
10220
10251
|
if (e.virtualHost) {
|
|
10221
|
-
var f = k.util.createBuffer();
|
|
10222
|
-
f.putByte(0), f.putByte(0);
|
|
10223
10252
|
var l = k.util.createBuffer();
|
|
10224
|
-
l.putByte(0),
|
|
10253
|
+
l.putByte(0), l.putByte(0);
|
|
10254
|
+
var f = k.util.createBuffer();
|
|
10255
|
+
f.putByte(0), ut(f, 2, k.util.createBuffer(e.virtualHost));
|
|
10225
10256
|
var u = k.util.createBuffer();
|
|
10226
|
-
ut(u, 2,
|
|
10257
|
+
ut(u, 2, f), ut(l, 2, u), o.putBuffer(l);
|
|
10227
10258
|
}
|
|
10228
10259
|
var p = o.length();
|
|
10229
10260
|
p > 0 && (p += 2);
|
|
@@ -10256,15 +10287,15 @@ g.createCertificate = function(e) {
|
|
|
10256
10287
|
for (var n = null, s = 0; s < a.length; ++s) {
|
|
10257
10288
|
var o = k.pem.decode(a[s])[0];
|
|
10258
10289
|
if (o.type !== "CERTIFICATE" && o.type !== "X509 CERTIFICATE" && o.type !== "TRUSTED CERTIFICATE") {
|
|
10259
|
-
var
|
|
10260
|
-
throw
|
|
10290
|
+
var l = new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');
|
|
10291
|
+
throw l.headerType = o.type, l;
|
|
10261
10292
|
}
|
|
10262
10293
|
if (o.procType && o.procType.type === "ENCRYPTED")
|
|
10263
10294
|
throw new Error("Could not convert certificate from PEM; PEM is encrypted.");
|
|
10264
|
-
var
|
|
10265
|
-
n === null && (n = k.asn1.fromDer(
|
|
10295
|
+
var f = k.util.createBuffer(o.body);
|
|
10296
|
+
n === null && (n = k.asn1.fromDer(f.bytes(), !1));
|
|
10266
10297
|
var u = k.util.createBuffer();
|
|
10267
|
-
ut(u, 3,
|
|
10298
|
+
ut(u, 3, f), i.putBuffer(u);
|
|
10268
10299
|
}
|
|
10269
10300
|
a = k.pki.certificateFromAsn1(n), t ? e.session.clientCertificate = a : e.session.serverCertificate = a;
|
|
10270
10301
|
} catch (S) {
|
|
@@ -10335,8 +10366,8 @@ g.createCertificateRequest = function(e) {
|
|
|
10335
10366
|
var i = e.caStore.certs[r], n = k.pki.distinguishedNameToAsn1(i.subject), s = k.asn1.toDer(n);
|
|
10336
10367
|
a.putInt16(s.length()), a.putBuffer(s);
|
|
10337
10368
|
}
|
|
10338
|
-
var o = 1 + t.length() + 2 + a.length(),
|
|
10339
|
-
return
|
|
10369
|
+
var o = 1 + t.length() + 2 + a.length(), l = k.util.createBuffer();
|
|
10370
|
+
return l.putByte(g.HandshakeType.certificate_request), l.putInt24(o), ut(l, 1, t), ut(l, 2, a), l;
|
|
10340
10371
|
};
|
|
10341
10372
|
g.createServerHelloDone = function(e) {
|
|
10342
10373
|
var t = k.util.createBuffer();
|
|
@@ -10440,18 +10471,18 @@ g.verifyCertificateChain = function(e, t) {
|
|
|
10440
10471
|
for (var r in e.verifyOptions)
|
|
10441
10472
|
a[r] = e.verifyOptions[r];
|
|
10442
10473
|
a.verify = function(n, s, o) {
|
|
10443
|
-
var
|
|
10444
|
-
if (
|
|
10445
|
-
if (typeof
|
|
10474
|
+
var l = ia(n), f = e.verify(e, n, s, o);
|
|
10475
|
+
if (f !== !0) {
|
|
10476
|
+
if (typeof f == "object" && !k.util.isArray(f)) {
|
|
10446
10477
|
var u = new Error("The application rejected the certificate.");
|
|
10447
10478
|
throw u.send = !0, u.alert = {
|
|
10448
10479
|
level: g.Alert.Level.fatal,
|
|
10449
10480
|
description: g.Alert.Description.bad_certificate
|
|
10450
|
-
},
|
|
10481
|
+
}, f.message && (u.message = f.message), f.alert && (u.alert.description = f.alert), u;
|
|
10451
10482
|
}
|
|
10452
|
-
|
|
10483
|
+
f !== n && (f = q0(f));
|
|
10453
10484
|
}
|
|
10454
|
-
return
|
|
10485
|
+
return f;
|
|
10455
10486
|
}, k.pki.verifyCertificateChain(e.caStore, t, a);
|
|
10456
10487
|
} catch (n) {
|
|
10457
10488
|
var i = n;
|
|
@@ -10543,12 +10574,12 @@ g.createConnection = function(e) {
|
|
|
10543
10574
|
s.version = { major: g.Version.major, minor: g.Version.minor }, s.record = null, s.session = null, s.peerCertificate = null, s.state = {
|
|
10544
10575
|
pending: null,
|
|
10545
10576
|
current: null
|
|
10546
|
-
}, s.expect = s.entity === g.ConnectionEnd.client ?
|
|
10577
|
+
}, s.expect = s.entity === g.ConnectionEnd.client ? w0 : k0, s.fragmented = null, s.records = [], s.open = !1, s.handshakes = 0, s.handshaking = !1, s.isConnected = !1, s.fail = !(u || typeof u > "u"), s.input.clear(), s.tlsData.clear(), s.data.clear(), s.state.current = g.createConnectionState(s);
|
|
10547
10578
|
}, s.reset();
|
|
10548
10579
|
var o = function(u, p) {
|
|
10549
10580
|
var m = p.type - g.ContentType.change_cipher_spec, S = Ka[u.entity][u.expect];
|
|
10550
10581
|
m in S ? S[m](u, p) : g.handleUnexpected(u, p);
|
|
10551
|
-
},
|
|
10582
|
+
}, l = function(u) {
|
|
10552
10583
|
var p = 0, m = u.input, S = m.length();
|
|
10553
10584
|
if (S < 5)
|
|
10554
10585
|
p = 5 - S;
|
|
@@ -10574,7 +10605,7 @@ g.createConnection = function(e) {
|
|
|
10574
10605
|
});
|
|
10575
10606
|
}
|
|
10576
10607
|
return p;
|
|
10577
|
-
},
|
|
10608
|
+
}, f = function(u) {
|
|
10578
10609
|
var p = 0, m = u.input, S = m.length();
|
|
10579
10610
|
if (S < u.record.length)
|
|
10580
10611
|
p = u.record.length - S;
|
|
@@ -10624,7 +10655,7 @@ g.createConnection = function(e) {
|
|
|
10624
10655
|
}
|
|
10625
10656
|
}, s.process = function(u) {
|
|
10626
10657
|
var p = 0;
|
|
10627
|
-
return u && s.input.putBytes(u), s.fail || (s.record !== null && s.record.ready && s.record.fragment.isEmpty() && (s.record = null), s.record === null && (p =
|
|
10658
|
+
return u && s.input.putBytes(u), s.fail || (s.record !== null && s.record.ready && s.record.fragment.isEmpty() && (s.record = null), s.record === null && (p = l(s)), !s.fail && s.record !== null && !s.record.ready && (p = f(s)), !s.fail && s.record !== null && s.record.ready && o(s, s.record)), p;
|
|
10628
10659
|
}, s.prepare = function(u) {
|
|
10629
10660
|
return g.queue(s, g.createRecord(s, {
|
|
10630
10661
|
type: g.ContentType.application_data,
|
|
@@ -10721,8 +10752,8 @@ function X0(e, t) {
|
|
|
10721
10752
|
i.start({ iv: r }), i.update(e.fragment), a = i.finish(Y0);
|
|
10722
10753
|
var n = t.macLength, s = Mt.random.getBytesSync(n), o = i.output.length();
|
|
10723
10754
|
o >= n ? (e.fragment = i.output.getBytes(o - n), s = i.output.getBytes(n)) : e.fragment = i.output.getBytes(), e.fragment = Mt.util.createBuffer(e.fragment), e.length = e.fragment.length();
|
|
10724
|
-
var
|
|
10725
|
-
return t.updateSequenceNumber(), a = W0(t.macKey, s,
|
|
10755
|
+
var l = t.macFunction(t.macKey, t.sequenceNumber, e);
|
|
10756
|
+
return t.updateSequenceNumber(), a = W0(t.macKey, s, l) && a, a;
|
|
10726
10757
|
}
|
|
10727
10758
|
function W0(e, t, a) {
|
|
10728
10759
|
var r = Mt.hmac.create();
|
|
@@ -10778,34 +10809,34 @@ Tr.create = function(e) {
|
|
|
10778
10809
|
};
|
|
10779
10810
|
return o.start = function() {
|
|
10780
10811
|
o.messageLength = 0, o.fullMessageLength = o.messageLength128 = [];
|
|
10781
|
-
for (var
|
|
10812
|
+
for (var l = o.messageLengthSize / 4, f = 0; f < l; ++f)
|
|
10782
10813
|
o.fullMessageLength.push(0);
|
|
10783
10814
|
r = Se.util.createBuffer(), a = new Array(t.length);
|
|
10784
|
-
for (var
|
|
10785
|
-
a[
|
|
10815
|
+
for (var f = 0; f < t.length; ++f)
|
|
10816
|
+
a[f] = t[f].slice(0);
|
|
10786
10817
|
return o;
|
|
10787
|
-
}, o.start(), o.update = function(
|
|
10788
|
-
|
|
10789
|
-
var u =
|
|
10818
|
+
}, o.start(), o.update = function(l, f) {
|
|
10819
|
+
f === "utf8" && (l = Se.util.encodeUtf8(l));
|
|
10820
|
+
var u = l.length;
|
|
10790
10821
|
o.messageLength += u, u = [u / 4294967296 >>> 0, u >>> 0];
|
|
10791
10822
|
for (var p = o.fullMessageLength.length - 1; p >= 0; --p)
|
|
10792
10823
|
o.fullMessageLength[p] += u[1], u[1] = u[0] + (o.fullMessageLength[p] / 4294967296 >>> 0), o.fullMessageLength[p] = o.fullMessageLength[p] >>> 0, u[0] = u[1] / 4294967296 >>> 0;
|
|
10793
|
-
return r.putBytes(
|
|
10824
|
+
return r.putBytes(l), hi(a, i, r), (r.read > 2048 || r.length() === 0) && r.compact(), o;
|
|
10794
10825
|
}, o.digest = function() {
|
|
10795
|
-
var
|
|
10796
|
-
|
|
10797
|
-
var
|
|
10798
|
-
|
|
10826
|
+
var l = Se.util.createBuffer();
|
|
10827
|
+
l.putBytes(r.bytes());
|
|
10828
|
+
var f = o.fullMessageLength[o.fullMessageLength.length - 1] + o.messageLengthSize, u = f & o.blockLength - 1;
|
|
10829
|
+
l.putBytes(ma.substr(0, o.blockLength - u));
|
|
10799
10830
|
for (var p, m, S = o.fullMessageLength[0] * 8, C = 0; C < o.fullMessageLength.length - 1; ++C)
|
|
10800
|
-
p = o.fullMessageLength[C + 1] * 8, m = p / 4294967296 >>> 0, S += m,
|
|
10801
|
-
|
|
10831
|
+
p = o.fullMessageLength[C + 1] * 8, m = p / 4294967296 >>> 0, S += m, l.putInt32(S >>> 0), S = p >>> 0;
|
|
10832
|
+
l.putInt32(S);
|
|
10802
10833
|
for (var A = new Array(a.length), C = 0; C < a.length; ++C)
|
|
10803
10834
|
A[C] = a[C].slice(0);
|
|
10804
|
-
hi(A, i,
|
|
10805
|
-
var b = Se.util.createBuffer(),
|
|
10806
|
-
e === "SHA-512" ?
|
|
10807
|
-
for (var C = 0; C <
|
|
10808
|
-
b.putInt32(A[C][0]), (C !==
|
|
10835
|
+
hi(A, i, l);
|
|
10836
|
+
var b = Se.util.createBuffer(), _;
|
|
10837
|
+
e === "SHA-512" ? _ = A.length : e === "SHA-384" ? _ = A.length - 2 : _ = A.length - 4;
|
|
10838
|
+
for (var C = 0; C < _; ++C)
|
|
10839
|
+
b.putInt32(A[C][0]), (C !== _ - 1 || e !== "SHA-512/224") && b.putInt32(A[C][1]);
|
|
10809
10840
|
return b;
|
|
10810
10841
|
}, o;
|
|
10811
10842
|
};
|
|
@@ -10931,7 +10962,7 @@ function $0() {
|
|
|
10931
10962
|
], an = !0;
|
|
10932
10963
|
}
|
|
10933
10964
|
function hi(e, t, a) {
|
|
10934
|
-
for (var r, i, n, s, o,
|
|
10965
|
+
for (var r, i, n, s, o, l, f, u, p, m, S, C, A, b, _, U, D, G, O, F, $, j, le, he, de, Ee, je, rt, ye, Ae, z, gt, Rt, be, we, Le = a.length(); Le >= 128; ) {
|
|
10935
10966
|
for (ye = 0; ye < 16; ++ye)
|
|
10936
10967
|
t[ye][0] = a.getInt32() >>> 0, t[ye][1] = a.getInt32() >>> 0;
|
|
10937
10968
|
for (; ye < 80; ++ye)
|
|
@@ -10943,18 +10974,18 @@ function hi(e, t, a) {
|
|
|
10943
10974
|
(Ae >>> 8 | z << 24) ^ // ROTR 8
|
|
10944
10975
|
Ae >>> 7) >>> 0, s = ((Ae << 31 | z >>> 1) ^ // ROTR 1
|
|
10945
10976
|
(Ae << 24 | z >>> 8) ^ // ROTR 8
|
|
10946
|
-
(Ae << 25 | z >>> 7)) >>> 0, Rt = t[ye - 7],
|
|
10947
|
-
for (A = e[0][0], b = e[0][1],
|
|
10948
|
-
|
|
10977
|
+
(Ae << 25 | z >>> 7)) >>> 0, Rt = t[ye - 7], we = t[ye - 16], z = i + Rt[1] + s + we[1], t[ye][0] = r + Rt[0] + n + we[0] + (z / 4294967296 >>> 0) >>> 0, t[ye][1] = z >>> 0;
|
|
10978
|
+
for (A = e[0][0], b = e[0][1], _ = e[1][0], U = e[1][1], D = e[2][0], G = e[2][1], O = e[3][0], F = e[3][1], $ = e[4][0], j = e[4][1], le = e[5][0], he = e[5][1], de = e[6][0], Ee = e[6][1], je = e[7][0], rt = e[7][1], ye = 0; ye < 80; ++ye)
|
|
10979
|
+
f = (($ >>> 14 | j << 18) ^ // ROTR 14
|
|
10949
10980
|
($ >>> 18 | j << 14) ^ // ROTR 18
|
|
10950
10981
|
(j >>> 9 | $ << 23)) >>> 0, u = (($ << 18 | j >>> 14) ^ // ROTR 14
|
|
10951
10982
|
($ << 14 | j >>> 18) ^ // ROTR 18
|
|
10952
|
-
(j << 23 | $ >>> 9)) >>> 0, p = (de ^ $ & (
|
|
10983
|
+
(j << 23 | $ >>> 9)) >>> 0, p = (de ^ $ & (le ^ de)) >>> 0, m = (Ee ^ j & (he ^ Ee)) >>> 0, o = ((A >>> 28 | b << 4) ^ // ROTR 28
|
|
10953
10984
|
(b >>> 2 | A << 30) ^ // ROTR 34/(swap + ROTR 2)
|
|
10954
|
-
(b >>> 7 | A << 25)) >>> 0,
|
|
10985
|
+
(b >>> 7 | A << 25)) >>> 0, l = ((A << 4 | b >>> 28) ^ // ROTR 28
|
|
10955
10986
|
(b << 30 | A >>> 2) ^ // ROTR 34/(swap + ROTR 2)
|
|
10956
|
-
(b << 25 | A >>> 7)) >>> 0, S = (A &
|
|
10957
|
-
z = e[0][1] + b, e[0][0] = e[0][0] + A + (z / 4294967296 >>> 0) >>> 0, e[0][1] = z >>> 0, z = e[1][1] + U, e[1][0] = e[1][0] +
|
|
10987
|
+
(b << 25 | A >>> 7)) >>> 0, S = (A & _ | D & (A ^ _)) >>> 0, C = (b & U | G & (b ^ U)) >>> 0, z = rt + u + m + Ca[ye][1] + t[ye][1], r = je + f + p + Ca[ye][0] + t[ye][0] + (z / 4294967296 >>> 0) >>> 0, i = z >>> 0, z = l + C, n = o + S + (z / 4294967296 >>> 0) >>> 0, s = z >>> 0, je = de, rt = Ee, de = le, Ee = he, le = $, he = j, z = F + i, $ = O + r + (z / 4294967296 >>> 0) >>> 0, j = z >>> 0, O = D, F = G, D = _, G = U, _ = A, U = b, z = i + s, A = r + n + (z / 4294967296 >>> 0) >>> 0, b = z >>> 0;
|
|
10988
|
+
z = e[0][1] + b, e[0][0] = e[0][0] + A + (z / 4294967296 >>> 0) >>> 0, e[0][1] = z >>> 0, z = e[1][1] + U, e[1][0] = e[1][0] + _ + (z / 4294967296 >>> 0) >>> 0, e[1][1] = z >>> 0, z = e[2][1] + G, e[2][0] = e[2][0] + D + (z / 4294967296 >>> 0) >>> 0, e[2][1] = z >>> 0, z = e[3][1] + F, e[3][0] = e[3][0] + O + (z / 4294967296 >>> 0) >>> 0, e[3][1] = z >>> 0, z = e[4][1] + j, e[4][0] = e[4][0] + $ + (z / 4294967296 >>> 0) >>> 0, e[4][1] = z >>> 0, z = e[5][1] + he, e[5][0] = e[5][0] + le + (z / 4294967296 >>> 0) >>> 0, e[5][1] = z >>> 0, z = e[6][1] + Ee, e[6][0] = e[6][0] + de + (z / 4294967296 >>> 0) >>> 0, e[6][1] = z >>> 0, z = e[7][1] + rt, e[7][0] = e[7][0] + je + (z / 4294967296 >>> 0) >>> 0, e[7][1] = z >>> 0, Le -= 128;
|
|
10958
10989
|
}
|
|
10959
10990
|
}
|
|
10960
10991
|
var Ma = {}, j0 = ee, Qe = j0.asn1;
|
|
@@ -11082,11 +11113,11 @@ ae.privateKeyFromAsn1 = function(e) {
|
|
|
11082
11113
|
var n = $e.asn1.derToOid(t.privateKeyOid), s = $e.oids.EdDSA25519;
|
|
11083
11114
|
if (n !== s)
|
|
11084
11115
|
throw new Error('Invalid OID "' + n + '"; OID must be "' + s + '".');
|
|
11085
|
-
var o = t.privateKey,
|
|
11116
|
+
var o = t.privateKey, l = Nt({
|
|
11086
11117
|
message: $e.asn1.fromDer(o).value,
|
|
11087
11118
|
encoding: "binary"
|
|
11088
11119
|
});
|
|
11089
|
-
return { privateKeyBytes:
|
|
11120
|
+
return { privateKeyBytes: l };
|
|
11090
11121
|
};
|
|
11091
11122
|
ae.publicKeyFromAsn1 = function(e) {
|
|
11092
11123
|
var t = {}, a = [], r = $e.asn1.validate(e, Z0, t, a);
|
|
@@ -11330,13 +11361,13 @@ function iu(e, t) {
|
|
|
11330
11361
|
return 0;
|
|
11331
11362
|
}
|
|
11332
11363
|
function nu(e, t, a, r) {
|
|
11333
|
-
var i, n, s = new Float64Array(64), o = [W(), W(), W(), W()],
|
|
11334
|
-
|
|
11335
|
-
var
|
|
11364
|
+
var i, n, s = new Float64Array(64), o = [W(), W(), W(), W()], l = mr(r, 32);
|
|
11365
|
+
l[0] &= 248, l[31] &= 127, l[31] |= 64;
|
|
11366
|
+
var f = a + 64;
|
|
11336
11367
|
for (i = 0; i < a; ++i)
|
|
11337
11368
|
e[64 + i] = t[i];
|
|
11338
11369
|
for (i = 0; i < 32; ++i)
|
|
11339
|
-
e[32 + i] =
|
|
11370
|
+
e[32 + i] = l[32 + i];
|
|
11340
11371
|
var u = mr(e.subarray(32), a + 32);
|
|
11341
11372
|
for (Sa(u), Ga(o, u), Ha(e, o), i = 32; i < 64; ++i)
|
|
11342
11373
|
e[i] = r[i];
|
|
@@ -11347,19 +11378,19 @@ function nu(e, t, a, r) {
|
|
|
11347
11378
|
s[i] = u[i];
|
|
11348
11379
|
for (i = 0; i < 32; ++i)
|
|
11349
11380
|
for (n = 0; n < 32; n++)
|
|
11350
|
-
s[i + n] += p[i] *
|
|
11351
|
-
return sn(e.subarray(32), s),
|
|
11381
|
+
s[i + n] += p[i] * l[n];
|
|
11382
|
+
return sn(e.subarray(32), s), f;
|
|
11352
11383
|
}
|
|
11353
11384
|
function su(e, t, a, r) {
|
|
11354
|
-
var i, n, s = new it(32), o = [W(), W(), W(), W()],
|
|
11355
|
-
if (n = -1, a < 64 || ou(
|
|
11385
|
+
var i, n, s = new it(32), o = [W(), W(), W(), W()], l = [W(), W(), W(), W()];
|
|
11386
|
+
if (n = -1, a < 64 || ou(l, r))
|
|
11356
11387
|
return -1;
|
|
11357
11388
|
for (i = 0; i < a; ++i)
|
|
11358
11389
|
e[i] = t[i];
|
|
11359
11390
|
for (i = 0; i < 32; ++i)
|
|
11360
11391
|
e[i + 32] = r[i];
|
|
11361
|
-
var
|
|
11362
|
-
if (Sa(
|
|
11392
|
+
var f = mr(e, a);
|
|
11393
|
+
if (Sa(f), fn(o, l, f), Ga(l, t.subarray(32)), Ta(o, l), Ha(s, o), a -= 64, on(t, 0, s, 0)) {
|
|
11363
11394
|
for (i = 0; i < a; ++i)
|
|
11364
11395
|
e[i] = 0;
|
|
11365
11396
|
return -1;
|
|
@@ -11388,12 +11419,12 @@ function Sa(e) {
|
|
|
11388
11419
|
sn(e, t);
|
|
11389
11420
|
}
|
|
11390
11421
|
function Ta(e, t) {
|
|
11391
|
-
var a = W(), r = W(), i = W(), n = W(), s = W(), o = W(),
|
|
11392
|
-
ar(a, e[1], e[0]), ar(u, t[1], t[0]), ve(a, a, u), tr(r, e[0], e[1]), tr(u, t[0], t[1]), ve(r, r, u), ve(i, e[3], t[3]), ve(i, i, ru), ve(n, e[2], t[2]), tr(n, n, n), ar(s, r, a), ar(o, n, i), tr(
|
|
11422
|
+
var a = W(), r = W(), i = W(), n = W(), s = W(), o = W(), l = W(), f = W(), u = W();
|
|
11423
|
+
ar(a, e[1], e[0]), ar(u, t[1], t[0]), ve(a, a, u), tr(r, e[0], e[1]), tr(u, t[0], t[1]), ve(r, r, u), ve(i, e[3], t[3]), ve(i, i, ru), ve(n, e[2], t[2]), tr(n, n, n), ar(s, r, a), ar(o, n, i), tr(l, n, i), tr(f, r, a), ve(e[0], s, o), ve(e[1], f, l), ve(e[2], l, o), ve(e[3], s, f);
|
|
11393
11424
|
}
|
|
11394
11425
|
function yi(e, t, a) {
|
|
11395
11426
|
for (var r = 0; r < 4; ++r)
|
|
11396
|
-
|
|
11427
|
+
ln(e[r], t[r], a);
|
|
11397
11428
|
}
|
|
11398
11429
|
function Ha(e, t) {
|
|
11399
11430
|
var a = W(), r = W(), i = W();
|
|
@@ -11406,14 +11437,14 @@ function Kr(e, t) {
|
|
|
11406
11437
|
for (oa(s), oa(s), oa(s), r = 0; r < 2; ++r) {
|
|
11407
11438
|
for (n[0] = s[0] - 65517, a = 1; a < 15; ++a)
|
|
11408
11439
|
n[a] = s[a] - 65535 - (n[a - 1] >> 16 & 1), n[a - 1] &= 65535;
|
|
11409
|
-
n[15] = s[15] - 32767 - (n[14] >> 16 & 1), i = n[15] >> 16 & 1, n[14] &= 65535,
|
|
11440
|
+
n[15] = s[15] - 32767 - (n[14] >> 16 & 1), i = n[15] >> 16 & 1, n[14] &= 65535, ln(s, n, 1 - i);
|
|
11410
11441
|
}
|
|
11411
11442
|
for (a = 0; a < 16; a++)
|
|
11412
11443
|
e[2 * a] = s[a] & 255, e[2 * a + 1] = s[a] >> 8;
|
|
11413
11444
|
}
|
|
11414
11445
|
function ou(e, t) {
|
|
11415
|
-
var a = W(), r = W(), i = W(), n = W(), s = W(), o = W(),
|
|
11416
|
-
return Ot(e[2], Or), uu(e[1], t), Yt(i, e[1]), ve(n, i, tu), ar(i, i, e[2]), tr(n, e[2], n), Yt(s, n), Yt(o, s), ve(
|
|
11446
|
+
var a = W(), r = W(), i = W(), n = W(), s = W(), o = W(), l = W();
|
|
11447
|
+
return Ot(e[2], Or), uu(e[1], t), Yt(i, e[1]), ve(n, i, tu), ar(i, i, e[2]), tr(n, e[2], n), Yt(s, n), Yt(o, s), ve(l, o, s), ve(a, l, i), ve(a, a, n), fu(a, a), ve(a, a, i), ve(a, a, n), ve(a, a, n), ve(e[0], a, n), Yt(r, e[0]), ve(r, r, n), gi(r, i) && ve(e[0], e[0], au), Yt(r, e[0]), ve(r, r, n), gi(r, i) ? -1 : (un(e[0]) === t[31] >> 7 && ar(e[0], xa, e[0]), ve(e[3], e[0], e[1]), 0);
|
|
11417
11448
|
}
|
|
11418
11449
|
function uu(e, t) {
|
|
11419
11450
|
var a;
|
|
@@ -11421,7 +11452,7 @@ function uu(e, t) {
|
|
|
11421
11452
|
e[a] = t[2 * a] + (t[2 * a + 1] << 8);
|
|
11422
11453
|
e[15] &= 32767;
|
|
11423
11454
|
}
|
|
11424
|
-
function
|
|
11455
|
+
function fu(e, t) {
|
|
11425
11456
|
var a = W(), r;
|
|
11426
11457
|
for (r = 0; r < 16; ++r)
|
|
11427
11458
|
a[r] = t[r];
|
|
@@ -11435,9 +11466,9 @@ function gi(e, t) {
|
|
|
11435
11466
|
return Kr(a, e), Kr(r, t), on(a, 0, r, 0);
|
|
11436
11467
|
}
|
|
11437
11468
|
function on(e, t, a, r) {
|
|
11438
|
-
return
|
|
11469
|
+
return lu(e, t, a, r, 32);
|
|
11439
11470
|
}
|
|
11440
|
-
function
|
|
11471
|
+
function lu(e, t, a, r, i) {
|
|
11441
11472
|
var n, s = 0;
|
|
11442
11473
|
for (n = 0; n < i; ++n)
|
|
11443
11474
|
s |= e[t + n] ^ a[r + n];
|
|
@@ -11447,14 +11478,14 @@ function un(e) {
|
|
|
11447
11478
|
var t = new it(32);
|
|
11448
11479
|
return Kr(t, e), t[0] & 1;
|
|
11449
11480
|
}
|
|
11450
|
-
function
|
|
11481
|
+
function fn(e, t, a) {
|
|
11451
11482
|
var r, i;
|
|
11452
11483
|
for (Ot(e[0], xa), Ot(e[1], Or), Ot(e[2], Or), Ot(e[3], xa), i = 255; i >= 0; --i)
|
|
11453
11484
|
r = a[i / 8 | 0] >> (i & 7) & 1, yi(e, t, r), Ta(t, e), Ta(e, e), yi(e, t, r);
|
|
11454
11485
|
}
|
|
11455
11486
|
function Ga(e, t) {
|
|
11456
11487
|
var a = [W(), W(), W(), W()];
|
|
11457
|
-
Ot(a[0], pi), Ot(a[1], di), Ot(a[2], Or), ve(a[3], pi, di),
|
|
11488
|
+
Ot(a[0], pi), Ot(a[1], di), Ot(a[2], Or), ve(a[3], pi, di), fn(e, a, t);
|
|
11458
11489
|
}
|
|
11459
11490
|
function Ot(e, t) {
|
|
11460
11491
|
var a;
|
|
@@ -11476,7 +11507,7 @@ function oa(e) {
|
|
|
11476
11507
|
a = e[t] + r + 65535, r = Math.floor(a / 65536), e[t] = a - r * 65536;
|
|
11477
11508
|
e[0] += r - 1 + 37 * (r - 1);
|
|
11478
11509
|
}
|
|
11479
|
-
function
|
|
11510
|
+
function ln(e, t, a) {
|
|
11480
11511
|
for (var r, i = ~(a - 1), n = 0; n < 16; ++n)
|
|
11481
11512
|
r = i & (e[n] ^ t[n]), e[n] ^= r, t[n] ^= r;
|
|
11482
11513
|
}
|
|
@@ -11499,8 +11530,8 @@ function Yt(e, t) {
|
|
|
11499
11530
|
ve(e, t, t);
|
|
11500
11531
|
}
|
|
11501
11532
|
function ve(e, t, a) {
|
|
11502
|
-
var r, i, n = 0, s = 0, o = 0,
|
|
11503
|
-
r = t[0], n += r * be, s += r *
|
|
11533
|
+
var r, i, n = 0, s = 0, o = 0, l = 0, f = 0, u = 0, p = 0, m = 0, S = 0, C = 0, A = 0, b = 0, _ = 0, U = 0, D = 0, G = 0, O = 0, F = 0, $ = 0, j = 0, le = 0, he = 0, de = 0, Ee = 0, je = 0, rt = 0, ye = 0, Ae = 0, z = 0, gt = 0, Rt = 0, be = a[0], we = a[1], Le = a[2], He = a[3], se = a[4], ce = a[5], ke = a[6], Pe = a[7], Ve = a[8], Fe = a[9], Oe = a[10], Be = a[11], Ue = a[12], Ke = a[13], Ge = a[14], Me = a[15];
|
|
11534
|
+
r = t[0], n += r * be, s += r * we, o += r * Le, l += r * He, f += r * se, u += r * ce, p += r * ke, m += r * Pe, S += r * Ve, C += r * Fe, A += r * Oe, b += r * Be, _ += r * Ue, U += r * Ke, D += r * Ge, G += r * Me, r = t[1], s += r * be, o += r * we, l += r * Le, f += r * He, u += r * se, p += r * ce, m += r * ke, S += r * Pe, C += r * Ve, A += r * Fe, b += r * Oe, _ += r * Be, U += r * Ue, D += r * Ke, G += r * Ge, O += r * Me, r = t[2], o += r * be, l += r * we, f += r * Le, u += r * He, p += r * se, m += r * ce, S += r * ke, C += r * Pe, A += r * Ve, b += r * Fe, _ += r * Oe, U += r * Be, D += r * Ue, G += r * Ke, O += r * Ge, F += r * Me, r = t[3], l += r * be, f += r * we, u += r * Le, p += r * He, m += r * se, S += r * ce, C += r * ke, A += r * Pe, b += r * Ve, _ += r * Fe, U += r * Oe, D += r * Be, G += r * Ue, O += r * Ke, F += r * Ge, $ += r * Me, r = t[4], f += r * be, u += r * we, p += r * Le, m += r * He, S += r * se, C += r * ce, A += r * ke, b += r * Pe, _ += r * Ve, U += r * Fe, D += r * Oe, G += r * Be, O += r * Ue, F += r * Ke, $ += r * Ge, j += r * Me, r = t[5], u += r * be, p += r * we, m += r * Le, S += r * He, C += r * se, A += r * ce, b += r * ke, _ += r * Pe, U += r * Ve, D += r * Fe, G += r * Oe, O += r * Be, F += r * Ue, $ += r * Ke, j += r * Ge, le += r * Me, r = t[6], p += r * be, m += r * we, S += r * Le, C += r * He, A += r * se, b += r * ce, _ += r * ke, U += r * Pe, D += r * Ve, G += r * Fe, O += r * Oe, F += r * Be, $ += r * Ue, j += r * Ke, le += r * Ge, he += r * Me, r = t[7], m += r * be, S += r * we, C += r * Le, A += r * He, b += r * se, _ += r * ce, U += r * ke, D += r * Pe, G += r * Ve, O += r * Fe, F += r * Oe, $ += r * Be, j += r * Ue, le += r * Ke, he += r * Ge, de += r * Me, r = t[8], S += r * be, C += r * we, A += r * Le, b += r * He, _ += r * se, U += r * ce, D += r * ke, G += r * Pe, O += r * Ve, F += r * Fe, $ += r * Oe, j += r * Be, le += r * Ue, he += r * Ke, de += r * Ge, Ee += r * Me, r = t[9], C += r * be, A += r * we, b += r * Le, _ += r * He, U += r * se, D += r * ce, G += r * ke, O += r * Pe, F += r * Ve, $ += r * Fe, j += r * Oe, le += r * Be, he += r * Ue, de += r * Ke, Ee += r * Ge, je += r * Me, r = t[10], A += r * be, b += r * we, _ += r * Le, U += r * He, D += r * se, G += r * ce, O += r * ke, F += r * Pe, $ += r * Ve, j += r * Fe, le += r * Oe, he += r * Be, de += r * Ue, Ee += r * Ke, je += r * Ge, rt += r * Me, r = t[11], b += r * be, _ += r * we, U += r * Le, D += r * He, G += r * se, O += r * ce, F += r * ke, $ += r * Pe, j += r * Ve, le += r * Fe, he += r * Oe, de += r * Be, Ee += r * Ue, je += r * Ke, rt += r * Ge, ye += r * Me, r = t[12], _ += r * be, U += r * we, D += r * Le, G += r * He, O += r * se, F += r * ce, $ += r * ke, j += r * Pe, le += r * Ve, he += r * Fe, de += r * Oe, Ee += r * Be, je += r * Ue, rt += r * Ke, ye += r * Ge, Ae += r * Me, r = t[13], U += r * be, D += r * we, G += r * Le, O += r * He, F += r * se, $ += r * ce, j += r * ke, le += r * Pe, he += r * Ve, de += r * Fe, Ee += r * Oe, je += r * Be, rt += r * Ue, ye += r * Ke, Ae += r * Ge, z += r * Me, r = t[14], D += r * be, G += r * we, O += r * Le, F += r * He, $ += r * se, j += r * ce, le += r * ke, he += r * Pe, de += r * Ve, Ee += r * Fe, je += r * Oe, rt += r * Be, ye += r * Ue, Ae += r * Ke, z += r * Ge, gt += r * Me, r = t[15], G += r * be, O += r * we, F += r * Le, $ += r * He, j += r * se, le += r * ce, he += r * ke, de += r * Pe, Ee += r * Ve, je += r * Fe, rt += r * Oe, ye += r * Be, Ae += r * Ue, z += r * Ke, gt += r * Ge, Rt += r * Me, n += 38 * O, s += 38 * F, o += 38 * $, l += 38 * j, f += 38 * le, u += 38 * he, p += 38 * de, m += 38 * Ee, S += 38 * je, C += 38 * rt, A += 38 * ye, b += 38 * Ae, _ += 38 * z, U += 38 * gt, D += 38 * Rt, i = 1, r = n + i + 65535, i = Math.floor(r / 65536), n = r - i * 65536, r = s + i + 65535, i = Math.floor(r / 65536), s = r - i * 65536, r = o + i + 65535, i = Math.floor(r / 65536), o = r - i * 65536, r = l + i + 65535, i = Math.floor(r / 65536), l = r - i * 65536, r = f + i + 65535, i = Math.floor(r / 65536), f = r - i * 65536, r = u + i + 65535, i = Math.floor(r / 65536), u = r - i * 65536, r = p + i + 65535, i = Math.floor(r / 65536), p = r - i * 65536, r = m + i + 65535, i = Math.floor(r / 65536), m = r - i * 65536, r = S + i + 65535, i = Math.floor(r / 65536), S = r - i * 65536, r = C + i + 65535, i = Math.floor(r / 65536), C = r - i * 65536, r = A + i + 65535, i = Math.floor(r / 65536), A = r - i * 65536, r = b + i + 65535, i = Math.floor(r / 65536), b = r - i * 65536, r = _ + i + 65535, i = Math.floor(r / 65536), _ = r - i * 65536, r = U + i + 65535, i = Math.floor(r / 65536), U = r - i * 65536, r = D + i + 65535, i = Math.floor(r / 65536), D = r - i * 65536, r = G + i + 65535, i = Math.floor(r / 65536), G = r - i * 65536, n += i - 1 + 37 * (i - 1), i = 1, r = n + i + 65535, i = Math.floor(r / 65536), n = r - i * 65536, r = s + i + 65535, i = Math.floor(r / 65536), s = r - i * 65536, r = o + i + 65535, i = Math.floor(r / 65536), o = r - i * 65536, r = l + i + 65535, i = Math.floor(r / 65536), l = r - i * 65536, r = f + i + 65535, i = Math.floor(r / 65536), f = r - i * 65536, r = u + i + 65535, i = Math.floor(r / 65536), u = r - i * 65536, r = p + i + 65535, i = Math.floor(r / 65536), p = r - i * 65536, r = m + i + 65535, i = Math.floor(r / 65536), m = r - i * 65536, r = S + i + 65535, i = Math.floor(r / 65536), S = r - i * 65536, r = C + i + 65535, i = Math.floor(r / 65536), C = r - i * 65536, r = A + i + 65535, i = Math.floor(r / 65536), A = r - i * 65536, r = b + i + 65535, i = Math.floor(r / 65536), b = r - i * 65536, r = _ + i + 65535, i = Math.floor(r / 65536), _ = r - i * 65536, r = U + i + 65535, i = Math.floor(r / 65536), U = r - i * 65536, r = D + i + 65535, i = Math.floor(r / 65536), D = r - i * 65536, r = G + i + 65535, i = Math.floor(r / 65536), G = r - i * 65536, n += i - 1 + 37 * (i - 1), e[0] = n, e[1] = s, e[2] = o, e[3] = l, e[4] = f, e[5] = u, e[6] = p, e[7] = m, e[8] = S, e[9] = C, e[10] = A, e[11] = b, e[12] = _, e[13] = U, e[14] = D, e[15] = G;
|
|
11504
11535
|
}
|
|
11505
11536
|
var st = ee;
|
|
11506
11537
|
st.kem = st.kem || {};
|
|
@@ -11518,10 +11549,10 @@ st.kem.rsa.create = function(e, t) {
|
|
|
11518
11549
|
).mod(i.n);
|
|
11519
11550
|
while (o.compareTo(vi.ONE) <= 0);
|
|
11520
11551
|
o = st.util.hexToBytes(o.toString(16));
|
|
11521
|
-
var
|
|
11522
|
-
|
|
11523
|
-
var
|
|
11524
|
-
return { encapsulation:
|
|
11552
|
+
var l = s - o.length;
|
|
11553
|
+
l > 0 && (o = st.util.fillString("\0", l) + o);
|
|
11554
|
+
var f = i.encrypt(o, "NONE"), u = e.generate(o, n);
|
|
11555
|
+
return { encapsulation: f, key: u };
|
|
11525
11556
|
}, r.decrypt = function(i, n, s) {
|
|
11526
11557
|
var o = i.decrypt(n, "NONE");
|
|
11527
11558
|
return e.generate(o, s);
|
|
@@ -11535,8 +11566,8 @@ st.kem.kdf2 = function(e, t) {
|
|
|
11535
11566
|
};
|
|
11536
11567
|
function cn(e, t, a, r) {
|
|
11537
11568
|
e.generate = function(i, n) {
|
|
11538
|
-
for (var s = new st.util.ByteBuffer(), o = Math.ceil(n / r) + a,
|
|
11539
|
-
|
|
11569
|
+
for (var s = new st.util.ByteBuffer(), o = Math.ceil(n / r) + a, l = new st.util.ByteBuffer(), f = a; f < o; ++f) {
|
|
11570
|
+
l.putInt32(f), t.start(), t.update(i + l.getBytes());
|
|
11540
11571
|
var u = t.digest();
|
|
11541
11572
|
s.putBytes(u.getBytes(r));
|
|
11542
11573
|
}
|
|
@@ -11831,8 +11862,8 @@ tt.createSignedData = function() {
|
|
|
11831
11862
|
"Could not add PKCS#7 signer; no private key specified."
|
|
11832
11863
|
);
|
|
11833
11864
|
typeof o == "string" && (o = M.pki.privateKeyFromPem(o));
|
|
11834
|
-
var
|
|
11835
|
-
switch (
|
|
11865
|
+
var l = r.digestAlgorithm || M.pki.oids.sha1;
|
|
11866
|
+
switch (l) {
|
|
11836
11867
|
case M.pki.oids.sha1:
|
|
11837
11868
|
case M.pki.oids.sha256:
|
|
11838
11869
|
case M.pki.oids.sha384:
|
|
@@ -11841,13 +11872,13 @@ tt.createSignedData = function() {
|
|
|
11841
11872
|
break;
|
|
11842
11873
|
default:
|
|
11843
11874
|
throw new Error(
|
|
11844
|
-
"Could not add PKCS#7 signer; unknown message digest algorithm: " +
|
|
11875
|
+
"Could not add PKCS#7 signer; unknown message digest algorithm: " + l
|
|
11845
11876
|
);
|
|
11846
11877
|
}
|
|
11847
|
-
var
|
|
11848
|
-
if (
|
|
11849
|
-
for (var u = !1, p = !1, m = 0; m <
|
|
11850
|
-
var S =
|
|
11878
|
+
var f = r.authenticatedAttributes || [];
|
|
11879
|
+
if (f.length > 0) {
|
|
11880
|
+
for (var u = !1, p = !1, m = 0; m < f.length; ++m) {
|
|
11881
|
+
var S = f[m];
|
|
11851
11882
|
if (!u && S.type === M.pki.oids.contentType) {
|
|
11852
11883
|
if (u = !0, p)
|
|
11853
11884
|
break;
|
|
@@ -11867,10 +11898,10 @@ tt.createSignedData = function() {
|
|
|
11867
11898
|
version: 1,
|
|
11868
11899
|
issuer: i,
|
|
11869
11900
|
serialNumber: n,
|
|
11870
|
-
digestAlgorithm:
|
|
11901
|
+
digestAlgorithm: l,
|
|
11871
11902
|
signatureAlgorithm: M.pki.oids.rsaEncryption,
|
|
11872
11903
|
signature: null,
|
|
11873
|
-
authenticatedAttributes:
|
|
11904
|
+
authenticatedAttributes: f,
|
|
11874
11905
|
unauthenticatedAttributes: []
|
|
11875
11906
|
});
|
|
11876
11907
|
},
|
|
@@ -11965,8 +11996,8 @@ tt.createSignedData = function() {
|
|
|
11965
11996
|
s.getByte(), T.getBerValueLength(s), s = s.getBytes();
|
|
11966
11997
|
for (var o in r)
|
|
11967
11998
|
r[o].start().update(s);
|
|
11968
|
-
for (var
|
|
11969
|
-
var u = e.signers[
|
|
11999
|
+
for (var l = /* @__PURE__ */ new Date(), f = 0; f < e.signers.length; ++f) {
|
|
12000
|
+
var u = e.signers[f];
|
|
11970
12001
|
if (u.authenticatedAttributes.length === 0) {
|
|
11971
12002
|
if (n !== M.pki.oids.data)
|
|
11972
12003
|
throw new Error(
|
|
@@ -11986,7 +12017,7 @@ tt.createSignedData = function() {
|
|
|
11986
12017
|
[]
|
|
11987
12018
|
), m = 0; m < u.authenticatedAttributes.length; ++m) {
|
|
11988
12019
|
var S = u.authenticatedAttributes[m];
|
|
11989
|
-
S.type === M.pki.oids.messageDigest ? S.value = r[u.digestAlgorithm].digest() : S.type === M.pki.oids.signingTime && (S.value || (S.value =
|
|
12020
|
+
S.type === M.pki.oids.messageDigest ? S.value = r[u.digestAlgorithm].digest() : S.type === M.pki.oids.signingTime && (S.value || (S.value = l)), p.value.push(Ba(S)), u.authenticatedAttributesAsn1.value.push(Ba(S));
|
|
11990
12021
|
}
|
|
11991
12022
|
s = T.toDer(p).getBytes(), u.md.start().update(s);
|
|
11992
12023
|
}
|
|
@@ -12182,16 +12213,16 @@ tt.createEnvelopedData = function() {
|
|
|
12182
12213
|
e.encryptedContent.content = s.output;
|
|
12183
12214
|
}
|
|
12184
12215
|
for (var o = 0; o < e.recipients.length; ++o) {
|
|
12185
|
-
var
|
|
12186
|
-
if (
|
|
12187
|
-
switch (
|
|
12216
|
+
var l = e.recipients[o];
|
|
12217
|
+
if (l.encryptedContent.content === void 0)
|
|
12218
|
+
switch (l.encryptedContent.algorithm) {
|
|
12188
12219
|
case M.pki.oids.rsaEncryption:
|
|
12189
|
-
|
|
12220
|
+
l.encryptedContent.content = l.encryptedContent.key.encrypt(
|
|
12190
12221
|
e.encryptedContent.key.data
|
|
12191
12222
|
);
|
|
12192
12223
|
break;
|
|
12193
12224
|
default:
|
|
12194
|
-
throw new Error("Unsupported asymmetric cipher, OID " +
|
|
12225
|
+
throw new Error("Unsupported asymmetric cipher, OID " + l.encryptedContent.algorithm);
|
|
12195
12226
|
}
|
|
12196
12227
|
}
|
|
12197
12228
|
}
|
|
@@ -12426,10 +12457,10 @@ function Qa(e, t, a) {
|
|
|
12426
12457
|
if (r.encryptedContent) {
|
|
12427
12458
|
var o = "";
|
|
12428
12459
|
if (M.util.isArray(r.encryptedContent))
|
|
12429
|
-
for (var
|
|
12430
|
-
if (r.encryptedContent[
|
|
12460
|
+
for (var l = 0; l < r.encryptedContent.length; ++l) {
|
|
12461
|
+
if (r.encryptedContent[l].type !== T.Type.OCTETSTRING)
|
|
12431
12462
|
throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");
|
|
12432
|
-
o += r.encryptedContent[
|
|
12463
|
+
o += r.encryptedContent[l].value;
|
|
12433
12464
|
}
|
|
12434
12465
|
else
|
|
12435
12466
|
o = r.encryptedContent;
|
|
@@ -12442,10 +12473,10 @@ function Qa(e, t, a) {
|
|
|
12442
12473
|
if (r.content) {
|
|
12443
12474
|
var o = "";
|
|
12444
12475
|
if (M.util.isArray(r.content))
|
|
12445
|
-
for (var
|
|
12446
|
-
if (r.content[
|
|
12476
|
+
for (var l = 0; l < r.content.length; ++l) {
|
|
12477
|
+
if (r.content[l].type !== T.Type.OCTETSTRING)
|
|
12447
12478
|
throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");
|
|
12448
|
-
o += r.content[
|
|
12479
|
+
o += r.content[l].value;
|
|
12449
12480
|
}
|
|
12450
12481
|
else
|
|
12451
12482
|
o = r.content;
|
|
@@ -12486,33 +12517,33 @@ Zr.privateKeyToPutty = function(e, t, a) {
|
|
|
12486
12517
|
`;
|
|
12487
12518
|
var s = De.util.createBuffer();
|
|
12488
12519
|
ir(s, r), Et(s, e.e), Et(s, e.n);
|
|
12489
|
-
var o = De.util.encode64(s.bytes(), 64),
|
|
12490
|
-
n += "Public-Lines: " +
|
|
12520
|
+
var o = De.util.encode64(s.bytes(), 64), l = Math.floor(o.length / 66) + 1;
|
|
12521
|
+
n += "Public-Lines: " + l + `\r
|
|
12491
12522
|
`, n += o;
|
|
12492
|
-
var
|
|
12493
|
-
Et(
|
|
12523
|
+
var f = De.util.createBuffer();
|
|
12524
|
+
Et(f, e.d), Et(f, e.p), Et(f, e.q), Et(f, e.qInv);
|
|
12494
12525
|
var u;
|
|
12495
12526
|
if (!t)
|
|
12496
|
-
u = De.util.encode64(
|
|
12527
|
+
u = De.util.encode64(f.bytes(), 64);
|
|
12497
12528
|
else {
|
|
12498
|
-
var p =
|
|
12529
|
+
var p = f.length() + 16 - 1;
|
|
12499
12530
|
p -= p % 16;
|
|
12500
|
-
var m =
|
|
12501
|
-
m.truncate(m.length() - p +
|
|
12531
|
+
var m = wr(f.bytes());
|
|
12532
|
+
m.truncate(m.length() - p + f.length()), f.putBuffer(m);
|
|
12502
12533
|
var S = De.util.createBuffer();
|
|
12503
|
-
S.putBuffer(
|
|
12534
|
+
S.putBuffer(wr("\0\0\0\0", t)), S.putBuffer(wr("\0\0\0", t));
|
|
12504
12535
|
var C = De.aes.createEncryptionCipher(S.truncate(8), "CBC");
|
|
12505
|
-
C.start(De.util.createBuffer().fillWithByte(0, 16)), C.update(
|
|
12536
|
+
C.start(De.util.createBuffer().fillWithByte(0, 16)), C.update(f.copy()), C.finish();
|
|
12506
12537
|
var A = C.output;
|
|
12507
12538
|
A.truncate(16), u = De.util.encode64(A.bytes(), 64);
|
|
12508
12539
|
}
|
|
12509
|
-
|
|
12510
|
-
Private-Lines: ` +
|
|
12540
|
+
l = Math.floor(u.length / 66) + 1, n += `\r
|
|
12541
|
+
Private-Lines: ` + l + `\r
|
|
12511
12542
|
`, n += u;
|
|
12512
|
-
var b =
|
|
12513
|
-
ir(
|
|
12543
|
+
var b = wr("putty-private-key-file-mac-key", t), _ = De.util.createBuffer();
|
|
12544
|
+
ir(_, r), ir(_, i), ir(_, a), _.putInt32(s.length()), _.putBuffer(s), _.putInt32(f.length()), _.putBuffer(f);
|
|
12514
12545
|
var U = De.hmac.create();
|
|
12515
|
-
return U.start("sha1", b), U.update(
|
|
12546
|
+
return U.start("sha1", b), U.update(_.bytes()), n += `\r
|
|
12516
12547
|
Private-MAC: ` + U.digest().toHex() + `\r
|
|
12517
12548
|
`, n;
|
|
12518
12549
|
};
|
|
@@ -12554,7 +12585,7 @@ function Et(e, t) {
|
|
|
12554
12585
|
function ir(e, t) {
|
|
12555
12586
|
e.putInt32(t.length), e.putString(t);
|
|
12556
12587
|
}
|
|
12557
|
-
function
|
|
12588
|
+
function wr() {
|
|
12558
12589
|
for (var e = De.md.sha1.create(), t = arguments.length, a = 0; a < t; ++a)
|
|
12559
12590
|
e.update(arguments[a]);
|
|
12560
12591
|
return e.digest();
|