@naylence/advanced-security 0.3.7 → 0.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.cjs +9865 -0
- package/dist/browser/index.mjs +9812 -0
- package/dist/cjs/advanced-security-isomorphic.js +82 -0
- package/dist/cjs/advanced-security-isomorphic.js.map +1 -0
- package/dist/cjs/browser.js +24 -5
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/index.js +1 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/install-env.js +2 -0
- package/dist/cjs/install-env.js.map +1 -0
- package/dist/cjs/naylence/fame/factory-manifest.js +19 -4
- package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/browser-csr.js +103 -0
- package/dist/cjs/naylence/fame/security/cert/browser-csr.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/ca-server-cli.js +30 -0
- package/dist/cjs/naylence/fame/security/cert/ca-server-cli.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/ca-server.js +223 -0
- package/dist/cjs/naylence/fame/security/cert/ca-server.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/ca-service-client.js +340 -39
- package/dist/cjs/naylence/fame/security/cert/ca-service-client.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js +7 -11
- package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/ca-types.js +10 -7
- package/dist/cjs/naylence/fame/security/cert/ca-types.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/csr-types.js +2 -0
- package/dist/cjs/naylence/fame/security/cert/csr-types.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js +6 -10
- package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/default-ca-service.js +151 -66
- package/dist/cjs/naylence/fame/security/cert/default-ca-service.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js +17 -19
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js +250 -129
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/grants.js +1 -4
- package/dist/cjs/naylence/fame/security/cert/grants.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/index.js +16 -50
- package/dist/cjs/naylence/fame/security/cert/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js +77 -123
- package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/node-ed25519-csr.js +156 -0
- package/dist/cjs/naylence/fame/security/cert/node-ed25519-csr.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/oid-constants.js +7 -0
- package/dist/cjs/naylence/fame/security/cert/oid-constants.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/anchor-utils.js +119 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/anchor-utils.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js +82 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/env-provider.js +168 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/env-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +257 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js +530 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js +2 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js +61 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/static-bundle-provider.js +44 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js +40 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider.js +2 -0
- package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/util.js +25 -30
- package/dist/cjs/naylence/fame/security/cert/util.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +10 -14
- package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js +59 -48
- package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/channel/index.js +2 -7
- package/dist/cjs/naylence/fame/security/encryption/channel/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js +10 -14
- package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js +7 -11
- package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +7 -11
- package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js +19 -23
- package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js +9 -15
- package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/index.js +6 -15
- package/dist/cjs/naylence/fame/security/encryption/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/sealed/index.js +2 -7
- package/dist/cjs/naylence/fame/security/encryption/sealed/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +8 -12
- package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +26 -30
- package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/index.js +5 -10
- package/dist/cjs/naylence/fame/security/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/keys/index.js +2 -8
- package/dist/cjs/naylence/fame/security/keys/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js +9 -13
- package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js +17 -53
- package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js +223 -68
- package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +6 -43
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +16 -13
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js +69 -125
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-helper.js +8 -13
- package/dist/cjs/naylence/fame/stickiness/aft-helper.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +12 -16
- package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +10 -14
- package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-model.js +6 -14
- package/dist/cjs/naylence/fame/stickiness/aft-model.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +12 -16
- package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js +13 -18
- package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-signer.js +23 -30
- package/dist/cjs/naylence/fame/stickiness/aft-signer.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-utils.js +3 -8
- package/dist/cjs/naylence/fame/stickiness/aft-utils.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/aft-verifier.js +21 -28
- package/dist/cjs/naylence/fame/stickiness/aft-verifier.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/index.js +10 -39
- package/dist/cjs/naylence/fame/stickiness/index.js.map +1 -1
- package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js +3 -7
- package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js.map +1 -1
- package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js +14 -18
- package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js.map +1 -1
- package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js +14 -18
- package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js.map +1 -1
- package/dist/cjs/naylence/fame/welcome/index.js +2 -8
- package/dist/cjs/naylence/fame/welcome/index.js.map +1 -1
- package/dist/cjs/node.js +11 -0
- package/dist/cjs/node.js.map +1 -0
- package/dist/cjs/plugin.js +8 -10
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/cjs/version.js +8 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/advanced-security-isomorphic.js +82 -0
- package/dist/esm/advanced-security-isomorphic.js.map +1 -0
- package/dist/esm/browser.js +24 -2
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/index.js +1 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/install-env.js +2 -0
- package/dist/esm/install-env.js.map +1 -0
- package/dist/esm/naylence/fame/factory-manifest.js +18 -0
- package/dist/esm/naylence/fame/factory-manifest.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/browser-csr.js +103 -0
- package/dist/esm/naylence/fame/security/cert/browser-csr.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/ca-server-cli.js +30 -0
- package/dist/esm/naylence/fame/security/cert/ca-server-cli.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/ca-server.js +87 -17
- package/dist/esm/naylence/fame/security/cert/ca-server.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/ca-service-client.js +331 -24
- package/dist/esm/naylence/fame/security/cert/ca-service-client.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/ca-types.js +8 -0
- package/dist/esm/naylence/fame/security/cert/ca-types.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/csr-types.js +2 -0
- package/dist/esm/naylence/fame/security/cert/csr-types.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/default-ca-service.js +123 -1
- package/dist/esm/naylence/fame/security/cert/default-ca-service.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js +7 -5
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js +229 -71
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/index.js +7 -1
- package/dist/esm/naylence/fame/security/cert/index.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/internal-ca-service.js +2 -5
- package/dist/esm/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/node-ed25519-csr.js +156 -0
- package/dist/esm/naylence/fame/security/cert/node-ed25519-csr.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/oid-constants.js +7 -0
- package/dist/esm/naylence/fame/security/cert/oid-constants.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/anchor-utils.js +119 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/anchor-utils.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js +82 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/env-provider.js +168 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/env-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +257 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js +530 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js +2 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js +61 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/static-bundle-provider.js +44 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js +40 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider.js +2 -0
- package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider.js.map +1 -0
- package/dist/esm/naylence/fame/security/cert/util.js +1 -2
- package/dist/esm/naylence/fame/security/cert/util.js.map +1 -1
- package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js +27 -12
- package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -1
- package/dist/esm/naylence/fame/security/keys/x5c-key-manager.js +1 -1
- package/dist/esm/naylence/fame/security/keys/x5c-key-manager.js.map +1 -1
- package/dist/esm/naylence/fame/security/register-advanced-security-factories.js +217 -26
- package/dist/esm/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +1 -1
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +1 -1
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +9 -2
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -1
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js +44 -63
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
- package/dist/esm/node.js +11 -0
- package/dist/esm/node.js.map +1 -0
- package/dist/esm/plugin.js +2 -0
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/version.js +8 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/node/index.cjs +9856 -0
- package/dist/node/index.mjs +9801 -0
- package/dist/node/node.cjs +10179 -0
- package/dist/node/node.mjs +10086 -0
- package/dist/types/advanced-security-isomorphic.d.ts +24 -0
- package/dist/types/advanced-security-isomorphic.d.ts.map +1 -0
- package/dist/types/browser.d.ts +18 -1
- package/dist/types/browser.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/install-env.d.ts +3 -0
- package/dist/types/install-env.d.ts.map +1 -0
- package/dist/types/naylence/fame/factory-manifest.d.ts +3 -1
- package/dist/types/naylence/fame/factory-manifest.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/browser-csr.d.ts +9 -0
- package/dist/types/naylence/fame/security/cert/browser-csr.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/ca-server-cli.d.ts +3 -0
- package/dist/types/naylence/fame/security/cert/ca-server-cli.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/ca-server.d.ts +2 -2
- package/dist/types/naylence/fame/security/cert/ca-server.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/ca-service-client.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/ca-types.d.ts +32 -0
- package/dist/types/naylence/fame/security/cert/ca-types.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/csr-types.d.ts +5 -0
- package/dist/types/naylence/fame/security/cert/csr-types.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts +2 -1
- package/dist/types/naylence/fame/security/cert/default-ca-service.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts +2 -4
- package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts +32 -0
- package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/index.d.ts +9 -1
- package/dist/types/naylence/fame/security/cert/index.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts +0 -3
- package/dist/types/naylence/fame/security/cert/internal-ca-service.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/node-ed25519-csr.d.ts +9 -0
- package/dist/types/naylence/fame/security/cert/node-ed25519-csr.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/oid-constants.d.ts +7 -0
- package/dist/types/naylence/fame/security/cert/oid-constants.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/anchor-utils.d.ts +12 -0
- package/dist/types/naylence/fame/security/cert/trust-store/anchor-utils.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.d.ts +28 -0
- package/dist/types/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/env-provider.d.ts +7 -0
- package/dist/types/naylence/fame/security/cert/trust-store/env-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.d.ts +9 -0
- package/dist/types/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts +35 -0
- package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.d.ts +2 -0
- package/dist/types/naylence/fame/security/cert/trust-store/http-signed-bundle-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.d.ts +22 -0
- package/dist/types/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/static-bundle-provider.d.ts +15 -0
- package/dist/types/naylence/fame/security/cert/trust-store/static-bundle-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider-factory.d.ts +28 -0
- package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider-factory.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider.d.ts +43 -0
- package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider.d.ts.map +1 -0
- package/dist/types/naylence/fame/security/cert/util.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/register-advanced-security-factories.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/signing/eddsa-envelope-signer-factory.d.ts +1 -2
- package/dist/types/naylence/fame/security/signing/eddsa-envelope-signer-factory.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier-factory.d.ts +2 -2
- package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier-factory.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts +5 -0
- package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts.map +1 -1
- package/dist/types/node.d.ts +11 -0
- package/dist/types/node.d.ts.map +1 -0
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/version.d.ts +6 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +88 -14
- package/dist/browser/index.js +0 -25070
- package/dist/browser/index.js.map +0 -1
|
@@ -1,47 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.EdDSAEnvelopeVerifier = void 0;
|
|
37
|
-
const ed25519_1 = require("@noble/ed25519");
|
|
38
|
-
const sha2_js_1 = require("@noble/hashes/sha2.js");
|
|
39
|
-
const core_1 = require("@naylence/core");
|
|
40
|
-
const runtime_1 = require("@naylence/runtime");
|
|
41
|
-
const eddsa_signer_verifier_js_1 = require("@naylence/runtime/naylence/fame/security/signing/eddsa-signer-verifier.js");
|
|
42
|
-
const eddsa_utils_js_1 = require("@naylence/runtime/naylence/fame/security/signing/eddsa-utils.js");
|
|
43
|
-
const runtime_2 = require("@naylence/runtime");
|
|
44
|
-
const util_js_1 = require("../cert/util.js");
|
|
1
|
+
import { etc as edEtc, verify } from "@noble/ed25519";
|
|
2
|
+
import { sha512 } from "@noble/hashes/sha2.js";
|
|
3
|
+
import { SigningMaterial } from "@naylence/core";
|
|
4
|
+
import { SigningConfigClass, secureDigest, canonicalJson, decodeBase64Url, frameDigest, immutableHeaders, encodeUtf8, JWKValidationError, validateSigningKey, } from "@naylence/runtime";
|
|
5
|
+
import { publicKeyFromX5c } from "../cert/util.js";
|
|
45
6
|
function assertString(value, field) {
|
|
46
7
|
if (typeof value !== "string" || value.length === 0) {
|
|
47
8
|
throw new Error(`${field} must be a non-empty string`);
|
|
@@ -72,17 +33,17 @@ function encodeBase64Url(value) {
|
|
|
72
33
|
throw new Error("No base64 encoder available in this environment");
|
|
73
34
|
}
|
|
74
35
|
function ensureNobleSha512Fallback() {
|
|
75
|
-
const etcPatch =
|
|
36
|
+
const etcPatch = edEtc;
|
|
76
37
|
if (!etcPatch.sha512) {
|
|
77
|
-
etcPatch.sha512 = (message) =>
|
|
38
|
+
etcPatch.sha512 = (message) => sha512(message);
|
|
78
39
|
}
|
|
79
40
|
if (!etcPatch.sha512Sync) {
|
|
80
41
|
etcPatch.sha512Sync = (...messages) => {
|
|
81
42
|
if (messages.length === 1) {
|
|
82
|
-
return
|
|
43
|
+
return sha512(messages[0]);
|
|
83
44
|
}
|
|
84
|
-
const combined =
|
|
85
|
-
return
|
|
45
|
+
const combined = edEtc.concatBytes(...messages);
|
|
46
|
+
return sha512(combined);
|
|
86
47
|
};
|
|
87
48
|
}
|
|
88
49
|
}
|
|
@@ -90,13 +51,13 @@ function normalizeCertificateKey(jwk, signingConfig, trustStorePem) {
|
|
|
90
51
|
if (!Array.isArray(jwk.x5c) || jwk.x5c.length === 0) {
|
|
91
52
|
return null;
|
|
92
53
|
}
|
|
93
|
-
if (signingConfig.signingMaterial !==
|
|
54
|
+
if (signingConfig.signingMaterial !== SigningMaterial.X509_CHAIN) {
|
|
94
55
|
throw new Error("Certificate keys are disabled by signing policy");
|
|
95
56
|
}
|
|
96
57
|
if (!trustStorePem) {
|
|
97
|
-
throw new Error("
|
|
58
|
+
throw new Error("Certificate-based verification requires a configured trust store provider (for example, configure FAME_CA_CERTS).");
|
|
98
59
|
}
|
|
99
|
-
const publicKey =
|
|
60
|
+
const publicKey = publicKeyFromX5c(jwk.x5c, {
|
|
100
61
|
enforceNameConstraints: signingConfig.validateCertNameConstraints,
|
|
101
62
|
trustStorePem,
|
|
102
63
|
});
|
|
@@ -105,59 +66,52 @@ function normalizeCertificateKey(jwk, signingConfig, trustStorePem) {
|
|
|
105
66
|
}
|
|
106
67
|
return encodeBase64Url(publicKey);
|
|
107
68
|
}
|
|
108
|
-
|
|
109
|
-
const trustStorePem = await resolveTrustStorePem();
|
|
110
|
-
const certificateKey = normalizeCertificateKey(jwk, signingConfig, trustStorePem);
|
|
111
|
-
const candidate = certificateKey ??
|
|
112
|
-
(typeof jwk.x === "string"
|
|
113
|
-
? jwk.x
|
|
114
|
-
: typeof jwk.crv_x === "string"
|
|
115
|
-
? jwk.crv_x
|
|
116
|
-
: jwk.pub);
|
|
117
|
-
if (typeof candidate !== "string") {
|
|
118
|
-
throw new Error("JWK missing public key material");
|
|
119
|
-
}
|
|
120
|
-
return (0, eddsa_signer_verifier_js_1.decodeBase64Url)(candidate);
|
|
121
|
-
}
|
|
122
|
-
function hasProcessEnv() {
|
|
123
|
-
return typeof process !== "undefined" && typeof process.env !== "undefined";
|
|
124
|
-
}
|
|
125
|
-
function isNodeProcess() {
|
|
126
|
-
return (typeof process !== "undefined" &&
|
|
127
|
-
typeof process.release !== "undefined" &&
|
|
128
|
-
process.release?.name === "node");
|
|
129
|
-
}
|
|
130
|
-
async function resolveTrustStorePem() {
|
|
131
|
-
if (!hasProcessEnv()) {
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
const rawValue = process.env?.FAME_CA_CERTS ?? null;
|
|
135
|
-
if (!rawValue || rawValue.trim().length === 0) {
|
|
136
|
-
return null;
|
|
137
|
-
}
|
|
138
|
-
const trimmed = rawValue.replace(/\r/gu, "").trim();
|
|
139
|
-
if (trimmed.startsWith("-----BEGIN")) {
|
|
140
|
-
return trimmed;
|
|
141
|
-
}
|
|
142
|
-
if (!isNodeProcess()) {
|
|
143
|
-
throw new Error("FAME_CA_CERTS must contain PEM-encoded certificates when running outside of Node.js");
|
|
144
|
-
}
|
|
145
|
-
try {
|
|
146
|
-
const fs = await Promise.resolve().then(() => __importStar(require("node:fs/promises")));
|
|
147
|
-
const content = await fs.readFile(trimmed, "utf8");
|
|
148
|
-
return content.replace(/\r/gu, "").trim();
|
|
149
|
-
}
|
|
150
|
-
catch (error) {
|
|
151
|
-
const reason = error instanceof Error ? error.message : String(error);
|
|
152
|
-
throw new Error(`Failed to read trust store from ${trimmed}: ${reason}`);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
class EdDSAEnvelopeVerifier {
|
|
69
|
+
export class EdDSAEnvelopeVerifier {
|
|
156
70
|
constructor(keyProvider, options = {}) {
|
|
157
71
|
this.keyProvider = keyProvider;
|
|
158
|
-
this.signingConfig = options.signingConfig ?? new
|
|
72
|
+
this.signingConfig = options.signingConfig ?? new SigningConfigClass();
|
|
73
|
+
this.trustStoreProvider = options.trustStoreProvider ?? null;
|
|
159
74
|
ensureNobleSha512Fallback();
|
|
160
75
|
}
|
|
76
|
+
async loadTrustStorePem() {
|
|
77
|
+
if (!this.trustStoreProvider) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
if (typeof this.trustStoreProvider.initialize === "function") {
|
|
81
|
+
await this.trustStoreProvider.initialize();
|
|
82
|
+
}
|
|
83
|
+
const pem = await this.trustStoreProvider.getTrustStorePem();
|
|
84
|
+
const normalized = pem.replace(/\r/gu, "").trim();
|
|
85
|
+
return normalized.length > 0 ? normalized : null;
|
|
86
|
+
}
|
|
87
|
+
async resolveVerificationKey(kid, jwk) {
|
|
88
|
+
const trustStorePem = await this.loadTrustStorePem();
|
|
89
|
+
const certificateKey = normalizeCertificateKey(jwk, this.signingConfig, trustStorePem);
|
|
90
|
+
const candidate = certificateKey ??
|
|
91
|
+
(typeof jwk.x === "string"
|
|
92
|
+
? jwk.x
|
|
93
|
+
: typeof jwk.crv_x === "string"
|
|
94
|
+
? jwk.crv_x
|
|
95
|
+
: jwk.pub);
|
|
96
|
+
if (typeof candidate !== "string") {
|
|
97
|
+
throw new Error("JWK missing public key material");
|
|
98
|
+
}
|
|
99
|
+
const normalizedJwk = { ...jwk };
|
|
100
|
+
if (certificateKey || typeof normalizedJwk.x !== "string") {
|
|
101
|
+
normalizedJwk.x = certificateKey ?? candidate;
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
validateSigningKey(normalizedJwk);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
if (error instanceof JWKValidationError) {
|
|
108
|
+
throw new Error(`Key ${kid} is not valid for signing: ${error.message}`);
|
|
109
|
+
}
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
const publicKey = decodeBase64Url(candidate);
|
|
113
|
+
return { normalizedJwk, publicKey };
|
|
114
|
+
}
|
|
161
115
|
async verifyEnvelope(envelope, options = {}) {
|
|
162
116
|
const signatureHeader = envelope.sec?.sig;
|
|
163
117
|
if (!signatureHeader) {
|
|
@@ -169,15 +123,7 @@ class EdDSAEnvelopeVerifier {
|
|
|
169
123
|
if (!jwk) {
|
|
170
124
|
throw new Error(`Unknown key id: ${kid}`);
|
|
171
125
|
}
|
|
172
|
-
|
|
173
|
-
(0, runtime_2.validateSigningKey)(jwk);
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
if (error instanceof runtime_2.JWKValidationError) {
|
|
177
|
-
throw new Error(`Key ${kid} is not valid for signing: ${error.message}`);
|
|
178
|
-
}
|
|
179
|
-
throw error;
|
|
180
|
-
}
|
|
126
|
+
const { normalizedJwk, publicKey } = await this.resolveVerificationKey(kid, jwk);
|
|
181
127
|
const checkPayload = options.checkPayload ?? true;
|
|
182
128
|
let trustedDigest;
|
|
183
129
|
if (isDataFrame(envelope.frame)) {
|
|
@@ -186,8 +132,8 @@ class EdDSAEnvelopeVerifier {
|
|
|
186
132
|
throw new Error("DataFrame missing payload digest (pd field)");
|
|
187
133
|
}
|
|
188
134
|
const payload = envelope.frame.payload ?? "";
|
|
189
|
-
const payloadString = payload === "" ? "" :
|
|
190
|
-
const actualDigest =
|
|
135
|
+
const payloadString = payload === "" ? "" : canonicalJson(payload);
|
|
136
|
+
const actualDigest = secureDigest(payloadString);
|
|
191
137
|
if (actualDigest !== envelope.frame.pd) {
|
|
192
138
|
throw new Error("Payload digest mismatch in DataFrame");
|
|
193
139
|
}
|
|
@@ -201,18 +147,18 @@ class EdDSAEnvelopeVerifier {
|
|
|
201
147
|
}
|
|
202
148
|
}
|
|
203
149
|
else {
|
|
204
|
-
trustedDigest =
|
|
150
|
+
trustedDigest = frameDigest(envelope.frame);
|
|
205
151
|
}
|
|
206
|
-
const sid = assertString(
|
|
207
|
-
const immutable =
|
|
208
|
-
const tbs = new Uint8Array(
|
|
152
|
+
const sid = assertString(normalizedJwk.sid, "Signing key missing sid");
|
|
153
|
+
const immutable = canonicalJson(immutableHeaders(envelope));
|
|
154
|
+
const tbs = new Uint8Array(encodeUtf8(sid).length +
|
|
209
155
|
1 +
|
|
210
|
-
|
|
156
|
+
encodeUtf8(immutable).length +
|
|
211
157
|
1 +
|
|
212
|
-
|
|
213
|
-
const sidBytes =
|
|
214
|
-
const immBytes =
|
|
215
|
-
const digestBytes =
|
|
158
|
+
encodeUtf8(trustedDigest).length);
|
|
159
|
+
const sidBytes = encodeUtf8(sid);
|
|
160
|
+
const immBytes = encodeUtf8(immutable);
|
|
161
|
+
const digestBytes = encodeUtf8(trustedDigest);
|
|
216
162
|
let offset = 0;
|
|
217
163
|
tbs.set(sidBytes, offset);
|
|
218
164
|
offset += sidBytes.length;
|
|
@@ -223,20 +169,18 @@ class EdDSAEnvelopeVerifier {
|
|
|
223
169
|
tbs[offset] = 0x1f;
|
|
224
170
|
offset += 1;
|
|
225
171
|
tbs.set(digestBytes, offset);
|
|
226
|
-
const signatureBytes =
|
|
172
|
+
const signatureBytes = decodeBase64Url(signatureValue);
|
|
227
173
|
if (signatureBytes.length !== 64) {
|
|
228
174
|
throw new Error("Signature must be 64 bytes for Ed25519");
|
|
229
175
|
}
|
|
230
|
-
const publicKey = await loadPublicKey(jwk, this.signingConfig);
|
|
231
176
|
if (publicKey.length !== 32) {
|
|
232
177
|
throw new Error("Ed25519 public key must be 32 bytes");
|
|
233
178
|
}
|
|
234
|
-
const valid = await
|
|
179
|
+
const valid = await verify(signatureBytes, tbs, publicKey);
|
|
235
180
|
if (!valid) {
|
|
236
181
|
throw new Error("Envelope signature verification failed");
|
|
237
182
|
}
|
|
238
183
|
return true;
|
|
239
184
|
}
|
|
240
185
|
}
|
|
241
|
-
exports.EdDSAEnvelopeVerifier = EdDSAEnvelopeVerifier;
|
|
242
186
|
//# sourceMappingURL=eddsa-envelope-verifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eddsa-envelope-verifier.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/signing/eddsa-envelope-verifier.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eddsa-envelope-verifier.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/signing/eddsa-envelope-verifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const aft_signer_js_1 = require("./aft-signer.js");
|
|
7
|
-
const stickiness_mode_js_1 = require("./stickiness-mode.js");
|
|
8
|
-
const logger = (0, runtime_1.getLogger)("naylence.fame.stickiness.aft_helper");
|
|
9
|
-
class AFTHelper {
|
|
1
|
+
import { getLogger } from "@naylence/runtime";
|
|
2
|
+
import { createAftSigner } from "./aft-signer.js";
|
|
3
|
+
import { StickinessMode } from "./stickiness-mode.js";
|
|
4
|
+
const logger = getLogger("naylence.fame.stickiness.aft_helper");
|
|
5
|
+
export class AFTHelper {
|
|
10
6
|
constructor(options) {
|
|
11
7
|
this.signer = options.signer;
|
|
12
8
|
this.nodeSid = options.nodeSid;
|
|
@@ -67,11 +63,10 @@ class AFTHelper {
|
|
|
67
63
|
return this.requestStickiness(envelope, { ...options, scope: "sess" });
|
|
68
64
|
}
|
|
69
65
|
}
|
|
70
|
-
|
|
71
|
-
function createAftHelper(options) {
|
|
66
|
+
export function createAftHelper(options) {
|
|
72
67
|
const { nodeSid, maxTtlSec = 7200 } = options;
|
|
73
|
-
const signer =
|
|
68
|
+
const signer = createAftSigner(options);
|
|
74
69
|
return new AFTHelper({ signer, nodeSid, maxTtlSec });
|
|
75
70
|
}
|
|
76
|
-
|
|
71
|
+
export const DEFAULT_STICKINESS_SECURITY_LEVEL = StickinessMode.SIGNED_OPTIONAL;
|
|
77
72
|
//# sourceMappingURL=aft-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aft-helper.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/stickiness/aft-helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aft-helper.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/stickiness/aft-helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAA+B,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,MAAM,GAAG,SAAS,CAAC,qCAAqC,CAAC,CAAC;AAQhE,MAAM,OAAO,SAAS;IAKpB,YAAmB,OAIlB;QACC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC5B,QAAsB,EACtB,UAAoC,EAAE;QAEtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QAExC,IAAI,SAA6B,CAAC;QAClC,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,WAAW,GAAmB;YAClC,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,MAAM;YACN,KAAK;YACL,SAAS,EAAE,SAAS,IAAI,IAAI;SAC7B,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAExD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAA0C,CAAC;YACvE,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,OAAO,GAAG,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,OAGnB,CAAC;YACJ,CAAC;YAEA,OAAmC,CAAC,GAAG,GAAG,QAAQ,CAAC;YAEpD,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACpC,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,OAAO,EAAE,MAAM;gBACf,KAAK;gBACL,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;aAC1C,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACpC,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,qBAAqB,CAC1B,QAAsB,EACtB,UAAmD,EAAE;QAErD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAEM,qBAAqB,CAC1B,QAAsB,EACtB,UAAmD,EAAE;QAErD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAEM,wBAAwB,CAC7B,QAAsB,EACtB,UAAmD,EAAE;QAErD,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;CACF;AAMD,MAAM,UAAU,eAAe,CAAC,OAA+B;IAC7D,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,cAAc,CAAC,eAAe,CAAC"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
const stickiness_mode_js_1 = require("./stickiness-mode.js");
|
|
8
|
-
exports.FACTORY_META = {
|
|
9
|
-
base: runtime_1.LOAD_BALANCER_STICKINESS_MANAGER_FACTORY_BASE_TYPE,
|
|
1
|
+
import { LOAD_BALANCER_STICKINESS_MANAGER_FACTORY_BASE_TYPE, LoadBalancerStickinessManagerFactory, } from "@naylence/runtime";
|
|
2
|
+
import { AFTLoadBalancerStickinessManager } from "./aft-load-balancer-stickiness-manager.js";
|
|
3
|
+
import { createAftVerifier } from "./aft-verifier.js";
|
|
4
|
+
import { StickinessMode, normalizeStickinessMode } from "./stickiness-mode.js";
|
|
5
|
+
export const FACTORY_META = {
|
|
6
|
+
base: LOAD_BALANCER_STICKINESS_MANAGER_FACTORY_BASE_TYPE,
|
|
10
7
|
key: "AFTLoadBalancerStickinessManager",
|
|
11
8
|
};
|
|
12
9
|
const DEFAULT_VALUES = {
|
|
@@ -14,7 +11,7 @@ const DEFAULT_VALUES = {
|
|
|
14
11
|
clientEcho: false,
|
|
15
12
|
defaultTtlSec: 30,
|
|
16
13
|
cacheMax: 100000,
|
|
17
|
-
securityLevel:
|
|
14
|
+
securityLevel: StickinessMode.SIGNED_OPTIONAL,
|
|
18
15
|
maxTtlSec: 7200,
|
|
19
16
|
};
|
|
20
17
|
function toBoolean(value, fallback) {
|
|
@@ -29,7 +26,7 @@ function toNumber(value, fallback) {
|
|
|
29
26
|
function normalizeConfig(config) {
|
|
30
27
|
const record = (config ?? {});
|
|
31
28
|
const normalizedSecurity = record.securityLevel
|
|
32
|
-
?
|
|
29
|
+
? normalizeStickinessMode(record.securityLevel)
|
|
33
30
|
: DEFAULT_VALUES.securityLevel;
|
|
34
31
|
return {
|
|
35
32
|
...record,
|
|
@@ -42,7 +39,7 @@ function normalizeConfig(config) {
|
|
|
42
39
|
maxTtlSec: toNumber(record.maxTtlSec, DEFAULT_VALUES.maxTtlSec),
|
|
43
40
|
};
|
|
44
41
|
}
|
|
45
|
-
class AFTLoadBalancerStickinessManagerFactory extends
|
|
42
|
+
export class AFTLoadBalancerStickinessManagerFactory extends LoadBalancerStickinessManagerFactory {
|
|
46
43
|
constructor() {
|
|
47
44
|
super(...arguments);
|
|
48
45
|
this.type = "AFTLoadBalancerStickinessManager";
|
|
@@ -52,7 +49,7 @@ class AFTLoadBalancerStickinessManagerFactory extends runtime_1.LoadBalancerStic
|
|
|
52
49
|
const resolvedConfig = normalizeConfig(config);
|
|
53
50
|
let effectiveVerifier = verifier ?? null;
|
|
54
51
|
if (!effectiveVerifier && keyProvider) {
|
|
55
|
-
effectiveVerifier =
|
|
52
|
+
effectiveVerifier = createAftVerifier({
|
|
56
53
|
securityLevel: resolvedConfig.securityLevel ?? DEFAULT_VALUES.securityLevel,
|
|
57
54
|
keyProvider,
|
|
58
55
|
defaultTtlSec: resolvedConfig.defaultTtlSec ?? DEFAULT_VALUES.defaultTtlSec,
|
|
@@ -61,9 +58,8 @@ class AFTLoadBalancerStickinessManagerFactory extends runtime_1.LoadBalancerStic
|
|
|
61
58
|
if (!effectiveVerifier) {
|
|
62
59
|
throw new Error("AFTLoadBalancerStickinessManagerFactory requires an AFT verifier or key provider");
|
|
63
60
|
}
|
|
64
|
-
return new
|
|
61
|
+
return new AFTLoadBalancerStickinessManager(resolvedConfig, effectiveVerifier);
|
|
65
62
|
}
|
|
66
63
|
}
|
|
67
|
-
|
|
68
|
-
exports.default = AFTLoadBalancerStickinessManagerFactory;
|
|
64
|
+
export default AFTLoadBalancerStickinessManagerFactory;
|
|
69
65
|
//# sourceMappingURL=aft-load-balancer-stickiness-manager-factory.js.map
|
package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aft-load-balancer-stickiness-manager-factory.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aft-load-balancer-stickiness-manager-factory.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const runtime_2 = require("@naylence/runtime");
|
|
7
|
-
const stickiness_mode_js_1 = require("./stickiness-mode.js");
|
|
8
|
-
const logger = (0, runtime_2.getLogger)("naylence.fame.stickiness.aft_load_balancer_stickiness_manager");
|
|
1
|
+
import { DeliveryOriginType } from "@naylence/core";
|
|
2
|
+
import { BaseNodeEventListener } from "@naylence/runtime";
|
|
3
|
+
import { getLogger } from "@naylence/runtime";
|
|
4
|
+
import { StickinessMode } from "./stickiness-mode.js";
|
|
5
|
+
const logger = getLogger("naylence.fame.stickiness.aft_load_balancer_stickiness_manager");
|
|
9
6
|
class AFTAssociation {
|
|
10
7
|
constructor(params) {
|
|
11
8
|
this.replicaId = params.replicaId;
|
|
@@ -24,7 +21,7 @@ class AFTAssociation {
|
|
|
24
21
|
return this.trustLevel === "low-trust";
|
|
25
22
|
}
|
|
26
23
|
}
|
|
27
|
-
class AFTLoadBalancerStickinessManager extends
|
|
24
|
+
export class AFTLoadBalancerStickinessManager extends BaseNodeEventListener {
|
|
28
25
|
get cacheMax() {
|
|
29
26
|
return this.config.cacheMax ?? 100000;
|
|
30
27
|
}
|
|
@@ -180,7 +177,7 @@ class AFTLoadBalancerStickinessManager extends runtime_1.BaseNodeEventListener {
|
|
|
180
177
|
if (envelope.sid) {
|
|
181
178
|
const cachedReplica = this.sidCache.get(envelope.sid);
|
|
182
179
|
if (cachedReplica) {
|
|
183
|
-
if (this.config.securityLevel ===
|
|
180
|
+
if (this.config.securityLevel === StickinessMode.SID_ONLY) {
|
|
184
181
|
this.metrics.cacheHits += 1;
|
|
185
182
|
logger.debug("sid_cache_routed_envelope", {
|
|
186
183
|
envelope_id: envelope.id,
|
|
@@ -327,14 +324,14 @@ class AFTLoadBalancerStickinessManager extends runtime_1.BaseNodeEventListener {
|
|
|
327
324
|
origin_type: context?.originType ?? "unknown",
|
|
328
325
|
from_system_id: context?.fromSystemId ?? null,
|
|
329
326
|
});
|
|
330
|
-
if (context?.originType ===
|
|
327
|
+
if (context?.originType === DeliveryOriginType.DOWNSTREAM) {
|
|
331
328
|
const sourceRoute = context.fromSystemId;
|
|
332
329
|
if (sourceRoute) {
|
|
333
330
|
logger.debug("processing_downstream_envelope", {
|
|
334
331
|
envelope_id: envelope.id,
|
|
335
332
|
source_route: sourceRoute,
|
|
336
333
|
});
|
|
337
|
-
if (this.config.securityLevel ===
|
|
334
|
+
if (this.config.securityLevel === StickinessMode.SID_ONLY &&
|
|
338
335
|
envelope.sid &&
|
|
339
336
|
!this.sidCache.has(envelope.sid)) {
|
|
340
337
|
this.sidCache.set(envelope.sid, sourceRoute);
|
|
@@ -406,7 +403,7 @@ class AFTLoadBalancerStickinessManager extends runtime_1.BaseNodeEventListener {
|
|
|
406
403
|
this.removeAssociation(token);
|
|
407
404
|
return null;
|
|
408
405
|
}
|
|
409
|
-
if (this.verifier.securityLevel ===
|
|
406
|
+
if (this.verifier.securityLevel === StickinessMode.STRICT &&
|
|
410
407
|
association.isLowTrust()) {
|
|
411
408
|
logger.warning("rejecting_low_trust_association", {
|
|
412
409
|
envelope_id: envelope.id,
|
|
@@ -420,7 +417,6 @@ class AFTLoadBalancerStickinessManager extends runtime_1.BaseNodeEventListener {
|
|
|
420
417
|
return association.replicaId;
|
|
421
418
|
}
|
|
422
419
|
}
|
|
423
|
-
exports.AFTLoadBalancerStickinessManager = AFTLoadBalancerStickinessManager;
|
|
424
420
|
function extractAftInstruction(envelope) {
|
|
425
421
|
if (!envelope.meta) {
|
|
426
422
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aft-load-balancer-stickiness-manager.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aft-load-balancer-stickiness-manager.js","sourceRoot":"","sources":["../../../../../src/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.ts"],"names":[],"mappings":"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"}
|