@coinbase/cdp-core 0.0.37 → 0.0.38
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/esm/index.native100.js +18 -115
- package/dist/esm/index.native101.js +112 -73
- package/dist/esm/index.native102.js +79 -10
- package/dist/esm/index.native104.js +13 -18
- package/dist/esm/index.native105.js +35 -27
- package/dist/esm/index.native106.js +41 -7
- package/dist/esm/index.native107.js +18 -11
- package/dist/esm/index.native108.js +28 -13
- package/dist/esm/index.native109.js +8 -10
- package/dist/esm/index.native110.js +11 -17
- package/dist/esm/index.native111.js +12 -80
- package/dist/esm/index.native112.js +10 -13
- package/dist/esm/index.native113.js +17 -36
- package/dist/esm/index.native114.js +79 -40
- package/dist/esm/index.native32.js +1 -1
- package/dist/esm/index.native83.js +6 -6
- package/dist/esm/index.native92.js +1 -1
- package/dist/esm/index.native95.js +10 -21
- package/dist/esm/index.native96.js +21 -10
- package/dist/esm/index.native97.js +9 -19
- package/dist/esm/index.native98.js +15 -89
- package/dist/esm/index.native99.js +92 -19
- package/dist/esm/index.web100.js +118 -7
- package/dist/esm/index.web102.js +5 -18
- package/dist/esm/index.web103.js +18 -28
- package/dist/esm/index.web104.js +26 -6
- package/dist/esm/index.web105.js +6 -9
- package/dist/esm/index.web106.js +11 -13
- package/dist/esm/index.web107.js +11 -8
- package/dist/esm/index.web108.js +7 -14
- package/dist/esm/index.web109.js +16 -80
- package/dist/esm/index.web110.js +81 -5
- package/dist/esm/index.web112.js +4 -4
- package/dist/esm/index.web113.js +5 -5
- package/dist/esm/index.web12.js +1 -1
- package/dist/esm/index.web19.js +13 -13
- package/dist/esm/index.web20.js +3 -3
- package/dist/esm/index.web23.js +2 -2
- package/dist/esm/index.web24.js +158 -15
- package/dist/esm/index.web25.js +46 -21
- package/dist/esm/index.web26.js +243 -44
- package/dist/esm/index.web27.js +50 -154
- package/dist/esm/index.web28.js +947 -44
- package/dist/esm/index.web29.js +2 -250
- package/dist/esm/index.web30.js +50 -56
- package/dist/esm/index.web31.js +27 -950
- package/dist/esm/index.web32.js +17 -2
- package/dist/esm/index.web33.js +21 -48
- package/dist/esm/index.web34.js +50 -27
- package/dist/esm/index.web35.js +2 -13
- package/dist/esm/index.web36.js +2 -12
- package/dist/esm/index.web37.js +9 -2
- package/dist/esm/index.web38.js +18 -2
- package/dist/esm/index.web39.js +44 -53
- package/dist/esm/index.web40.js +13 -10
- package/dist/esm/index.web41.js +56 -2
- package/dist/esm/index.web42.js +7 -45
- package/dist/esm/index.web43.js +21 -13
- package/dist/esm/index.web44.js +11 -8
- package/dist/esm/index.web45.js +3 -17
- package/dist/esm/index.web46.js +3 -45
- package/dist/esm/index.web47.js +34 -13
- package/dist/esm/index.web48.js +10 -53
- package/dist/esm/index.web49.js +4 -6
- package/dist/esm/index.web50.js +28 -21
- package/dist/esm/index.web51.js +6 -3
- package/dist/esm/index.web52.js +24 -3
- package/dist/esm/index.web53.js +16 -34
- package/dist/esm/index.web54.js +53 -11
- package/dist/esm/index.web55.js +23 -4
- package/dist/esm/index.web56.js +11 -28
- package/dist/esm/index.web57.js +27 -6
- package/dist/esm/index.web58.js +40 -22
- package/dist/esm/index.web59.js +55 -16
- package/dist/esm/index.web60.js +126 -53
- package/dist/esm/index.web61.js +11 -22
- package/dist/esm/index.web62.js +104 -11
- package/dist/esm/index.web63.js +6 -27
- package/dist/esm/index.web64.js +3 -43
- package/dist/esm/index.web65.js +14 -55
- package/dist/esm/index.web66.js +41 -126
- package/dist/esm/index.web67.js +76 -10
- package/dist/esm/index.web68.js +2 -105
- package/dist/esm/index.web69.js +2 -7
- package/dist/esm/index.web7.js +4 -4
- package/dist/esm/index.web70.js +13 -3
- package/dist/esm/index.web71.js +37 -14
- package/dist/esm/index.web72.js +5 -41
- package/dist/esm/index.web73.js +32 -76
- package/dist/esm/index.web74.js +9 -2
- package/dist/esm/index.web75.js +11 -2
- package/dist/esm/index.web76.js +11 -37
- package/dist/esm/index.web77.js +13 -6
- package/dist/esm/index.web78.js +17 -33
- package/dist/esm/index.web79.js +5 -8
- package/dist/esm/index.web80.js +5 -11
- package/dist/esm/index.web81.js +10 -11
- package/dist/esm/index.web82.js +54 -13
- package/dist/esm/index.web83.js +10 -18
- package/dist/esm/index.web84.js +2 -6
- package/dist/esm/index.web85.js +44 -4
- package/dist/esm/index.web86.js +13 -10
- package/dist/esm/index.web87.js +2 -104
- package/dist/esm/index.web88.js +17 -75
- package/dist/esm/index.web89.js +20 -80
- package/dist/esm/index.web90.js +79 -20
- package/dist/esm/index.web91.js +104 -10
- package/dist/esm/index.web92.js +31 -18
- package/dist/esm/index.web93.js +7 -94
- package/dist/esm/index.web94.js +78 -20
- package/dist/esm/index.web95.js +20 -117
- package/dist/esm/index.web96.js +10 -2
- package/dist/esm/index.web97.js +19 -20
- package/dist/esm/index.web98.js +93 -19
- package/dist/esm/index.web99.js +20 -32
- package/dist/native/index.native100.js +18 -115
- package/dist/native/index.native101.js +112 -73
- package/dist/native/index.native102.js +79 -10
- package/dist/native/index.native104.js +13 -18
- package/dist/native/index.native105.js +35 -27
- package/dist/native/index.native106.js +41 -7
- package/dist/native/index.native107.js +18 -11
- package/dist/native/index.native108.js +28 -13
- package/dist/native/index.native109.js +8 -10
- package/dist/native/index.native110.js +11 -17
- package/dist/native/index.native111.js +12 -80
- package/dist/native/index.native112.js +10 -13
- package/dist/native/index.native113.js +17 -36
- package/dist/native/index.native114.js +79 -40
- package/dist/native/index.native32.js +1 -1
- package/dist/native/index.native83.js +6 -6
- package/dist/native/index.native92.js +1 -1
- package/dist/native/index.native95.js +10 -21
- package/dist/native/index.native96.js +21 -10
- package/dist/native/index.native97.js +9 -19
- package/dist/native/index.native98.js +15 -89
- package/dist/native/index.native99.js +92 -19
- package/dist/web/index.web100.js +118 -7
- package/dist/web/index.web102.js +5 -18
- package/dist/web/index.web103.js +18 -28
- package/dist/web/index.web104.js +26 -6
- package/dist/web/index.web105.js +6 -9
- package/dist/web/index.web106.js +11 -13
- package/dist/web/index.web107.js +11 -8
- package/dist/web/index.web108.js +7 -14
- package/dist/web/index.web109.js +16 -80
- package/dist/web/index.web110.js +81 -5
- package/dist/web/index.web112.js +4 -4
- package/dist/web/index.web113.js +5 -5
- package/dist/web/index.web12.js +1 -1
- package/dist/web/index.web19.js +13 -13
- package/dist/web/index.web20.js +3 -3
- package/dist/web/index.web23.js +2 -2
- package/dist/web/index.web24.js +158 -15
- package/dist/web/index.web25.js +46 -21
- package/dist/web/index.web26.js +243 -44
- package/dist/web/index.web27.js +50 -154
- package/dist/web/index.web28.js +947 -44
- package/dist/web/index.web29.js +2 -250
- package/dist/web/index.web30.js +50 -56
- package/dist/web/index.web31.js +27 -950
- package/dist/web/index.web32.js +17 -2
- package/dist/web/index.web33.js +21 -48
- package/dist/web/index.web34.js +50 -27
- package/dist/web/index.web35.js +2 -13
- package/dist/web/index.web36.js +2 -12
- package/dist/web/index.web37.js +9 -2
- package/dist/web/index.web38.js +18 -2
- package/dist/web/index.web39.js +44 -53
- package/dist/web/index.web40.js +13 -10
- package/dist/web/index.web41.js +56 -2
- package/dist/web/index.web42.js +7 -45
- package/dist/web/index.web43.js +21 -13
- package/dist/web/index.web44.js +11 -8
- package/dist/web/index.web45.js +3 -17
- package/dist/web/index.web46.js +3 -45
- package/dist/web/index.web47.js +34 -13
- package/dist/web/index.web48.js +10 -53
- package/dist/web/index.web49.js +4 -6
- package/dist/web/index.web50.js +28 -21
- package/dist/web/index.web51.js +6 -3
- package/dist/web/index.web52.js +24 -3
- package/dist/web/index.web53.js +16 -34
- package/dist/web/index.web54.js +53 -11
- package/dist/web/index.web55.js +23 -4
- package/dist/web/index.web56.js +11 -28
- package/dist/web/index.web57.js +27 -6
- package/dist/web/index.web58.js +40 -22
- package/dist/web/index.web59.js +55 -16
- package/dist/web/index.web60.js +126 -53
- package/dist/web/index.web61.js +11 -22
- package/dist/web/index.web62.js +104 -11
- package/dist/web/index.web63.js +6 -27
- package/dist/web/index.web64.js +3 -43
- package/dist/web/index.web65.js +14 -55
- package/dist/web/index.web66.js +41 -126
- package/dist/web/index.web67.js +76 -10
- package/dist/web/index.web68.js +2 -105
- package/dist/web/index.web69.js +2 -7
- package/dist/web/index.web7.js +4 -4
- package/dist/web/index.web70.js +13 -3
- package/dist/web/index.web71.js +37 -14
- package/dist/web/index.web72.js +5 -41
- package/dist/web/index.web73.js +32 -76
- package/dist/web/index.web74.js +9 -2
- package/dist/web/index.web75.js +11 -2
- package/dist/web/index.web76.js +11 -37
- package/dist/web/index.web77.js +13 -6
- package/dist/web/index.web78.js +17 -33
- package/dist/web/index.web79.js +5 -8
- package/dist/web/index.web80.js +5 -11
- package/dist/web/index.web81.js +10 -11
- package/dist/web/index.web82.js +54 -13
- package/dist/web/index.web83.js +10 -18
- package/dist/web/index.web84.js +2 -6
- package/dist/web/index.web85.js +44 -4
- package/dist/web/index.web86.js +13 -10
- package/dist/web/index.web87.js +2 -104
- package/dist/web/index.web88.js +17 -75
- package/dist/web/index.web89.js +20 -80
- package/dist/web/index.web90.js +79 -20
- package/dist/web/index.web91.js +104 -10
- package/dist/web/index.web92.js +31 -18
- package/dist/web/index.web93.js +7 -94
- package/dist/web/index.web94.js +78 -20
- package/dist/web/index.web95.js +20 -117
- package/dist/web/index.web96.js +10 -2
- package/dist/web/index.web97.js +19 -20
- package/dist/web/index.web98.js +93 -19
- package/dist/web/index.web99.js +20 -32
- package/package.json +2 -2
|
@@ -1,12 +1,23 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { encoder as t, decoder as o } from "./index.native84.js";
|
|
2
|
+
import { encodeBase64 as c, decodeBase64 as a } from "./index.native107.js";
|
|
3
|
+
function i(r) {
|
|
4
|
+
if (Uint8Array.fromBase64)
|
|
5
|
+
return Uint8Array.fromBase64(typeof r == "string" ? r : o.decode(r), {
|
|
6
|
+
alphabet: "base64url"
|
|
7
|
+
});
|
|
8
|
+
let e = r;
|
|
9
|
+
e instanceof Uint8Array && (e = o.decode(e)), e = e.replace(/-/g, "+").replace(/_/g, "/").replace(/\s/g, "");
|
|
10
|
+
try {
|
|
11
|
+
return a(e);
|
|
12
|
+
} catch {
|
|
13
|
+
throw new TypeError("The input to be decoded is not correctly encoded.");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function p(r) {
|
|
17
|
+
let e = r;
|
|
18
|
+
return typeof e == "string" && (e = t.encode(e)), Uint8Array.prototype.toBase64 ? e.toBase64({ alphabet: "base64url", omitPadding: !0 }) : c(e).replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
19
|
+
}
|
|
10
20
|
export {
|
|
11
|
-
|
|
21
|
+
i as decode,
|
|
22
|
+
p as encode
|
|
12
23
|
};
|
|
@@ -1,22 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
e = new Set(r);
|
|
10
|
-
continue;
|
|
11
|
-
}
|
|
12
|
-
for (const n of r) {
|
|
13
|
-
if (e.has(n))
|
|
14
|
-
return !1;
|
|
15
|
-
e.add(n);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return !0;
|
|
1
|
+
import n from "./index.native108.js";
|
|
2
|
+
import s from "./index.native109.js";
|
|
3
|
+
import a from "./index.native110.js";
|
|
4
|
+
const y = async (t, o, e) => {
|
|
5
|
+
const r = await a(t, o, "sign");
|
|
6
|
+
s(t, r);
|
|
7
|
+
const i = await crypto.subtle.sign(n(t, r.algorithm), r, e);
|
|
8
|
+
return new Uint8Array(i);
|
|
19
9
|
};
|
|
20
10
|
export {
|
|
21
|
-
|
|
11
|
+
y as default
|
|
22
12
|
};
|
|
@@ -1,96 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
break;
|
|
12
|
-
case "encrypt":
|
|
13
|
-
case "decrypt":
|
|
14
|
-
i = "enc";
|
|
15
|
-
break;
|
|
1
|
+
const a = (...o) => {
|
|
2
|
+
const t = o.filter(Boolean);
|
|
3
|
+
if (t.length === 0 || t.length === 1)
|
|
4
|
+
return !0;
|
|
5
|
+
let e;
|
|
6
|
+
for (const s of t) {
|
|
7
|
+
const r = Object.keys(s);
|
|
8
|
+
if (!e || e.size === 0) {
|
|
9
|
+
e = new Set(r);
|
|
10
|
+
continue;
|
|
16
11
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
throw new TypeError(`Invalid key for this operation, its "alg" must be "${r}" when present`);
|
|
22
|
-
if (Array.isArray(e.key_ops)) {
|
|
23
|
-
let i;
|
|
24
|
-
switch (!0) {
|
|
25
|
-
case t === "sign":
|
|
26
|
-
case r === "dir":
|
|
27
|
-
case r.includes("CBC-HS"):
|
|
28
|
-
i = t;
|
|
29
|
-
break;
|
|
30
|
-
case r.startsWith("PBES2"):
|
|
31
|
-
i = "deriveBits";
|
|
32
|
-
break;
|
|
33
|
-
case /^A\d{3}(?:GCM)?(?:KW)?$/.test(r):
|
|
34
|
-
!r.includes("GCM") && r.endsWith("KW") ? i = "unwrapKey" : i = t;
|
|
35
|
-
break;
|
|
36
|
-
case t === "encrypt":
|
|
37
|
-
i = "wrapKey";
|
|
38
|
-
break;
|
|
39
|
-
case t === "decrypt":
|
|
40
|
-
i = r.startsWith("RSA") ? "unwrapKey" : "deriveBits";
|
|
41
|
-
break;
|
|
12
|
+
for (const n of r) {
|
|
13
|
+
if (e.has(n))
|
|
14
|
+
return !1;
|
|
15
|
+
e.add(n);
|
|
42
16
|
}
|
|
43
|
-
if (i && e.key_ops?.includes?.(i) === !1)
|
|
44
|
-
throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${i}" when present`);
|
|
45
17
|
}
|
|
46
18
|
return !0;
|
|
47
|
-
}, h = (r, e, t) => {
|
|
48
|
-
if (!(e instanceof Uint8Array)) {
|
|
49
|
-
if (p(e)) {
|
|
50
|
-
if (a(e) && o(r, e, t))
|
|
51
|
-
return;
|
|
52
|
-
throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present');
|
|
53
|
-
}
|
|
54
|
-
if (!c(e))
|
|
55
|
-
throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key", "Uint8Array"));
|
|
56
|
-
if (e.type !== "secret")
|
|
57
|
-
throw new TypeError(`${s(e)} instances for symmetric algorithms must be of type "secret"`);
|
|
58
|
-
}
|
|
59
|
-
}, m = (r, e, t) => {
|
|
60
|
-
if (p(e))
|
|
61
|
-
switch (t) {
|
|
62
|
-
case "decrypt":
|
|
63
|
-
case "sign":
|
|
64
|
-
if (f(e) && o(r, e, t))
|
|
65
|
-
return;
|
|
66
|
-
throw new TypeError("JSON Web Key for this operation be a private JWK");
|
|
67
|
-
case "encrypt":
|
|
68
|
-
case "verify":
|
|
69
|
-
if (y(e) && o(r, e, t))
|
|
70
|
-
return;
|
|
71
|
-
throw new TypeError("JSON Web Key for this operation be a public JWK");
|
|
72
|
-
}
|
|
73
|
-
if (!c(e))
|
|
74
|
-
throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key"));
|
|
75
|
-
if (e.type === "secret")
|
|
76
|
-
throw new TypeError(`${s(e)} instances for asymmetric algorithms must not be of type "secret"`);
|
|
77
|
-
if (e.type === "public")
|
|
78
|
-
switch (t) {
|
|
79
|
-
case "sign":
|
|
80
|
-
throw new TypeError(`${s(e)} instances for asymmetric algorithm signing must be of type "private"`);
|
|
81
|
-
case "decrypt":
|
|
82
|
-
throw new TypeError(`${s(e)} instances for asymmetric algorithm decryption must be of type "private"`);
|
|
83
|
-
}
|
|
84
|
-
if (e.type === "private")
|
|
85
|
-
switch (t) {
|
|
86
|
-
case "verify":
|
|
87
|
-
throw new TypeError(`${s(e)} instances for asymmetric algorithm verifying must be of type "public"`);
|
|
88
|
-
case "encrypt":
|
|
89
|
-
throw new TypeError(`${s(e)} instances for asymmetric algorithm encryption must be of type "public"`);
|
|
90
|
-
}
|
|
91
|
-
}, d = (r, e, t) => {
|
|
92
|
-
r.startsWith("HS") || r === "dir" || r.startsWith("PBES2") || /^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(r) || /^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(r) ? h(r, e, t) : m(r, e, t);
|
|
93
19
|
};
|
|
94
20
|
export {
|
|
95
|
-
|
|
21
|
+
a as default
|
|
96
22
|
};
|
|
@@ -1,23 +1,96 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { withAlg as n } from "./index.native111.js";
|
|
2
|
+
import c from "./index.native112.js";
|
|
3
|
+
import { isJWK as p, isSecretJWK as a, isPublicJWK as y, isPrivateJWK as f } from "./index.native113.js";
|
|
4
|
+
const s = (r) => r?.[Symbol.toStringTag], o = (r, e, t) => {
|
|
5
|
+
if (e.use !== void 0) {
|
|
6
|
+
let i;
|
|
7
|
+
switch (t) {
|
|
8
|
+
case "sign":
|
|
9
|
+
case "verify":
|
|
10
|
+
i = "sig";
|
|
11
|
+
break;
|
|
12
|
+
case "encrypt":
|
|
13
|
+
case "decrypt":
|
|
14
|
+
i = "enc";
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
if (e.use !== i)
|
|
18
|
+
throw new TypeError(`Invalid key for this operation, its "use" must be "${i}" when present`);
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
if (e.alg !== void 0 && e.alg !== r)
|
|
21
|
+
throw new TypeError(`Invalid key for this operation, its "alg" must be "${r}" when present`);
|
|
22
|
+
if (Array.isArray(e.key_ops)) {
|
|
23
|
+
let i;
|
|
24
|
+
switch (!0) {
|
|
25
|
+
case t === "sign":
|
|
26
|
+
case r === "dir":
|
|
27
|
+
case r.includes("CBC-HS"):
|
|
28
|
+
i = t;
|
|
29
|
+
break;
|
|
30
|
+
case r.startsWith("PBES2"):
|
|
31
|
+
i = "deriveBits";
|
|
32
|
+
break;
|
|
33
|
+
case /^A\d{3}(?:GCM)?(?:KW)?$/.test(r):
|
|
34
|
+
!r.includes("GCM") && r.endsWith("KW") ? i = "unwrapKey" : i = t;
|
|
35
|
+
break;
|
|
36
|
+
case t === "encrypt":
|
|
37
|
+
i = "wrapKey";
|
|
38
|
+
break;
|
|
39
|
+
case t === "decrypt":
|
|
40
|
+
i = r.startsWith("RSA") ? "unwrapKey" : "deriveBits";
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
if (i && e.key_ops?.includes?.(i) === !1)
|
|
44
|
+
throw new TypeError(`Invalid key for this operation, its "key_ops" must include "${i}" when present`);
|
|
45
|
+
}
|
|
46
|
+
return !0;
|
|
47
|
+
}, h = (r, e, t) => {
|
|
48
|
+
if (!(e instanceof Uint8Array)) {
|
|
49
|
+
if (p(e)) {
|
|
50
|
+
if (a(e) && o(r, e, t))
|
|
51
|
+
return;
|
|
52
|
+
throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present');
|
|
53
|
+
}
|
|
54
|
+
if (!c(e))
|
|
55
|
+
throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key", "Uint8Array"));
|
|
56
|
+
if (e.type !== "secret")
|
|
57
|
+
throw new TypeError(`${s(e)} instances for symmetric algorithms must be of type "secret"`);
|
|
58
|
+
}
|
|
59
|
+
}, m = (r, e, t) => {
|
|
60
|
+
if (p(e))
|
|
61
|
+
switch (t) {
|
|
62
|
+
case "decrypt":
|
|
63
|
+
case "sign":
|
|
64
|
+
if (f(e) && o(r, e, t))
|
|
65
|
+
return;
|
|
66
|
+
throw new TypeError("JSON Web Key for this operation be a private JWK");
|
|
67
|
+
case "encrypt":
|
|
68
|
+
case "verify":
|
|
69
|
+
if (y(e) && o(r, e, t))
|
|
70
|
+
return;
|
|
71
|
+
throw new TypeError("JSON Web Key for this operation be a public JWK");
|
|
72
|
+
}
|
|
73
|
+
if (!c(e))
|
|
74
|
+
throw new TypeError(n(r, e, "CryptoKey", "KeyObject", "JSON Web Key"));
|
|
75
|
+
if (e.type === "secret")
|
|
76
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithms must not be of type "secret"`);
|
|
77
|
+
if (e.type === "public")
|
|
78
|
+
switch (t) {
|
|
79
|
+
case "sign":
|
|
80
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithm signing must be of type "private"`);
|
|
81
|
+
case "decrypt":
|
|
82
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithm decryption must be of type "private"`);
|
|
83
|
+
}
|
|
84
|
+
if (e.type === "private")
|
|
85
|
+
switch (t) {
|
|
86
|
+
case "verify":
|
|
87
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithm verifying must be of type "public"`);
|
|
88
|
+
case "encrypt":
|
|
89
|
+
throw new TypeError(`${s(e)} instances for asymmetric algorithm encryption must be of type "public"`);
|
|
90
|
+
}
|
|
91
|
+
}, d = (r, e, t) => {
|
|
92
|
+
r.startsWith("HS") || r === "dir" || r.startsWith("PBES2") || /^A(?:128|192|256)(?:GCM)?(?:KW)?$/.test(r) || /^A(?:128|192|256)CBC-HS(?:256|384|512)$/.test(r) ? h(r, e, t) : m(r, e, t);
|
|
20
93
|
};
|
|
21
94
|
export {
|
|
22
|
-
|
|
95
|
+
d as default
|
|
23
96
|
};
|
package/dist/web/index.web100.js
CHANGED
|
@@ -1,9 +1,120 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { isJWK as p } from "./index.web109.js";
|
|
2
|
+
import { decode as m } from "./index.web95.js";
|
|
3
|
+
import y from "./index.web110.js";
|
|
4
|
+
import { isCryptoKey as S, isKeyObject as K } from "./index.web108.js";
|
|
5
|
+
let c;
|
|
6
|
+
const f = async (e, r, s, i = !1) => {
|
|
7
|
+
c ||= /* @__PURE__ */ new WeakMap();
|
|
8
|
+
let n = c.get(e);
|
|
9
|
+
if (n?.[s])
|
|
10
|
+
return n[s];
|
|
11
|
+
const t = await y({ ...r, alg: s });
|
|
12
|
+
return i && Object.freeze(e), n ? n[s] = t : c.set(e, { [s]: t }), t;
|
|
13
|
+
}, E = (e, r) => {
|
|
14
|
+
c ||= /* @__PURE__ */ new WeakMap();
|
|
15
|
+
let s = c.get(e);
|
|
16
|
+
if (s?.[r])
|
|
17
|
+
return s[r];
|
|
18
|
+
const i = e.type === "public", n = !!i;
|
|
19
|
+
let t;
|
|
20
|
+
if (e.asymmetricKeyType === "x25519") {
|
|
21
|
+
switch (r) {
|
|
22
|
+
case "ECDH-ES":
|
|
23
|
+
case "ECDH-ES+A128KW":
|
|
24
|
+
case "ECDH-ES+A192KW":
|
|
25
|
+
case "ECDH-ES+A256KW":
|
|
26
|
+
break;
|
|
27
|
+
default:
|
|
28
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
29
|
+
}
|
|
30
|
+
t = e.toCryptoKey(e.asymmetricKeyType, n, i ? [] : ["deriveBits"]);
|
|
31
|
+
}
|
|
32
|
+
if (e.asymmetricKeyType === "ed25519") {
|
|
33
|
+
if (r !== "EdDSA" && r !== "Ed25519")
|
|
34
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
35
|
+
t = e.toCryptoKey(e.asymmetricKeyType, n, [
|
|
36
|
+
i ? "verify" : "sign"
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
if (e.asymmetricKeyType === "rsa") {
|
|
40
|
+
let a;
|
|
41
|
+
switch (r) {
|
|
42
|
+
case "RSA-OAEP":
|
|
43
|
+
a = "SHA-1";
|
|
44
|
+
break;
|
|
45
|
+
case "RS256":
|
|
46
|
+
case "PS256":
|
|
47
|
+
case "RSA-OAEP-256":
|
|
48
|
+
a = "SHA-256";
|
|
49
|
+
break;
|
|
50
|
+
case "RS384":
|
|
51
|
+
case "PS384":
|
|
52
|
+
case "RSA-OAEP-384":
|
|
53
|
+
a = "SHA-384";
|
|
54
|
+
break;
|
|
55
|
+
case "RS512":
|
|
56
|
+
case "PS512":
|
|
57
|
+
case "RSA-OAEP-512":
|
|
58
|
+
a = "SHA-512";
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
62
|
+
}
|
|
63
|
+
if (r.startsWith("RSA-OAEP"))
|
|
64
|
+
return e.toCryptoKey({
|
|
65
|
+
name: "RSA-OAEP",
|
|
66
|
+
hash: a
|
|
67
|
+
}, n, i ? ["encrypt"] : ["decrypt"]);
|
|
68
|
+
t = e.toCryptoKey({
|
|
69
|
+
name: r.startsWith("PS") ? "RSA-PSS" : "RSASSA-PKCS1-v1_5",
|
|
70
|
+
hash: a
|
|
71
|
+
}, n, [i ? "verify" : "sign"]);
|
|
72
|
+
}
|
|
73
|
+
if (e.asymmetricKeyType === "ec") {
|
|
74
|
+
const o = (/* @__PURE__ */ new Map([
|
|
75
|
+
["prime256v1", "P-256"],
|
|
76
|
+
["secp384r1", "P-384"],
|
|
77
|
+
["secp521r1", "P-521"]
|
|
78
|
+
])).get(e.asymmetricKeyDetails?.namedCurve);
|
|
79
|
+
if (!o)
|
|
80
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
81
|
+
r === "ES256" && o === "P-256" && (t = e.toCryptoKey({
|
|
82
|
+
name: "ECDSA",
|
|
83
|
+
namedCurve: o
|
|
84
|
+
}, n, [i ? "verify" : "sign"])), r === "ES384" && o === "P-384" && (t = e.toCryptoKey({
|
|
85
|
+
name: "ECDSA",
|
|
86
|
+
namedCurve: o
|
|
87
|
+
}, n, [i ? "verify" : "sign"])), r === "ES512" && o === "P-521" && (t = e.toCryptoKey({
|
|
88
|
+
name: "ECDSA",
|
|
89
|
+
namedCurve: o
|
|
90
|
+
}, n, [i ? "verify" : "sign"])), r.startsWith("ECDH-ES") && (t = e.toCryptoKey({
|
|
91
|
+
name: "ECDH",
|
|
92
|
+
namedCurve: o
|
|
93
|
+
}, n, i ? [] : ["deriveBits"]));
|
|
94
|
+
}
|
|
95
|
+
if (!t)
|
|
96
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
97
|
+
return s ? s[r] = t : c.set(e, { [r]: t }), t;
|
|
98
|
+
}, d = async (e, r) => {
|
|
99
|
+
if (e instanceof Uint8Array || S(e))
|
|
100
|
+
return e;
|
|
101
|
+
if (K(e)) {
|
|
102
|
+
if (e.type === "secret")
|
|
103
|
+
return e.export();
|
|
104
|
+
if ("toCryptoKey" in e && typeof e.toCryptoKey == "function")
|
|
105
|
+
try {
|
|
106
|
+
return E(e, r);
|
|
107
|
+
} catch (i) {
|
|
108
|
+
if (i instanceof TypeError)
|
|
109
|
+
throw i;
|
|
110
|
+
}
|
|
111
|
+
let s = e.export({ format: "jwk" });
|
|
112
|
+
return f(e, s, r);
|
|
113
|
+
}
|
|
114
|
+
if (p(e))
|
|
115
|
+
return e.k ? m(e.k) : f(e, e, r, !0);
|
|
116
|
+
throw new Error("unreachable");
|
|
117
|
+
};
|
|
7
118
|
export {
|
|
8
|
-
|
|
119
|
+
d as default
|
|
9
120
|
};
|
package/dist/web/index.web102.js
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
if (Uint8Array.prototype.toBase64)
|
|
3
|
-
return t.toBase64();
|
|
4
|
-
const e = 32768, n = [];
|
|
5
|
-
for (let r = 0; r < t.length; r += e)
|
|
6
|
-
n.push(String.fromCharCode.apply(null, t.subarray(r, r + e)));
|
|
7
|
-
return btoa(n.join(""));
|
|
8
|
-
}
|
|
9
|
-
function a(t) {
|
|
10
|
-
if (Uint8Array.fromBase64)
|
|
11
|
-
return Uint8Array.fromBase64(t);
|
|
12
|
-
const e = atob(t), n = new Uint8Array(e.length);
|
|
13
|
-
for (let r = 0; r < e.length; r++)
|
|
14
|
-
n[r] = e.charCodeAt(r);
|
|
15
|
-
return n;
|
|
16
|
-
}
|
|
1
|
+
const e = 32, s = 4096, t = 131072, l = 761855;
|
|
17
2
|
export {
|
|
18
|
-
|
|
19
|
-
|
|
3
|
+
t as bytesPerBlob,
|
|
4
|
+
e as bytesPerFieldElement,
|
|
5
|
+
s as fieldElementsPerBlob,
|
|
6
|
+
l as maxBytesPerTransaction
|
|
20
7
|
};
|
package/dist/web/index.web103.js
CHANGED
|
@@ -1,30 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
case "ES256":
|
|
18
|
-
case "ES384":
|
|
19
|
-
case "ES512":
|
|
20
|
-
return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
|
|
21
|
-
case "Ed25519":
|
|
22
|
-
case "EdDSA":
|
|
23
|
-
return { name: "Ed25519" };
|
|
24
|
-
default:
|
|
25
|
-
throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
1
|
+
function o(t) {
|
|
2
|
+
if (Uint8Array.prototype.toBase64)
|
|
3
|
+
return t.toBase64();
|
|
4
|
+
const e = 32768, n = [];
|
|
5
|
+
for (let r = 0; r < t.length; r += e)
|
|
6
|
+
n.push(String.fromCharCode.apply(null, t.subarray(r, r + e)));
|
|
7
|
+
return btoa(n.join(""));
|
|
8
|
+
}
|
|
9
|
+
function a(t) {
|
|
10
|
+
if (Uint8Array.fromBase64)
|
|
11
|
+
return Uint8Array.fromBase64(t);
|
|
12
|
+
const e = atob(t), n = new Uint8Array(e.length);
|
|
13
|
+
for (let r = 0; r < e.length; r++)
|
|
14
|
+
n[r] = e.charCodeAt(r);
|
|
15
|
+
return n;
|
|
16
|
+
}
|
|
28
17
|
export {
|
|
29
|
-
|
|
18
|
+
a as decodeBase64,
|
|
19
|
+
o as encodeBase64
|
|
30
20
|
};
|
package/dist/web/index.web104.js
CHANGED
|
@@ -1,10 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { JOSENotSupported as r } from "./index.web33.js";
|
|
2
|
+
const S = (e, s) => {
|
|
3
|
+
const a = `SHA-${e.slice(-3)}`;
|
|
4
|
+
switch (e) {
|
|
5
|
+
case "HS256":
|
|
6
|
+
case "HS384":
|
|
7
|
+
case "HS512":
|
|
8
|
+
return { hash: a, name: "HMAC" };
|
|
9
|
+
case "PS256":
|
|
10
|
+
case "PS384":
|
|
11
|
+
case "PS512":
|
|
12
|
+
return { hash: a, name: "RSA-PSS", saltLength: parseInt(e.slice(-3), 10) >> 3 };
|
|
13
|
+
case "RS256":
|
|
14
|
+
case "RS384":
|
|
15
|
+
case "RS512":
|
|
16
|
+
return { hash: a, name: "RSASSA-PKCS1-v1_5" };
|
|
17
|
+
case "ES256":
|
|
18
|
+
case "ES384":
|
|
19
|
+
case "ES512":
|
|
20
|
+
return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
|
|
21
|
+
case "Ed25519":
|
|
22
|
+
case "EdDSA":
|
|
23
|
+
return { name: "Ed25519" };
|
|
24
|
+
default:
|
|
25
|
+
throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
|
|
6
26
|
}
|
|
7
27
|
};
|
|
8
28
|
export {
|
|
9
|
-
|
|
29
|
+
S as default
|
|
10
30
|
};
|
package/dist/web/index.web105.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
throw new TypeError(o(r, "CryptoKey", "KeyObject", "JSON Web Key"));
|
|
7
|
-
return crypto.subtle.importKey("raw", r, { hash: `SHA-${t.slice(-3)}`, name: "HMAC" }, !1, [e]);
|
|
1
|
+
const o = (t, r) => {
|
|
2
|
+
if (t.startsWith("RS") || t.startsWith("PS")) {
|
|
3
|
+
const { modulusLength: e } = r.algorithm;
|
|
4
|
+
if (typeof e != "number" || e < 2048)
|
|
5
|
+
throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`);
|
|
8
6
|
}
|
|
9
|
-
return i(r, t, e), r;
|
|
10
7
|
};
|
|
11
8
|
export {
|
|
12
|
-
|
|
9
|
+
o as default
|
|
13
10
|
};
|
package/dist/web/index.web106.js
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
1
|
+
import { checkSigCryptoKey as i } from "./index.web114.js";
|
|
2
|
+
import o from "./index.web107.js";
|
|
3
|
+
const s = async (t, r, e) => {
|
|
4
|
+
if (r instanceof Uint8Array) {
|
|
5
|
+
if (!t.startsWith("HS"))
|
|
6
|
+
throw new TypeError(o(r, "CryptoKey", "KeyObject", "JSON Web Key"));
|
|
7
|
+
return crypto.subtle.importKey("raw", r, { hash: `SHA-${t.slice(-3)}`, name: "HMAC" }, !1, [e]);
|
|
8
|
+
}
|
|
9
|
+
return i(r, t, e), r;
|
|
10
|
+
};
|
|
12
11
|
export {
|
|
13
|
-
|
|
14
|
-
t as withAlg
|
|
12
|
+
s as default
|
|
15
13
|
};
|
package/dist/web/index.web107.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
function e
|
|
2
|
-
|
|
1
|
+
function i(n, e, ...o) {
|
|
2
|
+
if (o = o.filter(Boolean), o.length > 2) {
|
|
3
|
+
const f = o.pop();
|
|
4
|
+
n += `one of type ${o.join(", ")}, or ${f}.`;
|
|
5
|
+
} else o.length === 2 ? n += `one of type ${o[0]} or ${o[1]}.` : n += `of type ${o[0]}.`;
|
|
6
|
+
return e == null ? n += ` Received ${e}` : typeof e == "function" && e.name ? n += ` Received function ${e.name}` : typeof e == "object" && e != null && e.constructor?.name && (n += ` Received an instance of ${e.constructor.name}`), n;
|
|
3
7
|
}
|
|
4
|
-
|
|
5
|
-
|
|
8
|
+
const r = (n, ...e) => i("Key must be ", n, ...e);
|
|
9
|
+
function t(n, e, ...o) {
|
|
10
|
+
return i(`Key for the ${n} algorithm must be `, e, ...o);
|
|
6
11
|
}
|
|
7
|
-
const n = (t) => e(t) || r(t);
|
|
8
12
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
r as isKeyObject
|
|
13
|
+
r as default,
|
|
14
|
+
t as withAlg
|
|
12
15
|
};
|
package/dist/web/index.web108.js
CHANGED
|
@@ -1,19 +1,12 @@
|
|
|
1
|
-
import n from "./index.web43.js";
|
|
2
|
-
function r(t) {
|
|
3
|
-
return n(t) && typeof t.kty == "string";
|
|
4
|
-
}
|
|
5
|
-
function o(t) {
|
|
6
|
-
return t.kty !== "oct" && typeof t.d == "string";
|
|
7
|
-
}
|
|
8
1
|
function e(t) {
|
|
9
|
-
return t.
|
|
2
|
+
return t?.[Symbol.toStringTag] === "CryptoKey";
|
|
10
3
|
}
|
|
11
|
-
function
|
|
12
|
-
return t.
|
|
4
|
+
function r(t) {
|
|
5
|
+
return t?.[Symbol.toStringTag] === "KeyObject";
|
|
13
6
|
}
|
|
7
|
+
const n = (t) => e(t) || r(t);
|
|
14
8
|
export {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
c as isSecretJWK
|
|
9
|
+
n as default,
|
|
10
|
+
e as isCryptoKey,
|
|
11
|
+
r as isKeyObject
|
|
19
12
|
};
|