@ai-ecoverse/slicc-kernel 1.125.8 → 1.125.9

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/node.js CHANGED
@@ -7086,7 +7086,7 @@ function satisfies(version, range2) {
7086
7086
  }
7087
7087
 
7088
7088
  // src/version.ts
7089
- var KERNEL_VERSION = true ? "1.125.8" : "0.0.0-dev";
7089
+ var KERNEL_VERSION = true ? "1.125.9" : "0.0.0-dev";
7090
7090
  var OS_RELEASE = "6.0.0-slicc";
7091
7091
  function procVersion() {
7092
7092
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -17250,8 +17250,32 @@ var HASHES = {
17250
17250
  "2a8648ce3d040302": ["ECDSA", "SHA-256"],
17251
17251
  "2a8648ce3d040303": ["ECDSA", "SHA-384"],
17252
17252
  "2a8648ce3d040304": ["ECDSA", "SHA-512"],
17253
- "2b6570": ["Ed25519", ""]
17253
+ "2b6570": ["Ed25519", ""],
17254
+ "2a864886f70d01010a": ["RSA-PSS", "SHA-1"]
17254
17255
  };
17256
+ var PSS_HASHES = {
17257
+ "2b0e03021a": "SHA-1",
17258
+ "608648016503040201": "SHA-256",
17259
+ "608648016503040202": "SHA-384",
17260
+ "608648016503040203": "SHA-512"
17261
+ };
17262
+ function pssOf(der, algorithm) {
17263
+ const params = children2(der, algorithm, 2)?.[1];
17264
+ let hash = "SHA-1";
17265
+ let salt = 20;
17266
+ for (const field4 of params && der[params.start] === 48 ? children2(der, params, 3) ?? [] : []) {
17267
+ const inner = tlv2(der, field4.body);
17268
+ if (!inner) return void 0;
17269
+ if (der[field4.start] === 160) {
17270
+ const known = PSS_HASHES[oidOf(der, inner) ?? ""];
17271
+ if (!known) return void 0;
17272
+ hash = known;
17273
+ } else if (der[field4.start] === 162) {
17274
+ salt = der.subarray(inner.body, inner.end).reduce((n, b) => n * 256 + b, 0);
17275
+ }
17276
+ }
17277
+ return { hash, salt };
17278
+ }
17255
17279
  var CURVES = {
17256
17280
  "2a8648ce3d030107": ["P-256", 32],
17257
17281
  "2b81040022": ["P-384", 48],
@@ -17286,10 +17310,13 @@ function signedOf(der) {
17286
17310
  const spki = parts2?.tbs[5];
17287
17311
  if (!tbs || !algorithm || !value2 || !spki || der[value2.start] !== 3) return void 0;
17288
17312
  const known = HASHES[oidOf(der, algorithm) ?? ""];
17289
- if (!known) return "unknown";
17290
- const [scheme, hash] = known;
17313
+ if (!known) return void 0;
17314
+ const [scheme] = known;
17315
+ const pss = scheme === "RSA-PSS" ? pssOf(der, algorithm) : void 0;
17316
+ if (scheme === "RSA-PSS" && !pss) return void 0;
17317
+ const hash = pss?.hash ?? known[1];
17291
17318
  const curve = scheme === "ECDSA" ? curveOf(der, spki) : void 0;
17292
- if (scheme === "ECDSA" && !curve) return "unknown";
17319
+ if (scheme === "ECDSA" && !curve) return void 0;
17293
17320
  const signature = der.subarray(value2.body + 1, value2.end);
17294
17321
  return {
17295
17322
  tbs: raw(der, tbs),
@@ -17297,7 +17324,8 @@ function signedOf(der) {
17297
17324
  signature,
17298
17325
  scheme,
17299
17326
  hash,
17300
- ...curve ? { curve } : {}
17327
+ ...curve ? { curve } : {},
17328
+ ...pss ? { salt: pss.salt } : {}
17301
17329
  };
17302
17330
  }
17303
17331
  async function verifiesItself(s) {
@@ -17308,13 +17336,12 @@ async function verifiesItself(s) {
17308
17336
  ]);
17309
17337
  const signature = s.curve ? fixedEcdsa(s.signature, s.curve[1]) : s.signature;
17310
17338
  if (!signature) return false;
17311
- const params = s.scheme === "ECDSA" ? { name: "ECDSA", hash: s.hash } : { name: s.scheme };
17339
+ const params = s.scheme === "ECDSA" ? { name: "ECDSA", hash: s.hash } : s.salt === void 0 ? { name: s.scheme } : { name: s.scheme, saltLength: s.salt };
17312
17340
  return crypto.subtle.verify(params, key, new Uint8Array(signature), new Uint8Array(s.tbs));
17313
17341
  }
17314
17342
  async function selfSigned(der) {
17315
17343
  if (!selfIssued(der)) return false;
17316
17344
  const signed = signedOf(der);
17317
- if (signed === "unknown") return true;
17318
17345
  if (!signed) return false;
17319
17346
  return verifiesItself(signed).catch(() => false);
17320
17347
  }