@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.
Files changed (93) hide show
  1. package/dist/browser/index.js +4679 -504
  2. package/dist/browser/index.js.map +1 -1
  3. package/dist/cjs/naylence/fame/factory-manifest.js +4 -0
  4. package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -1
  5. package/dist/cjs/naylence/fame/security/cert/ca-server-cli.js +30 -0
  6. package/dist/cjs/naylence/fame/security/cert/ca-server-cli.js.map +1 -0
  7. package/dist/cjs/naylence/fame/security/cert/ca-server.js +201 -0
  8. package/dist/cjs/naylence/fame/security/cert/ca-server.js.map +1 -0
  9. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js +11 -29
  10. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
  11. package/dist/cjs/naylence/fame/security/cert/index.js +3 -0
  12. package/dist/cjs/naylence/fame/security/cert/index.js.map +1 -1
  13. package/dist/cjs/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js +82 -0
  14. package/dist/cjs/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js.map +1 -0
  15. package/dist/cjs/naylence/fame/security/cert/trust-store/env-provider.js +46 -1
  16. package/dist/cjs/naylence/fame/security/cert/trust-store/env-provider.js.map +1 -1
  17. package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +51 -14
  18. package/dist/cjs/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +1 -1
  19. package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js +88 -2
  20. package/dist/cjs/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +1 -1
  21. package/dist/cjs/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js +61 -0
  22. package/dist/cjs/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js.map +1 -0
  23. package/dist/cjs/naylence/fame/security/cert/trust-store/static-bundle-provider.js +8 -1
  24. package/dist/cjs/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +1 -1
  25. package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js +40 -0
  26. package/dist/cjs/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js.map +1 -0
  27. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js +113 -23
  28. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
  29. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +6 -0
  30. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -1
  31. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js +43 -59
  32. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
  33. package/dist/cjs/version.js +2 -2
  34. package/dist/esm/naylence/fame/factory-manifest.js +4 -0
  35. package/dist/esm/naylence/fame/factory-manifest.js.map +1 -1
  36. package/dist/esm/naylence/fame/security/cert/ca-server-cli.js +30 -0
  37. package/dist/esm/naylence/fame/security/cert/ca-server-cli.js.map +1 -0
  38. package/dist/esm/naylence/fame/security/cert/ca-server.js +30 -17
  39. package/dist/esm/naylence/fame/security/cert/ca-server.js.map +1 -1
  40. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js +11 -29
  41. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
  42. package/dist/esm/naylence/fame/security/cert/index.js +3 -0
  43. package/dist/esm/naylence/fame/security/cert/index.js.map +1 -1
  44. package/dist/esm/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js +82 -0
  45. package/dist/esm/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.js.map +1 -0
  46. package/dist/esm/naylence/fame/security/cert/trust-store/env-provider.js +46 -1
  47. package/dist/esm/naylence/fame/security/cert/trust-store/env-provider.js.map +1 -1
  48. package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js +51 -14
  49. package/dist/esm/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.js.map +1 -1
  50. package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js +88 -2
  51. package/dist/esm/naylence/fame/security/cert/trust-store/http-bundle-provider.js.map +1 -1
  52. package/dist/esm/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js +61 -0
  53. package/dist/esm/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.js.map +1 -0
  54. package/dist/esm/naylence/fame/security/cert/trust-store/static-bundle-provider.js +8 -1
  55. package/dist/esm/naylence/fame/security/cert/trust-store/static-bundle-provider.js.map +1 -1
  56. package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js +40 -0
  57. package/dist/esm/naylence/fame/security/cert/trust-store/trust-store-provider-factory.js.map +1 -0
  58. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js +113 -23
  59. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
  60. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +6 -0
  61. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -1
  62. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js +43 -59
  63. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
  64. package/dist/esm/version.js +2 -2
  65. package/dist/types/naylence/fame/factory-manifest.d.ts +1 -1
  66. package/dist/types/naylence/fame/factory-manifest.d.ts.map +1 -1
  67. package/dist/types/naylence/fame/security/cert/ca-server-cli.d.ts +3 -0
  68. package/dist/types/naylence/fame/security/cert/ca-server-cli.d.ts.map +1 -0
  69. package/dist/types/naylence/fame/security/cert/ca-server.d.ts +2 -2
  70. package/dist/types/naylence/fame/security/cert/ca-server.d.ts.map +1 -1
  71. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts.map +1 -1
  72. package/dist/types/naylence/fame/security/cert/index.d.ts +4 -0
  73. package/dist/types/naylence/fame/security/cert/index.d.ts.map +1 -1
  74. package/dist/types/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.d.ts +29 -0
  75. package/dist/types/naylence/fame/security/cert/trust-store/browser-trust-store-provider-factory.d.ts.map +1 -0
  76. package/dist/types/naylence/fame/security/cert/trust-store/env-provider.d.ts.map +1 -1
  77. package/dist/types/naylence/fame/security/cert/trust-store/fame-ca-certs-parser.d.ts.map +1 -1
  78. package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts +5 -1
  79. package/dist/types/naylence/fame/security/cert/trust-store/http-bundle-provider.d.ts.map +1 -1
  80. package/dist/types/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.d.ts +23 -0
  81. package/dist/types/naylence/fame/security/cert/trust-store/node-trust-store-provider-factory.d.ts.map +1 -0
  82. package/dist/types/naylence/fame/security/cert/trust-store/static-bundle-provider.d.ts +2 -0
  83. package/dist/types/naylence/fame/security/cert/trust-store/static-bundle-provider.d.ts.map +1 -1
  84. package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider-factory.d.ts +28 -0
  85. package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider-factory.d.ts.map +1 -0
  86. package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider.d.ts +6 -0
  87. package/dist/types/naylence/fame/security/cert/trust-store/trust-store-provider.d.ts.map +1 -1
  88. package/dist/types/naylence/fame/security/register-advanced-security-factories.d.ts.map +1 -1
  89. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier-factory.d.ts.map +1 -1
  90. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts +5 -0
  91. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts.map +1 -1
  92. package/dist/types/version.d.ts +1 -1
  93. package/package.json +3 -3
