burnledger 0.8.0 → 0.9.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 +139 -2
- package/dist/cjs/anchor.d.ts +5 -3
- package/dist/cjs/anchor.d.ts.map +1 -1
- package/dist/cjs/anchor.js +10 -4
- package/dist/cjs/anchor.js.map +1 -1
- package/dist/cjs/client.d.ts +95 -0
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +133 -2
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/customer-keys.d.ts +146 -0
- package/dist/cjs/customer-keys.d.ts.map +1 -0
- package/dist/cjs/customer-keys.js +465 -0
- package/dist/cjs/customer-keys.js.map +1 -0
- package/dist/cjs/enclave-registration.d.ts +153 -0
- package/dist/cjs/enclave-registration.d.ts.map +1 -0
- package/dist/cjs/enclave-registration.js +275 -0
- package/dist/cjs/enclave-registration.js.map +1 -0
- package/dist/cjs/enclave-seal.d.ts +43 -0
- package/dist/cjs/enclave-seal.d.ts.map +1 -1
- package/dist/cjs/enclave-seal.js +62 -1
- package/dist/cjs/enclave-seal.js.map +1 -1
- package/dist/cjs/errors.d.ts +10 -0
- package/dist/cjs/errors.d.ts.map +1 -1
- package/dist/cjs/errors.js +11 -1
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/index.browser.d.ts +7 -3
- package/dist/cjs/index.browser.d.ts.map +1 -1
- package/dist/cjs/index.browser.js +6 -3
- package/dist/cjs/index.browser.js.map +1 -1
- package/dist/cjs/index.d.ts +23 -9
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +40 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/key-group.d.ts +80 -0
- package/dist/cjs/key-group.d.ts.map +1 -0
- package/dist/cjs/key-group.js +136 -0
- package/dist/cjs/key-group.js.map +1 -0
- package/dist/cjs/models.d.ts +60 -0
- package/dist/cjs/models.d.ts.map +1 -1
- package/dist/cjs/models.js +63 -0
- package/dist/cjs/models.js.map +1 -1
- package/dist/cjs/status-document.d.ts +25 -0
- package/dist/cjs/status-document.d.ts.map +1 -0
- package/dist/cjs/status-document.js +62 -0
- package/dist/cjs/status-document.js.map +1 -0
- package/dist/cjs/verify.d.ts +112 -3
- package/dist/cjs/verify.d.ts.map +1 -1
- package/dist/cjs/verify.js +393 -146
- package/dist/cjs/verify.js.map +1 -1
- package/dist/cjs/web-verifier.d.ts +23 -3
- package/dist/cjs/web-verifier.d.ts.map +1 -1
- package/dist/cjs/web-verifier.js +31 -5
- package/dist/cjs/web-verifier.js.map +1 -1
- package/dist/esm/anchor.d.ts +5 -3
- package/dist/esm/anchor.d.ts.map +1 -1
- package/dist/esm/anchor.js +10 -4
- package/dist/esm/anchor.js.map +1 -1
- package/dist/esm/cli.d.ts +13 -19
- package/dist/esm/cli.d.ts.map +1 -1
- package/dist/esm/cli.js +109 -81
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/client.d.ts +95 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +133 -2
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/customer-keys.d.ts +146 -0
- package/dist/esm/customer-keys.d.ts.map +1 -0
- package/dist/esm/customer-keys.js +450 -0
- package/dist/esm/customer-keys.js.map +1 -0
- package/dist/esm/enclave-registration.d.ts +153 -0
- package/dist/esm/enclave-registration.d.ts.map +1 -0
- package/dist/esm/enclave-registration.js +265 -0
- package/dist/esm/enclave-registration.js.map +1 -0
- package/dist/esm/enclave-seal.d.ts +43 -0
- package/dist/esm/enclave-seal.d.ts.map +1 -1
- package/dist/esm/enclave-seal.js +61 -1
- package/dist/esm/enclave-seal.js.map +1 -1
- package/dist/esm/errors.d.ts +10 -0
- package/dist/esm/errors.d.ts.map +1 -1
- package/dist/esm/errors.js +10 -0
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/index.browser.d.ts +7 -3
- package/dist/esm/index.browser.d.ts.map +1 -1
- package/dist/esm/index.browser.js +6 -3
- package/dist/esm/index.browser.js.map +1 -1
- package/dist/esm/index.d.ts +23 -9
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +18 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/key-group.d.ts +80 -0
- package/dist/esm/key-group.d.ts.map +1 -0
- package/dist/esm/key-group.js +130 -0
- package/dist/esm/key-group.js.map +1 -0
- package/dist/esm/models.d.ts +60 -0
- package/dist/esm/models.d.ts.map +1 -1
- package/dist/esm/models.js +59 -0
- package/dist/esm/models.js.map +1 -1
- package/dist/esm/status-document.d.ts +25 -0
- package/dist/esm/status-document.d.ts.map +1 -0
- package/dist/esm/status-document.js +59 -0
- package/dist/esm/status-document.js.map +1 -0
- package/dist/esm/verify.d.ts +112 -3
- package/dist/esm/verify.d.ts.map +1 -1
- package/dist/esm/verify.js +390 -147
- package/dist/esm/verify.js.map +1 -1
- package/dist/esm/web-verifier.d.ts +23 -3
- package/dist/esm/web-verifier.d.ts.map +1 -1
- package/dist/esm/web-verifier.js +27 -5
- package/dist/esm/web-verifier.js.map +1 -1
- package/package.json +1 -1
- package/src/anchor.ts +10 -4
- package/src/cli.ts +122 -79
- package/src/client.ts +198 -6
- package/src/customer-keys.ts +550 -0
- package/src/enclave-registration.ts +390 -0
- package/src/enclave-seal.ts +108 -1
- package/src/errors.ts +11 -0
- package/src/index.browser.ts +9 -3
- package/src/index.ts +48 -6
- package/src/key-group.ts +181 -0
- package/src/models.ts +131 -0
- package/src/status-document.ts +59 -0
- package/src/verify.ts +503 -152
- package/src/web-verifier.ts +36 -3
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The customer's side of ADR-025: verify the enclave, enrol a key group, rotate
|
|
3
|
+
* it, register a system under it.
|
|
4
|
+
*
|
|
5
|
+
* Request-building and response-checking for the BurnLedger client's methods of
|
|
6
|
+
* the same names, kept in a Node-only module the client imports lazily — the
|
|
7
|
+
* client is also the browser entry's, and these need node:crypto. Nothing here
|
|
8
|
+
* holds a private key: every signature comes from a {@link KeyGroupSigner} (see
|
|
9
|
+
* key-group.ts for why, and for what losing a key costs).
|
|
10
|
+
*
|
|
11
|
+
* WHAT THE CHECKS ON EACH RESPONSE ARE FOR. The API relays every byte, so the
|
|
12
|
+
* documents it returns are only worth what the client checks, and it checks two
|
|
13
|
+
* things. First, that the enclave signed them — under the signing key of an
|
|
14
|
+
* enclave the caller attested against its own pinned PCR0. Without that, a relay
|
|
15
|
+
* could hand the customer a forged enrolment and they would believe themselves
|
|
16
|
+
* registered when nothing was. The key set at /.well-known/burnledger-keys is not
|
|
17
|
+
* the anchor for this: the same API serves it, so a relay that forged a document
|
|
18
|
+
* could publish the forging key beside it. Second, that they are about what the
|
|
19
|
+
* caller asked for. ADR-025 §2 names the load-bearing comparison: the enrolment
|
|
20
|
+
* statement must name the key group the customer generated. A relay that enrolled
|
|
21
|
+
* its own group instead would hand back a genuine, enclave-signed statement
|
|
22
|
+
* naming a key the customer does not hold; this comparison is where that stops
|
|
23
|
+
* being invisible. The enrolment and the authorization must also be for the team
|
|
24
|
+
* the customer named, and the authorization must end exactly at the `not_after`
|
|
25
|
+
* the customer signed and not start in the future: a relay that replayed an
|
|
26
|
+
* older genuine answer, or another team's, would otherwise have the caller
|
|
27
|
+
* believe a fresh window exists. The registration must name this key, this
|
|
28
|
+
* system, this config digest and this connector, or it registered something
|
|
29
|
+
* else.
|
|
30
|
+
*/
|
|
31
|
+
import { createHash, webcrypto } from "node:crypto";
|
|
32
|
+
import { nodeCrypto } from "./crypto-node.js";
|
|
33
|
+
import { buildKeyEnrollmentRequestPayload, buildKeyRotationRequestPayload, buildSystemRegistrationRequestPayload, customerKeyId, keyTime, verifyKeyEnrollmentStatement, verifySystemRegistration, verifyTeamAuthorization, } from "./customer-keys.js";
|
|
34
|
+
import { IDENTITY_NONCE_SIZE, verifyEnclaveIdentity, } from "./enclave-seal.js";
|
|
35
|
+
import { VerificationError } from "./errors.js";
|
|
36
|
+
import { signWithGroup } from "./key-group.js";
|
|
37
|
+
import { parseKeyEnrollmentResult, parseSystemRegistrationCertificate, } from "./models.js";
|
|
38
|
+
import { formatTimestamp } from "./verify.js";
|
|
39
|
+
/** Mirrors core.DefaultAuthorizationWindow, the longest window the enclave
|
|
40
|
+
* grants: a request that names no `notAfter` asks for all of it. */
|
|
41
|
+
const DEFAULT_AUTHORIZATION_WINDOW_MS = 90 * 24 * 60 * 60 * 1000;
|
|
42
|
+
/** How far ahead of this machine's clock an authorization may start: room for
|
|
43
|
+
* an enclave clock that runs a little ahead, as core's notAfterSkew leaves room
|
|
44
|
+
* for a customer clock that does. Not room for a document from the future. */
|
|
45
|
+
const NOT_BEFORE_SKEW_MS = 5 * 60 * 1000;
|
|
46
|
+
function toHex(bytes) {
|
|
47
|
+
return Buffer.from(bytes).toString("hex");
|
|
48
|
+
}
|
|
49
|
+
function sha256(bytes) {
|
|
50
|
+
return new Uint8Array(createHash("sha256").update(bytes).digest());
|
|
51
|
+
}
|
|
52
|
+
function boundOf(notAfter) {
|
|
53
|
+
return notAfter ?? new Date(Date.now() + DEFAULT_AUTHORIZATION_WINDOW_MS);
|
|
54
|
+
}
|
|
55
|
+
// --- ATTEST_IDENTITY ----------------------------------------------------------
|
|
56
|
+
/**
|
|
57
|
+
* The challenge and the query string that carries it. A nonce the checked party
|
|
58
|
+
* chose — including one the API suggested — proves nothing about when the
|
|
59
|
+
* document was produced, so it is drawn here unless the caller brings its own.
|
|
60
|
+
*/
|
|
61
|
+
export function attestationParams(nonce) {
|
|
62
|
+
const drawn = nonce ?? webcrypto.getRandomValues(new Uint8Array(IDENTITY_NONCE_SIZE));
|
|
63
|
+
return { nonce: drawn, params: { nonce: Buffer.from(drawn).toString("base64url") } };
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Verify the document the API returned against this caller's own challenge. The
|
|
67
|
+
* `nonce` the API echoes beside the document is ignored: nothing signs it. The
|
|
68
|
+
* check is against the nonce inside the document, under AWS's signature.
|
|
69
|
+
*/
|
|
70
|
+
export async function identityFromResponse(data, options) {
|
|
71
|
+
const raw = data?.nsm_attestation;
|
|
72
|
+
if (typeof raw !== "string") {
|
|
73
|
+
throw new VerificationError("the attestation response carries no nsm_attestation");
|
|
74
|
+
}
|
|
75
|
+
return verifyEnclaveIdentity(new Uint8Array(Buffer.from(raw, "base64")), options);
|
|
76
|
+
}
|
|
77
|
+
// --- ENROLL_KEY / ROTATE_KEY --------------------------------------------------
|
|
78
|
+
function groupBody(group, signatures) {
|
|
79
|
+
return {
|
|
80
|
+
threshold: group.threshold,
|
|
81
|
+
member_keys: group.members.map(toHex),
|
|
82
|
+
signatures,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* The ENROLL_KEY request, the key id it enrols and the `not_after` it signs.
|
|
87
|
+
* EVERY member signs.
|
|
88
|
+
*/
|
|
89
|
+
export async function enrollBody(opts) {
|
|
90
|
+
const keyId = await customerKeyId(nodeCrypto, opts.group);
|
|
91
|
+
const bound = boundOf(opts.notAfter);
|
|
92
|
+
const payload = buildKeyEnrollmentRequestPayload({
|
|
93
|
+
assertedTeamId: opts.teamId,
|
|
94
|
+
customerKeyId: keyId,
|
|
95
|
+
notAfter: bound,
|
|
96
|
+
});
|
|
97
|
+
const signatures = await signWithGroup(payload, opts.group, opts.signers, opts.group.members.length);
|
|
98
|
+
const notAfter = keyTime(bound);
|
|
99
|
+
return {
|
|
100
|
+
body: {
|
|
101
|
+
asserted_team_id: opts.teamId.toLowerCase(),
|
|
102
|
+
not_after: notAfter,
|
|
103
|
+
...groupBody(opts.group, signatures),
|
|
104
|
+
},
|
|
105
|
+
keyId,
|
|
106
|
+
notAfter,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The ROTATE_KEY request. Both groups sign the same key_rotation_request.v2: the
|
|
111
|
+
* OUTGOING group at its threshold, to spend its authority, and EVERY incoming
|
|
112
|
+
* member, to prove it holds its key.
|
|
113
|
+
*/
|
|
114
|
+
export async function rotateBody(opts) {
|
|
115
|
+
const prevKeyId = await customerKeyId(nodeCrypto, opts.previousGroup);
|
|
116
|
+
const nextKeyId = await customerKeyId(nodeCrypto, opts.nextGroup);
|
|
117
|
+
const bound = boundOf(opts.notAfter);
|
|
118
|
+
const payload = buildKeyRotationRequestPayload({
|
|
119
|
+
assertedTeamId: opts.teamId,
|
|
120
|
+
prevKeyId,
|
|
121
|
+
nextKeyId,
|
|
122
|
+
notAfter: bound,
|
|
123
|
+
});
|
|
124
|
+
const signatures = await signWithGroup(payload, opts.previousGroup, opts.previousSigners, opts.previousGroup.threshold);
|
|
125
|
+
const nextSignatures = await signWithGroup(payload, opts.nextGroup, opts.nextSigners, opts.nextGroup.members.length);
|
|
126
|
+
const notAfter = keyTime(bound);
|
|
127
|
+
return {
|
|
128
|
+
body: {
|
|
129
|
+
asserted_team_id: opts.teamId.toLowerCase(),
|
|
130
|
+
prev_key_id: prevKeyId,
|
|
131
|
+
not_after: notAfter,
|
|
132
|
+
next_signatures: nextSignatures,
|
|
133
|
+
...groupBody(opts.nextGroup, signatures),
|
|
134
|
+
},
|
|
135
|
+
prevKeyId,
|
|
136
|
+
nextKeyId,
|
|
137
|
+
notAfter,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Verify both documents ENROLL_KEY and ROTATE_KEY return under the attested
|
|
142
|
+
* enclave's signing key, then refuse them unless they name the group this caller
|
|
143
|
+
* holds and the team it asked for, link to the predecessor it expects, end
|
|
144
|
+
* exactly at the `notAfter` (whole-second UTC) it signed, and do not start in
|
|
145
|
+
* the future. `teamId` is the team the request asserted; the SDK always asserts
|
|
146
|
+
* one, so there is no request this check has no team for.
|
|
147
|
+
*
|
|
148
|
+
* The end must be EXACT. A protocol-12 enclave ends the grant at the signed
|
|
149
|
+
* bound, to the second, so any other end answers some other request -- which is
|
|
150
|
+
* what a relay replaying an older genuine response, or dropping a renewal,
|
|
151
|
+
* hands back.
|
|
152
|
+
*/
|
|
153
|
+
export async function checkEnrollment(data, opts) {
|
|
154
|
+
const raw = (data ?? {});
|
|
155
|
+
await verifyKeyEnrollmentStatement(nodeCrypto, raw.enrollment, opts.enclave.signingKey);
|
|
156
|
+
await verifyTeamAuthorization(nodeCrypto, raw.authorization, opts.enclave.signingKey);
|
|
157
|
+
const result = parseKeyEnrollmentResult(raw);
|
|
158
|
+
const { enrollment, authorization } = result;
|
|
159
|
+
// One comparison covers the members and threshold too: a key id is a hash
|
|
160
|
+
// over both, and a verified statement's id is the one its own group derives.
|
|
161
|
+
if (enrollment.customerKeyId !== opts.keyId || authorization.customerKeyId !== opts.keyId) {
|
|
162
|
+
throw new VerificationError(`the enclave's statement names key ${JSON.stringify(enrollment.customerKeyId)} ` +
|
|
163
|
+
`(authorization ${JSON.stringify(authorization.customerKeyId)}), not the group you ` +
|
|
164
|
+
`enrolled (${JSON.stringify(opts.keyId)}). Do not use it: this is what a substituted key looks like.`);
|
|
165
|
+
}
|
|
166
|
+
if (authorization.prevKeyId !== opts.prevKeyId) {
|
|
167
|
+
throw new VerificationError(`the authorization links to predecessor ${JSON.stringify(authorization.prevKeyId ?? null)}, ` +
|
|
168
|
+
`expected ${JSON.stringify(opts.prevKeyId ?? null)}`);
|
|
169
|
+
}
|
|
170
|
+
const team = opts.teamId.toLowerCase();
|
|
171
|
+
for (const [what, named] of [
|
|
172
|
+
["enrolment statement", enrollment.assertedTeamId],
|
|
173
|
+
["authorization", authorization.assertedTeamId],
|
|
174
|
+
]) {
|
|
175
|
+
if (named.toLowerCase() !== team) {
|
|
176
|
+
throw new VerificationError(`the ${what} is for team ${named}, not the team you asked for (${team}). ` +
|
|
177
|
+
"Do not use it: a relay replaying another team's answer would produce exactly this.");
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// Compared as the whole-second strings both sides sign, not as parsed
|
|
181
|
+
// dates: a Date has milliseconds, and a fraction on the wire is nobody's.
|
|
182
|
+
const granted = formatTimestamp(raw.authorization.not_after, "authorization.not_after");
|
|
183
|
+
if (granted !== opts.notAfter) {
|
|
184
|
+
throw new VerificationError(`the authorization ends at ${granted}, not at the not_after you signed (${opts.notAfter}). ` +
|
|
185
|
+
"The enclave ends the grant exactly there, so this answers some other request; " +
|
|
186
|
+
"a relay replaying an older response would produce exactly this.");
|
|
187
|
+
}
|
|
188
|
+
const now = opts.now ?? new Date();
|
|
189
|
+
if (!(now instanceof Date) || Number.isNaN(now.getTime())) {
|
|
190
|
+
throw new TypeError("now must be a valid Date");
|
|
191
|
+
}
|
|
192
|
+
if (authorization.notBefore.getTime() > now.getTime() + NOT_BEFORE_SKEW_MS) {
|
|
193
|
+
const starts = formatTimestamp(raw.authorization.not_before, "authorization.not_before");
|
|
194
|
+
throw new VerificationError(`the authorization starts at ${starts}, more than five minutes after this machine's clock ` +
|
|
195
|
+
`(${keyTime(now)}): the answer to a request just made cannot start in the future`);
|
|
196
|
+
}
|
|
197
|
+
return result;
|
|
198
|
+
}
|
|
199
|
+
// --- REGISTER_SYSTEM ----------------------------------------------------------
|
|
200
|
+
/** The exact bytes sealed, and therefore the bytes `config_digest` is over. */
|
|
201
|
+
export function configBytes(config) {
|
|
202
|
+
return new TextEncoder().encode(JSON.stringify(config));
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* The REGISTER_SYSTEM request, its key id and the config digest it signs.
|
|
206
|
+
*
|
|
207
|
+
* `config` must be the EXACT bytes submitted when the system was created — the
|
|
208
|
+
* plaintext that was sealed, or the `connection_config` JSON text as sent. An
|
|
209
|
+
* object is refused: re-serializing it produces bytes that may differ by one
|
|
210
|
+
* space from what the enclave decrypts, and the refusal would be a 401 with no
|
|
211
|
+
* way to see why.
|
|
212
|
+
*/
|
|
213
|
+
export async function registrationBody(opts) {
|
|
214
|
+
const config = typeof opts.config === "string" ? new TextEncoder().encode(opts.config) : opts.config;
|
|
215
|
+
if (!(config instanceof Uint8Array)) {
|
|
216
|
+
throw new TypeError("config must be the exact bytes (or text) submitted when the system was created, " +
|
|
217
|
+
"not a re-serializable object");
|
|
218
|
+
}
|
|
219
|
+
const keyId = await customerKeyId(nodeCrypto, opts.group);
|
|
220
|
+
const configDigest = sha256(config);
|
|
221
|
+
const payload = buildSystemRegistrationRequestPayload({
|
|
222
|
+
assertedTeamId: opts.teamId,
|
|
223
|
+
systemId: opts.systemId,
|
|
224
|
+
configDigest,
|
|
225
|
+
queryTemplateSha256: sha256(new TextEncoder().encode(opts.queryTemplate)),
|
|
226
|
+
connectorType: opts.connectorType,
|
|
227
|
+
customerKeyId: keyId,
|
|
228
|
+
});
|
|
229
|
+
const signatures = await signWithGroup(payload, opts.group, opts.signers, opts.group.threshold);
|
|
230
|
+
return {
|
|
231
|
+
body: {
|
|
232
|
+
asserted_team_id: opts.teamId.toLowerCase(),
|
|
233
|
+
system_id: opts.systemId.toLowerCase(),
|
|
234
|
+
query_template: opts.queryTemplate,
|
|
235
|
+
...groupBody(opts.group, signatures),
|
|
236
|
+
},
|
|
237
|
+
keyId,
|
|
238
|
+
configDigest,
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
/** Verify the registration under the attested enclave's signing key, then
|
|
242
|
+
* refuse it unless it binds what this caller signed. */
|
|
243
|
+
export async function checkRegistration(data, opts) {
|
|
244
|
+
const raw = data?.registration;
|
|
245
|
+
await verifySystemRegistration(nodeCrypto, raw, opts.enclave.signingKey);
|
|
246
|
+
const registration = parseSystemRegistrationCertificate(raw);
|
|
247
|
+
const wrong = [];
|
|
248
|
+
if (registration.customerKeyId !== opts.keyId) {
|
|
249
|
+
wrong.push(`customer_key_id is ${JSON.stringify(registration.customerKeyId)}, expected ${JSON.stringify(opts.keyId)}`);
|
|
250
|
+
}
|
|
251
|
+
if (String(registration.systemId).toLowerCase() !== opts.systemId.toLowerCase()) {
|
|
252
|
+
wrong.push(`system_id is ${JSON.stringify(registration.systemId)}, expected ${JSON.stringify(opts.systemId)}`);
|
|
253
|
+
}
|
|
254
|
+
if (toHex(registration.configDigest) !== toHex(opts.configDigest)) {
|
|
255
|
+
wrong.push(`config_digest is ${toHex(registration.configDigest)}, expected ${toHex(opts.configDigest)}`);
|
|
256
|
+
}
|
|
257
|
+
if (registration.connectorType !== opts.connectorType) {
|
|
258
|
+
wrong.push(`connector_type is ${JSON.stringify(registration.connectorType)}, expected ${JSON.stringify(opts.connectorType)}`);
|
|
259
|
+
}
|
|
260
|
+
if (wrong.length > 0) {
|
|
261
|
+
throw new VerificationError(`the enclave's registration does not bind what you signed: ${wrong.join(", ")}`);
|
|
262
|
+
}
|
|
263
|
+
return registration;
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=enclave-registration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enclave-registration.js","sourceRoot":"","sources":["../../src/enclave-registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,4 +98,47 @@ export declare function sealToKey(recipientPublicKey: Uint8Array, plaintext: Uin
|
|
|
98
98
|
* one from an enclave the host itself booted — would pass.
|
|
99
99
|
*/
|
|
100
100
|
export declare function verifyEnclaveConfigSealKey(attestationDocument: Uint8Array, options: SealOptions): Promise<Uint8Array>;
|
|
101
|
+
/** Mirrors enclave.AttestIdentityNonceSize. */
|
|
102
|
+
export declare const IDENTITY_NONCE_SIZE = 32;
|
|
103
|
+
/**
|
|
104
|
+
* What an ATTEST_IDENTITY document establishes once verified: which keys, held
|
|
105
|
+
* by an enclave running which image, answering THIS caller's challenge.
|
|
106
|
+
*/
|
|
107
|
+
export interface EnclaveIdentity {
|
|
108
|
+
/** The X25519 key to seal connection configs to. */
|
|
109
|
+
readonly configSealKey: Uint8Array;
|
|
110
|
+
/** The enclave's Ed25519 signing key, read out of the signed document. */
|
|
111
|
+
readonly signingKey: Uint8Array;
|
|
112
|
+
/** `dp_k_` + hex(SHA-256(signingKey)) — the id /.well-known/burnledger-keys publishes. */
|
|
113
|
+
readonly signingKeyId: string;
|
|
114
|
+
/** The PCR0 the document reports, hex. Equal to the one pinned, or this would have thrown. */
|
|
115
|
+
readonly pcr0: string;
|
|
116
|
+
}
|
|
117
|
+
export interface IdentityOptions extends SealOptions {
|
|
118
|
+
/**
|
|
119
|
+
* The 32-byte challenge sent with the request. Draw it from your own entropy:
|
|
120
|
+
* a nonce the party being checked chose proves nothing about when the
|
|
121
|
+
* document was produced.
|
|
122
|
+
*/
|
|
123
|
+
nonce: Uint8Array;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Verify an ATTEST_IDENTITY document (`GET /v1/enclave/attestation?nonce=`).
|
|
127
|
+
*
|
|
128
|
+
* Port of enclave.VerifyIdentityAttestation: everything
|
|
129
|
+
* {@link verifyEnclaveConfigSealKey} checks, and then that the document carries
|
|
130
|
+
* exactly the nonce this caller sent and binds a 32-byte Ed25519 signing key in
|
|
131
|
+
* `user_data`.
|
|
132
|
+
*
|
|
133
|
+
* THE NONCE CHECK IS THE POINT. The other checks pass for every document this
|
|
134
|
+
* enclave image has ever produced, including one captured months ago and
|
|
135
|
+
* replayed by a relay that has since swapped keys. Only a document carrying the
|
|
136
|
+
* challenge this caller drew, under AWS's signature, is a statement about now.
|
|
137
|
+
*
|
|
138
|
+
* What a pass means, and no more: these keys are held by an AWS Nitro Enclave
|
|
139
|
+
* running an image that measures to the pinned PCR0, and it answered this
|
|
140
|
+
* challenge within five minutes of `now`. It does not mean the image was built
|
|
141
|
+
* from any particular source.
|
|
142
|
+
*/
|
|
143
|
+
export declare function verifyEnclaveIdentity(attestationDocument: Uint8Array, options: IdentityOptions): Promise<EnclaveIdentity>;
|
|
101
144
|
//# sourceMappingURL=enclave-seal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enclave-seal.d.ts","sourceRoot":"","sources":["../../src/enclave-seal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;
|
|
1
|
+
{"version":3,"file":"enclave-seal.d.ts","sourceRoot":"","sources":["../../src/enclave-seal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAUH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,yBAAmE,CAAC;AAG/F,eAAO,MAAM,WAAW,QAAoD,CAAC;AAG7E;;;GAGG;AACH,eAAO,MAAM,iBAAiB,6xBAc7B,CAAC;AAMF,+EAA+E;AAC/E,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sEAAsE;IACtE,GAAG,CAAC,EAAE,IAAI,CAAC;IACX;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,UAAU,EACrD,mBAAmB,EAAE,UAAU,EAC/B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,kBAAkB,EAAE,UAAU,EAC9B,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,UAAU,CAAC,CAuCrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,CAC9C,mBAAmB,EAAE,UAAU,EAC/B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAErB;AAED,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD;;;;OAIG;IACH,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,qBAAqB,CACzC,mBAAmB,EAAE,UAAU,EAC/B,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,eAAe,CAAC,CAmC1B"}
|
package/dist/esm/enclave-seal.js
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
* thing a browser should be doing. This module is not part of the browser entry
|
|
34
34
|
* point.
|
|
35
35
|
*/
|
|
36
|
-
import { X509Certificate, verify as nodeVerify, webcrypto } from "node:crypto";
|
|
36
|
+
import { X509Certificate, createHash, timingSafeEqual, verify as nodeVerify, webcrypto, } from "node:crypto";
|
|
37
37
|
/**
|
|
38
38
|
* Envelope wire format (v1). Must match enclave/configsealkey.go byte for byte:
|
|
39
39
|
*
|
|
@@ -133,6 +133,62 @@ export async function sealToKey(recipientPublicKey, plaintext) {
|
|
|
133
133
|
* one from an enclave the host itself booted — would pass.
|
|
134
134
|
*/
|
|
135
135
|
export async function verifyEnclaveConfigSealKey(attestationDocument, options) {
|
|
136
|
+
return configSealKeyOf(verifyDocument(attestationDocument, options));
|
|
137
|
+
}
|
|
138
|
+
/** Mirrors enclave.AttestIdentityNonceSize. */
|
|
139
|
+
export const IDENTITY_NONCE_SIZE = 32;
|
|
140
|
+
/**
|
|
141
|
+
* Verify an ATTEST_IDENTITY document (`GET /v1/enclave/attestation?nonce=`).
|
|
142
|
+
*
|
|
143
|
+
* Port of enclave.VerifyIdentityAttestation: everything
|
|
144
|
+
* {@link verifyEnclaveConfigSealKey} checks, and then that the document carries
|
|
145
|
+
* exactly the nonce this caller sent and binds a 32-byte Ed25519 signing key in
|
|
146
|
+
* `user_data`.
|
|
147
|
+
*
|
|
148
|
+
* THE NONCE CHECK IS THE POINT. The other checks pass for every document this
|
|
149
|
+
* enclave image has ever produced, including one captured months ago and
|
|
150
|
+
* replayed by a relay that has since swapped keys. Only a document carrying the
|
|
151
|
+
* challenge this caller drew, under AWS's signature, is a statement about now.
|
|
152
|
+
*
|
|
153
|
+
* What a pass means, and no more: these keys are held by an AWS Nitro Enclave
|
|
154
|
+
* running an image that measures to the pinned PCR0, and it answered this
|
|
155
|
+
* challenge within five minutes of `now`. It does not mean the image was built
|
|
156
|
+
* from any particular source.
|
|
157
|
+
*/
|
|
158
|
+
export async function verifyEnclaveIdentity(attestationDocument, options) {
|
|
159
|
+
const sent = options.nonce;
|
|
160
|
+
if (!(sent instanceof Uint8Array) || sent.length !== IDENTITY_NONCE_SIZE) {
|
|
161
|
+
throw new EnclaveAttestationError(`challenge nonce is ${sent instanceof Uint8Array ? sent.length : 0} bytes, want exactly ` +
|
|
162
|
+
`${IDENTITY_NONCE_SIZE} (this is a bug in the caller, not a bad document)`);
|
|
163
|
+
}
|
|
164
|
+
const payload = verifyDocument(attestationDocument, options);
|
|
165
|
+
const carried = payload.get("nonce");
|
|
166
|
+
if (!(carried instanceof Uint8Array) ||
|
|
167
|
+
carried.length !== sent.length ||
|
|
168
|
+
!timingSafeEqual(carried, sent)) {
|
|
169
|
+
throw new EnclaveAttestationError(`the document answers a different challenge than the one sent (sent ${toHex(sent)}, ` +
|
|
170
|
+
`document carries ${carried instanceof Uint8Array ? toHex(carried) : "none"}) — a genuine ` +
|
|
171
|
+
"document replayed for someone else's nonce proves nothing about now");
|
|
172
|
+
}
|
|
173
|
+
const signingKey = payload.get("user_data");
|
|
174
|
+
if (!(signingKey instanceof Uint8Array) || signingKey.length !== 32) {
|
|
175
|
+
const got = signingKey instanceof Uint8Array ? signingKey.length : 0;
|
|
176
|
+
throw new EnclaveAttestationError(`the document binds ${got} bytes where an Ed25519 public key belongs, want 32`);
|
|
177
|
+
}
|
|
178
|
+
const pcr0 = payload.get("pcrs").get(0);
|
|
179
|
+
return {
|
|
180
|
+
configSealKey: configSealKeyOf(payload),
|
|
181
|
+
signingKey,
|
|
182
|
+
signingKeyId: "dp_k_" + createHash("sha256").update(signingKey).digest("hex"),
|
|
183
|
+
pcr0: toHex(pcr0),
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* The checks every enclave document gets, whatever is read out of it after:
|
|
188
|
+
* COSE structure and algorithm, the chain to the pinned root, the signature, the
|
|
189
|
+
* AWS timestamp against `now`, and the pinned PCRs. Returns the verified payload.
|
|
190
|
+
*/
|
|
191
|
+
function verifyDocument(attestationDocument, options) {
|
|
136
192
|
if (!attestationDocument || attestationDocument.length === 0) {
|
|
137
193
|
throw new EnclaveAttestationError("no attestation document (nothing to verify — this is not a pass)");
|
|
138
194
|
}
|
|
@@ -161,6 +217,10 @@ export async function verifyEnclaveConfigSealKey(attestationDocument, options) {
|
|
|
161
217
|
verifyCoseSignature(leaf, protectedBytes, payloadBytes, signature);
|
|
162
218
|
checkClock(payload.get("timestamp"), now);
|
|
163
219
|
matchPcrs(pcrs, expected);
|
|
220
|
+
return payload;
|
|
221
|
+
}
|
|
222
|
+
/** The 32-byte X25519 config-seal key a verified payload binds in `public_key`. */
|
|
223
|
+
function configSealKeyOf(payload) {
|
|
164
224
|
const publicKey = payload.get("public_key");
|
|
165
225
|
if (!(publicKey instanceof Uint8Array) || publicKey.length !== KEY_SIZE) {
|
|
166
226
|
const got = publicKey instanceof Uint8Array ? publicKey.length : 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enclave-seal.js","sourceRoot":"","sources":["../../src/enclave-seal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enclave-seal.js","sourceRoot":"","sources":["../../src/enclave-seal.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/errors.d.ts
CHANGED
|
@@ -85,6 +85,16 @@ export declare class VerificationError extends BurnLedgerError {
|
|
|
85
85
|
}
|
|
86
86
|
/** {@link VerificationError.code} for a verified statement that says REVOKED. */
|
|
87
87
|
export declare const CERTIFICATE_REVOKED = "CERTIFICATE_REVOKED";
|
|
88
|
+
/**
|
|
89
|
+
* {@link VerificationError.code} when a record verified but does not meet the
|
|
90
|
+
* `requireAuthorization` policy the caller asked for: a system that is not
|
|
91
|
+
* `certified`, one certified under a key the caller does not accept, a required
|
|
92
|
+
* system the record does not cover, a format that predates registration, or a
|
|
93
|
+
* record from an enclave image that could say `certified` without the customer's
|
|
94
|
+
* signature (protocol 11 or earlier, or none named). A fact about the record,
|
|
95
|
+
* not a failure to read it.
|
|
96
|
+
*/
|
|
97
|
+
export declare const AUTHORIZATION_POLICY_FAILED = "AUTHORIZATION_POLICY_FAILED";
|
|
88
98
|
/**
|
|
89
99
|
* The record is in a format this SDK does not know how to read.
|
|
90
100
|
*
|
package/dist/esm/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,qBAAa,QAAS,SAAQ,eAAe;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAQA;CACF;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAGrE;CACF;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,YAAY,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAGrE;CACF;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,YAAY,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAGrE;CACF;AAED,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAGrE;CACF;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,YAAY,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,EAIA;CACF;AAED,qBAAa,WAAY,SAAQ,QAAQ;IACvC,YAAY,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAGA;CACF;AAED,qBAAa,YAAa,SAAQ,eAAe;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAK7C;CACF;AAED,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAKxC;CACF;AAED,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAkB7D,uEAAuE;AACvE,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,CAAC,EAAE,MAAM,GAClB,KAAK,CAqBP"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAED,qBAAa,QAAS,SAAQ,eAAe;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YAAY,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAQA;CACF;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAGrE;CACF;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,YAAY,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAGrE;CACF;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,YAAY,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAGrE;CACF;AAED,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAGrE;CACF;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAExC,YAAY,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,EAIA;CACF;AAED,qBAAa,WAAY,SAAQ,QAAQ;IACvC,YAAY,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB,EAGA;CACF;AAED,qBAAa,YAAa,SAAQ,eAAe;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,YAAY,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAK7C;CACF;AAED,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEvB,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAKxC;CACF;AAED,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,gCAAgC,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAEvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAkB7D,uEAAuE;AACvE,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,CAAC,EAAE,MAAM,GAClB,KAAK,CAqBP"}
|
package/dist/esm/errors.js
CHANGED
|
@@ -92,6 +92,16 @@ export class VerificationError extends BurnLedgerError {
|
|
|
92
92
|
}
|
|
93
93
|
/** {@link VerificationError.code} for a verified statement that says REVOKED. */
|
|
94
94
|
export const CERTIFICATE_REVOKED = "CERTIFICATE_REVOKED";
|
|
95
|
+
/**
|
|
96
|
+
* {@link VerificationError.code} when a record verified but does not meet the
|
|
97
|
+
* `requireAuthorization` policy the caller asked for: a system that is not
|
|
98
|
+
* `certified`, one certified under a key the caller does not accept, a required
|
|
99
|
+
* system the record does not cover, a format that predates registration, or a
|
|
100
|
+
* record from an enclave image that could say `certified` without the customer's
|
|
101
|
+
* signature (protocol 11 or earlier, or none named). A fact about the record,
|
|
102
|
+
* not a failure to read it.
|
|
103
|
+
*/
|
|
104
|
+
export const AUTHORIZATION_POLICY_FAILED = "AUTHORIZATION_POLICY_FAILED";
|
|
95
105
|
/**
|
|
96
106
|
* The record is in a format this SDK does not know how to read.
|
|
97
107
|
*
|
package/dist/esm/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,eAAe;IAClC,IAAI,CAAS;IACb,UAAU,CAAS;IACnB,SAAS,CAAS;IAE3B,YAAY,IAKX;QACC,KAAK,CACH,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,gBAAgB,IAAI,CAAC,SAAS,GAAG,CACpF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,IAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACzC,YAAY,IAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACzC,YAAY,IAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,IAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,QAAQ;IACjC,UAAU,CAAqB;IAExC,YAAY,IAKX;QACC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,YAAY,IAKX;QACC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,eAAe;IACtC,SAAS,CAAS;IAClB,OAAO,CAAS;IAEzB,YAAY,SAAiB,EAAE,OAAe;QAC5C,KAAK,CAAC,GAAG,SAAS,qBAAqB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,eAAe;IAC3C,MAAM,CAAS;IACxB;;;;;;;;;;OAUG;IACM,IAAI,CAAU;IAEvB,YAAY,MAAc,EAAE,IAAa;QACvC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAA4B,CAAC;AAEvE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAE7D,MAAM,eAAe,GAQjB;IACF,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,cAAc;CACpB,CAAC;AAEF,uEAAuE;AACvE,MAAM,UAAU,aAAa,CAC3B,UAAkB,EAClB,IAA6B,EAC7B,UAAmB;IAEnB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;IAC1D,MAAM,IAAI,GAAI,GAAG,CAAC,IAAe,IAAI,SAAS,CAAC;IAC/C,MAAM,OAAO,GAAI,GAAG,CAAC,OAAkB,IAAI,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAI,GAAG,CAAC,UAAqB,IAAI,EAAE,CAAC;IAEnD,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAExC,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/D,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,11 +16,15 @@ export { Paginator } from "./pagination.js";
|
|
|
16
16
|
export type { CryptoOps } from "./crypto.js";
|
|
17
17
|
export type { PublicKeyInfo } from "./verify.js";
|
|
18
18
|
export { issuanceBytes, hexToBytes, bytesToHex } from "./verify.js";
|
|
19
|
-
import type { PublicKeyInfo, PublicKeyOptions } from "./verify.js";
|
|
19
|
+
import type { PublicKeyInfo, PublicKeyOptions, VerifyOptions } from "./verify.js";
|
|
20
20
|
import type { VerificationResult, TransparencyResult } from "./models.js";
|
|
21
|
+
export type { AuthorizationPolicy, VerifyOptions } from "./verify.js";
|
|
21
22
|
type Cert = Record<string, unknown>;
|
|
22
|
-
/** Verify all signatures on a deletion certificate offline.
|
|
23
|
-
|
|
23
|
+
/** Verify all signatures on a deletion certificate offline. Pass
|
|
24
|
+
* `{ requireAuthorization }` to refuse a record unless its systems are certified
|
|
25
|
+
* under a key id you name, by an enclave image that requires that key group's
|
|
26
|
+
* signature to register a system (ADR-025). */
|
|
27
|
+
export declare function verifyCertificate(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>, options?: VerifyOptions): Promise<VerificationResult>;
|
|
24
28
|
/** Verify the transparency proof embedded in a certificate. */
|
|
25
29
|
export declare function verifyTransparency(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>): Promise<TransparencyResult>;
|
|
26
30
|
/** Construct a PublicKeyInfo from a hex-encoded Ed25519 public key. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,QAAQ,EACR,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASpE,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,QAAQ,EACR,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASpE,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC;;;+CAG+C;AAC/C,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACrC,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,gBAAgB,GACtB,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB"}
|
|
@@ -15,9 +15,12 @@ export { Paginator } from "./pagination.js";
|
|
|
15
15
|
export { issuanceBytes, hexToBytes, bytesToHex } from "./verify.js";
|
|
16
16
|
import { browserCrypto } from "./crypto-browser.js";
|
|
17
17
|
import { verifyCertificate as _verifyCertificate, verifyTransparency as _verifyTransparency, verifyConsistency as _verifyConsistency, publicKeyFromHex as _publicKeyFromHex, } from "./verify.js";
|
|
18
|
-
/** Verify all signatures on a deletion certificate offline.
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
/** Verify all signatures on a deletion certificate offline. Pass
|
|
19
|
+
* `{ requireAuthorization }` to refuse a record unless its systems are certified
|
|
20
|
+
* under a key id you name, by an enclave image that requires that key group's
|
|
21
|
+
* signature to register a system (ADR-025). */
|
|
22
|
+
export function verifyCertificate(certificate, publicKeys, options) {
|
|
23
|
+
return _verifyCertificate(browserCrypto, certificate, publicKeys, options);
|
|
21
24
|
}
|
|
22
25
|
/** Verify the transparency proof embedded in a certificate. */
|
|
23
26
|
export function verifyTransparency(certificate, publicKeys) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EACL,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AA8BtC,2EAA2E;AAC3E,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,kBAAkB,IAAI,mBAAmB,EACzC,iBAAiB,IAAI,kBAAkB,EACvC,gBAAgB,IAAI,iBAAiB,GACtC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EACL,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AA8BtC,2EAA2E;AAC3E,0EAA0E;AAC1E,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,kBAAkB,IAAI,mBAAmB,EACzC,iBAAiB,IAAI,kBAAkB,EACvC,gBAAgB,IAAI,iBAAiB,GACtC,MAAM,aAAa,CAAC;AAQrB;;;+CAG+C;AAC/C,MAAM,UAAU,iBAAiB,CAC/B,WAAiB,EACjB,UAAsC,EACtC,OAAuB;IAEvB,OAAO,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,kBAAkB,CAChC,WAAiB,EACjB,UAAsC;IAEtC,OAAO,mBAAmB,CAAC,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACrE,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,IAAuB;IAEvB,OAAO,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,OAAe,EACf,OAAmB,EACnB,OAAmB,EACnB,KAAmB;IAEnB,OAAO,kBAAkB,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACtF,CAAC"}
|