@naylence/advanced-security 0.3.5-test.0 → 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.
Files changed (130) hide show
  1. package/dist/browser/index.js +25 -16
  2. package/dist/browser/index.js.map +1 -1
  3. package/dist/cjs/browser.js +13 -28
  4. package/dist/cjs/browser.js.map +1 -1
  5. package/dist/cjs/index.js +5 -6
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/naylence/fame/factory-manifest.js +1 -4
  8. package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -1
  9. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js +9 -15
  10. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js.map +1 -1
  11. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js +7 -11
  12. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js.map +1 -1
  13. package/dist/cjs/naylence/fame/security/cert/ca-types.js +2 -7
  14. package/dist/cjs/naylence/fame/security/cert/ca-types.js.map +1 -1
  15. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js +6 -10
  16. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js.map +1 -1
  17. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js +29 -66
  18. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js.map +1 -1
  19. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js +12 -16
  20. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -1
  21. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js +22 -59
  22. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
  23. package/dist/cjs/naylence/fame/security/cert/grants.js +1 -4
  24. package/dist/cjs/naylence/fame/security/cert/grants.js.map +1 -1
  25. package/dist/cjs/naylence/fame/security/cert/index.js +10 -50
  26. package/dist/cjs/naylence/fame/security/cert/index.js.map +1 -1
  27. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js +79 -122
  28. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
  29. package/dist/cjs/naylence/fame/security/cert/util.js +26 -30
  30. package/dist/cjs/naylence/fame/security/cert/util.js.map +1 -1
  31. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +10 -14
  32. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +1 -1
  33. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js +32 -36
  34. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -1
  35. package/dist/cjs/naylence/fame/security/encryption/channel/index.js +2 -7
  36. package/dist/cjs/naylence/fame/security/encryption/channel/index.js.map +1 -1
  37. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js +10 -14
  38. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +1 -1
  39. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js +7 -11
  40. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js.map +1 -1
  41. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +7 -11
  42. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +1 -1
  43. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js +19 -23
  44. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js.map +1 -1
  45. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js +9 -15
  46. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js.map +1 -1
  47. package/dist/cjs/naylence/fame/security/encryption/index.js +6 -15
  48. package/dist/cjs/naylence/fame/security/encryption/index.js.map +1 -1
  49. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js +2 -7
  50. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js.map +1 -1
  51. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +8 -12
  52. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +1 -1
  53. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +26 -30
  54. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +1 -1
  55. package/dist/cjs/naylence/fame/security/index.js +5 -10
  56. package/dist/cjs/naylence/fame/security/index.js.map +1 -1
  57. package/dist/cjs/naylence/fame/security/keys/index.js +2 -8
  58. package/dist/cjs/naylence/fame/security/keys/index.js.map +1 -1
  59. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js +9 -13
  60. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js.map +1 -1
  61. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js +16 -52
  62. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js.map +1 -1
  63. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js +8 -44
  64. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
  65. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +6 -43
  66. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +1 -1
  67. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +8 -12
  68. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -1
  69. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js +33 -70
  70. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
  71. package/dist/cjs/naylence/fame/stickiness/aft-helper.js +8 -13
  72. package/dist/cjs/naylence/fame/stickiness/aft-helper.js.map +1 -1
  73. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +12 -16
  74. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +1 -1
  75. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +10 -14
  76. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +1 -1
  77. package/dist/cjs/naylence/fame/stickiness/aft-model.js +6 -14
  78. package/dist/cjs/naylence/fame/stickiness/aft-model.js.map +1 -1
  79. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +12 -16
  80. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +1 -1
  81. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js +13 -18
  82. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +1 -1
  83. package/dist/cjs/naylence/fame/stickiness/aft-signer.js +23 -30
  84. package/dist/cjs/naylence/fame/stickiness/aft-signer.js.map +1 -1
  85. package/dist/cjs/naylence/fame/stickiness/aft-utils.js +3 -8
  86. package/dist/cjs/naylence/fame/stickiness/aft-utils.js.map +1 -1
  87. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js +21 -28
  88. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js.map +1 -1
  89. package/dist/cjs/naylence/fame/stickiness/index.js +10 -39
  90. package/dist/cjs/naylence/fame/stickiness/index.js.map +1 -1
  91. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js +3 -7
  92. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js.map +1 -1
  93. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js +14 -18
  94. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js.map +1 -1
  95. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js +14 -18
  96. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js.map +1 -1
  97. package/dist/cjs/naylence/fame/welcome/index.js +2 -8
  98. package/dist/cjs/naylence/fame/welcome/index.js.map +1 -1
  99. package/dist/cjs/plugin.js +8 -10
  100. package/dist/cjs/plugin.js.map +1 -1
  101. package/dist/cjs/version.js +8 -0
  102. package/dist/cjs/version.js.map +1 -0
  103. package/dist/esm/browser.js +2 -0
  104. package/dist/esm/browser.js.map +1 -1
  105. package/dist/esm/index.js +2 -0
  106. package/dist/esm/index.js.map +1 -1
  107. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js +2 -2
  108. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -1
  109. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js +1 -1
  110. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
  111. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js +1 -1
  112. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
  113. package/dist/esm/naylence/fame/security/cert/util.js +1 -1
  114. package/dist/esm/naylence/fame/security/cert/util.js.map +1 -1
  115. package/dist/esm/plugin.js +2 -0
  116. package/dist/esm/plugin.js.map +1 -1
  117. package/dist/esm/version.js +8 -0
  118. package/dist/esm/version.js.map +1 -0
  119. package/dist/types/browser.d.ts +1 -0
  120. package/dist/types/browser.d.ts.map +1 -1
  121. package/dist/types/index.d.ts +1 -0
  122. package/dist/types/index.d.ts.map +1 -1
  123. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts +3 -3
  124. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts.map +1 -1
  125. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts +1 -1
  126. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts.map +1 -1
  127. package/dist/types/plugin.d.ts.map +1 -1
  128. package/dist/types/version.d.ts +6 -0
  129. package/dist/types/version.d.ts.map +1 -0
  130. package/package.json +5 -4
