@learncard/sss-key-manager 0.2.2 → 0.2.3
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/escrow-authority.d.ts +26 -0
- package/dist/escrow-authority.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/sss-key-manager.cjs.development.js +60 -1
- package/dist/sss-key-manager.cjs.development.js.map +2 -2
- package/dist/sss-key-manager.cjs.production.min.js +5 -5
- package/dist/sss-key-manager.cjs.production.min.js.map +3 -3
- package/dist/sss-key-manager.esm.js +60 -1
- package/dist/sss-key-manager.esm.js.map +2 -2
- package/dist/sss-strategy.d.ts +2 -1
- package/dist/sss-strategy.d.ts.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/escrow-authority.test.ts +114 -0
- package/src/escrow-authority.ts +74 -0
- package/src/index.ts +2 -0
- package/src/sss-strategy.test.ts +32 -0
- package/src/sss-strategy.ts +24 -1
- package/src/types.ts +5 -0
|
@@ -3,6 +3,32 @@ import type { EscrowAttestationPolicy } from './types';
|
|
|
3
3
|
import type { EscrowBlobPlaintext, EscrowEnvelope } from './escrow-crypto';
|
|
4
4
|
import type { EscrowEnrollmentIntent, SignedEscrowEnrollmentIntent } from './escrow-enrollment-intent.types';
|
|
5
5
|
import type { EscrowAuthorityRecord, EscrowAuthorityState, VerifiedEnclaveIdentity, VerifiedEscrowMutation } from './escrow-authority.types';
|
|
6
|
+
/** Verify a fresh hold-state response using an independently retained hold binding
|
|
7
|
+
* and a newly generated 32-byte nonce. Never reuse the nonce for another read. */
|
|
8
|
+
export declare const verifyEscrowHoldState: (response: {
|
|
9
|
+
proof: unknown;
|
|
10
|
+
}, nonce: string, expected: {
|
|
11
|
+
tenant: string;
|
|
12
|
+
authorityGeneration: string;
|
|
13
|
+
did: string;
|
|
14
|
+
holdId: string;
|
|
15
|
+
holdDigest: string;
|
|
16
|
+
}, identity: VerifiedEnclaveIdentity) => Promise<{
|
|
17
|
+
status: "awaitingConfirmation" | "pending" | "released" | "cancelled";
|
|
18
|
+
confirmedHiMs: number | null;
|
|
19
|
+
releaseWarningSentHiMs: number | null;
|
|
20
|
+
attemptsRemaining: number;
|
|
21
|
+
codeSendStatus: "unknown" | "notRequired";
|
|
22
|
+
}>;
|
|
23
|
+
/** Authenticate advisory send acceptance without changing the immutable hold commitment. */
|
|
24
|
+
export declare const verifyEscrowCodeDelivery: (delivery: {
|
|
25
|
+
codeSent: boolean;
|
|
26
|
+
proof: unknown;
|
|
27
|
+
}, expected: {
|
|
28
|
+
tenant: string;
|
|
29
|
+
authorityGeneration: string;
|
|
30
|
+
holdDigest: string;
|
|
31
|
+
}, identity: VerifiedEnclaveIdentity) => Promise<boolean>;
|
|
6
32
|
/** Derive historical receipt pins from the same complete PCR tuples used for
|
|
7
33
|
* Nitro attestation. Legacy image-only pins and malformed tuples authorize nothing. */
|
|
8
34
|
export declare const escrowAuthorityMeasurements: (policy: EscrowAttestationPolicy) => Promise<string[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"escrow-authority.d.ts","sourceRoot":"","sources":["../src/escrow-authority.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAMvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EACR,sBAAsB,EACtB,4BAA4B,EAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACR,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACzB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"escrow-authority.d.ts","sourceRoot":"","sources":["../src/escrow-authority.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export { verifyEnclaveAttestation } from './escrow-attestation';
|
|
|
19
19
|
export { EscrowEvidenceError } from './escrow-authority.types';
|
|
20
20
|
export type { HistoricalEscrowEvidence } from './escrow-authority.types';
|
|
21
21
|
export type { EscrowRecoveryExpectations } from '@learncard/types';
|
|
22
|
-
export { verifyEscrowAuthorityState, verifyEscrowEnrollmentCommit, createEscrowEnrollmentIntent, resolveEscrowEnrollmentAction, violatesCarryContactRule, } from './escrow-authority';
|
|
22
|
+
export { verifyEscrowAuthorityState, verifyEscrowHoldState, verifyEscrowCodeDelivery, verifyEscrowEnrollmentCommit, createEscrowEnrollmentIntent, resolveEscrowEnrollmentAction, violatesCarryContactRule, } from './escrow-authority';
|
|
23
23
|
export type { EscrowEnrollmentActionInput } from './escrow-authority';
|
|
24
24
|
export type { VerifiedEnclaveIdentity, EscrowAuthorityRecord, EscrowAuthorityState, VerifiedEscrowMutation, } from './escrow-authority.types';
|
|
25
25
|
export { verifyNitroAttestationDocument, NitroAttestationError } from './escrow-nitro-attestation';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -205,6 +205,7 @@ var require_types_cjs_development = __commonJS({
|
|
|
205
205
|
FlatAuthGrantValidator: /* @__PURE__ */ __name(() => FlatAuthGrantValidator, "FlatAuthGrantValidator"),
|
|
206
206
|
FrameworkWithSkillsValidator: /* @__PURE__ */ __name(() => FrameworkWithSkillsValidator, "FrameworkWithSkillsValidator"),
|
|
207
207
|
FullClaimHookValidator: /* @__PURE__ */ __name(() => FullClaimHookValidator, "FullClaimHookValidator"),
|
|
208
|
+
GenerateSkillIconsInputValidator: /* @__PURE__ */ __name(() => GenerateSkillIconsInputValidator, "GenerateSkillIconsInputValidator"),
|
|
208
209
|
GeoCoordinatesValidator: /* @__PURE__ */ __name(() => GeoCoordinatesValidator, "GeoCoordinatesValidator"),
|
|
209
210
|
GetCounterEventValidator: /* @__PURE__ */ __name(() => GetCounterEventValidator, "GetCounterEventValidator"),
|
|
210
211
|
GetCountersEventValidator: /* @__PURE__ */ __name(() => GetCountersEventValidator, "GetCountersEventValidator"),
|
|
@@ -365,6 +366,8 @@ var require_types_cjs_development = __commonJS({
|
|
|
365
366
|
SHARE_RECOVERY_PROTOCOL: /* @__PURE__ */ __name(() => SHARE_RECOVERY_PROTOCOL, "SHARE_RECOVERY_PROTOCOL"),
|
|
366
367
|
SHARE_TAG_BYTES: /* @__PURE__ */ __name(() => SHARE_TAG_BYTES, "SHARE_TAG_BYTES"),
|
|
367
368
|
SHARE_VIEW_RECEIPT_TTL_SECONDS: /* @__PURE__ */ __name(() => SHARE_VIEW_RECEIPT_TTL_SECONDS, "SHARE_VIEW_RECEIPT_TTL_SECONDS"),
|
|
369
|
+
SKILL_ICON_MAX_CHARACTERS_PER_REQUEST: /* @__PURE__ */ __name(() => SKILL_ICON_MAX_CHARACTERS_PER_REQUEST, "SKILL_ICON_MAX_CHARACTERS_PER_REQUEST"),
|
|
370
|
+
SKILL_ICON_MAX_NAMES_PER_REQUEST: /* @__PURE__ */ __name(() => SKILL_ICON_MAX_NAMES_PER_REQUEST, "SKILL_ICON_MAX_NAMES_PER_REQUEST"),
|
|
368
371
|
SendAiSessionCredentialEventValidator: /* @__PURE__ */ __name(() => SendAiSessionCredentialEventValidator, "SendAiSessionCredentialEventValidator"),
|
|
369
372
|
SendBoostInputValidator: /* @__PURE__ */ __name(() => SendBoostInputValidator, "SendBoostInputValidator"),
|
|
370
373
|
SendBoostResponseValidator: /* @__PURE__ */ __name(() => SendBoostResponseValidator, "SendBoostResponseValidator"),
|
|
@@ -417,6 +420,7 @@ var require_types_cjs_development = __commonJS({
|
|
|
417
420
|
SkillFrameworkQueryValidator: /* @__PURE__ */ __name(() => SkillFrameworkQueryValidator, "SkillFrameworkQueryValidator"),
|
|
418
421
|
SkillFrameworkStatusEnum: /* @__PURE__ */ __name(() => SkillFrameworkStatusEnum, "SkillFrameworkStatusEnum"),
|
|
419
422
|
SkillFrameworkValidator: /* @__PURE__ */ __name(() => SkillFrameworkValidator, "SkillFrameworkValidator"),
|
|
423
|
+
SkillIconNamesValidator: /* @__PURE__ */ __name(() => SkillIconNamesValidator, "SkillIconNamesValidator"),
|
|
420
424
|
SkillQueryValidator: /* @__PURE__ */ __name(() => SkillQueryValidator, "SkillQueryValidator"),
|
|
421
425
|
SkillSemanticSearchInputValidator: /* @__PURE__ */ __name(() => SkillSemanticSearchInputValidator, "SkillSemanticSearchInputValidator"),
|
|
422
426
|
SkillSemanticSearchResultItemValidator: /* @__PURE__ */ __name(() => SkillSemanticSearchResultItemValidator, "SkillSemanticSearchResultItemValidator"),
|
|
@@ -16154,6 +16158,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
16154
16158
|
term: external_exports.string().optional()
|
|
16155
16159
|
}).catchall(external_exports.any());
|
|
16156
16160
|
var UnsignedAchievementCredentialValidator = UnsignedVCValidator.extend({
|
|
16161
|
+
awardedDate: external_exports.string().optional(),
|
|
16157
16162
|
name: external_exports.string().optional(),
|
|
16158
16163
|
description: external_exports.string().optional(),
|
|
16159
16164
|
image: ImageValidator.optional(),
|
|
@@ -19010,6 +19015,17 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
|
|
|
19010
19015
|
contentUrl: external_exports.string(),
|
|
19011
19016
|
receipt: external_exports.string().min(22).max(128).regex(/^[A-Za-z0-9_-]+$/)
|
|
19012
19017
|
}).strict();
|
|
19018
|
+
var SKILL_ICON_MAX_NAMES_PER_REQUEST = 100;
|
|
19019
|
+
var SKILL_ICON_MAX_CHARACTERS_PER_REQUEST = 2500;
|
|
19020
|
+
var SkillIconNamesValidator = external_exports.array(external_exports.string().nonempty()).min(1).max(SKILL_ICON_MAX_NAMES_PER_REQUEST, {
|
|
19021
|
+
message: `A maximum of ${SKILL_ICON_MAX_NAMES_PER_REQUEST} skill names can be sent per request`
|
|
19022
|
+
}).refine(
|
|
19023
|
+
(names) => names.reduce((total, name) => total + name.length, 0) <= SKILL_ICON_MAX_CHARACTERS_PER_REQUEST,
|
|
19024
|
+
{
|
|
19025
|
+
message: `Skill names may total at most ${SKILL_ICON_MAX_CHARACTERS_PER_REQUEST} characters per request`
|
|
19026
|
+
}
|
|
19027
|
+
);
|
|
19028
|
+
var GenerateSkillIconsInputValidator = external_exports.object({ names: SkillIconNamesValidator });
|
|
19013
19029
|
}
|
|
19014
19030
|
});
|
|
19015
19031
|
|
|
@@ -19130,7 +19146,9 @@ __export(index_exports, {
|
|
|
19130
19146
|
validateRecoveryPhrase: () => validateRecoveryPhrase,
|
|
19131
19147
|
verifyEnclaveAttestation: () => verifyEnclaveAttestation,
|
|
19132
19148
|
verifyEscrowAuthorityState: () => verifyEscrowAuthorityState,
|
|
19149
|
+
verifyEscrowCodeDelivery: () => verifyEscrowCodeDelivery,
|
|
19133
19150
|
verifyEscrowEnrollmentCommit: () => verifyEscrowEnrollmentCommit,
|
|
19151
|
+
verifyEscrowHoldState: () => verifyEscrowHoldState,
|
|
19134
19152
|
verifyNitroAttestationDocument: () => verifyNitroAttestationDocument,
|
|
19135
19153
|
verifyStoredShares: () => verifyStoredShares,
|
|
19136
19154
|
violatesCarryContactRule: () => violatesCarryContactRule
|
|
@@ -23653,6 +23671,37 @@ var EscrowEvidenceError = class extends Error {
|
|
|
23653
23671
|
var fail2 = /* @__PURE__ */ __name(() => {
|
|
23654
23672
|
throw new EscrowEvidenceError();
|
|
23655
23673
|
}, "fail");
|
|
23674
|
+
var verifyEscrowHoldState = /* @__PURE__ */ __name(async (response, nonce, expected, identity) => {
|
|
23675
|
+
requireEvidence(/^[0-9a-f]{64}$/.test(nonce));
|
|
23676
|
+
const { payload } = await verifyRecord(response.proof, "snapshot", identity);
|
|
23677
|
+
requireEvidence(Array.isArray(payload) && payload.length === 12);
|
|
23678
|
+
const p = payload;
|
|
23679
|
+
requireEvidence(
|
|
23680
|
+
p[0] === "learncard-authority-hold-state-v3" && p[1] === nonce && p[2] === expected.tenant && p[3] === expected.authorityGeneration && p[4] === expected.did && p[5] === expected.holdId && p[6] === expected.holdDigest
|
|
23681
|
+
);
|
|
23682
|
+
const status = p[7];
|
|
23683
|
+
if (status !== "awaitingConfirmation" && status !== "pending" && status !== "released" && status !== "cancelled")
|
|
23684
|
+
return fail2();
|
|
23685
|
+
const confirmedHiMs = p[8] === null ? null : integer2(p[8]);
|
|
23686
|
+
const releaseWarningSentHiMs = p[9] === null ? null : integer2(p[9]);
|
|
23687
|
+
const attemptsRemaining = integer2(p[10], 0, 5);
|
|
23688
|
+
const codeSendStatus = p[11];
|
|
23689
|
+
if (codeSendStatus !== "unknown" && codeSendStatus !== "notRequired") return fail2();
|
|
23690
|
+
requireEvidence(
|
|
23691
|
+
status !== "awaitingConfirmation" || confirmedHiMs === null && releaseWarningSentHiMs === null
|
|
23692
|
+
);
|
|
23693
|
+
requireEvidence(status !== "pending" && status !== "released" || confirmedHiMs !== null);
|
|
23694
|
+
return { status, confirmedHiMs, releaseWarningSentHiMs, attemptsRemaining, codeSendStatus };
|
|
23695
|
+
}, "verifyEscrowHoldState");
|
|
23696
|
+
var verifyEscrowCodeDelivery = /* @__PURE__ */ __name(async (delivery, expected, identity) => {
|
|
23697
|
+
const { payload } = await verifyRecord(delivery.proof, "snapshot", identity);
|
|
23698
|
+
requireEvidence(Array.isArray(payload) && payload.length === 5);
|
|
23699
|
+
const values = payload;
|
|
23700
|
+
requireEvidence(
|
|
23701
|
+
values[0] === "learncard-authority-code-delivery-v1" && values[1] === expected.tenant && values[2] === expected.authorityGeneration && values[3] === expected.holdDigest && typeof values[4] === "boolean" && values[4] === delivery.codeSent
|
|
23702
|
+
);
|
|
23703
|
+
return delivery.codeSent;
|
|
23704
|
+
}, "verifyEscrowCodeDelivery");
|
|
23656
23705
|
var requireEvidence = /* @__PURE__ */ __name((condition) => {
|
|
23657
23706
|
if (!condition) fail2();
|
|
23658
23707
|
}, "requireEvidence");
|
|
@@ -24321,9 +24370,10 @@ var SERVER_REQUEST_TIMEOUT_MS = 3e4;
|
|
|
24321
24370
|
var requestTimeoutSignal = /* @__PURE__ */ __name((ms = SERVER_REQUEST_TIMEOUT_MS) => typeof AbortSignal !== "undefined" && typeof AbortSignal.timeout === "function" ? AbortSignal.timeout(ms) : void 0, "requestTimeoutSignal");
|
|
24322
24371
|
var describeHttpStatus = /* @__PURE__ */ __name((response) => response.statusText ? `${response.status} ${response.statusText}` : `${response.status}`, "describeHttpStatus");
|
|
24323
24372
|
var EscrowRequestError = class extends Error {
|
|
24324
|
-
constructor(status) {
|
|
24373
|
+
constructor(status, reason) {
|
|
24325
24374
|
super("Escrow request failed");
|
|
24326
24375
|
this.status = status;
|
|
24376
|
+
this.reason = reason;
|
|
24327
24377
|
this.name = "EscrowRequestError";
|
|
24328
24378
|
}
|
|
24329
24379
|
static {
|
|
@@ -24809,6 +24859,14 @@ function createSSSStrategy(config) {
|
|
|
24809
24859
|
...init
|
|
24810
24860
|
});
|
|
24811
24861
|
if (!response.ok) {
|
|
24862
|
+
if (path === "/confirm" && response.status === 403) {
|
|
24863
|
+
const body = await response.json().catch(() => void 0);
|
|
24864
|
+
const reason = body && typeof body === "object" && "message" in body && typeof body.message === "string" ? body.message : void 0;
|
|
24865
|
+
throw new EscrowRequestError(
|
|
24866
|
+
response.status,
|
|
24867
|
+
reason === "codeMismatch" || reason === "codeExpired" || reason === "codeLocked" ? reason : void 0
|
|
24868
|
+
);
|
|
24869
|
+
}
|
|
24812
24870
|
if (!pinAttempt && path === "/recover" && response.status === 429) {
|
|
24813
24871
|
const body = await response.json().catch(() => void 0);
|
|
24814
24872
|
const message = body && typeof body === "object" && "message" in body && typeof body.message === "string" ? body.message : "";
|
|
@@ -25712,6 +25770,7 @@ function createSSSStrategy(config) {
|
|
|
25712
25770
|
ledgerPublicKey: identity.authority.ledgerPublicKey,
|
|
25713
25771
|
keyId: verified.receipt.keyId
|
|
25714
25772
|
};
|
|
25773
|
+
result.codeSent = result.delivery ? await verifyEscrowCodeDelivery(result.delivery, expectations, identity) : void 0;
|
|
25715
25774
|
}
|
|
25716
25775
|
return { ...result, clientEphemeralPrivateKey: pair.privateKey, expectations };
|
|
25717
25776
|
},
|