@naylence/advanced-security 0.3.4 → 0.3.5-test.101
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.js +4393 -6330
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/browser.js +18 -5
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/index.js +5 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/naylence/fame/factory-manifest.js +1 -4
- package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/ca-service-client.js +9 -15
- 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 +2 -7
- package/dist/cjs/naylence/fame/security/cert/ca-types.js.map +1 -1
- 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 +29 -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 +12 -16
- 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 +22 -59
- 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 +10 -50
- package/dist/cjs/naylence/fame/security/cert/index.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js +79 -122
- package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/util.js +485 -89
- 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 +16 -52
- 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 +36 -45
- 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 +8 -12
- 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 +68 -39
- 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/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/browser.js +18 -2
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js +2 -2
- 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 +1 -1
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/index.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/internal-ca-service.js +1 -1
- package/dist/esm/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/util.js +482 -82
- 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/register-advanced-security-factories.js +28 -1
- package/dist/esm/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js +36 -3
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
- 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/types/browser.d.ts +17 -1
- package/dist/types/browser.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts +3 -3
- 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 +1 -1
- 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 +1 -1
- package/dist/types/naylence/fame/security/cert/index.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/util.d.ts +13 -23
- 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-verifier.d.ts.map +1 -1
- 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 +5 -4
package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const default_secure_channel_manager_js_1 = require("./default-secure-channel-manager.js");
|
|
6
|
-
exports.FACTORY_META = {
|
|
7
|
-
base: runtime_1.SECURE_CHANNEL_MANAGER_FACTORY_BASE_TYPE,
|
|
1
|
+
import { SECURE_CHANNEL_MANAGER_FACTORY_BASE_TYPE, SecureChannelManagerFactory, } from "@naylence/runtime";
|
|
2
|
+
import { DefaultSecureChannelManager } from "./default-secure-channel-manager.js";
|
|
3
|
+
export const FACTORY_META = {
|
|
4
|
+
base: SECURE_CHANNEL_MANAGER_FACTORY_BASE_TYPE,
|
|
8
5
|
key: "DefaultSecureChannelManager",
|
|
9
6
|
};
|
|
10
|
-
class DefaultSecureChannelManagerFactory extends
|
|
7
|
+
export class DefaultSecureChannelManagerFactory extends SecureChannelManagerFactory {
|
|
11
8
|
constructor() {
|
|
12
9
|
super(...arguments);
|
|
13
10
|
this.type = "DefaultSecureChannelManager";
|
|
@@ -16,7 +13,7 @@ class DefaultSecureChannelManagerFactory extends runtime_1.SecureChannelManagerF
|
|
|
16
13
|
}
|
|
17
14
|
async create(config = null) {
|
|
18
15
|
const ttl = this.resolveChannelTtl(config);
|
|
19
|
-
return new
|
|
16
|
+
return new DefaultSecureChannelManager(ttl ? { channelTtlSeconds: ttl } : {});
|
|
20
17
|
}
|
|
21
18
|
getSupportedAlgorithms() {
|
|
22
19
|
return ["CHACHA20P1305"];
|
|
@@ -52,6 +49,5 @@ class DefaultSecureChannelManagerFactory extends runtime_1.SecureChannelManagerF
|
|
|
52
49
|
return undefined;
|
|
53
50
|
}
|
|
54
51
|
}
|
|
55
|
-
|
|
56
|
-
exports.default = DefaultSecureChannelManagerFactory;
|
|
52
|
+
export default DefaultSecureChannelManagerFactory;
|
|
57
53
|
//# sourceMappingURL=default-secure-channel-manager-factory.js.map
|
package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-secure-channel-manager-factory.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/default-secure-channel-manager-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default-secure-channel-manager-factory.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/default-secure-channel-manager-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wCAAwC,EACxC,2BAA2B,GAE5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAUlF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,wCAAwC;IAC9C,GAAG,EAAE,6BAA6B;CAC1B,CAAC;AAEX,MAAM,OAAO,kCAAmC,SAAQ,2BAA8D;IAAtH;;QACkB,SAAI,GAAG,6BAA6B,CAAC;QACrC,cAAS,GAAG,IAAI,CAAC;QACjB,aAAQ,GAAG,GAAG,CAAC;IAwDjC,CAAC;IAtDQ,KAAK,CAAC,MAAM,CACjB,SAGW,IAAI;QAEf,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,IAAI,2BAA2B,CACpC,GAAG,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC;IACJ,CAAC;IAEM,sBAAsB;QAC3B,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC;IAEO,iBAAiB,CACvB,MAA0E;QAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAc;YAC3B,MAA4C,CAAC,iBAAiB;YAC9D,MAA4C,CAAC,UAAU;YACvD,MAA4C,CAAC,WAAW;YACxD,MAAkC,CAAC,UAAU;SAC/C,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,UAAU,CAAC;YACpB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CAAC,KAAc;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,eAAe,kCAAkC,CAAC"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const utils_js_1 = require("@noble/hashes/utils.js");
|
|
8
|
-
const runtime_1 = require("@naylence/runtime");
|
|
9
|
-
const logger = (0, runtime_1.getLogger)("naylence.fame.security.encryption.default_secure_channel_manager");
|
|
1
|
+
import { x25519 } from "@noble/curves/ed25519.js";
|
|
2
|
+
import { hkdf } from "@noble/hashes/hkdf.js";
|
|
3
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
4
|
+
import { randomBytes, utf8ToBytes } from "@noble/hashes/utils.js";
|
|
5
|
+
import { requireCryptoSupport, getLogger } from "@naylence/runtime";
|
|
6
|
+
const logger = getLogger("naylence.fame.security.encryption.default_secure_channel_manager");
|
|
10
7
|
const DEFAULT_ALGORITHM = "CHACHA20P1305";
|
|
11
8
|
const CHANNEL_KEY_LENGTH = 32;
|
|
12
9
|
const NONCE_PREFIX_LENGTH = 4;
|
|
@@ -39,7 +36,7 @@ function decodeBase64(encoded) {
|
|
|
39
36
|
}
|
|
40
37
|
throw new Error("Base64 decoding not supported in this environment");
|
|
41
38
|
}
|
|
42
|
-
class DefaultSecureChannelManager {
|
|
39
|
+
export class DefaultSecureChannelManager {
|
|
43
40
|
constructor(options = {}) {
|
|
44
41
|
this.channelsMap = new Map();
|
|
45
42
|
this.ephemeralKeys = new Map();
|
|
@@ -49,9 +46,9 @@ class DefaultSecureChannelManager {
|
|
|
49
46
|
return Object.freeze(Object.fromEntries(this.channelsMap.entries()));
|
|
50
47
|
}
|
|
51
48
|
generateOpenFrame(channelId, algorithm = DEFAULT_ALGORITHM) {
|
|
52
|
-
|
|
53
|
-
const privateKey =
|
|
54
|
-
const publicKey =
|
|
49
|
+
requireCryptoSupport();
|
|
50
|
+
const privateKey = x25519.utils.randomSecretKey();
|
|
51
|
+
const publicKey = x25519.scalarMultBase(privateKey);
|
|
55
52
|
this.ephemeralKeys.set(channelId, privateKey);
|
|
56
53
|
logger.debug("generated_channel_open", { cid: channelId, algorithm });
|
|
57
54
|
return {
|
|
@@ -63,7 +60,7 @@ class DefaultSecureChannelManager {
|
|
|
63
60
|
};
|
|
64
61
|
}
|
|
65
62
|
async handleOpenFrame(frame) {
|
|
66
|
-
|
|
63
|
+
requireCryptoSupport();
|
|
67
64
|
const algorithm = frame.alg || DEFAULT_ALGORITHM;
|
|
68
65
|
if (!this.isSupportedAlgorithm(algorithm)) {
|
|
69
66
|
logger.warning("unsupported_channel_algorithm", {
|
|
@@ -97,9 +94,9 @@ class DefaultSecureChannelManager {
|
|
|
97
94
|
alg: algorithm,
|
|
98
95
|
};
|
|
99
96
|
}
|
|
100
|
-
const myPrivateKey =
|
|
101
|
-
const myPublicKey =
|
|
102
|
-
const sharedSecret =
|
|
97
|
+
const myPrivateKey = x25519.utils.randomSecretKey();
|
|
98
|
+
const myPublicKey = x25519.scalarMultBase(myPrivateKey);
|
|
99
|
+
const sharedSecret = x25519.scalarMult(myPrivateKey, peerPublicKey);
|
|
103
100
|
const channelKey = this.deriveChannelKey(frame.cid, sharedSecret);
|
|
104
101
|
const channelState = this.createChannelState({
|
|
105
102
|
key: channelKey,
|
|
@@ -118,7 +115,7 @@ class DefaultSecureChannelManager {
|
|
|
118
115
|
};
|
|
119
116
|
}
|
|
120
117
|
async handleAcceptFrame(frame) {
|
|
121
|
-
|
|
118
|
+
requireCryptoSupport();
|
|
122
119
|
if (frame.ok === false) {
|
|
123
120
|
logger.warning("channel_rejected", {
|
|
124
121
|
cid: frame.cid,
|
|
@@ -144,7 +141,7 @@ class DefaultSecureChannelManager {
|
|
|
144
141
|
this.cleanupEphemeralKey(frame.cid);
|
|
145
142
|
return false;
|
|
146
143
|
}
|
|
147
|
-
const sharedSecret =
|
|
144
|
+
const sharedSecret = x25519.scalarMult(privateKey, peerPublicKey);
|
|
148
145
|
const algorithm = frame.alg || DEFAULT_ALGORITHM;
|
|
149
146
|
const channelKey = this.deriveChannelKey(frame.cid, sharedSecret);
|
|
150
147
|
const channelState = this.createChannelState({
|
|
@@ -254,15 +251,15 @@ class DefaultSecureChannelManager {
|
|
|
254
251
|
return algorithm === DEFAULT_ALGORITHM;
|
|
255
252
|
}
|
|
256
253
|
deriveChannelKey(channelId, sharedSecret) {
|
|
257
|
-
const info =
|
|
258
|
-
return
|
|
254
|
+
const info = utf8ToBytes(`fame-channel:${channelId}`);
|
|
255
|
+
return hkdf(sha256, sharedSecret, undefined, info, CHANNEL_KEY_LENGTH);
|
|
259
256
|
}
|
|
260
257
|
createChannelState({ key, algorithm, }) {
|
|
261
258
|
return {
|
|
262
259
|
key,
|
|
263
260
|
sendCounter: 0,
|
|
264
261
|
receiveCounter: 0,
|
|
265
|
-
noncePrefix:
|
|
262
|
+
noncePrefix: randomBytes(NONCE_PREFIX_LENGTH),
|
|
266
263
|
expiresAt: this.currentTimeSeconds() + this.channelTtlSeconds,
|
|
267
264
|
algorithm,
|
|
268
265
|
};
|
|
@@ -278,5 +275,4 @@ class DefaultSecureChannelManager {
|
|
|
278
275
|
return Date.now() / 1000;
|
|
279
276
|
}
|
|
280
277
|
}
|
|
281
|
-
exports.DefaultSecureChannelManager = DefaultSecureChannelManager;
|
|
282
278
|
//# sourceMappingURL=default-secure-channel-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-secure-channel-manager.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/default-secure-channel-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default-secure-channel-manager.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/default-secure-channel-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const factory_1 = require("@naylence/factory");
|
|
7
|
-
const runtime_1 = require("@naylence/runtime");
|
|
8
|
-
const runtime_2 = require("@naylence/runtime");
|
|
9
|
-
const logger = (0, runtime_2.getLogger)("naylence.fame.security.encryption.encryption_manager_registry");
|
|
10
|
-
class EncryptionManagerFactoryRegistry {
|
|
1
|
+
import { ExtensionManager } from "@naylence/factory";
|
|
2
|
+
import { ENCRYPTION_MANAGER_FACTORY_BASE_TYPE, } from "@naylence/runtime";
|
|
3
|
+
import { getLogger } from "@naylence/runtime";
|
|
4
|
+
const logger = getLogger("naylence.fame.security.encryption.encryption_manager_registry");
|
|
5
|
+
export class EncryptionManagerFactoryRegistry {
|
|
11
6
|
constructor(autoDiscover = true) {
|
|
12
7
|
this.factories = [];
|
|
13
8
|
this.algorithmToFactory = new Map();
|
|
@@ -24,7 +19,7 @@ class EncryptionManagerFactoryRegistry {
|
|
|
24
19
|
return;
|
|
25
20
|
}
|
|
26
21
|
try {
|
|
27
|
-
const extensionInfos =
|
|
22
|
+
const extensionInfos = ExtensionManager.getExtensionsByType(ENCRYPTION_MANAGER_FACTORY_BASE_TYPE);
|
|
28
23
|
let registeredCount = 0;
|
|
29
24
|
for (const [factoryName, info] of extensionInfos) {
|
|
30
25
|
if (factoryName === "CompositeEncryptionManager") {
|
|
@@ -35,7 +30,7 @@ class EncryptionManagerFactoryRegistry {
|
|
|
35
30
|
}
|
|
36
31
|
try {
|
|
37
32
|
const factoryInstance = (info.instance ??
|
|
38
|
-
|
|
33
|
+
ExtensionManager.getGlobalFactory(ENCRYPTION_MANAGER_FACTORY_BASE_TYPE, factoryName));
|
|
39
34
|
this.registerFactory(factoryInstance, { autoDiscovered: true });
|
|
40
35
|
registeredCount += 1;
|
|
41
36
|
logger.debug("auto_discovered_factory", {
|
|
@@ -161,13 +156,12 @@ class EncryptionManagerFactoryRegistry {
|
|
|
161
156
|
}
|
|
162
157
|
}
|
|
163
158
|
}
|
|
164
|
-
exports.EncryptionManagerFactoryRegistry = EncryptionManagerFactoryRegistry;
|
|
165
159
|
const globalRegistry = new EncryptionManagerFactoryRegistry(true);
|
|
166
|
-
function getEncryptionManagerFactoryRegistry() {
|
|
160
|
+
export function getEncryptionManagerFactoryRegistry() {
|
|
167
161
|
globalRegistry.ensureInitialized();
|
|
168
162
|
return globalRegistry;
|
|
169
163
|
}
|
|
170
|
-
function registerEncryptionManagerFactory(factory) {
|
|
164
|
+
export function registerEncryptionManagerFactory(factory) {
|
|
171
165
|
globalRegistry.registerFactory(factory);
|
|
172
166
|
}
|
|
173
167
|
//# sourceMappingURL=encryption-manager-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encryption-manager-registry.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/encryption-manager-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encryption-manager-registry.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/encryption-manager-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,oCAAoC,GAErC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAS9C,MAAM,MAAM,GAAG,SAAS,CACtB,+DAA+D,CAChE,CAAC;AAEF,MAAM,OAAO,gCAAgC;IAe3C,YAAY,eAAwB,IAAI;QAdvB,cAAS,GAA+B,EAAE,CAAC;QAC3C,uBAAkB,GAAG,IAAI,GAAG,EAG1C,CAAC;QACa,oBAAe,GAAG,IAAI,GAAG,EAGvC,CAAC;QACa,eAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;QACjD,4BAAuB,GACtC,IAAI,GAAG,EAA4B,CAAC;QAC9B,mBAAc,GAAG,KAAK,CAAC;QAG7B,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,gBAAgB,CAAC,mBAAmB,CACzD,oCAAoC,CACrC,CAAC;YAEF,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,KAAK,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;gBACjD,IAAI,WAAW,KAAK,4BAA4B,EAAE,CAAC;oBACjD,MAAM,CAAC,KAAK,CACV,yDAAyD,EACzD;wBACE,YAAY,EAAE,WAAW;qBAC1B,CACF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,QAAQ;wBACpC,gBAAgB,CAAC,gBAAgB,CAC/B,oCAAoC,EACpC,WAAW,CACZ,CAA6B,CAAC;oBAEjC,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChE,eAAe,IAAI,CAAC,CAAC;oBAErB,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;wBACtC,YAAY,EAAE,WAAW;wBACzB,aAAa,EAAE,eAAe,CAAC,WAAW,CAAC,IAAI;wBAC/C,UAAU,EAAE,eAAe,CAAC,sBAAsB,EAAE;wBACpD,eAAe,EAAE,eAAe,CAAC,iBAAiB,EAAE;wBACpD,QAAQ,EAAE,eAAe,CAAC,WAAW,EAAE;qBACxC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,OAAO,CAAC,iCAAiC,EAAE;wBAChD,YAAY,EAAE,WAAW;wBACzB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBACvC,oBAAoB,EAAE,eAAe;gBACrC,gBAAgB,EAAE,cAAc,CAAC,IAAI;gBACrC,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,oCAAoC,EAAE;gBACnD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,eAAe,CACpB,OAAiC,EACjC,UAAwC,EAAE;QAE1C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;oBAC3C,SAAS;oBACT,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;oBACjC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;iBAChC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACrE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QAExD,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;YACpD,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;YACjC,eAAe,EAAE,cAAc;YAC/B,UAAU,EAAE,OAAO,CAAC,sBAAsB,EAAE;YAC5C,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;YAC/B,eAAe,EAAE,OAAO,CAAC,cAAc,IAAI,KAAK;SACjD,CAAC,CAAC;IACL,CAAC;IAEM,sBAAsB,CAC3B,SAAiB;QAEjB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAEM,oBAAoB,CACzB,IAA+B;QAE/B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBACxC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;oBACjC,eAAe,EAAE,OAAO,CAAC,iBAAiB,EAAE;iBAC7C,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,kBAAkB,CACvB,cAAsB;QAEtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACxD,CAAC;IAEM,yBAAyB;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAEM,eAAe;QACpB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;YACrC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC/C,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAChE,CACF;YACD,YAAY,EAAE,MAAM,CAAC,WAAW,CAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC5C,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;gBACxB,OAAO;gBACP,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;aACrD,CACF,CACF;SACF,CAAC;IACJ,CAAC;IAEM,gBAAgB;QACrB,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAC3C,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CACxD,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAErC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,iBAAiB;QACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,MAAM,cAAc,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC;AAElE,MAAM,UAAU,mCAAmC;IACjD,cAAc,CAAC,iBAAiB,EAAE,CAAC;IACnC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,OAAiC;IAEjC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -1,16 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var default_secure_channel_manager_js_1 = require("./default-secure-channel-manager.js");
|
|
8
|
-
Object.defineProperty(exports, "DefaultSecureChannelManager", { enumerable: true, get: function () { return default_secure_channel_manager_js_1.DefaultSecureChannelManager; } });
|
|
9
|
-
var default_secure_channel_manager_factory_js_1 = require("./default-secure-channel-manager-factory.js");
|
|
10
|
-
Object.defineProperty(exports, "DefaultSecureChannelManagerFactory", { enumerable: true, get: function () { return default_secure_channel_manager_factory_js_1.DefaultSecureChannelManagerFactory; } });
|
|
11
|
-
Object.defineProperty(exports, "DEFAULT_SECURE_CHANNEL_MANAGER_FACTORY_META", { enumerable: true, get: function () { return default_secure_channel_manager_factory_js_1.FACTORY_META; } });
|
|
12
|
-
var composite_encryption_manager_js_1 = require("./composite-encryption-manager.js");
|
|
13
|
-
Object.defineProperty(exports, "CompositeEncryptionManager", { enumerable: true, get: function () { return composite_encryption_manager_js_1.CompositeEncryptionManager; } });
|
|
14
|
-
var composite_encryption_manager_factory_js_1 = require("./composite-encryption-manager-factory.js");
|
|
15
|
-
Object.defineProperty(exports, "CompositeEncryptionManagerFactory", { enumerable: true, get: function () { return composite_encryption_manager_factory_js_1.CompositeEncryptionManagerFactory; } });
|
|
1
|
+
export * as sealedEncryption from "./sealed/index.js";
|
|
2
|
+
export * as channelEncryption from "./channel/index.js";
|
|
3
|
+
export { DefaultSecureChannelManager, } from "./default-secure-channel-manager.js";
|
|
4
|
+
export { DefaultSecureChannelManagerFactory, FACTORY_META as DEFAULT_SECURE_CHANNEL_MANAGER_FACTORY_META, } from "./default-secure-channel-manager-factory.js";
|
|
5
|
+
export { CompositeEncryptionManager, } from "./composite-encryption-manager.js";
|
|
6
|
+
export { CompositeEncryptionManagerFactory, } from "./composite-encryption-manager-factory.js";
|
|
16
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,iBAAiB,MAAM,oBAAoB,CAAC;AACxD,OAAO,EACL,2BAA2B,GAE5B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,kCAAkC,EAElC,YAAY,IAAI,2CAA2C,GAC5D,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,0BAA0B,GAE3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,iCAAiC,GAElC,MAAM,2CAA2C,CAAC"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.X25519EncryptionManagerFactory = exports.X25519EncryptionManager = void 0;
|
|
4
|
-
var x25519_encryption_manager_js_1 = require("./x25519-encryption-manager.js");
|
|
5
|
-
Object.defineProperty(exports, "X25519EncryptionManager", { enumerable: true, get: function () { return x25519_encryption_manager_js_1.X25519EncryptionManager; } });
|
|
6
|
-
var x25519_encryption_manager_factory_js_1 = require("./x25519-encryption-manager-factory.js");
|
|
7
|
-
Object.defineProperty(exports, "X25519EncryptionManagerFactory", { enumerable: true, get: function () { return x25519_encryption_manager_factory_js_1.X25519EncryptionManagerFactory; } });
|
|
1
|
+
export { X25519EncryptionManager } from "./x25519-encryption-manager.js";
|
|
2
|
+
export { X25519EncryptionManagerFactory } from "./x25519-encryption-manager-factory.js";
|
|
8
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/sealed/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/sealed/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC"}
|
package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.X25519EncryptionManagerFactory = exports.FACTORY_META = void 0;
|
|
4
|
-
const runtime_1 = require("@naylence/runtime");
|
|
5
|
-
const x25519_encryption_manager_js_1 = require("./x25519-encryption-manager.js");
|
|
1
|
+
import { ENCRYPTION_MANAGER_FACTORY_BASE_TYPE, EncryptionManagerFactory, } from "@naylence/runtime";
|
|
2
|
+
import { X25519EncryptionManager } from "./x25519-encryption-manager.js";
|
|
6
3
|
const DEFAULT_SUPPORTED_ALGORITHMS = [
|
|
7
4
|
"X25519",
|
|
8
5
|
"ECDH-ES+A256GCM",
|
|
9
6
|
"chacha20-poly1305",
|
|
10
7
|
"aes-256-gcm",
|
|
11
8
|
];
|
|
12
|
-
|
|
13
|
-
base:
|
|
9
|
+
export const FACTORY_META = {
|
|
10
|
+
base: ENCRYPTION_MANAGER_FACTORY_BASE_TYPE,
|
|
14
11
|
key: "X25519EncryptionManager",
|
|
15
12
|
};
|
|
16
|
-
class X25519EncryptionManagerFactory extends
|
|
13
|
+
export class X25519EncryptionManagerFactory extends EncryptionManagerFactory {
|
|
17
14
|
constructor(config) {
|
|
18
15
|
super();
|
|
19
|
-
this.type =
|
|
16
|
+
this.type = FACTORY_META.key;
|
|
20
17
|
this.supportedAlgorithms =
|
|
21
18
|
config?.supportedAlgorithms ?? DEFAULT_SUPPORTED_ALGORITHMS;
|
|
22
19
|
this.encryptionType = config?.encryptionType ?? "sealed";
|
|
@@ -48,7 +45,7 @@ class X25519EncryptionManagerFactory extends runtime_1.EncryptionManagerFactory
|
|
|
48
45
|
if (!keyProvider) {
|
|
49
46
|
throw new Error("X25519EncryptionManager requires a keyProvider dependency");
|
|
50
47
|
}
|
|
51
|
-
return new
|
|
48
|
+
return new X25519EncryptionManager({
|
|
52
49
|
keyProvider,
|
|
53
50
|
cryptoProvider,
|
|
54
51
|
nodeLike,
|
|
@@ -81,6 +78,5 @@ class X25519EncryptionManagerFactory extends runtime_1.EncryptionManagerFactory
|
|
|
81
78
|
return nodeCandidate ?? null;
|
|
82
79
|
}
|
|
83
80
|
}
|
|
84
|
-
|
|
85
|
-
exports.default = X25519EncryptionManagerFactory;
|
|
81
|
+
export default X25519EncryptionManagerFactory;
|
|
86
82
|
//# sourceMappingURL=x25519-encryption-manager-factory.js.map
|
package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x25519-encryption-manager-factory.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"x25519-encryption-manager-factory.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,wBAAwB,GAGzB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AASzE,MAAM,4BAA4B,GAAG;IACnC,QAAQ;IACR,iBAAiB;IACjB,mBAAmB;IACnB,aAAa;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,oCAAoC;IAC1C,GAAG,EAAE,yBAAyB;CACtB,CAAC;AAEX,MAAM,OAAO,8BAA+B,SAAQ,wBAAuD;IAOzG,YAAY,MAAsD;QAChE,KAAK,EAAE,CAAC;QAPM,SAAI,GAAG,YAAY,CAAC,GAAG,CAAC;QAQtC,IAAI,CAAC,mBAAmB;YACtB,MAAM,EAAE,mBAAmB,IAAI,4BAA4B,CAAC;QAC9D,IAAI,CAAC,cAAc,GAAG,MAAM,EAAE,cAAc,IAAI,QAAQ,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,GAAG,CAAC;IAC1C,CAAC;IAEM,sBAAsB;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,eAAe,CAAC,IAA+B;QACpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CACZ,IAAI,CAAC,QAAQ;YACX,IAAI,CAAC,kBAAkB;YACvB,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,cAAc;YACnB,IAAI,CAAC,cAAc,CACtB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,OAAwE,EACxE,GAAG,WAAsB;QAEzB,MAAM,CAAC,YAAY,CAAC,GAAG,WAEtB,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEpD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,uBAAuB,CAAC;YACjC,WAAW;YACX,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CACxB,YAA4C;QAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CACJ,YAAY,CAAC,WAAuC;YACpD,YAAY,CAAC,cAAc,CAA6B;YACzD,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,YAA4C;QAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CACJ,YAAY,CAAC,cAA6C;YAC1D,YAAY,CAAC,iBAAiB,CAAgC;YAC9D,YAAY,CAAC,QAAQ,CAAgC;YACtD,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,YAA4C;QAE5C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAChB,YAAY,CAAC,QAAiC;YAC9C,YAAY,CAAC,UAAU,CAA0B;YACjD,YAAY,CAAC,WAAW,CAA0B,CAAC;QACtD,OAAO,aAAa,IAAI,IAAI,CAAC;IAC/B,CAAC;CACF;AAED,eAAe,8BAA8B,CAAC"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
const runtime_4 = require("@naylence/runtime");
|
|
9
|
-
const logger = (0, runtime_4.getLogger)("naylence.fame.security.encryption.sealed.x25519_encryption_manager");
|
|
10
|
-
class X25519EncryptionManager {
|
|
1
|
+
import { createFameEnvelope, localDeliveryContext, } from "@naylence/core";
|
|
2
|
+
import { EncryptionResult, FIXED_PREFIX_LEN, } from "@naylence/runtime";
|
|
3
|
+
import { sealedEncrypt, sealedDecrypt } from "@naylence/runtime";
|
|
4
|
+
import { urlsafeBase64Encode, urlsafeBase64Decode } from "@naylence/runtime";
|
|
5
|
+
import { getLogger } from "@naylence/runtime";
|
|
6
|
+
const logger = getLogger("naylence.fame.security.encryption.sealed.x25519_encryption_manager");
|
|
7
|
+
export class X25519EncryptionManager {
|
|
11
8
|
constructor({ keyProvider, nodeLike = null, cryptoProvider = null, }) {
|
|
12
9
|
this.pendingEnvelopes = new Map();
|
|
13
10
|
this.keyRequestsInProgress = new Set();
|
|
@@ -17,7 +14,7 @@ class X25519EncryptionManager {
|
|
|
17
14
|
}
|
|
18
15
|
async encryptEnvelope(envelope, opts = null) {
|
|
19
16
|
if (!this.isDataFrameEnvelope(envelope) || !this.hasPayload(envelope)) {
|
|
20
|
-
return
|
|
17
|
+
return EncryptionResult.skipped(envelope);
|
|
21
18
|
}
|
|
22
19
|
// When requestAddress is provided, SecurityPolicy couldn't find the key.
|
|
23
20
|
// KeyManagementHandler will queue the envelope and send KeyRequest.
|
|
@@ -27,13 +24,13 @@ class X25519EncryptionManager {
|
|
|
27
24
|
envelope_id: envelope.id,
|
|
28
25
|
request_address: String(opts.requestAddress),
|
|
29
26
|
});
|
|
30
|
-
return
|
|
27
|
+
return EncryptionResult.queued();
|
|
31
28
|
}
|
|
32
29
|
const { recipPub, recipKid } = await this.resolveRecipientKey(opts);
|
|
33
30
|
if (!recipPub || !recipKid) {
|
|
34
31
|
// This path is for when we have a kid but don't have the key yet
|
|
35
32
|
await this.queueEnvelopeForKey(envelope, opts, recipKid ?? this.deriveTemporaryKeyId(opts));
|
|
36
|
-
return
|
|
33
|
+
return EncryptionResult.queued();
|
|
37
34
|
}
|
|
38
35
|
try {
|
|
39
36
|
return await this.encryptWithKey(envelope, recipPub, recipKid);
|
|
@@ -42,7 +39,7 @@ class X25519EncryptionManager {
|
|
|
42
39
|
logger.error("x25519_encryption_failed", {
|
|
43
40
|
error: error instanceof Error ? error.message : String(error),
|
|
44
41
|
});
|
|
45
|
-
return
|
|
42
|
+
return EncryptionResult.skipped(envelope);
|
|
46
43
|
}
|
|
47
44
|
}
|
|
48
45
|
async decryptEnvelope(envelope, opts = null) {
|
|
@@ -54,8 +51,8 @@ class X25519EncryptionManager {
|
|
|
54
51
|
return envelope;
|
|
55
52
|
}
|
|
56
53
|
try {
|
|
57
|
-
const prefix =
|
|
58
|
-
const ciphertext =
|
|
54
|
+
const prefix = urlsafeBase64Decode(envelope.sec.enc.val);
|
|
55
|
+
const ciphertext = urlsafeBase64Decode(envelope.frame.payload);
|
|
59
56
|
const blob = new Uint8Array(prefix.length + ciphertext.length);
|
|
60
57
|
blob.set(prefix, 0);
|
|
61
58
|
blob.set(ciphertext, prefix.length);
|
|
@@ -63,7 +60,7 @@ class X25519EncryptionManager {
|
|
|
63
60
|
if (!privateKey) {
|
|
64
61
|
throw new Error("Private key material is not available");
|
|
65
62
|
}
|
|
66
|
-
const plaintext =
|
|
63
|
+
const plaintext = sealedDecrypt(blob, privateKey);
|
|
67
64
|
const payloadWithCodec = JSON.parse(new TextDecoder().decode(plaintext));
|
|
68
65
|
const frame = envelope.frame;
|
|
69
66
|
frame.payload = payloadWithCodec.payload;
|
|
@@ -127,26 +124,26 @@ class X25519EncryptionManager {
|
|
|
127
124
|
}
|
|
128
125
|
async encryptWithKey(envelope, recipientPublicKey, recipientKeyId) {
|
|
129
126
|
if (!this.isDataFrameEnvelope(envelope)) {
|
|
130
|
-
return
|
|
127
|
+
return EncryptionResult.skipped(envelope);
|
|
131
128
|
}
|
|
132
129
|
const frame = envelope.frame;
|
|
133
130
|
if (frame.payload === undefined || frame.payload === null) {
|
|
134
|
-
return
|
|
131
|
+
return EncryptionResult.skipped(envelope);
|
|
135
132
|
}
|
|
136
133
|
const payloadWithCodec = {
|
|
137
134
|
original_codec: frame.codec ?? null,
|
|
138
135
|
payload: this.makeJsonSerializable(frame.payload),
|
|
139
136
|
};
|
|
140
137
|
const payloadBytes = new TextEncoder().encode(JSON.stringify(payloadWithCodec));
|
|
141
|
-
const sealedBlob =
|
|
142
|
-
const prefix = sealedBlob.subarray(0,
|
|
143
|
-
const ciphertext = sealedBlob.subarray(
|
|
138
|
+
const sealedBlob = sealedEncrypt(payloadBytes, recipientPublicKey);
|
|
139
|
+
const prefix = sealedBlob.subarray(0, FIXED_PREFIX_LEN);
|
|
140
|
+
const ciphertext = sealedBlob.subarray(FIXED_PREFIX_LEN);
|
|
144
141
|
frame.codec = "b64";
|
|
145
|
-
frame.payload =
|
|
142
|
+
frame.payload = urlsafeBase64Encode(ciphertext);
|
|
146
143
|
const encryptionHeader = {
|
|
147
144
|
alg: "ECDH-ES+A256GCM",
|
|
148
145
|
kid: recipientKeyId,
|
|
149
|
-
val:
|
|
146
|
+
val: urlsafeBase64Encode(prefix),
|
|
150
147
|
};
|
|
151
148
|
if (envelope.sec) {
|
|
152
149
|
envelope.sec.enc = encryptionHeader;
|
|
@@ -154,7 +151,7 @@ class X25519EncryptionManager {
|
|
|
154
151
|
else {
|
|
155
152
|
envelope.sec = { enc: encryptionHeader };
|
|
156
153
|
}
|
|
157
|
-
return
|
|
154
|
+
return EncryptionResult.ok(envelope);
|
|
158
155
|
}
|
|
159
156
|
async resolveRecipientKey(opts) {
|
|
160
157
|
if (opts) {
|
|
@@ -288,15 +285,15 @@ class X25519EncryptionManager {
|
|
|
288
285
|
physicalPath: node.physicalPath ?? undefined,
|
|
289
286
|
};
|
|
290
287
|
const context = node.sid
|
|
291
|
-
?
|
|
292
|
-
:
|
|
288
|
+
? localDeliveryContext(node.sid)
|
|
289
|
+
: localDeliveryContext();
|
|
293
290
|
const envelopeFactory = node.envelopeFactory;
|
|
294
291
|
const keyRequestEnvelope = envelopeFactory
|
|
295
292
|
? envelopeFactory.createEnvelope({
|
|
296
293
|
to: opts.requestAddress,
|
|
297
294
|
frame: requestFrame,
|
|
298
295
|
})
|
|
299
|
-
:
|
|
296
|
+
: createFameEnvelope({
|
|
300
297
|
to: opts.requestAddress,
|
|
301
298
|
frame: requestFrame,
|
|
302
299
|
});
|
|
@@ -507,7 +504,7 @@ class X25519EncryptionManager {
|
|
|
507
504
|
];
|
|
508
505
|
for (const candidate of candidates) {
|
|
509
506
|
try {
|
|
510
|
-
return
|
|
507
|
+
return urlsafeBase64Decode(candidate);
|
|
511
508
|
}
|
|
512
509
|
catch {
|
|
513
510
|
continue;
|
|
@@ -542,5 +539,4 @@ class X25519EncryptionManager {
|
|
|
542
539
|
return container[key];
|
|
543
540
|
}
|
|
544
541
|
}
|
|
545
|
-
exports.X25519EncryptionManager = X25519EncryptionManager;
|
|
546
542
|
//# sourceMappingURL=x25519-encryption-manager.js.map
|