@@ -1,61 +1,18 @@
1
- "use strict";
2
1
  /**
3
2
  * Certificate Authority signing service for node certificates.
4
3
  *
5
4
  * Provides in-process API for issuing certificates with node physical
6
5
  * and host-like logical address information using SPIFFE-compliant identities.
7
6
  */
8
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- var desc = Object.getOwnPropertyDescriptor(m, k);
11
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
- desc = { enumerable: true, get: function() { return m[k]; } };
13
- }
14
- Object.defineProperty(o, k2, desc);
15
- }) : (function(o, m, k, k2) {
16
- if (k2 === undefined) k2 = k;
17
- o[k2] = m[k];
18
- }));
19
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
- Object.defineProperty(o, "default", { enumerable: true, value: v });
21
- }) : function(o, v) {
22
- o["default"] = v;
23
- });
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- Object.defineProperty(exports, "__esModule", { value: true });
42
- exports.CASigningService = exports.NODE_ID_OID = exports.LOGICALS_OID = exports.SID_OID = void 0;
43
- exports.createTestCA = createTestCA;
44
- exports.extractSpiffeIdFromCert = extractSpiffeIdFromCert;
45
- exports.extractSidFromCert = extractSidFromCert;
46
- exports.extractNodeIdFromCert = extractNodeIdFromCert;
47
- exports.extractLogicalHostsFromCert = extractLogicalHostsFromCert;
48
- exports.extractSidFromSpiffeId = extractSidFromSpiffeId;
49
- exports.verifyCertSidIntegrity = verifyCertSidIntegrity;
50
- const asn1_schema_1 = require("@peculiar/asn1-schema");
51
- const asn1_x509_1 = require("@peculiar/asn1-x509");
52
- const asn1_csr_1 = require("@peculiar/asn1-csr");
53
- const runtime_1 = require("@naylence/runtime");
54
- const ca_types_js_1 = require("./ca-types.js");
7
+ import { AsnConvert, OctetString } from "@peculiar/asn1-schema";
8
+ import { AlgorithmIdentifier, AttributeTypeAndValue, AttributeValue, AuthorityKeyIdentifier, BasicConstraints, Certificate, Extension, Extensions, ExtendedKeyUsage, GeneralName, GeneralSubtree, GeneralSubtrees, KeyIdentifier, KeyUsage as X509KeyUsage, KeyUsageFlags, Name, NameConstraints, RelativeDistinguishedName, SubjectAlternativeName, SubjectPublicKeyInfo, SubjectKeyIdentifier, TBSCertificate, Validity, Version, id_ce_authorityKeyIdentifier, id_ce_basicConstraints, id_ce_extKeyUsage, id_ce_keyUsage, id_ce_nameConstraints, id_ce_subjectAltName, id_ce_subjectKeyIdentifier, id_kp_clientAuth, id_kp_serverAuth, } from "@peculiar/asn1-x509";
9
+ import { CertificationRequest } from "@peculiar/asn1-csr";
10
+ import { secureDigest, validateHostLogical } from "@naylence/runtime/node";
11
+ import { CAService } from "./ca-types.js";
55
12
  // Certificate extension OIDs (using placeholder PEN)
