@suveren/gateway 0.7.4 → 0.8.0
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/content/integrations/mollie.json +103 -28
- package/dist/control-plane/index.mjs +248 -58
- package/dist/mcp-server/http.mjs +577 -124
- package/dist/ui/assets/index-BFnSVa9N.js +110 -0
- package/dist/ui/assets/{index-CkWaRck1.css → index-BYVb_0oG.css} +1 -1
- package/dist/ui/index.html +2 -2
- package/node_modules/@hap/core/dist/index.d.mts +285 -13
- package/node_modules/@hap/core/dist/index.d.ts +285 -13
- package/node_modules/@hap/core/dist/index.js +281 -13
- package/node_modules/@hap/core/dist/index.mjs +266 -12
- package/node_modules/@hap/core/package.json +4 -2
- package/node_modules/@hap/core/src/did-key.ts +126 -0
- package/node_modules/@hap/core/src/frame.ts +115 -14
- package/node_modules/@hap/core/src/gatekeeper.ts +26 -0
- package/node_modules/@hap/core/src/identity.ts +21 -5
- package/node_modules/@hap/core/src/index.ts +3 -0
- package/node_modules/@hap/core/src/mandate.ts +207 -0
- package/node_modules/@hap/core/src/receipt.ts +74 -0
- package/node_modules/@hap/core/src/types.ts +87 -5
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/accept.js +54 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/charset.js +10 -34
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/encoding.js +9 -30
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/language.js +15 -36
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/mediaType.js +16 -134
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/LICENSE +22 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/README.md +71 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +46 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.js +176 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/package.json +52 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/package.json +16 -10
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/buffer.buffer.d.ts +10 -5
- package/node_modules/@types/node/crypto.d.ts +2 -4
- package/node_modules/@types/node/dgram.d.ts +119 -4
- package/node_modules/@types/node/ffi.d.ts +1 -1
- package/node_modules/@types/node/fs/promises.d.ts +61 -65
- package/node_modules/@types/node/fs.d.ts +86 -76
- package/node_modules/@types/node/http.d.ts +17 -1
- package/node_modules/@types/node/http2.d.ts +12 -4
- package/node_modules/@types/node/index.d.ts +1 -0
- package/node_modules/@types/node/inspector.d.ts +2 -1
- package/node_modules/@types/node/net.d.ts +108 -16
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/process.d.ts +52 -0
- package/node_modules/@types/node/quic.d.ts +246 -38
- package/node_modules/@types/node/sqlite.d.ts +6 -2
- package/node_modules/@types/node/stream/iter.d.ts +4 -4
- package/node_modules/@types/node/test.d.ts +36 -0
- package/node_modules/@types/node/tls.d.ts +24 -0
- package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
- package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
- package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
- package/node_modules/@types/node/tty.d.ts +4 -3
- package/node_modules/@types/node/vfs.d.ts +210 -0
- package/node_modules/@types/node/vm.d.ts +1 -1
- package/node_modules/express-rate-limit/dist/index.cjs +6 -3
- package/node_modules/express-rate-limit/dist/index.d.cts +11 -0
- package/node_modules/express-rate-limit/dist/index.d.mts +11 -0
- package/node_modules/express-rate-limit/dist/index.d.ts +11 -0
- package/node_modules/express-rate-limit/dist/index.mjs +6 -3
- package/node_modules/express-rate-limit/{license.md → license} +7 -6
- package/node_modules/express-rate-limit/package.json +5 -5
- package/node_modules/express-rate-limit/readme.md +1 -0
- package/node_modules/fast-uri/index.js +215 -47
- package/node_modules/fast-uri/lib/schemes.js +9 -4
- package/node_modules/fast-uri/lib/utils.js +396 -92
- package/node_modules/fast-uri/package.json +1 -1
- package/node_modules/fast-uri/test/component-safe-serialization.test.js +163 -0
- package/node_modules/fast-uri/test/equal.test.js +31 -3
- package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +2 -0
- package/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
- package/node_modules/fast-uri/test/ipv6-validation.test.js +124 -0
- package/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
- package/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
- package/node_modules/fast-uri/test/parse.test.js +7 -3
- package/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
- package/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
- package/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
- package/node_modules/fast-uri/test/security-normalization.test.js +101 -0
- package/node_modules/fast-uri/test/security.test.js +75 -3
- package/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
- package/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
- package/node_modules/hono/dist/cjs/client/client.js +25 -11
- package/node_modules/hono/dist/cjs/client/utils.js +4 -1
- package/node_modules/hono/dist/cjs/context.js +4 -0
- package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +36 -2
- package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +1 -1
- package/node_modules/hono/dist/cjs/helper/ssg/utils.js +30 -10
- package/node_modules/hono/dist/cjs/jsx/dom/render.js +2 -0
- package/node_modules/hono/dist/cjs/middleware/cache/index.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/cors/index.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/csrf/index.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/etag/digest.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/etag/index.js +3 -3
- package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +3 -1
- package/node_modules/hono/dist/cjs/request.js +8 -4
- package/node_modules/hono/dist/cjs/router/linear-router/router.js +7 -2
- package/node_modules/hono/dist/cjs/router/pattern-router/router.js +3 -9
- package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +10 -3
- package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +47 -83
- package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +2 -1
- package/node_modules/hono/dist/cjs/router/trie-router/node.js +46 -69
- package/node_modules/hono/dist/cjs/router/trie-router/router.js +3 -11
- package/node_modules/hono/dist/cjs/router/utils.js +27 -0
- package/node_modules/hono/dist/cjs/utils/body.js +15 -3
- package/node_modules/hono/dist/cjs/utils/cookie.js +1 -1
- package/node_modules/hono/dist/cjs/utils/ipaddr.js +5 -3
- package/node_modules/hono/dist/cjs/utils/stream.js +7 -1
- package/node_modules/hono/dist/cjs/utils/url.js +9 -1
- package/node_modules/hono/dist/client/client.js +25 -11
- package/node_modules/hono/dist/client/utils.js +4 -1
- package/node_modules/hono/dist/context.js +4 -0
- package/node_modules/hono/dist/helper/accepts/accepts.js +36 -2
- package/node_modules/hono/dist/helper/ssg/ssg.js +1 -1
- package/node_modules/hono/dist/helper/ssg/utils.js +30 -10
- package/node_modules/hono/dist/jsx/dom/render.js +2 -0
- package/node_modules/hono/dist/middleware/cache/index.js +1 -1
- package/node_modules/hono/dist/middleware/cors/index.js +1 -1
- package/node_modules/hono/dist/middleware/csrf/index.js +1 -1
- package/node_modules/hono/dist/middleware/etag/digest.js +1 -1
- package/node_modules/hono/dist/middleware/etag/index.js +3 -3
- package/node_modules/hono/dist/middleware/pretty-json/index.js +3 -1
- package/node_modules/hono/dist/request.js +8 -4
- package/node_modules/hono/dist/router/linear-router/router.js +7 -2
- package/node_modules/hono/dist/router/pattern-router/router.js +3 -9
- package/node_modules/hono/dist/router/reg-exp-router/node.js +6 -2
- package/node_modules/hono/dist/router/reg-exp-router/router.js +53 -84
- package/node_modules/hono/dist/router/reg-exp-router/trie.js +2 -1
- package/node_modules/hono/dist/router/trie-router/node.js +46 -69
- package/node_modules/hono/dist/router/trie-router/router.js +3 -11
- package/node_modules/hono/dist/router/utils.js +5 -0
- package/node_modules/hono/dist/types/context.d.ts +4 -0
- package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +3 -0
- package/node_modules/hono/dist/types/router/trie-router/node.d.ts +1 -2
- package/node_modules/hono/dist/types/router/trie-router/router.d.ts +0 -1
- package/node_modules/hono/dist/types/router/utils.d.ts +1 -0
- package/node_modules/hono/dist/types/utils/url.d.ts +4 -0
- package/node_modules/hono/dist/utils/body.js +15 -3
- package/node_modules/hono/dist/utils/cookie.js +1 -1
- package/node_modules/hono/dist/utils/ipaddr.js +5 -3
- package/node_modules/hono/dist/utils/stream.js +7 -1
- package/node_modules/hono/dist/utils/url.js +9 -1
- package/node_modules/hono/package.json +1 -1
- package/node_modules/ip-address/README.md +92 -82
- package/node_modules/ip-address/dist/common.d.ts +20 -0
- package/node_modules/ip-address/dist/common.js +36 -0
- package/node_modules/ip-address/dist/common.js.map +1 -1
- package/node_modules/ip-address/dist/ipv4.d.ts +50 -0
- package/node_modules/ip-address/dist/ipv4.js +75 -0
- package/node_modules/ip-address/dist/ipv4.js.map +1 -1
- package/node_modules/ip-address/dist/ipv6.d.ts +79 -10
- package/node_modules/ip-address/dist/ipv6.js +120 -30
- package/node_modules/ip-address/dist/ipv6.js.map +1 -1
- package/node_modules/ip-address/dist/v4/constants.d.ts +12 -0
- package/node_modules/ip-address/dist/v4/constants.js +40 -1
- package/node_modules/ip-address/dist/v4/constants.js.map +1 -1
- package/node_modules/ip-address/dist/v6/constants.d.ts +14 -0
- package/node_modules/ip-address/dist/v6/constants.js +47 -1
- package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
- package/node_modules/ip-address/package.json +1 -1
- package/node_modules/is-plain-object/README.md +39 -95
- package/node_modules/is-plain-object/dist/is-plain-object.js +0 -2
- package/node_modules/is-plain-object/is-plain-object.d.ts +6 -1
- package/node_modules/is-plain-object/package.json +8 -34
- package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +7 -16
- package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +10 -20
- package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +7 -16
- package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +16 -38
- package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +7 -16
- package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +19 -38
- package/node_modules/jose/dist/types/jwk/embedded.d.ts +3 -8
- package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +5 -5
- package/node_modules/jose/dist/types/jwks/local.d.ts +6 -10
- package/node_modules/jose/dist/types/jwks/remote.d.ts +17 -28
- package/node_modules/jose/dist/types/jws/compact/sign.d.ts +5 -10
- package/node_modules/jose/dist/types/jws/compact/verify.d.ts +9 -18
- package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +7 -16
- package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +9 -18
- package/node_modules/jose/dist/types/jws/general/sign.d.ts +11 -21
- package/node_modules/jose/dist/types/jws/general/verify.d.ts +12 -21
- package/node_modules/jose/dist/types/jwt/decrypt.d.ts +10 -20
- package/node_modules/jose/dist/types/jwt/encrypt.d.ts +17 -29
- package/node_modules/jose/dist/types/jwt/sign.d.ts +12 -19
- package/node_modules/jose/dist/types/jwt/unsecured.d.ts +17 -28
- package/node_modules/jose/dist/types/jwt/verify.d.ts +9 -19
- package/node_modules/jose/dist/types/key/export.d.ts +4 -4
- package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +6 -8
- package/node_modules/jose/dist/types/key/generate_secret.d.ts +4 -11
- package/node_modules/jose/dist/types/key/import.d.ts +10 -17
- package/node_modules/jose/dist/types/types.d.ts +48 -86
- package/node_modules/jose/dist/types/util/base64url.d.ts +2 -2
- package/node_modules/jose/dist/types/util/decode_jwt.d.ts +3 -10
- package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +4 -4
- package/node_modules/jose/dist/types/util/errors.d.ts +26 -53
- package/node_modules/jose/dist/webapi/index.js +70 -32
- package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +7 -8
- package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +42 -26
- package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +14 -10
- package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +53 -71
- package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +38 -49
- package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +121 -158
- package/node_modules/jose/dist/webapi/jwk/embedded.js +30 -18
- package/node_modules/jose/dist/webapi/jwk/thumbprint.js +54 -64
- package/node_modules/jose/dist/webapi/jwks/local.js +49 -74
- package/node_modules/jose/dist/webapi/jwks/remote.js +91 -160
- package/node_modules/jose/dist/webapi/jws/compact/sign.js +21 -20
- package/node_modules/jose/dist/webapi/jws/compact/verify.js +7 -8
- package/node_modules/jose/dist/webapi/jws/flattened/sign.js +29 -30
- package/node_modules/jose/dist/webapi/jws/flattened/verify.js +21 -23
- package/node_modules/jose/dist/webapi/jws/general/sign.js +61 -70
- package/node_modules/jose/dist/webapi/jws/general/verify.js +47 -41
- package/node_modules/jose/dist/webapi/jwt/decrypt.js +13 -22
- package/node_modules/jose/dist/webapi/jwt/encrypt.js +58 -100
- package/node_modules/jose/dist/webapi/jwt/sign.js +18 -50
- package/node_modules/jose/dist/webapi/jwt/unsecured.js +34 -63
- package/node_modules/jose/dist/webapi/jwt/verify.js +12 -14
- package/node_modules/jose/dist/webapi/key/export.js +32 -37
- package/node_modules/jose/dist/webapi/key/generate_key_pair.js +40 -44
- package/node_modules/jose/dist/webapi/key/generate_secret.js +35 -39
- package/node_modules/jose/dist/webapi/key/import.js +52 -52
- package/node_modules/jose/dist/webapi/lib/asn1.js +130 -164
- package/node_modules/jose/dist/webapi/lib/base64.js +18 -20
- package/node_modules/jose/dist/webapi/lib/buffer_utils.js +34 -38
- package/node_modules/jose/dist/webapi/lib/content_encryption.js +79 -123
- package/node_modules/jose/dist/webapi/lib/crypto_key.js +24 -25
- package/node_modules/jose/dist/webapi/lib/deflate.js +46 -40
- package/node_modules/jose/dist/webapi/lib/helpers.js +40 -37
- package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +10 -24
- package/node_modules/jose/dist/webapi/lib/is_key_like.js +17 -15
- package/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +106 -93
- package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +210 -176
- package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +105 -107
- package/node_modules/jose/dist/webapi/lib/jwk_metadata.js +19 -0
- package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +9 -16
- package/node_modules/jose/dist/webapi/lib/jws_algorithms.js +62 -61
- package/node_modules/jose/dist/webapi/lib/jws_sign.js +58 -72
- package/node_modules/jose/dist/webapi/lib/jws_verify.js +90 -103
- package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +134 -185
- package/node_modules/jose/dist/webapi/lib/key.js +84 -121
- package/node_modules/jose/dist/webapi/lib/key_algorithm.js +13 -8
- package/node_modules/jose/dist/webapi/lib/key_descriptor.js +8 -6
- package/node_modules/jose/dist/webapi/lib/key_management.js +200 -225
- package/node_modules/jose/dist/webapi/lib/key_options.js +8 -0
- package/node_modules/jose/dist/webapi/lib/options.js +57 -44
- package/node_modules/jose/dist/webapi/lib/signing.js +18 -22
- package/node_modules/jose/dist/webapi/lib/type_checks.js +28 -33
- package/node_modules/jose/dist/webapi/util/base64url.js +26 -35
- package/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -31
- package/node_modules/jose/dist/webapi/util/decode_protected_header.js +18 -23
- package/node_modules/jose/dist/webapi/util/errors.js +94 -84
- package/node_modules/jose/package.json +17 -81
- package/package.json +2 -2
- package/profiles/calendar/0.5.profile.json +190 -0
- package/profiles/charge/0.5.profile.json +210 -0
- package/profiles/customers/0.7.profile.json +157 -0
- package/profiles/deploy/0.9.profile.json +176 -0
- package/profiles/email/0.6.profile.json +208 -0
- package/profiles/index.json +9 -1
- package/profiles/publish/0.5.profile.json +186 -0
- package/profiles/purchase/0.5.profile.json +231 -0
- package/profiles/records/0.5.profile.json +117 -0
- package/dist/ui/assets/index-0Q2eNytX.js +0 -110
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/HISTORY.md +0 -114
|
@@ -1,32 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
import * as errors from
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
export {
|
|
32
|
-
|
|
1
|
+
import { compactDecrypt } from "./jwe/compact/decrypt.js";
|
|
2
|
+
import { flattenedDecrypt } from "./jwe/flattened/decrypt.js";
|
|
3
|
+
import { generalDecrypt } from "./jwe/general/decrypt.js";
|
|
4
|
+
import { GeneralEncrypt } from "./jwe/general/encrypt.js";
|
|
5
|
+
import { compactVerify } from "./jws/compact/verify.js";
|
|
6
|
+
import { flattenedVerify } from "./jws/flattened/verify.js";
|
|
7
|
+
import { generalVerify } from "./jws/general/verify.js";
|
|
8
|
+
import { jwtVerify } from "./jwt/verify.js";
|
|
9
|
+
import { jwtDecrypt } from "./jwt/decrypt.js";
|
|
10
|
+
import { CompactEncrypt } from "./jwe/compact/encrypt.js";
|
|
11
|
+
import { FlattenedEncrypt } from "./jwe/flattened/encrypt.js";
|
|
12
|
+
import { CompactSign } from "./jws/compact/sign.js";
|
|
13
|
+
import { FlattenedSign } from "./jws/flattened/sign.js";
|
|
14
|
+
import { GeneralSign } from "./jws/general/sign.js";
|
|
15
|
+
import { SignJWT } from "./jwt/sign.js";
|
|
16
|
+
import { EncryptJWT } from "./jwt/encrypt.js";
|
|
17
|
+
import { calculateJwkThumbprint, calculateJwkThumbprintUri } from "./jwk/thumbprint.js";
|
|
18
|
+
import { EmbeddedJWK } from "./jwk/embedded.js";
|
|
19
|
+
import { createLocalJWKSet } from "./jwks/local.js";
|
|
20
|
+
import { createRemoteJWKSet, jwksCache, customFetch } from "./jwks/remote.js";
|
|
21
|
+
import { UnsecuredJWT } from "./jwt/unsecured.js";
|
|
22
|
+
import { exportPKCS8, exportSPKI, exportJWK } from "./key/export.js";
|
|
23
|
+
import { importSPKI, importPKCS8, importX509, importJWK } from "./key/import.js";
|
|
24
|
+
import { decodeProtectedHeader } from "./util/decode_protected_header.js";
|
|
25
|
+
import { decodeJwt } from "./util/decode_jwt.js";
|
|
26
|
+
import * as errors from "./util/errors.js";
|
|
27
|
+
import { generateKeyPair } from "./key/generate_key_pair.js";
|
|
28
|
+
import { generateSecret } from "./key/generate_secret.js";
|
|
29
|
+
import * as base64url from "./util/base64url.js";
|
|
30
|
+
const cryptoRuntime = "WebCryptoAPI";
|
|
31
|
+
export {
|
|
32
|
+
CompactEncrypt,
|
|
33
|
+
CompactSign,
|
|
34
|
+
EmbeddedJWK,
|
|
35
|
+
EncryptJWT,
|
|
36
|
+
FlattenedEncrypt,
|
|
37
|
+
FlattenedSign,
|
|
38
|
+
GeneralEncrypt,
|
|
39
|
+
GeneralSign,
|
|
40
|
+
SignJWT,
|
|
41
|
+
UnsecuredJWT,
|
|
42
|
+
base64url,
|
|
43
|
+
calculateJwkThumbprint,
|
|
44
|
+
calculateJwkThumbprintUri,
|
|
45
|
+
compactDecrypt,
|
|
46
|
+
compactVerify,
|
|
47
|
+
createLocalJWKSet,
|
|
48
|
+
createRemoteJWKSet,
|
|
49
|
+
cryptoRuntime,
|
|
50
|
+
customFetch,
|
|
51
|
+
decodeJwt,
|
|
52
|
+
decodeProtectedHeader,
|
|
53
|
+
errors,
|
|
54
|
+
exportJWK,
|
|
55
|
+
exportPKCS8,
|
|
56
|
+
exportSPKI,
|
|
57
|
+
flattenedDecrypt,
|
|
58
|
+
flattenedVerify,
|
|
59
|
+
generalDecrypt,
|
|
60
|
+
generalVerify,
|
|
61
|
+
generateKeyPair,
|
|
62
|
+
generateSecret,
|
|
63
|
+
importJWK,
|
|
64
|
+
importPKCS8,
|
|
65
|
+
importSPKI,
|
|
66
|
+
importX509,
|
|
67
|
+
jwksCache,
|
|
68
|
+
jwtDecrypt,
|
|
69
|
+
jwtVerify
|
|
70
|
+
};
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { prepareDecrypt, decryptCompact } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (typeof key === 'function') {
|
|
6
|
-
return { ...result, key: decrypted[2] };
|
|
7
|
-
}
|
|
8
|
-
return result;
|
|
1
|
+
import { prepareDecrypt, decryptCompact } from "../../lib/jwe_decrypt.js";
|
|
2
|
+
async function compactDecrypt(jwe, key, options) {
|
|
3
|
+
const decrypted = await decryptCompact(jwe, prepareDecrypt(options), key), result = { plaintext: decrypted[0], protectedHeader: decrypted[1] };
|
|
4
|
+
return typeof key == "function" ? { ...result, key: decrypted[2] } : result;
|
|
9
5
|
}
|
|
6
|
+
export {
|
|
7
|
+
compactDecrypt
|
|
8
|
+
};
|
|
@@ -1,27 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
import { assertNotSet } from "../../lib/helpers.js";
|
|
2
|
+
import { assertUint8Array } from "../../lib/type_checks.js";
|
|
3
|
+
import { createJWE } from "../../lib/jwe_encrypt.js";
|
|
4
|
+
class CompactEncrypt {
|
|
5
|
+
#plaintext;
|
|
6
|
+
#protectedHeader;
|
|
7
|
+
#cek;
|
|
8
|
+
#iv;
|
|
9
|
+
#keyManagementParameters;
|
|
10
|
+
constructor(plaintext) {
|
|
11
|
+
assertUint8Array(plaintext, "plaintext"), this.#plaintext = plaintext;
|
|
12
|
+
}
|
|
13
|
+
setContentEncryptionKey(cek) {
|
|
14
|
+
return assertNotSet(this.#cek, "setContentEncryptionKey"), this.#cek = cek, this;
|
|
15
|
+
}
|
|
16
|
+
setInitializationVector(iv) {
|
|
17
|
+
return assertNotSet(this.#iv, "setInitializationVector"), this.#iv = iv, this;
|
|
18
|
+
}
|
|
19
|
+
setProtectedHeader(protectedHeader) {
|
|
20
|
+
return assertNotSet(this.#protectedHeader, "setProtectedHeader"), this.#protectedHeader = protectedHeader, this;
|
|
21
|
+
}
|
|
22
|
+
setKeyManagementParameters(parameters) {
|
|
23
|
+
return assertNotSet(this.#keyManagementParameters, "setKeyManagementParameters"), this.#keyManagementParameters = parameters, this;
|
|
24
|
+
}
|
|
25
|
+
async encrypt(key, options) {
|
|
26
|
+
const jwe = await createJWE([
|
|
27
|
+
this.#plaintext,
|
|
28
|
+
this.#protectedHeader,
|
|
29
|
+
void 0,
|
|
30
|
+
void 0,
|
|
31
|
+
void 0,
|
|
32
|
+
this.#cek,
|
|
33
|
+
this.#iv,
|
|
34
|
+
this.#keyManagementParameters,
|
|
35
|
+
void 0,
|
|
36
|
+
!1
|
|
37
|
+
], key, options);
|
|
38
|
+
return [jwe.protected, jwe.encrypted_key, jwe.iv, jwe.ciphertext, jwe.tag].join(".");
|
|
39
|
+
}
|
|
27
40
|
}
|
|
41
|
+
export {
|
|
42
|
+
CompactEncrypt
|
|
43
|
+
};
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { JWEInvalid } from
|
|
2
|
-
import { isObject } from
|
|
3
|
-
import { prepareDecrypt, decryptJWE, decryptResult,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { JWEInvalid } from "../../util/errors.js";
|
|
2
|
+
import { isObject } from "../../lib/type_checks.js";
|
|
3
|
+
import { prepareDecrypt, decryptJWE, decryptResult, checkRecipient, snapshotSharedJWE, snapshotRecipientJWE } from "../../lib/jwe_decrypt.js";
|
|
4
|
+
async function flattenedDecrypt(jwe, key, options) {
|
|
5
|
+
if (!isObject(jwe))
|
|
6
|
+
throw new JWEInvalid("Flattened JWE must be an object");
|
|
7
|
+
const shared = snapshotSharedJWE(jwe), [recipient, , error] = snapshotRecipientJWE(jwe);
|
|
8
|
+
if (!recipient)
|
|
9
|
+
throw error;
|
|
10
|
+
const snapshot = { ...shared, ...recipient };
|
|
11
|
+
return checkRecipient(snapshot), decryptResult(snapshot, await decryptJWE(snapshot, prepareDecrypt(options), key));
|
|
11
12
|
}
|
|
13
|
+
export {
|
|
14
|
+
flattenedDecrypt
|
|
15
|
+
};
|
|
@@ -1,72 +1,54 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
this.#iv = iv;
|
|
52
|
-
return this;
|
|
53
|
-
}
|
|
54
|
-
async encrypt(key, options) {
|
|
55
|
-
if (!this.#protectedHeader && !this.#unprotectedHeader && !this.#sharedUnprotectedHeader) {
|
|
56
|
-
throw new JWEInvalid('either setProtectedHeader, setUnprotectedHeader, or sharedUnprotectedHeader must be called before #encrypt()');
|
|
57
|
-
}
|
|
58
|
-
validateCritDuplicates(JWEInvalid, this.#protectedHeader);
|
|
59
|
-
return createJWE([
|
|
60
|
-
this.#plaintext,
|
|
61
|
-
this.#protectedHeader,
|
|
62
|
-
this.#unprotectedHeader,
|
|
63
|
-
this.#sharedUnprotectedHeader,
|
|
64
|
-
this.#aad,
|
|
65
|
-
this.#cek,
|
|
66
|
-
this.#iv,
|
|
67
|
-
this.#keyManagementParameters,
|
|
68
|
-
options?.crit,
|
|
69
|
-
options ? unprotected in options : false,
|
|
70
|
-
], key);
|
|
71
|
-
}
|
|
1
|
+
import { assertNotSet } from "../../lib/helpers.js";
|
|
2
|
+
import { createJWE } from "../../lib/jwe_encrypt.js";
|
|
3
|
+
import { assertUint8Array } from "../../lib/type_checks.js";
|
|
4
|
+
class FlattenedEncrypt {
|
|
5
|
+
#plaintext;
|
|
6
|
+
#protectedHeader;
|
|
7
|
+
#sharedUnprotectedHeader;
|
|
8
|
+
#unprotectedHeader;
|
|
9
|
+
#aad;
|
|
10
|
+
#cek;
|
|
11
|
+
#iv;
|
|
12
|
+
#keyManagementParameters;
|
|
13
|
+
constructor(plaintext) {
|
|
14
|
+
assertUint8Array(plaintext, "plaintext"), this.#plaintext = plaintext;
|
|
15
|
+
}
|
|
16
|
+
setKeyManagementParameters(parameters) {
|
|
17
|
+
return assertNotSet(this.#keyManagementParameters, "setKeyManagementParameters"), this.#keyManagementParameters = parameters, this;
|
|
18
|
+
}
|
|
19
|
+
setProtectedHeader(protectedHeader) {
|
|
20
|
+
return assertNotSet(this.#protectedHeader, "setProtectedHeader"), this.#protectedHeader = protectedHeader, this;
|
|
21
|
+
}
|
|
22
|
+
setSharedUnprotectedHeader(sharedUnprotectedHeader) {
|
|
23
|
+
return assertNotSet(this.#sharedUnprotectedHeader, "setSharedUnprotectedHeader"), this.#sharedUnprotectedHeader = sharedUnprotectedHeader, this;
|
|
24
|
+
}
|
|
25
|
+
setUnprotectedHeader(unprotectedHeader) {
|
|
26
|
+
return assertNotSet(this.#unprotectedHeader, "setUnprotectedHeader"), this.#unprotectedHeader = unprotectedHeader, this;
|
|
27
|
+
}
|
|
28
|
+
setAdditionalAuthenticatedData(aad) {
|
|
29
|
+
return this.#aad = aad, this;
|
|
30
|
+
}
|
|
31
|
+
setContentEncryptionKey(cek) {
|
|
32
|
+
return assertNotSet(this.#cek, "setContentEncryptionKey"), this.#cek = cek, this;
|
|
33
|
+
}
|
|
34
|
+
setInitializationVector(iv) {
|
|
35
|
+
return assertNotSet(this.#iv, "setInitializationVector"), this.#iv = iv, this;
|
|
36
|
+
}
|
|
37
|
+
async encrypt(key, options) {
|
|
38
|
+
return createJWE([
|
|
39
|
+
this.#plaintext,
|
|
40
|
+
this.#protectedHeader,
|
|
41
|
+
this.#unprotectedHeader,
|
|
42
|
+
this.#sharedUnprotectedHeader,
|
|
43
|
+
this.#aad,
|
|
44
|
+
this.#cek,
|
|
45
|
+
this.#iv,
|
|
46
|
+
this.#keyManagementParameters,
|
|
47
|
+
void 0,
|
|
48
|
+
!1
|
|
49
|
+
], key, options);
|
|
50
|
+
}
|
|
72
51
|
}
|
|
52
|
+
export {
|
|
53
|
+
FlattenedEncrypt
|
|
54
|
+
};
|
|
@@ -1,51 +1,40 @@
|
|
|
1
|
-
import { prepareDecrypt, shareJWE, decryptRecipient, decryptResult,
|
|
2
|
-
import { JWEDecryptionFailed, JWEInvalid } from
|
|
3
|
-
import { isObject } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
throw new JWEDecryptionFailed();
|
|
23
|
-
}
|
|
24
|
-
if (jwe.recipients.length > 1) {
|
|
25
|
-
for (const { header } of jwe.recipients) {
|
|
26
|
-
const alg = token[0]?.alg ?? header?.alg ?? jwe.unprotected?.alg;
|
|
27
|
-
if (alg === 'dir' || alg === 'ECDH-ES') {
|
|
28
|
-
throw new JWEInvalid(`"${alg}" alg may only have a single recipient`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
for (const recipient of jwe.recipients) {
|
|
33
|
-
try {
|
|
34
|
-
const flattened = {
|
|
35
|
-
aad: jwe.aad,
|
|
36
|
-
ciphertext: jwe.ciphertext,
|
|
37
|
-
encrypted_key: recipient.encrypted_key,
|
|
38
|
-
header: recipient.header,
|
|
39
|
-
iv: jwe.iv,
|
|
40
|
-
protected: jwe.protected,
|
|
41
|
-
tag: jwe.tag,
|
|
42
|
-
unprotected: jwe.unprotected,
|
|
43
|
-
};
|
|
44
|
-
checkRecipient(flattened);
|
|
45
|
-
return decryptResult(flattened, await decryptRecipient(flattened, token, shared, key));
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
}
|
|
49
|
-
}
|
|
1
|
+
import { prepareDecrypt, shareJWE, decryptRecipient, decryptResult, checkRecipient, snapshotSharedJWE, snapshotRecipientJWE } from "../../lib/jwe_decrypt.js";
|
|
2
|
+
import { JWEDecryptionFailed, JWEInvalid } from "../../util/errors.js";
|
|
3
|
+
import { isObject } from "../../lib/type_checks.js";
|
|
4
|
+
import { JWE, isJWECEKTransport } from "../../lib/jwe_algorithms.js";
|
|
5
|
+
async function generalDecrypt(jwe, key, options) {
|
|
6
|
+
if (!isObject(jwe))
|
|
7
|
+
throw new JWEInvalid("General JWE must be an object");
|
|
8
|
+
const inputRecipients = jwe.recipients;
|
|
9
|
+
if (!Array.isArray(inputRecipients))
|
|
10
|
+
throw new JWEInvalid("JWE Recipients missing or incorrect type");
|
|
11
|
+
const recipients = Array.from(inputRecipients);
|
|
12
|
+
if (!recipients.every(isObject))
|
|
13
|
+
throw new JWEInvalid("JWE Recipients missing or incorrect type");
|
|
14
|
+
if (!recipients.length)
|
|
15
|
+
throw new JWEInvalid("JWE Recipients has no members");
|
|
16
|
+
let shared, sharedJwe, token;
|
|
17
|
+
try {
|
|
18
|
+
shared = prepareDecrypt(options), sharedJwe = snapshotSharedJWE(jwe), token = shareJWE(sharedJwe);
|
|
19
|
+
} catch {
|
|
50
20
|
throw new JWEDecryptionFailed();
|
|
21
|
+
}
|
|
22
|
+
const recipientSnapshots = recipients.map((recipient) => snapshotRecipientJWE(recipient)), recipientAlgorithms = recipientSnapshots.map(([, headerAlg]) => token[0]?.alg ?? headerAlg ?? sharedJwe.unprotected?.alg);
|
|
23
|
+
if (recipients.length > 1)
|
|
24
|
+
for (const alg of recipientAlgorithms) {
|
|
25
|
+
const algEntry = typeof alg == "string" ? JWE[alg] : void 0;
|
|
26
|
+
if (algEntry && !isJWECEKTransport(algEntry))
|
|
27
|
+
throw new JWEInvalid(`"${alg}" alg may only have a single recipient`);
|
|
28
|
+
}
|
|
29
|
+
for (const [recipient] of recipientSnapshots)
|
|
30
|
+
if (recipient)
|
|
31
|
+
try {
|
|
32
|
+
const flattened = { ...sharedJwe, ...recipient };
|
|
33
|
+
return checkRecipient(flattened), decryptResult(flattened, await decryptRecipient(flattened, token, shared, key));
|
|
34
|
+
} catch {
|
|
35
|
+
}
|
|
36
|
+
throw new JWEDecryptionFailed();
|
|
51
37
|
}
|
|
38
|
+
export {
|
|
39
|
+
generalDecrypt
|
|
40
|
+
};
|