@@ -7,6 +7,8 @@
7
7
  export const MODULES = [
8
8
  "./security/cert/default-ca-service-factory.js",
9
9
  "./security/cert/default-certificate-manager-factory.js",
10
+ "./security/cert/trust-store/browser-trust-store-provider-factory.js",
11
+ "./security/cert/trust-store/node-trust-store-provider-factory.js",
10
12
  "./security/encryption/channel/channel-encryption-manager-factory.js",
11
13
  "./security/encryption/composite-encryption-manager-factory.js",
12
14
  "./security/encryption/default-secure-channel-manager-factory.js",
@@ -21,6 +23,8 @@ export const MODULES = [
21
23
  export const MODULE_LOADERS = {
22
24
  "./security/cert/default-ca-service-factory.js": () => import("./security/cert/default-ca-service-factory.js"),
23
25
  "./security/cert/default-certificate-manager-factory.js": () => import("./security/cert/default-certificate-manager-factory.js"),
26
+ "./security/cert/trust-store/browser-trust-store-provider-factory.js": () => import("./security/cert/trust-store/browser-trust-store-provider-factory.js"),
27
+ "./security/cert/trust-store/node-trust-store-provider-factory.js": () => import("./security/cert/trust-store/node-trust-store-provider-factory.js"),
24
28
  "./security/encryption/channel/channel-encryption-manager-factory.js": () => import("./security/encryption/channel/channel-encryption-manager-factory.js"),
25
29
  "./security/encryption/composite-encryption-manager-factory.js": () => import("./security/encryption/composite-encryption-manager-factory.js"),
26
30
  "./security/encryption/default-secure-channel-manager-factory.js": () => import("./security/encryption/default-secure-channel-manager-factory.js"),
@@ -1 +1 @@
1
- {"version":3,"file":"factory-manifest.js","sourceRoot":"","sources":["../../../../src/naylence/fame/factory-manifest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,+CAA+C;IAC/C,wDAAwD;IACxD,qEAAqE;IACrE,+DAA+D;IAC/D,iEAAiE;IACjE,mEAAmE;IACnE,4CAA4C;IAC5C,qDAAqD;IACrD,uDAAuD;IACvD,8DAA8D;IAC9D,wDAAwD;IACxD,+CAA+C;CACvC,CAAC;AAKX,MAAM,CAAC,MAAM,cAAc,GAAmD;IAC5E,+CAA+C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+CAA+C,CAAC;IAC9G,wDAAwD,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wDAAwD,CAAC;IAChI,qEAAqE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qEAAqE,CAAC;IAC1J,+DAA+D,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+DAA+D,CAAC;IAC9I,iEAAiE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iEAAiE,CAAC;IAClJ,mEAAmE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mEAAmE,CAAC;IACtJ,4CAA4C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,4CAA4C,CAAC;IACxG,qDAAqD,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qDAAqD,CAAC;IAC1H,uDAAuD,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uDAAuD,CAAC;IAC9H,8DAA8D,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,8DAA8D,CAAC;IAC5I,wDAAwD,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wDAAwD,CAAC;IAChI,+CAA+C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+CAA+C,CAAC;CAC/G,CAAC"}
1
+ {"version":3,"file":"factory-manifest.js","sourceRoot":"","sources":["../../../../src/naylence/fame/factory-manifest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,+CAA+C;IAC/C,wDAAwD;IACxD,qEAAqE;IACrE,kEAAkE;IAClE,qEAAqE;IACrE,+DAA+D;IAC/D,iEAAiE;IACjE,mEAAmE;IACnE,4CAA4C;IAC5C,qDAAqD;IACrD,uDAAuD;IACvD,8DAA8D;IAC9D,wDAAwD;IACxD,+CAA+C;CACvC,CAAC;AAKX,MAAM,CAAC,MAAM,cAAc,GAAmD;IAC5E,+CAA+C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+CAA+C,CAAC;IAC9G,wDAAwD,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wDAAwD,CAAC;IAChI,qEAAqE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qEAAqE,CAAC;IAC1J,kEAAkE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,kEAAkE,CAAC;IACpJ,qEAAqE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qEAAqE,CAAC;IAC1J,+DAA+D,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+DAA+D,CAAC;IAC9I,iEAAiE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iEAAiE,CAAC;IAClJ,mEAAmE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,mEAAmE,CAAC;IACtJ,4CAA4C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,4CAA4C,CAAC;IACxG,qDAAqD,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qDAAqD,CAAC;IAC1H,uDAAuD,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uDAAuD,CAAC;IAC9H,8DAA8D,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,8DAA8D,CAAC;IAC5I,wDAAwD,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wDAAwD,CAAC;IAChI,+CAA+C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+CAA+C,CAAC;CAC/G,CAAC"}
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ import { pathToFileURL } from "node:url";
3
+ import { main } from "./ca-server.js";
4
+ function isDirectExecution() {
5
+ if (typeof process === "undefined") {
6
+ return false;
7
+ }
8
+ const entry = process.argv?.[1];
9
+ if (typeof entry !== "string" || entry.length === 0) {
10
+ return false;
11
+ }
12
+ const entryUrl = pathToFileURL(entry).href;
13
+ return import.meta.url === entryUrl;
14
+ }
15
+ function registerSignalHandlers() {
16
+ const handleShutdown = (signal) => {
17
+ console.log("[INFO] ca_server_shutting_down", { signal });
18
+ process.exit(0);
19
+ };
20
+ process.on("SIGTERM", () => handleShutdown("SIGTERM"));
21
+ process.on("SIGINT", () => handleShutdown("SIGINT"));
22
+ }
23
+ if (isDirectExecution()) {
24
+ registerSignalHandlers();
25
+ main().catch((error) => {
26
+ console.error("Fatal error:", error);
27
+ process.exit(1);
28
+ });
29
+ }
30
+ //# sourceMappingURL=ca-server-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca-server-cli.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-server-cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,SAAS,iBAAiB;IACxB,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC;AACtC,CAAC;AAED,SAAS,sBAAsB;IAC7B,MAAM,cAAc,GAAG,CAAC,MAAsB,EAAE,EAAE;QAChD,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,IAAI,iBAAiB,EAAE,EAAE,CAAC;IACxB,sBAAsB,EAAE,CAAC;IAEzB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * CA Server - Certificate Authority HTTP endpoint
3
+ *
4
+ * Provides certificate issuance via HTTP using Fastify.
5
+ * Mirrors the Python ca_server.py implementation.
6
+ */
7
+ import { sha256 } from "@noble/hashes/sha256.js";
8
+ import Fastify from "fastify";
9
+ import { pathToFileURL } from "node:url";
10
+ import { CAServiceFactory } from "./ca-service-factory.js";
11
+ // Simple console logger for CA server
12
+ const logger = {
13
+ info: (event, meta) => {
14
+ console.log(`[INFO] ${event}`, meta || "");
15
+ },
16
+ warning: (event, meta) => {
17
+ console.warn(`[WARNING] ${event}`, meta || "");
18
+ },
19
+ error: (event, meta) => {
20
+ console.error(`[ERROR] ${event}`, meta || "");
21
+ },
22
+ debug: (event, meta) => {
23
+ const logLevel = (process.env.FAME_LOG_LEVEL || "info").toLowerCase();
24
+ if (logLevel === "debug" || logLevel === "trace") {
25
+ console.log(`[DEBUG] ${event}`, meta || "");
26
+ }
27
+ },
28
+ };
29
+ const ENV_VAR_FAME_APP_HOST = "FAME_APP_HOST";
30
+ const ENV_VAR_FAME_APP_PORT = "FAME_APP_PORT";
31
+ /**
32
+ * Create CA router with certificate signing endpoint.
33
+ * Mirrors Python's create_ca_router functionality.
34
+ */
35
+ function createCaRouter(fastify, caService, prefix = "/fame/v1/ca") {
36
+ // Certificate signing endpoint
37
+ fastify.post(`${prefix}/sign`, {
38
+ schema: {
39
+ body: {
40
+ type: "object",
41
+ required: ["csr_pem", "requester_id"],
42
+ properties: {
43
+ csr_pem: { type: "string" },
44
+ requester_id: { type: "string" },
45
+ physical_path: { type: "string" },
46
+ logicals: { type: "array", items: { type: "string" } },
47
+ },
48
+ },
49
+ },
50
+ }, async (request, reply) => {
51
+ try {
52
+ const csrRequest = request.body;
53
+ if (!csrRequest || !csrRequest.requester_id) {
54
+ return reply.status(400).send({
55
+ error: "invalid_request",
56
+ message: "CSR must include requester_id",
57
+ });
58
+ }
59
+ logger.debug("ca_cert_request_received", {
60
+ requester_id: csrRequest.requester_id,
61
+ physical_path: csrRequest.physical_path,
62
+ logicals: csrRequest.logicals,
63
+ });
64
+ // Authenticate if authorizer is configured
65
+ if (caService.authorizer) {
66
+ // TODO: Implement authentication when authorizer interface is defined
67
+ logger.warning("authentication_not_yet_implemented", {
68
+ authorizer_configured: true,
69
+ });
70
+ }
71
+ // Convert snake_case request to camelCase for TypeScript interface
72
+ const csrForService = {
73
+ csrPem: csrRequest.csr_pem,
74
+ requesterId: csrRequest.requester_id,
75
+ physicalPath: csrRequest.physical_path,
76
+ logicals: csrRequest.logicals,
77
+ };
78
+ // Issue certificate
79
+ const result = await caService.issueCertificate(csrForService);
80
+ const response = {
81
+ certificate_pem: result.certificatePem,
82
+ certificate_chain_pem: result.certificateChainPem,
83
+ expires_at: result.expiresAt,
84
+ };
85
+ return reply.send(response);
86
+ }
87
+ catch (error) {
88
+ logger.error("ca_cert_issuance_failed", {
89
+ error: error instanceof Error ? error.message : String(error),
90
+ });
91
+ return reply.status(500).send({
92
+ error: "issuance_failed",
93
+ message: error instanceof Error ? error.message : "Unknown error",
94
+ });
95
+ }
96
+ });
97
+ // Health check
98
+ fastify.get("/health", async () => {
99
+ return { status: "healthy", service: "ca-server" };
100
+ });
101
+ const trustBundlePath = "/.well-known/naylence/trust-bundle.json";
102
+ fastify.get(trustBundlePath, async (request, reply) => {
103
+ const bundle = await caService.getTrustBundle();
104
+ if (!bundle) {
105
+ return reply.status(404).send({
106
+ error: "trust_bundle_unavailable",
107
+ });
108
+ }
109
+ const payload = JSON.stringify(bundle);
110
+ const etag = `"${computeEtag(payload)}"`;
111
+ const requestEtag = request.headers["if-none-match"];
112
+ if (typeof requestEtag === "string" && requestEtag.replace(/W\//u, "") === etag.replace(/W\//u, "")) {
113
+ return reply
114
+ .status(304)
115
+ .header("ETag", etag)
116
+ .header("Cache-Control", trustBundleCacheControl())
117
+ .send();
118
+ }
119
+ return reply
120
+ .header("Content-Type", "application/json")
121
+ .header("Cache-Control", trustBundleCacheControl())
122
+ .header("ETag", etag)
123
+ .send(bundle);
124
+ });
125
+ }
126
+ /**
127
+ * Create Fastify application with CA service lifespan management.
128
+ * Mirrors Python's FastAPI lifespan pattern.
129
+ */
130
+ async function createApp() {
131
+ // Disable Fastify's built-in logger to avoid configuration conflicts
132
+ const fastify = Fastify({
133
+ logger: false,
134
+ });
135
+ // Register advanced security factories (including CA service factory)
136
+ const { registerAdvancedSecurityPluginFactories } = await import("../../../../plugin.js");
137
+ await registerAdvancedSecurityPluginFactories();
138
+ // Create CA service (mirrors Python's lifespan startup)
139
+ const caService = await CAServiceFactory.createCAService();
140
+ // Register CA router
141
+ createCaRouter(fastify, caService);
142
+ return { app: fastify, caService };
143
+ }
144
+ async function main() {
145
+ try {
146
+ const { app } = await createApp();
147
+ const host = process.env[ENV_VAR_FAME_APP_HOST] || "0.0.0.0";
148
+ const port = parseInt(process.env[ENV_VAR_FAME_APP_PORT] || "8098", 10);
149
+ await app.listen({ host, port });
150
+ logger.info("ca_server_started", { host, port });
151
+ console.log(`\n📍 CA Server listening on http://${host}:${port}`);
152
+ console.log(`🔐 Certificate endpoint: http://${host}:${port}/fame/v1/ca/sign\n`);
153
+ }
154
+ catch (error) {
155
+ logger.error("ca_server_startup_failed", {
156
+ error: error instanceof Error ? error.message : String(error),
157
+ });
158
+ process.exit(1);
159
+ }
160
+ }
161
+ export { createApp, main };
162
+ // Access import.meta lazily so Jest's CJS transform does not choke on direct syntax.
163
+ function resolveModuleUrl() {
164
+ try {
165
+ const url = (0, eval)("import.meta.url");
166
+ return typeof url === "string" ? url : null;
167
+ }
168
+ catch {
169
+ return null;
170
+ }
171
+ }
172
+ const moduleUrl = resolveModuleUrl();
173
+ const isTopLevelInvocation = (() => {
174
+ if (typeof process === "undefined") {
175
+ return false;
176
+ }
177
+ const entry = process.argv[1] ?? null;
178
+ if (!entry || !moduleUrl) {
179
+ return false;
180
+ }
181
+ try {
182
+ return moduleUrl === pathToFileURL(entry).href;
183
+ }
184
+ catch {
185
+ return false;
186
+ }
187
+ })();
188
+ if (isTopLevelInvocation) {
189
+ void main();
190
+ }
191
+ function computeEtag(payload) {
192
+ const encoder = new TextEncoder();
193
+ const digest = sha256(encoder.encode(payload));
194
+ return Array.from(digest)
195
+ .map((byte) => byte.toString(16).padStart(2, "0"))
196
+ .join("");
197
+ }
198
+ function trustBundleCacheControl() {
199
+ return "public, max-age=3600, stale-while-revalidate=86400";
200
+ }
201
+ //# sourceMappingURL=ca-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ca-server.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/ca-server.ts"],"names":[],"mappings":"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"}
@@ -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 : `${ENV_VAR_FAME_CA_CERTS}_not_set`,
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 fs = await import("node:fs/promises");
821
- const content = await fs.readFile(filePath, "utf8");
822
- return normalizePemOrNull(content);
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
- logger.error("failed_to_read_trust_store", {
826
- file: filePath,
827
- error: error instanceof Error ? error.message : String(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"}
@@ -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
@@ -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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"}