@naylence/advanced-security 0.3.5-test.102 → 0.3.5-test.105
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 +4679 -504
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/naylence/fame/factory-manifest.js +4 -0
- package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -1
- 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 +201 -0
- package/dist/cjs/naylence/fame/security/cert/ca-server.js.map +1 -0
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js +11 -29
- package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/index.js +3 -0
- package/dist/cjs/naylence/fame/security/cert/index.js.map +1 -1
- 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 +46 -1
- package/dist/cjs/naylence/fame/security/cert/trust-store/env-provider.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +51 -14
- package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +1 -1
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js +88 -2
- package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +1 -1
- 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 +8 -1
- package/dist/cjs/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +1 -1
- 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/register-advanced-security-factories.js +113 -23
- package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +6 -0
- 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 +43 -59
- package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
- package/dist/cjs/version.js +2 -2
- package/dist/esm/naylence/fame/factory-manifest.js +4 -0
- package/dist/esm/naylence/fame/factory-manifest.js.map +1 -1
- 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 +30 -17
- package/dist/esm/naylence/fame/security/cert/ca-server.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js +11 -29
- package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/index.js +3 -0
- package/dist/esm/naylence/fame/security/cert/index.js.map +1 -1
- 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 +46 -1
- package/dist/esm/naylence/fame/security/cert/trust-store/env-provider.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +51 -14
- package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +1 -1
- package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js +88 -2
- package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +1 -1
- 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 +8 -1
- package/dist/esm/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +1 -1
- 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/register-advanced-security-factories.js +113 -23
- package/dist/esm/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +6 -0
- 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 +43 -59
- package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/naylence/fame/factory-manifest.d.ts +1 -1
- package/dist/types/naylence/fame/factory-manifest.d.ts.map +1 -1
- 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/default-certificate-manager.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/index.d.ts +4 -0
- package/dist/types/naylence/fame/security/cert/index.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.d.ts +29 -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.map +1 -1
- package/dist/types/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts +5 -1
- package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts.map +1 -1
- package/dist/types/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.d.ts +23 -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 +2 -0
- package/dist/types/naylence/fame/security/cert/trust-store/static-bundle-provider.d.ts.map +1 -1
- 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 +6 -0
- package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider.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-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/version.d.ts +1 -1
- package/package.json +3 -3
|
@@ -5,8 +5,8 @@ import { CertificateRequestError } from "./ca-types.js";
|
|
|
5
5
|
import { GRANT_PURPOSE_CA_SIGN } from "./grants.js";
|
|
6
6
|
import { validateJwkX5cCertificate } from "./util.js";
|
|
7
7
|
import { createEd25519CsrFromPem } from "./node-ed25519-csr.js";
|
|
8
|
+
import { TrustStoreProviderFactory } from "./trust-store/trust-store-provider-factory.js";
|
|
8
9
|
const logger = getLogger("naylence.fame.security.cert.default_certificate_manager");
|
|
9
|
-
const ENV_VAR_FAME_CA_CERTS = "FAME_CA_CERTS";
|
|
10
10
|
const CONNECTION_GRANTS_CAMEL = "connectionGrants";
|
|
11
11
|
const CONNECTION_GRANTS_SNAKE = "connection_grants";
|
|
12
12
|
export class DefaultCertificateManager {
|
|
@@ -514,7 +514,7 @@ export class DefaultCertificateManager {
|
|
|
514
514
|
const envPem = await resolveTrustStorePemFromEnvironment();
|
|
515
515
|
return {
|
|
516
516
|
pem: envPem,
|
|
517
|
-
reason: envPem ? undefined :
|
|
517
|
+
reason: envPem ? undefined : "trust_store_provider_unconfigured",
|
|
518
518
|
};
|
|
519
519
|
}
|
|
520
520
|
async resolveTrustStorePemFromProvider(provider, nodeId) {
|
|
@@ -795,36 +795,18 @@ function normalizeAuthConfig(candidate) {
|
|
|
795
795
|
return normalized;
|
|
796
796
|
}
|
|
797
797
|
async function resolveTrustStorePemFromEnvironment() {
|
|
798
|
-
if (!hasProcessEnv()) {
|
|
799
|
-
return null;
|
|
800
|
-
}
|
|
801
|
-
const rawValue = process.env?.[ENV_VAR_FAME_CA_CERTS];
|
|
802
|
-
if (!rawValue || rawValue.trim().length === 0) {
|
|
803
|
-
return null;
|
|
804
|
-
}
|
|
805
|
-
const trimmed = rawValue.trim();
|
|
806
|
-
if (trimmed.startsWith("-----BEGIN")) {
|
|
807
|
-
return normalizePem(trimmed);
|
|
808
|
-
}
|
|
809
|
-
if (!isNodeProcess()) {
|
|
810
|
-
logger.debug("trust_store_file_unavailable_in_browser", {
|
|
811
|
-
env_var: ENV_VAR_FAME_CA_CERTS,
|
|
812
|
-
});
|
|
813
|
-
return null;
|
|
814
|
-
}
|
|
815
|
-
const filePath = trimmed;
|
|
816
|
-
if (!filePath) {
|
|
817
|
-
return null;
|
|
818
|
-
}
|
|
819
798
|
try {
|
|
820
|
-
const
|
|
821
|
-
|
|
822
|
-
|
|
799
|
+
const provider = await TrustStoreProviderFactory.createTrustStoreProvider();
|
|
800
|
+
if (typeof provider.initialize === "function") {
|
|
801
|
+
await provider.initialize();
|
|
802
|
+
}
|
|
803
|
+
const pem = await provider.getTrustStorePem();
|
|
804
|
+
return normalizePemOrNull(pem);
|
|
823
805
|
}
|
|
824
806
|
catch (error) {
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
error:
|
|
807
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
808
|
+
logger.debug("trust_store_provider_resolution_failed", {
|
|
809
|
+
error: message,
|
|
828
810
|
});
|
|
829
811
|
return null;
|
|
830
812
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-certificate-manager.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/default-certificate-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"default-certificate-manager.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/default-certificate-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ export { createEd25519CsrFromPem, } from "./node-ed25519-csr.js";
|
|
|
4
4
|
export { createEd25519Csr, } from "./browser-csr.js";
|
|
5
5
|
export { DefaultCertificateManager, } from "./default-certificate-manager.js";
|
|
6
6
|
export { DefaultCertificateManagerFactory, FACTORY_META as DEFAULT_CERTIFICATE_MANAGER_FACTORY_META, } from "./default-certificate-manager-factory.js";
|
|
7
|
+
export { TrustStoreProviderFactory, NullTrustStoreProvider, TRUST_STORE_PROVIDER_FACTORY_BASE_TYPE, } from "./trust-store/trust-store-provider-factory.js";
|
|
8
|
+
export { EnvTrustStoreProviderFactory, FACTORY_META as ENV_TRUST_STORE_PROVIDER_FACTORY_META, } from "./trust-store/node-trust-store-provider-factory.js";
|
|
9
|
+
export { BrowserTrustStoreProviderFactory, FACTORY_META as BROWSER_TRUST_STORE_PROVIDER_FACTORY_META, } from "./trust-store/browser-trust-store-provider-factory.js";
|
|
7
10
|
// Certificate Authority (CA) types and services
|
|
8
11
|
export { CAService, CertificateRequestError, } from "./ca-types.js";
|
|
9
12
|
export { CAServiceClient, extractCertificateInfo, formatCertificateInfo, ENV_VAR_FAME_CA_SERVICE_URL, } from "./ca-service-client.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EAGzB,gBAAgB,GAEjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,GAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,yBAAyB,GAG1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,gCAAgC,EAChC,YAAY,IAAI,wCAAwC,GAEzD,MAAM,0CAA0C,CAAC;AAElD,gDAAgD;AAChD,OAAO,EAIL,SAAS,EACT,uBAAuB,GAExB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EAGrB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAEhB,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAEhB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAEhB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,GAExB,MAAM,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EAGzB,gBAAgB,GAEjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EACL,uBAAuB,GAExB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,GAEjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,yBAAyB,GAG1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,gCAAgC,EAChC,YAAY,IAAI,wCAAwC,GAEzD,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,sCAAsC,GAGvC,MAAM,+CAA+C,CAAC;AACvD,OAAO,EACL,4BAA4B,EAC5B,YAAY,IAAI,qCAAqC,GAEtD,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,gCAAgC,EAChC,YAAY,IAAI,yCAAyC,GAE1D,MAAM,uDAAuD,CAAC;AAE/D,gDAAgD;AAChD,OAAO,EAIL,SAAS,EACT,uBAAuB,GAExB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EAGrB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,gBAAgB,EAEhB,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAEhB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,gBAAgB,EAEhB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,GAExB,MAAM,iCAAiC,CAAC"}
|
package/dist/esm/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { HttpBundleProvider } from "./http-bundle-provider.js";
|
|
2
|
+
import { createTrustStoreProviderFromEnv } from "./env-provider.js";
|
|
3
|
+
import { TRUST_STORE_PROVIDER_FACTORY_BASE_TYPE, TrustStoreProviderFactory, } from "./trust-store-provider-factory.js";
|
|
4
|
+
export const FACTORY_META = {
|
|
5
|
+
base: TRUST_STORE_PROVIDER_FACTORY_BASE_TYPE,
|
|
6
|
+
key: "BrowserTrustStoreProvider",
|
|
7
|
+
isDefault: !isNodeEnvironment(),
|
|
8
|
+
priority: !isNodeEnvironment() ? 100 : 10,
|
|
9
|
+
};
|
|
10
|
+
export class BrowserTrustStoreProviderFactory extends TrustStoreProviderFactory {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.type = "BrowserTrustStoreProvider";
|
|
14
|
+
this.isDefault = FACTORY_META.isDefault;
|
|
15
|
+
this.priority = FACTORY_META.priority;
|
|
16
|
+
}
|
|
17
|
+
async create(config, ...factoryArgs) {
|
|
18
|
+
const normalized = this.normalizeConfig(config);
|
|
19
|
+
const dependencies = this.extractDependencies(factoryArgs);
|
|
20
|
+
if (normalized.url) {
|
|
21
|
+
return this.createHttpProviderFromConfig(normalized);
|
|
22
|
+
}
|
|
23
|
+
const envOverride = normalized.env ?? dependencies?.env ?? null;
|
|
24
|
+
const provider = await createTrustStoreProviderFromEnv({
|
|
25
|
+
env: envOverride ?? undefined,
|
|
26
|
+
requirePinsInBrowser: true,
|
|
27
|
+
});
|
|
28
|
+
if (provider) {
|
|
29
|
+
return provider;
|
|
30
|
+
}
|
|
31
|
+
return this.createUnconfiguredProvider("Trust store is not configured. In browser environments set FAME_CA_CERTS to an HTTPS trust bundle URL or provide an explicit configuration.");
|
|
32
|
+
}
|
|
33
|
+
createHttpProviderFromConfig(config) {
|
|
34
|
+
const url = config.url?.trim();
|
|
35
|
+
if (!url) {
|
|
36
|
+
throw new Error("Browser trust store provider requires a bundle URL");
|
|
37
|
+
}
|
|
38
|
+
if (!/^https:\/\//iu.test(url)) {
|
|
39
|
+
// throw new Error("Trust bundle URL must use HTTPS in browser environments");
|
|
40
|
+
}
|
|
41
|
+
const options = {
|
|
42
|
+
url,
|
|
43
|
+
hashPins: config.hashPins ?? undefined,
|
|
44
|
+
allowedSpkis: config.allowedSpkis ?? undefined,
|
|
45
|
+
allowTofu: config.allowTofu ?? undefined,
|
|
46
|
+
refreshIntervalMs: config.refreshIntervalMs ?? undefined,
|
|
47
|
+
enforcePinsInBrowser: config.enforcePinsInBrowser ?? true,
|
|
48
|
+
};
|
|
49
|
+
return new HttpBundleProvider(options);
|
|
50
|
+
}
|
|
51
|
+
normalizeConfig(config) {
|
|
52
|
+
if (!config) {
|
|
53
|
+
return {
|
|
54
|
+
type: "BrowserTrustStoreProvider",
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
if (config.type === "BrowserTrustStoreProvider") {
|
|
58
|
+
return config;
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
...config,
|
|
62
|
+
type: "BrowserTrustStoreProvider",
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
extractDependencies(factoryArgs) {
|
|
66
|
+
if (factoryArgs.length === 0) {
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
const candidate = factoryArgs[0];
|
|
70
|
+
if (candidate && typeof candidate === "object") {
|
|
71
|
+
return candidate;
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function isNodeEnvironment() {
|
|
77
|
+
return (typeof process !== "undefined" &&
|
|
78
|
+
typeof process.versions !== "undefined" &&
|
|
79
|
+
typeof process.versions.node === "string");
|
|
80
|
+
}
|
|
81
|
+
export default BrowserTrustStoreProviderFactory;
|
|
82
|
+
//# sourceMappingURL=browser-trust-store-provider-factory.js.map
|
package/dist/esm/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-trust-store-provider-factory.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HttpBundleProvider } from "./http-bundle-provider.js";
|
|
2
2
|
import { parseFameCaCerts } from "./fame-ca-certs-parser.js";
|
|
3
|
+
import { anchorsToPem, pemChainToAnchors } from "./anchor-utils.js";
|
|
3
4
|
import { createProviderFromDataUri, createProviderFromPem, loadPemFromFile, } from "./static-bundle-provider.js";
|
|
4
5
|
export async function createTrustStoreProviderFromEnv(options = {}) {
|
|
5
6
|
const env = resolveEnv(options.env);
|
|
@@ -25,15 +26,54 @@ export async function createTrustStoreProviderFromEnv(options = {}) {
|
|
|
25
26
|
}
|
|
26
27
|
class CompositeTrustStoreProvider {
|
|
27
28
|
constructor(providers) {
|
|
29
|
+
this.cachedPem = null;
|
|
30
|
+
this.initialized = false;
|
|
28
31
|
this.providers = providers;
|
|
29
32
|
}
|
|
33
|
+
async initialize() {
|
|
34
|
+
if (this.initialized) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
for (const provider of this.providers) {
|
|
38
|
+
if (typeof provider.initialize === "function") {
|
|
39
|
+
await provider.initialize();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
this.cachedPem = null;
|
|
43
|
+
this.initialized = true;
|
|
44
|
+
}
|
|
30
45
|
async getRoots() {
|
|
46
|
+
await this.initializeIfNeeded();
|
|
31
47
|
const rootsLists = await Promise.all(this.providers.map((provider) => provider.getRoots()));
|
|
32
48
|
return rootsLists.flat();
|
|
33
49
|
}
|
|
50
|
+
async getTrustStorePem() {
|
|
51
|
+
await this.initializeIfNeeded();
|
|
52
|
+
if (this.cachedPem) {
|
|
53
|
+
return this.cachedPem;
|
|
54
|
+
}
|
|
55
|
+
const anchors = [];
|
|
56
|
+
for (const provider of this.providers) {
|
|
57
|
+
const pem = await provider.getTrustStorePem();
|
|
58
|
+
if (pem.trim().length === 0) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
anchors.push(...pemChainToAnchors(pem));
|
|
62
|
+
}
|
|
63
|
+
const combined = anchorsToPem(anchors);
|
|
64
|
+
if (!combined) {
|
|
65
|
+
throw new Error("Combined trust store bundle is empty");
|
|
66
|
+
}
|
|
67
|
+
this.cachedPem = combined;
|
|
68
|
+
return combined;
|
|
69
|
+
}
|
|
34
70
|
onUpdate(callback) {
|
|
71
|
+
const wrapped = () => {
|
|
72
|
+
this.cachedPem = null;
|
|
73
|
+
callback();
|
|
74
|
+
};
|
|
35
75
|
const unsubscribers = this.providers
|
|
36
|
-
.map((provider) => provider.onUpdate?.(
|
|
76
|
+
.map((provider) => provider.onUpdate?.(wrapped) ?? null)
|
|
37
77
|
.filter((fn) => typeof fn === "function");
|
|
38
78
|
return () => {
|
|
39
79
|
for (const unsubscribe of unsubscribers) {
|
|
@@ -46,6 +86,11 @@ class CompositeTrustStoreProvider {
|
|
|
46
86
|
}
|
|
47
87
|
};
|
|
48
88
|
}
|
|
89
|
+
async initializeIfNeeded() {
|
|
90
|
+
if (!this.initialized) {
|
|
91
|
+
await this.initialize();
|
|
92
|
+
}
|
|
93
|
+
}
|
|
49
94
|
}
|
|
50
95
|
async function buildProviderForSource(source, options) {
|
|
51
96
|
switch (source.type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-provider.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/cert/trust-store/env-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AAgBrC,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,UAA2C,EAAE;IAE7C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAElD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,EAAE,6BAA6B,CAAC,CAAC;IAExE,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,EAAE;QAC3C,QAAQ;QACR,YAAY;QACZ,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;QACjC,iBAAiB,EAAE,QAAQ,CAAC,kBAAkB,CAAC;KAChD,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CACjE,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,CAAC,CAAuB,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,2BAA2B;
|
|
1
|
+
{"version":3,"file":"env-provider.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/cert/trust-store/env-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const PEM_BLOCK_PATTERN = /-----BEGIN [^-]+-----[\s\S]*?-----END [^-]+-----/gu;
|
|
1
2
|
export function parseFameCaCerts(rawSources, options = {}) {
|
|
2
3
|
const entries = normalizeSourceEntries(rawSources);
|
|
3
4
|
if (entries.length === 0) {
|
|
@@ -14,9 +15,10 @@ export function parseFameCaCerts(rawSources, options = {}) {
|
|
|
14
15
|
continue;
|
|
15
16
|
}
|
|
16
17
|
if (entry.startsWith("http://")) {
|
|
17
|
-
throw new Error("FAME_CA_CERTS may not reference insecure HTTP URLs");
|
|
18
|
+
// throw new Error("FAME_CA_CERTS may not reference insecure HTTP URLs");
|
|
19
|
+
// TODO: replace with logging
|
|
18
20
|
}
|
|
19
|
-
if (entry.startsWith("https://")) {
|
|
21
|
+
if (entry.startsWith("https://") || entry.startsWith("http://")) {
|
|
20
22
|
const { source, pins } = buildHttpsSource(entry, {
|
|
21
23
|
hashPins: envPins,
|
|
22
24
|
allowedSpkis: envSpkis,
|
|
@@ -68,26 +70,61 @@ function normalizeSourceEntries(candidate) {
|
|
|
68
70
|
// fall through to delimiter parsing
|
|
69
71
|
}
|
|
70
72
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
const pemMatches = Array.from(trimmed.matchAll(PEM_BLOCK_PATTERN));
|
|
74
|
+
if (pemMatches.length === 0) {
|
|
75
|
+
return splitDelimitedEntries(trimmed);
|
|
73
76
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
const entries = [];
|
|
78
|
+
let lastIndex = 0;
|
|
79
|
+
for (const match of pemMatches) {
|
|
80
|
+
const matchIndex = match.index ?? 0;
|
|
81
|
+
const leading = trimmed.slice(lastIndex, matchIndex).trim();
|
|
82
|
+
if (leading) {
|
|
83
|
+
entries.push(...splitDelimitedEntries(leading));
|
|
84
|
+
}
|
|
85
|
+
const block = match[0];
|
|
86
|
+
if (block) {
|
|
87
|
+
entries.push(block.trim());
|
|
88
|
+
}
|
|
89
|
+
lastIndex = matchIndex + (block?.length ?? 0);
|
|
79
90
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
.
|
|
83
|
-
|
|
91
|
+
const trailing = trimmed.slice(lastIndex).trim();
|
|
92
|
+
if (trailing) {
|
|
93
|
+
entries.push(...splitDelimitedEntries(trailing));
|
|
94
|
+
}
|
|
95
|
+
return entries.filter((value) => value.length > 0);
|
|
84
96
|
}
|
|
85
97
|
return [];
|
|
86
98
|
}
|
|
99
|
+
function splitDelimitedEntries(value) {
|
|
100
|
+
const trimmed = value.trim();
|
|
101
|
+
if (!trimmed) {
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
if (trimmed.startsWith("data:")) {
|
|
105
|
+
return [trimmed];
|
|
106
|
+
}
|
|
107
|
+
const segments = trimmed
|
|
108
|
+
.split(/\s*\n+\s*/u)
|
|
109
|
+
.flatMap((segment) => {
|
|
110
|
+
const candidate = segment.trim();
|
|
111
|
+
if (!candidate) {
|
|
112
|
+
return [];
|
|
113
|
+
}
|
|
114
|
+
if (candidate.startsWith("data:")) {
|
|
115
|
+
return [candidate];
|
|
116
|
+
}
|
|
117
|
+
return candidate
|
|
118
|
+
.split(/\s*,\s*/u)
|
|
119
|
+
.map((entry) => entry.trim())
|
|
120
|
+
.filter((entry) => entry.length > 0);
|
|
121
|
+
});
|
|
122
|
+
return segments.filter((entry) => entry.length > 0);
|
|
123
|
+
}
|
|
87
124
|
function buildHttpsSource(value, defaults) {
|
|
88
125
|
const url = new URL(value);
|
|
89
126
|
if (url.protocol !== "https:") {
|
|
90
|
-
throw new Error("HTTPS trust bundle URL must use https://");
|
|
127
|
+
// throw new Error("HTTPS trust bundle URL must use https://");
|
|
91
128
|
}
|
|
92
129
|
const queryPins = extractPinsFromQuery(url);
|
|
93
130
|
const hashPins = mergeUnique(defaults.hashPins ?? [], queryPins.hashPins ?? []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fame-ca-certs-parser.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,gBAAgB,CAC9B,UAAmB,EACnB,UAAmC,EAAE;IAErC,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAA0B,CAAC,CAAC;YAC3E,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,
|
|
1
|
+
{"version":3,"file":"fame-ca-certs-parser.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.ts"],"names":[],"mappings":"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"}
|