56
- exports.SID_OID = "1.3.6.1.4.1.58530.1";
57
- exports.LOGICALS_OID = "1.3.6.1.4.1.58530.2";
58
- exports.NODE_ID_OID = "1.3.6.1.4.1.58530.4";
13
+ export const SID_OID = "1.3.6.1.4.1.58530.1";
14
+ export const LOGICALS_OID = "1.3.6.1.4.1.58530.2";
15
+ export const NODE_ID_OID = "1.3.6.1.4.1.58530.4";
59
16
  const ED25519_OID = "1.3.101.112";
60
17
  let x509ModulePromise = null;
61
18
  let cryptoPromise = null;
@@ -65,7 +22,8 @@ let subtleCryptoPromise = null;
65
22
  */
66
23
  async function loadX509Module() {
67
24
  if (!x509ModulePromise) {
68
- x509ModulePromise = Promise.resolve().then(() => __importStar(require("@peculiar/x509"))).then((mod) => {
25
+ x509ModulePromise = import("@peculiar/x509")
26
+ .then((mod) => {
69
27
  if (mod && typeof mod.X509Certificate === "function") {
70
28
  return mod;
71
29
  }
@@ -85,7 +43,7 @@ async function ensureCrypto() {
85
43
  if (!cryptoPromise) {
86
44
  if (typeof process !== "undefined" &&
87
45
  typeof process.versions?.node === "string") {
88
- cryptoPromise = Promise.resolve().then(() => __importStar(require("crypto"))).then((cryptoModule) => {
46
+ cryptoPromise = import("crypto").then((cryptoModule) => {
89
47
  const webcrypto = cryptoModule
90
48
  .webcrypto;
91
49
  if (!webcrypto || !webcrypto.subtle) {
@@ -147,7 +105,7 @@ function toArrayBuffer(view) {
147
105
  return new Uint8Array(view).buffer;
148
106
  }
149
107
  function serializeAsn(value) {
150
- return asn1_schema_1.AsnConvert.serialize(value);
108
+ return AsnConvert.serialize(value);
151
109
  }
152
110
  function hexToArrayBuffer(hex) {
153
111
  const normalized = hex.length % 2 === 0 ? hex : `0${hex}`;
@@ -165,26 +123,26 @@ async function createEd25519Certificate(options) {
165
123
  const issuerName = cloneName(options.issuer);
166
124
  const subjectName = cloneName(options.subject);
167
125
  const subjectSpki = await subtle.exportKey("spki", options.subjectPublicKey);
168
- const subjectPublicKeyInfo = asn1_schema_1.AsnConvert.parse(subjectSpki, asn1_x509_1.SubjectPublicKeyInfo);
169
- subjectPublicKeyInfo.algorithm = new asn1_x509_1.AlgorithmIdentifier({
126
+ const subjectPublicKeyInfo = AsnConvert.parse(subjectSpki, SubjectPublicKeyInfo);
127
+ subjectPublicKeyInfo.algorithm = new AlgorithmIdentifier({
170
128
  algorithm: ED25519_OID,
171
129
  });
172
- const signatureAlgorithm = new asn1_x509_1.AlgorithmIdentifier({
130
+ const signatureAlgorithm = new AlgorithmIdentifier({
173
131
  algorithm: ED25519_OID,
174
132
  });
175
133
  const extensions = options.extensions?.length
176
- ? new asn1_x509_1.Extensions(options.extensions.map((ext) => new asn1_x509_1.Extension({
134
+ ? new Extensions(options.extensions.map((ext) => new Extension({
177
135
  extnID: ext.type,
178
136
  critical: ext.critical,
179
- extnValue: new asn1_schema_1.OctetString(ext.value),
137
+ extnValue: new OctetString(ext.value),
180
138
  })))
181
139
  : undefined;
182
- const tbsCertificate = new asn1_x509_1.TBSCertificate({
183
- version: asn1_x509_1.Version.v3,
140
+ const tbsCertificate = new TBSCertificate({
141
+ version: Version.v3,
184
142
  serialNumber: hexToArrayBuffer(serialHex),
185
143
  signature: signatureAlgorithm,
186
144
  issuer: issuerName,
187
- validity: new asn1_x509_1.Validity({
145
+ validity: new Validity({
188
146
  notBefore: options.notBefore,
189
147
  notAfter: options.notAfter,
190
148
  }),
@@ -192,15 +150,15 @@ async function createEd25519Certificate(options) {
192
150
  subjectPublicKeyInfo,
193
151
  extensions,
194
152
  });
195
- const tbsDer = asn1_schema_1.AsnConvert.serialize(tbsCertificate);
153
+ const tbsDer = AsnConvert.serialize(tbsCertificate);
196
154
  const signature = await subtle.sign("Ed25519", options.signingKey, tbsDer);
197
- const certificate = new asn1_x509_1.Certificate({
155
+ const certificate = new Certificate({
198
156
  tbsCertificate,
199
157
  signatureAlgorithm,
200
158
  signatureValue: signature,
201
159
  });
202
160
  certificate.tbsCertificateRaw = tbsDer;
203
- return asn1_schema_1.AsnConvert.serialize(certificate);
161
+ return AsnConvert.serialize(certificate);
204
162
  }
205
163
  function derToPem(der, label) {
206
164
  const base64 = bufferToBase64(der);
@@ -231,10 +189,10 @@ const OID_COMMON_NAME = "2.5.4.3";
231
189
  const OID_ORGANIZATIONAL_UNIT = "2.5.4.11";
232
190
  const OID_ORGANIZATION = "2.5.4.10";
233
191
  function createRelativeDistinguishedName(oid, value) {
234
- return new asn1_x509_1.RelativeDistinguishedName([
235
- new asn1_x509_1.AttributeTypeAndValue({
192
+ return new RelativeDistinguishedName([
193
+ new AttributeTypeAndValue({
236
194
  type: oid,
237
- value: new asn1_x509_1.AttributeValue({ utf8String: value }),
195
+ value: new AttributeValue({ utf8String: value }),
238
196
  }),
239
197
  ]);
240
198
  }
@@ -248,56 +206,56 @@ function buildCertificateName(commonName, organization, organizationalUnit) {
248
206
  if (organization) {
249
207
  rdns.push(createRelativeDistinguishedName(OID_ORGANIZATION, organization));
250
208
  }
251
- return new asn1_x509_1.Name(rdns);
209
+ return new Name(rdns);
252
210
  }
253
211
  function cloneName(name) {
254
- return asn1_schema_1.AsnConvert.parse(asn1_schema_1.AsnConvert.serialize(name), asn1_x509_1.Name);
212
+ return AsnConvert.parse(AsnConvert.serialize(name), Name);
255
213
  }
256
214
  function getCertificateIdentity(cert) {
257
- const parsed = asn1_schema_1.AsnConvert.parse(cert.rawData, asn1_x509_1.Certificate);
215
+ const parsed = AsnConvert.parse(cert.rawData, Certificate);
258
216
  return {
259
217
  name: cloneName(parsed.tbsCertificate.subject),
260
- subjectPublicKeyInfo: asn1_schema_1.AsnConvert.serialize(parsed.tbsCertificate.subjectPublicKeyInfo),
218
+ subjectPublicKeyInfo: AsnConvert.serialize(parsed.tbsCertificate.subjectPublicKeyInfo),
261
219
  };
262
220
  }
263
221
  async function buildCaExtensions(subjectPublicKey, issuerPublicKey, options) {
264
222
  const extensions = [];
265
- const basicConstraints = new asn1_x509_1.BasicConstraints({ cA: true });
223
+ const basicConstraints = new BasicConstraints({ cA: true });
266
224
  if (options.pathLength !== null && options.pathLength !== undefined) {
267
225
  basicConstraints.pathLenConstraint = options.pathLength;
268
226
  }
269
227
  extensions.push({
270
- type: asn1_x509_1.id_ce_basicConstraints,
228
+ type: id_ce_basicConstraints,
271
229
  critical: true,
272
230
  value: serializeAsn(basicConstraints),
273
231
  });
274
- const keyUsageFlags = asn1_x509_1.KeyUsageFlags.digitalSignature |
275
- asn1_x509_1.KeyUsageFlags.keyCertSign |
276
- asn1_x509_1.KeyUsageFlags.cRLSign;
232
+ const keyUsageFlags = KeyUsageFlags.digitalSignature |
233
+ KeyUsageFlags.keyCertSign |
234
+ KeyUsageFlags.cRLSign;
277
235
  extensions.push({
278
- type: asn1_x509_1.id_ce_keyUsage,
236
+ type: id_ce_keyUsage,
279
237
  critical: true,
280
- value: serializeAsn(new asn1_x509_1.KeyUsage(keyUsageFlags)),
238
+ value: serializeAsn(new X509KeyUsage(keyUsageFlags)),
281
239
  });
282
240
  const subjectKeyId = await computeKeyIdentifier(subjectPublicKey);
283
241
  extensions.push({
284
- type: asn1_x509_1.id_ce_subjectKeyIdentifier,
242
+ type: id_ce_subjectKeyIdentifier,
285
243
  critical: false,
286
- value: serializeAsn(new asn1_x509_1.SubjectKeyIdentifier(subjectKeyId)),
244
+ value: serializeAsn(new SubjectKeyIdentifier(subjectKeyId)),
287
245
  });
288
246
  const authorityKeyId = await computeKeyIdentifier(issuerPublicKey);
289
247
  extensions.push({
290
- type: asn1_x509_1.id_ce_authorityKeyIdentifier,
248
+ type: id_ce_authorityKeyIdentifier,
291
249
  critical: false,
292
- value: serializeAsn(new asn1_x509_1.AuthorityKeyIdentifier({
293
- keyIdentifier: new asn1_x509_1.KeyIdentifier(authorityKeyId),
250
+ value: serializeAsn(new AuthorityKeyIdentifier({
251
+ keyIdentifier: new KeyIdentifier(authorityKeyId),
294
252
  })),
295
253
  });
296
254
  if (options.permittedDnsDomains?.length) {
297
- const permittedSubtrees = new asn1_x509_1.GeneralSubtrees(options.permittedDnsDomains.map((domain) => new asn1_x509_1.GeneralSubtree({ base: new asn1_x509_1.GeneralName({ dNSName: domain }) })));
298
- const constraints = new asn1_x509_1.NameConstraints({ permittedSubtrees });
255
+ const permittedSubtrees = new GeneralSubtrees(options.permittedDnsDomains.map((domain) => new GeneralSubtree({ base: new GeneralName({ dNSName: domain }) })));
256
+ const constraints = new NameConstraints({ permittedSubtrees });
299
257
  extensions.push({
300
- type: asn1_x509_1.id_ce_nameConstraints,
258
+ type: id_ce_nameConstraints,
301
259
  critical: true,
302
260
  value: serializeAsn(constraints),
303
261
  });
@@ -307,51 +265,51 @@ async function buildCaExtensions(subjectPublicKey, issuerPublicKey, options) {
307
265
  async function buildLeafExtensions(publicKey, nodeSid, nodeId, spiffeId, logicalHosts, issuerPublicKey) {
308
266
  const extensions = [];
309
267
  extensions.push({
310
- type: asn1_x509_1.id_ce_subjectAltName,
268
+ type: id_ce_subjectAltName,
311
269
  critical: false,
312
- value: serializeAsn(new asn1_x509_1.SubjectAlternativeName([
313
- new asn1_x509_1.GeneralName({ uniformResourceIdentifier: spiffeId }),
270
+ value: serializeAsn(new SubjectAlternativeName([
271
+ new GeneralName({ uniformResourceIdentifier: spiffeId }),
314
272
  ])),
315
273
  });
316
- const keyUsageFlags = asn1_x509_1.KeyUsageFlags.digitalSignature;
274
+ const keyUsageFlags = KeyUsageFlags.digitalSignature;
317
275
  extensions.push({
318
- type: asn1_x509_1.id_ce_keyUsage,
276
+ type: id_ce_keyUsage,
319
277
  critical: true,
320
- value: serializeAsn(new asn1_x509_1.KeyUsage(keyUsageFlags)),
278
+ value: serializeAsn(new X509KeyUsage(keyUsageFlags)),
321
279
  });
322
280
  extensions.push({
323
- type: asn1_x509_1.id_ce_extKeyUsage,
281
+ type: id_ce_extKeyUsage,
324
282
  critical: false,
325
- value: serializeAsn(new asn1_x509_1.ExtendedKeyUsage([asn1_x509_1.id_kp_clientAuth, asn1_x509_1.id_kp_serverAuth])),
283
+ value: serializeAsn(new ExtendedKeyUsage([id_kp_clientAuth, id_kp_serverAuth])),
326
284
  });
327
285
  const subjectKeyId = await computeKeyIdentifier(publicKey);
328
286
  extensions.push({
329
- type: asn1_x509_1.id_ce_subjectKeyIdentifier,
287
+ type: id_ce_subjectKeyIdentifier,
330
288
  critical: false,
331
- value: serializeAsn(new asn1_x509_1.SubjectKeyIdentifier(subjectKeyId)),
289
+ value: serializeAsn(new SubjectKeyIdentifier(subjectKeyId)),
332
290
  });
333
291
  const authorityKeyId = await computeKeyIdentifier(issuerPublicKey);
334
292
  extensions.push({
335
- type: asn1_x509_1.id_ce_authorityKeyIdentifier,
293
+ type: id_ce_authorityKeyIdentifier,
336
294
  critical: false,
337
- value: serializeAsn(new asn1_x509_1.AuthorityKeyIdentifier({
338
- keyIdentifier: new asn1_x509_1.KeyIdentifier(authorityKeyId),
295
+ value: serializeAsn(new AuthorityKeyIdentifier({
296
+ keyIdentifier: new KeyIdentifier(authorityKeyId),
339
297
  })),
340
298
  });
341
299
  extensions.push({
342
- type: exports.SID_OID,
300
+ type: SID_OID,
343
301
  critical: false,
344
302
  value: toArrayBuffer(new TextEncoder().encode(nodeSid)),
345
303
  });
346
304
  extensions.push({
347
- type: exports.NODE_ID_OID,
305
+ type: NODE_ID_OID,
348
306
  critical: false,
349
307
  value: toArrayBuffer(new TextEncoder().encode(nodeId)),
350
308
  });
351
309
  if (logicalHosts.length) {
352
310
  const logicalsJson = JSON.stringify(logicalHosts);
353
311
  extensions.push({
354
- type: exports.LOGICALS_OID,
312
+ type: LOGICALS_OID,
355
313
  critical: false,
356
314
  value: toArrayBuffer(new TextEncoder().encode(logicalsJson)),
357
315
  });
@@ -364,7 +322,7 @@ async function buildLeafExtensions(publicKey, nodeSid, nodeId, spiffeId, logical
364
322
  * Issues SPIFFE-compliant node certificates with Fame-specific extensions
365
323
  * for physical paths and logical addresses.
366
324
  */
367
- class CASigningService extends ca_types_js_1.CAService {
325
+ export class CASigningService extends CAService {
368
326
  constructor(options) {
369
327
  super();
370
328
  this.rootCertPem = options.rootCertPem;
@@ -437,14 +395,14 @@ class CASigningService extends ca_types_js_1.CAService {
437
395
  async issueCertificate(csr) {
438
396
  // Parse PKCS#10 CSR to extract SubjectPublicKeyInfo
439
397
  const csrDer = pemToDer(csr.csrPem);
440
- const certRequest = asn1_schema_1.AsnConvert.parse(csrDer, asn1_csr_1.CertificationRequest);
398
+ const certRequest = AsnConvert.parse(csrDer, CertificationRequest);
441
399
  const subjectPublicKeyInfo = certRequest.certificationRequestInfo.subjectPKInfo;
442
400
  // Convert SubjectPublicKeyInfo to PEM format
443
- const publicKeyDer = asn1_schema_1.AsnConvert.serialize(subjectPublicKeyInfo);
401
+ const publicKeyDer = AsnConvert.serialize(subjectPublicKeyInfo);
444
402
  const publicKeyPem = derToPem(publicKeyDer, "PUBLIC KEY");
445
403
  // Determine node SID and physical path (mirrors Python logic)
446
404
  const physicalPath = csr.physicalPath || `/unknown/${csr.requesterId}`;
447
- const nodeSid = (0, runtime_1.secureDigest)(physicalPath);
405
+ const nodeSid = secureDigest(physicalPath);
448
406
  const logicals = csr.logicals || [];
449
407
  // Issue the certificate (short-lived: 1 day)
450
408
  const certificatePem = await this.signNodeCert(publicKeyPem, csr.requesterId, // Use requesterId as node_id
@@ -452,7 +410,7 @@ class CASigningService extends ca_types_js_1.CAService {
452
410
  undefined);
453
411
  // Parse certificate to get expiration
454
412
  const certDer = pemToDer(certificatePem);
455
- const cert = asn1_schema_1.AsnConvert.parse(certDer, asn1_x509_1.Certificate);
413
+ const cert = AsnConvert.parse(certDer, Certificate);
456
414
  const notAfter = cert.tbsCertificate.validity.notAfter.getTime();
457
415
  const expiresAt = new Date(notAfter).toISOString();
458
416
  return {
@@ -476,13 +434,13 @@ class CASigningService extends ca_types_js_1.CAService {
476
434
  await this.ensureSigningMaterials();
477
435
  const signingCert = this.getSigningCertificate();
478
436
  const signingKey = this.getSigningKey();
479
- const expectedSid = (0, runtime_1.secureDigest)(physicalPath);
437
+ const expectedSid = secureDigest(physicalPath);
480
438
  if (expectedSid !== nodeSid) {
481
439
  throw new Error("Provided SID does not match the computed SID for the physical path");
482
440
  }
483
441
  const logicalHosts = logicals ?? [];
484
442
  for (const logical of logicalHosts) {
485
- const [valid, error] = (0, runtime_1.validateHostLogical)(logical);
443
+ const [valid, error] = validateHostLogical(logical);
486
444
  if (!valid) {
487
445
  throw new Error(`Invalid logical host '${logical}': ${error ?? "unknown error"}`);
488
446
  }
@@ -496,7 +454,7 @@ class CASigningService extends ca_types_js_1.CAService {
496
454
  const spiffeId = `spiffe://${spiffeTrustDomain}/nodes/${nodeSid}`;
497
455
  const extensions = await buildLeafExtensions(publicKey, nodeSid, nodeId, spiffeId, logicalHosts, issuerIdentity.subjectPublicKeyInfo);
498
456
  const issuerName = issuerIdentity.name;
499
- const subjectName = new asn1_x509_1.Name([]); // SPIFFE X.509-SVIDs require an empty subject DN
457
+ const subjectName = new Name([]); // SPIFFE X.509-SVIDs require an empty subject DN
500
458
  const certDer = await createEd25519Certificate({
501
459
  subject: subjectName,
502
460
  issuer: issuerName,
@@ -546,7 +504,6 @@ class CASigningService extends ca_types_js_1.CAService {
546
504
  return derToPem(certDer, "CERTIFICATE");
547
505
  }
548
506
  }
549
- exports.CASigningService = CASigningService;
550
507
  /**
551
508
  * Create a test root CA for development/testing.
552
509
  *
@@ -554,7 +511,7 @@ exports.CASigningService = CASigningService;
554
511
  *
555
512
  * @returns Tuple of [rootCertPem, rootKeyPem]
556
513
  */
557
- async function createTestCA() {
514
+ export async function createTestCA() {
558
515
  const subtle = await getSubtleCrypto();
559
516
  await ensureCrypto();
560
517
  const keyPair = await subtle.generateKey({
@@ -588,7 +545,7 @@ async function createTestCA() {
588
545
  * @param certPem - Certificate in PEM format
589
546
  * @returns SPIFFE ID string or null if not found
590
547
  */
591
- async function extractSpiffeIdFromCert(certPem) {
548
+ export async function extractSpiffeIdFromCert(certPem) {
592
549
  const x509 = await loadX509Module();
593
550
  if (!x509) {
594
551
  throw new Error("@peculiar/x509 module not available");
@@ -612,7 +569,7 @@ async function extractSpiffeIdFromCert(certPem) {
612
569
  * @param certPem - Certificate in PEM format
613
570
  * @returns SID bytes or null if not found
614
571
  */
615
- async function extractSidFromCert(certPem) {
572
+ export async function extractSidFromCert(certPem) {
616
573
  const x509 = await loadX509Module();
617
574
  if (!x509) {
618
575
  throw new Error("@peculiar/x509 module not available");
@@ -620,7 +577,7 @@ async function extractSidFromCert(certPem) {
620
577
  try {
621
578
  const certDer = pemToDer(certPem);
622
579
  const cert = new x509.X509Certificate(certDer);
623
- const sidExtension = cert.getExtension(exports.SID_OID);
580
+ const sidExtension = cert.getExtension(SID_OID);
624
581
  if (sidExtension) {
625
582
  return new Uint8Array(sidExtension);
626
583
  }
@@ -637,7 +594,7 @@ async function extractSidFromCert(certPem) {
637
594
  * @param certPem - Certificate in PEM format
638
595
  * @returns Node ID string or null if not found
639
596
  */
640
- async function extractNodeIdFromCert(certPem) {
597
+ export async function extractNodeIdFromCert(certPem) {
641
598
  const x509 = await loadX509Module();
642
599
  if (!x509) {
643
600
  throw new Error("@peculiar/x509 module not available");
@@ -645,7 +602,7 @@ async function extractNodeIdFromCert(certPem) {
645
602
  try {
646
603
  const certDer = pemToDer(certPem);
647
604
  const cert = new x509.X509Certificate(certDer);
648
- const nodeIdExtension = cert.getExtension(exports.NODE_ID_OID);
605
+ const nodeIdExtension = cert.getExtension(NODE_ID_OID);
649
606
  if (nodeIdExtension) {
650
607
  const decoder = new TextDecoder();
651
608
  return decoder.decode(nodeIdExtension);
@@ -663,7 +620,7 @@ async function extractNodeIdFromCert(certPem) {
663
620
  * @param certPem - Certificate in PEM format
664
621
  * @returns List of logical host addresses, empty if none found
665
622
  */
666
- async function extractLogicalHostsFromCert(certPem) {
623
+ export async function extractLogicalHostsFromCert(certPem) {
667
624
  const x509 = await loadX509Module();
668
625
  if (!x509) {
669
626
  throw new Error("@peculiar/x509 module not available");
@@ -671,7 +628,7 @@ async function extractLogicalHostsFromCert(certPem) {
671
628
  try {
672
629
  const certDer = pemToDer(certPem);
673
630
  const cert = new x509.X509Certificate(certDer);
674
- const logicalsExtension = cert.getExtension(exports.LOGICALS_OID);
631
+ const logicalsExtension = cert.getExtension(LOGICALS_OID);
675
632
  if (logicalsExtension) {
676
633
  const decoder = new TextDecoder();
677
634
  const jsonStr = decoder.decode(logicalsExtension);
@@ -690,7 +647,7 @@ async function extractLogicalHostsFromCert(certPem) {
690
647
  * @param spiffeId - SPIFFE ID in format spiffe://trust-domain/nodes/<sid>
691
648
  * @returns SID string (base62-encoded) or null if not a valid node SPIFFE ID
692
649
  */
693
- function extractSidFromSpiffeId(spiffeId) {
650
+ export function extractSidFromSpiffeId(spiffeId) {
694
651
  if (!spiffeId.startsWith("spiffe://")) {
695
652
  return null;
696
653
  }
@@ -708,7 +665,7 @@ function extractSidFromSpiffeId(spiffeId) {
708
665
  * @param physicalPath - The expected physical path to verify against
709
666
  * @returns True if SID matches computed hash of physical path, False otherwise
710
667
  */
711
- async function verifyCertSidIntegrity(certPem, physicalPath) {
668
+ export async function verifyCertSidIntegrity(certPem, physicalPath) {
712
669
  const sidBytes = await extractSidFromCert(certPem);
713
670
  if (!sidBytes) {
714
671
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"internal-ca-service.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/internal-ca-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal-ca-service.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/cert/internal-ca-service.ts"],"names":[],"mappings":"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"}