@atlasauth/pca-gnap 0.3.0 → 0.4.0

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/README.md CHANGED
@@ -67,3 +67,7 @@ Experimental. The profile is defined by this package, not by an IETF document, a
67
67
  ## License
68
68
 
69
69
  MIT - see LICENSE
70
+
71
+ ## Canonical token spelling
72
+
73
+ Before any JOSE verification this package runs `assertCanonicalCompactJws` from `@atlasauth/pca` on the detached JWS (protected and signature segments): one accepted string form per token, so the token string (or its hash) is safe to use as a dedupe / replay / ledger key. Padded, `+` `/` alphabet, altered-trailing-bit, whitespace and duplicate-header-key re-encodings are rejected with a typed reason before the signature is even checked.
package/dist/index.d.ts CHANGED
@@ -243,7 +243,8 @@ export interface GnapAuthorizeResult {
243
243
  * than the issuer" across the whole chain).
244
244
  */
245
245
  export declare function authorizeGnapAction(chain: CapabilityChain, action: GnapAction, opts?: {
246
- expectedRootIssuer?: string;
246
+ expectedRootIssuer?: string; /** verifier-side PQ pins by Ed25519 identity (R3-01). A pure-PQ / hybrid ROOT is accepted only if the root issuer has a pin equal to its `pq_pk` (a signed binding from `pqPinFor`, or your own registry); without one it is refused. */
247
+ pqPins?: Readonly<Record<string, string>>;
247
248
  }): GnapAuthorizeResult;
248
249
  /** Encode a capability chain as a GNAP access-token `value` (self-contained, re-verified on use). */
249
250
  export declare function encodeBoundToken(chain: CapabilityChain): string;
@@ -274,7 +275,8 @@ export type GnapTokenVerifyResult = {
274
275
  * `expectedRootIssuer`), returns `{ ok:false }`. The `principal` is the chain's root issuer key.
275
276
  */
276
277
  export declare function verifyGnapToken(value: string, opts?: {
277
- expectedRootIssuer?: string;
278
+ expectedRootIssuer?: string; /** verifier-side PQ pins by Ed25519 identity (R3-01). A pure-PQ / hybrid ROOT is accepted only if the root issuer has a pin equal to its `pq_pk` (a signed binding from `pqPinFor`, or your own registry); without one it is refused. */
279
+ pqPins?: Readonly<Record<string, string>>;
278
280
  }): GnapTokenVerifyResult;
279
281
  /** The protected header of a GNAP `jwsd` detached JWS (§7.3.4). `created` is epoch SECONDS. */
280
282
  export interface GnapJwsdHeader {
package/dist/index.js CHANGED
@@ -60,6 +60,7 @@ exports.gnapStepUpShare = gnapStepUpShare;
60
60
  exports.completeGnapContinuation = completeGnapContinuation;
61
61
  const jose_1 = require("jose");
62
62
  const pca_1 = require("@atlasauth/pca");
63
+ const pca_2 = require("@atlasauth/pca");
63
64
  // ============================================================================================
64
65
  // Errors + small guards
65
66
  // ============================================================================================
@@ -75,7 +76,7 @@ const isRecord = (x) => x !== null && typeof x === 'object' && !Array.isArray(x)
75
76
  const strArr = (u) => Array.isArray(u) ? u.filter((s) => typeof s === 'string') : undefined;
76
77
  /** A canonical, unpadded base64url Ed25519 public key (exactly 32 bytes), or null. */
77
78
  function asEd25519(x) {
78
- return typeof x === 'string' && (0, pca_1.decodeB64uStrict)(x, 32) !== null ? x : null;
79
+ return typeof x === 'string' && (0, pca_2.decodeB64uStrict)(x, 32) !== null ? x : null;
79
80
  }
80
81
  const GNAP_RESOURCE_PREFIX = 'gnap';
81
82
  /** The PCA `resource` string for a GNAP (type, location) pair — the namespace actions are matched in. */
@@ -215,7 +216,7 @@ exports.GNAP_GRANT_CAVEAT = 'gnap_grant';
215
216
  exports.GNAP_ACCESS_CAVEAT = 'gnap_access';
216
217
  /** Read the root grant's GNAP provenance caveat (inside the policy envelope), or null. */
217
218
  function readGnapGrant(root) {
218
- const env = (0, pca_1.readEnvelope)(root);
219
+ const env = (0, pca_2.readEnvelope)(root);
219
220
  const cv = env?.caveats.find((c) => c?.type === exports.GNAP_GRANT_CAVEAT);
220
221
  if (!cv)
221
222
  return null;
@@ -281,7 +282,7 @@ function accessOf(req) {
281
282
  throw new GnapError('grant request must carry access_token.access (single-token request)');
282
283
  }
283
284
  function requestDigestOf(holder, granted, interact) {
284
- return (0, pca_1.hashCanonical)({
285
+ return (0, pca_2.hashCanonical)({
285
286
  d: 'atlas-pca/gnap/request/v1',
286
287
  client_id: holder,
287
288
  access: granted,
@@ -321,7 +322,7 @@ function grantRequestToCapability(req, opts) {
321
322
  client_id: holder,
322
323
  ts: now,
323
324
  };
324
- const child = (0, pca_1.delegate)(opts.parent, holder, [provenance], opts.issuerSecret);
325
+ const child = (0, pca_2.delegate)(opts.parent, holder, [provenance], opts.issuerSecret);
325
326
  return { grant: child, chain: [...issuerChain, child], holder, grantedAccess: granted, droppedAccess: dropped, provenance };
326
327
  }
327
328
  const provenance = {
@@ -332,7 +333,7 @@ function grantRequestToCapability(req, opts) {
332
333
  interacted,
333
334
  ts: now,
334
335
  };
335
- const { grant } = (0, pca_1.mintGrant)({
336
+ const { grant } = (0, pca_2.mintGrant)({
336
337
  principalSecret: opts.issuerSecret,
337
338
  principalPublic: opts.issuerPublic,
338
339
  holder,
@@ -341,7 +342,7 @@ function grantRequestToCapability(req, opts) {
341
342
  predicates: accessArrayToPredicates(granted),
342
343
  caveats: [provenance],
343
344
  agent_binding: opts.agentBinding ?? {},
344
- risk_policy: opts.riskPolicy ?? pca_1.DEFAULT_RISK_POLICY,
345
+ risk_policy: opts.riskPolicy ?? pca_2.DEFAULT_RISK_POLICY,
345
346
  },
346
347
  ...(opts.salt !== undefined ? { salt: opts.salt } : {}),
347
348
  });
@@ -356,10 +357,10 @@ function grantRequestToCapability(req, opts) {
356
357
  function authorizeGnapAction(chain, action, opts = {}) {
357
358
  if (!Array.isArray(chain) || chain.length === 0)
358
359
  return { allowed: false, reason: 'empty chain' };
359
- const vc = (0, pca_1.verifyChain)(chain, opts.expectedRootIssuer);
360
+ const vc = (0, pca_2.verifyChain)(chain, opts.expectedRootIssuer, { pqPins: opts.pqPins });
360
361
  if (!vc.ok)
361
362
  return { allowed: false, reason: `capability chain invalid: ${vc.reason ?? 'unknown'}` };
362
- const env = (0, pca_1.readEnvelope)(chain[0]);
363
+ const env = (0, pca_2.readEnvelope)(chain[0]);
363
364
  if (!env)
364
365
  return { allowed: false, reason: 'root grant carries no policy envelope' };
365
366
  const ctx = {
@@ -370,7 +371,7 @@ function authorizeGnapAction(chain, action, opts = {}) {
370
371
  ...(action.reversibility_class !== undefined ? { reversibility_class: action.reversibility_class } : {}),
371
372
  },
372
373
  };
373
- const rootDecision = (0, pca_1.evaluatePredicates)(env.predicates, ctx);
374
+ const rootDecision = (0, pca_2.evaluatePredicates)(env.predicates, ctx);
374
375
  if (!rootDecision.allowed) {
375
376
  return { allowed: false, reason: `root authority denies: ${rootDecision.reason ?? 'no predicate matched'}` };
376
377
  }
@@ -380,7 +381,7 @@ function authorizeGnapAction(chain, action, opts = {}) {
380
381
  if (cv?.type !== exports.GNAP_ACCESS_CAVEAT)
381
382
  continue;
382
383
  const hopPreds = accessArrayToPredicates(readAccessArray(cv.access));
383
- const hopDecision = (0, pca_1.evaluatePredicates)(hopPreds, ctx);
384
+ const hopDecision = (0, pca_2.evaluatePredicates)(hopPreds, ctx);
384
385
  if (!hopDecision.allowed) {
385
386
  return { allowed: false, reason: `delegated hop denies: ${hopDecision.reason ?? 'no predicate matched'}` };
386
387
  }
@@ -392,7 +393,7 @@ function authorizeGnapAction(chain, action, opts = {}) {
392
393
  // ============================================================================================
393
394
  /** Encode a capability chain as a GNAP access-token `value` (self-contained, re-verified on use). */
394
395
  function encodeBoundToken(chain) {
395
- return (0, pca_1.b64u)((0, pca_1.utf8)(JSON.stringify(chain)));
396
+ return (0, pca_2.b64u)((0, pca_2.utf8)(JSON.stringify(chain)));
396
397
  }
397
398
  /** Structural guard: the required shape of a serialized capability hop (verifyChain re-checks crypto). */
398
399
  function isCapabilityShape(x) {
@@ -412,8 +413,8 @@ function isCapabilityShape(x) {
412
413
  /** Total, fail-closed decode of a bound token back into a capability chain (null on any deviation). */
413
414
  function decodeBoundToken(value) {
414
415
  try {
415
- const text = new TextDecoder('utf-8', { fatal: true }).decode((0, pca_1.unb64u)(value));
416
- const parsed = (0, pca_1.strictParse)(text);
416
+ const text = new TextDecoder('utf-8', { fatal: true }).decode((0, pca_2.unb64u)(value));
417
+ const parsed = (0, pca_2.strictParse)(text);
417
418
  if (!Array.isArray(parsed))
418
419
  return null;
419
420
  const chain = [];
@@ -457,7 +458,7 @@ function verifyGnapToken(value, opts = {}) {
457
458
  const chain = decodeBoundToken(value);
458
459
  if (chain === null || chain.length === 0)
459
460
  return { ok: false, reason: 'token is not a decodable PCA capability chain' };
460
- const vc = (0, pca_1.verifyChain)(chain, opts.expectedRootIssuer);
461
+ const vc = (0, pca_2.verifyChain)(chain, opts.expectedRootIssuer, { pqPins: opts.pqPins });
461
462
  if (!vc.ok)
462
463
  return { ok: false, reason: `capability chain invalid: ${vc.reason ?? 'unknown'}` };
463
464
  const root = chain[0];
@@ -466,13 +467,13 @@ function verifyGnapToken(value, opts = {}) {
466
467
  }
467
468
  const JWSD_TYP = 'gnap-binding-jwsd';
468
469
  function athOf(accessTokenValue) {
469
- return (0, pca_1.b64u)((0, pca_1.sha256)((0, pca_1.utf8)(accessTokenValue)));
470
+ return (0, pca_2.b64u)((0, pca_2.sha256)((0, pca_2.utf8)(accessTokenValue)));
470
471
  }
471
472
  function toPlain(value) {
472
473
  return JSON.parse(JSON.stringify(value));
473
474
  }
474
475
  function canonicalPayloadBytes(body) {
475
- return (0, pca_1.utf8)((0, pca_1.canonicalizeStrict)(toPlain(body)));
476
+ return (0, pca_2.utf8)((0, pca_2.canonicalizeStrict)(toPlain(body)));
476
477
  }
477
478
  /**
478
479
  * Produce a GNAP `jwsd` detached-JWS proof over `body`, signed by the client key (via `jose`). The JWS
@@ -481,7 +482,7 @@ function canonicalPayloadBytes(body) {
481
482
  */
482
483
  async function signGnapRequest(args) {
483
484
  const created = args.created ?? Math.floor(Date.now() / 1000);
484
- const holder = (0, pca_1.b64u)(args.key.publicKey);
485
+ const holder = (0, pca_2.b64u)(args.key.publicKey);
485
486
  const header = {
486
487
  alg: 'EdDSA',
487
488
  typ: JWSD_TYP,
@@ -492,7 +493,7 @@ async function signGnapRequest(args) {
492
493
  ...(args.accessTokenValue !== undefined ? { ath: athOf(args.accessTokenValue) } : {}),
493
494
  };
494
495
  const payload = canonicalPayloadBytes(args.body);
495
- const privateJwk = { kty: 'OKP', crv: 'Ed25519', x: holder, d: (0, pca_1.b64u)(args.key.secretKey) };
496
+ const privateJwk = { kty: 'OKP', crv: 'Ed25519', x: holder, d: (0, pca_2.b64u)(args.key.secretKey) };
496
497
  const signingKey = await (0, jose_1.importJWK)(privateJwk, 'EdDSA');
497
498
  // JWSHeaderParameters carries an index signature; copy the typed header into an object literal that
498
499
  // satisfies it (GnapJwsdHeader is a closed interface and is not directly assignable).
@@ -528,6 +529,12 @@ async function verifyGnapRequest(args) {
528
529
  const payloadB64u = jose_1.base64url.encode(canonicalPayloadBytes(args.body));
529
530
  const verifyKey = await (0, jose_1.importJWK)({ kty: 'OKP', crv: 'Ed25519', x: holder }, 'EdDSA');
530
531
  let header;
532
+ try {
533
+ (0, pca_1.assertCanonicalJwsSegments)(protectedB64u, signature); // canonical-spelling gate BEFORE jose
534
+ }
535
+ catch (e) {
536
+ return fail(`non-canonical detached JWS: ${e.message}`);
537
+ }
531
538
  try {
532
539
  const res = await (0, jose_1.flattenedVerify)({ protected: protectedB64u, payload: payloadB64u, signature }, verifyKey);
533
540
  header = res.protectedHeader;
@@ -626,7 +633,7 @@ function beginGnapContinuation(args) {
626
633
  * the signer set + `t` (replay-safe); the 'agent' share is the PCActn's own leaf signature.
627
634
  */
628
635
  function gnapStepUpShare(body, role, secret, signerSet, t) {
629
- return (0, pca_1.signShare)(role, secret, (0, pca_1.thresholdMessage)(body), { signerSet, t });
636
+ return (0, pca_2.signShare)(role, secret, (0, pca_2.thresholdMessage)(body), { signerSet, t });
630
637
  }
631
638
  /**
632
639
  * Resolve a continuation: build the action's PCActn (agent leaf signature) and FOLD the step-up
@@ -638,7 +645,7 @@ function gnapStepUpShare(body, role, secret, signerSet, t) {
638
645
  function completeGnapContinuation(args) {
639
646
  if (!Array.isArray(args.chain) || args.chain.length === 0)
640
647
  throw new GnapError('completeGnapContinuation: empty chain');
641
- const pcactn = (0, pca_1.buildPCActn)({
648
+ const pcactn = (0, pca_2.buildPCActn)({
642
649
  grant: args.grant,
643
650
  chain: args.chain,
644
651
  plan: args.plan,
@@ -650,12 +657,12 @@ function completeGnapContinuation(args) {
650
657
  ...(args.now !== undefined ? { now: args.now } : {}),
651
658
  ...(args.ttlMs !== undefined ? { ttlMs: args.ttlMs } : {}),
652
659
  });
653
- const message = (0, pca_1.thresholdMessage)(pcactn);
660
+ const message = (0, pca_2.thresholdMessage)(pcactn);
654
661
  // The agent's vote is a role-bound share like every other (a bare leaf signature is valid under any signer set / t and is rejected).
655
- const agentShare = (0, pca_1.signShare)('agent', args.agentLeafSecret, message, { signerSet: args.signerSet, t: args.t });
656
- const cosignShares = args.cosignSecrets.map((cs) => (0, pca_1.signShare)(cs.role, cs.secret, message, { signerSet: args.signerSet, t: args.t }));
657
- const threshold = (0, pca_1.assembleThreshold)([agentShare, ...cosignShares]);
658
- const verdict = (0, pca_1.verifyThreshold)(threshold, message, args.signerSet, args.t);
662
+ const agentShare = (0, pca_2.signShare)('agent', args.agentLeafSecret, message, { signerSet: args.signerSet, t: args.t });
663
+ const cosignShares = args.cosignSecrets.map((cs) => (0, pca_2.signShare)(cs.role, cs.secret, message, { signerSet: args.signerSet, t: args.t }));
664
+ const threshold = (0, pca_2.assembleThreshold)([agentShare, ...cosignShares]);
665
+ const verdict = (0, pca_2.verifyThreshold)(threshold, message, args.signerSet, args.t);
659
666
  return { pcactn: { ...pcactn, threshold }, threshold, verdict };
660
667
  }
661
668
  /** The machine-readable Agent-GNAP profile spec (see the module header for the full narrative). */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlasauth/pca-gnap",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "GNAP (RFC 9635) bridge for PCA, defining an agent-GNAP profile: map a GNAP grant request/response + continuation to an attenuated PCA capability, with GNAP continuation mapped to FROST/CIBA step-up and key-bound (jwsd) requests.",
5
5
  "keywords": [
6
6
  "gnap",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "jose": "^5.9.6",
35
- "@atlasauth/pca": "0.3.0"
35
+ "@atlasauth/pca": "0.4.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "typescript": "^5.6.3",