@fedify/fedify 0.12.0-dev.304 → 0.12.0-dev.305
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGES.md +16 -0
- package/README.md +3 -74
- package/esm/federation/handler.js +36 -5
- package/esm/federation/middleware.js +2 -1
- package/esm/sig/http.js +23 -6
- package/esm/sig/key.js +20 -2
- package/esm/sig/mod.js +2 -1
- package/esm/sig/proof.js +35 -8
- package/package.json +1 -1
- package/types/federation/handler.d.ts +5 -2
- package/types/federation/handler.d.ts.map +1 -1
- package/types/federation/middleware.d.ts +6 -0
- package/types/federation/middleware.d.ts.map +1 -1
- package/types/sig/http.d.ts +7 -1
- package/types/sig/http.d.ts.map +1 -1
- package/types/sig/key.d.ts +39 -3
- package/types/sig/key.d.ts.map +1 -1
- package/types/sig/mod.d.ts +2 -1
- package/types/sig/mod.d.ts.map +1 -1
- package/types/sig/proof.d.ts +6 -0
- package/types/sig/proof.d.ts.map +1 -1
package/CHANGES.md
CHANGED
@@ -73,6 +73,21 @@ To be released.
|
|
73
73
|
- The type of `ActorKeyPairsDispatcher<TContextData>`'s first parameter
|
74
74
|
became `Context` (was `TContextData`).
|
75
75
|
|
76
|
+
- During verifying HTTP Signatures and Object Integrity Proofs, once fetched
|
77
|
+
public keys are now cached. [[#107]]
|
78
|
+
|
79
|
+
- The `verifyRequest()` function now caches the fetched public keys
|
80
|
+
when the `keyCache` option is provided.
|
81
|
+
- The `verifyProof()` function now caches the fetched public keys
|
82
|
+
when the `keyCache` option is provided.
|
83
|
+
- The `verifyObject()` function now caches the fetched public keys
|
84
|
+
when the `keyCache` option is provided.
|
85
|
+
- Added `KeyCache` interface.
|
86
|
+
- Added `VerifyRequestOptions.keyCache` property.
|
87
|
+
- Added `VerifyProofOptions.keyCache` property.
|
88
|
+
- Added `VerifyObjectOptions.keyCache` property.
|
89
|
+
- Added `FederationKvPrefixes.publicKeyCache` property.
|
90
|
+
|
76
91
|
- The built-in document loaders now recognize JSON-LD context provided in
|
77
92
|
an HTTP `Link` header. [[#6]]
|
78
93
|
|
@@ -141,6 +156,7 @@ To be released.
|
|
141
156
|
[#92]: https://github.com/dahlia/fedify/pull/92
|
142
157
|
[#104]: https://github.com/dahlia/fedify/issues/104
|
143
158
|
[#105]: https://github.com/dahlia/fedify/issues/105
|
159
|
+
[#107]: https://github.com/dahlia/fedify/issues/107
|
144
160
|
[Astro]: https://astro.build/
|
145
161
|
|
146
162
|
|
package/README.md
CHANGED
@@ -36,7 +36,8 @@ Currently, Fedify provides the following features out of the box:
|
|
36
36
|
If you want to know more about the project, please take a look at the following
|
37
37
|
resources:
|
38
38
|
|
39
|
-
- [
|
39
|
+
- [Installation](https://fedify.dev/install)
|
40
|
+
- [In-depth tutorial](https://fedify.dev/tutorial)
|
40
41
|
- [API reference][JSR]
|
41
42
|
- [Examples](https://github.com/dahlia/fedify/tree/main/examples)
|
42
43
|
|
@@ -54,7 +55,7 @@ join our [Matrix chat space][Matrix] or [GitHub Discussions]. Or tag
|
|
54
55
|
[GitHub Actions]: https://github.com/dahlia/fedify/actions/workflows/build.yaml
|
55
56
|
[GitHub Actions badge]: https://github.com/dahlia/fedify/actions/workflows/build.yaml/badge.svg
|
56
57
|
[Matrix]: https://matrix.to/#/#fedify:matrix.org
|
57
|
-
[Matrix badge]: https://img.shields.io/matrix/fedify%3Amatrix.org
|
58
|
+
[Matrix badge]: https://img.shields.io/matrix/fedify%3Amatrix.org?logo=matrix
|
58
59
|
[@fedify@hollo.social badge]: https://fedi-badge.deno.dev/@fedify@hollo.social/followers.svg
|
59
60
|
[@fedify@hollo.social]: https://hollo.social/@fedify
|
60
61
|
[Fedify Demo]: https://dash.deno.com/playground/fedify-demo
|
@@ -71,75 +72,3 @@ join our [Matrix chat space][Matrix] or [GitHub Discussions]. Or tag
|
|
71
72
|
[Lemmy]: https://join-lemmy.org/
|
72
73
|
[Pixelfed]: https://pixelfed.org/
|
73
74
|
[PeerTube]: https://joinpeertube.org/
|
74
|
-
|
75
|
-
|
76
|
-
Installation
|
77
|
-
------------
|
78
|
-
|
79
|
-
Fedify is available on [JSR] for [Deno] and on [npm] for [Node.js] and [Bun].
|
80
|
-
|
81
|
-
> [!TIP]
|
82
|
-
> We recommend using Deno or Bun (which are TypeScript-first) for the best
|
83
|
-
> experience, but you can use Node.js if you prefer.
|
84
|
-
|
85
|
-
[JSR]: https://jsr.io/@fedify/fedify
|
86
|
-
[Deno]: https://deno.com/
|
87
|
-
[npm]: https://www.npmjs.com/package/@fedify/fedify
|
88
|
-
[Node.js]: https://nodejs.org/
|
89
|
-
[Bun]: https://bun.sh/
|
90
|
-
|
91
|
-
### Deno
|
92
|
-
|
93
|
-
[Deno] is the primary runtime for Fedify. As a prerequisite, you need to have
|
94
|
-
Deno 1.41.0 or later installed on your system. Then you can install Fedify
|
95
|
-
via the following command:
|
96
|
-
|
97
|
-
~~~~ sh
|
98
|
-
deno add @fedify/fedify
|
99
|
-
~~~~
|
100
|
-
|
101
|
-
Since Fedify requires [`Temporal`] API, which is an unstable feature in Deno as
|
102
|
-
of May 2024, you need to add the `"temporal"` to the `"unstable"` field of
|
103
|
-
the *deno.json* file:
|
104
|
-
|
105
|
-
~~~~ json
|
106
|
-
{
|
107
|
-
"imports": {
|
108
|
-
"@fedify/fedify": "jsr:@fedify/fedify"
|
109
|
-
},
|
110
|
-
"unstable": ["temporal"]
|
111
|
-
}
|
112
|
-
~~~~
|
113
|
-
|
114
|
-
[`Temporal`]: https://tc39.es/proposal-temporal/docs/
|
115
|
-
|
116
|
-
### Node.js
|
117
|
-
|
118
|
-
Fedify can also be used in Node.js. As a prerequisite, you need to have Node.js
|
119
|
-
20.0.0 or later installed on your system. Then you can install Fedify via
|
120
|
-
the following command:
|
121
|
-
|
122
|
-
~~~~ sh
|
123
|
-
npm add @fedify/fedify
|
124
|
-
~~~~
|
125
|
-
|
126
|
-
Fedify is an ESM-only package, so you need to add `"type": "module"` to the
|
127
|
-
*package.json* file:
|
128
|
-
|
129
|
-
~~~~ json
|
130
|
-
{
|
131
|
-
"type": "module",
|
132
|
-
"dependencies": {
|
133
|
-
"@fedify/fedify": "^0.12.0"
|
134
|
-
}
|
135
|
-
}
|
136
|
-
~~~~
|
137
|
-
|
138
|
-
### Bun
|
139
|
-
|
140
|
-
Fedify can also be used in Bun. You can install it via the following
|
141
|
-
command:
|
142
|
-
|
143
|
-
~~~~ sh
|
144
|
-
bun add @fedify/fedify
|
145
|
-
~~~~
|
@@ -4,7 +4,7 @@ import { accepts } from "../deps/jsr.io/@std/http/0.224.5/negotiation.js";
|
|
4
4
|
import { verifyRequest } from "../sig/http.js";
|
5
5
|
import { doesActorOwnKey } from "../sig/owner.js";
|
6
6
|
import { verifyObject } from "../sig/proof.js";
|
7
|
-
import { Activity, Link, Object, OrderedCollection, OrderedCollectionPage, } from "../vocab/vocab.js";
|
7
|
+
import { Activity, CryptographicKey, Link, Multikey, Object, OrderedCollection, OrderedCollectionPage, } from "../vocab/vocab.js";
|
8
8
|
export function acceptsJsonLd(request) {
|
9
9
|
const types = accepts(request);
|
10
10
|
if (types == null)
|
@@ -166,7 +166,7 @@ function filterCollectionItems(items, collectionName, filterPredicate) {
|
|
166
166
|
}
|
167
167
|
return result;
|
168
168
|
}
|
169
|
-
export async function handleInbox(request, { handle, context, kv,
|
169
|
+
export async function handleInbox(request, { handle, context, kv, kvPrefixes, queue, actorDispatcher, inboxListeners, inboxErrorHandler, onNotFound, signatureTimeWindow, }) {
|
170
170
|
const logger = getLogger(["fedify", "federation", "inbox"]);
|
171
171
|
if (actorDispatcher == null) {
|
172
172
|
logger.error("Actor dispatcher is not set.", { handle });
|
@@ -196,9 +196,38 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, queu
|
|
196
196
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
197
197
|
});
|
198
198
|
}
|
199
|
+
const keyCache = {
|
200
|
+
async get(keyId) {
|
201
|
+
const serialized = await kv.get([
|
202
|
+
...kvPrefixes.publicKeyCache,
|
203
|
+
keyId.href,
|
204
|
+
]);
|
205
|
+
if (serialized == null)
|
206
|
+
return null;
|
207
|
+
let object;
|
208
|
+
try {
|
209
|
+
object = await Object.fromJsonLd(serialized, context);
|
210
|
+
}
|
211
|
+
catch {
|
212
|
+
return null;
|
213
|
+
}
|
214
|
+
if (object instanceof CryptographicKey || object instanceof Multikey) {
|
215
|
+
return object;
|
216
|
+
}
|
217
|
+
return null;
|
218
|
+
},
|
219
|
+
async set(keyId, key) {
|
220
|
+
const serialized = await key.toJsonLd(context);
|
221
|
+
await kv.set([...kvPrefixes.publicKeyCache, keyId.href], serialized);
|
222
|
+
},
|
223
|
+
};
|
199
224
|
let activity;
|
200
225
|
try {
|
201
|
-
activity = await verifyObject(Activity, json,
|
226
|
+
activity = await verifyObject(Activity, json, {
|
227
|
+
contextLoader: context.contextLoader,
|
228
|
+
documentLoader: context.documentLoader,
|
229
|
+
keyCache,
|
230
|
+
});
|
202
231
|
}
|
203
232
|
catch (error) {
|
204
233
|
logger.error("Failed to parse activity:\n{error}", { handle, json, error });
|
@@ -216,8 +245,10 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, queu
|
|
216
245
|
let httpSigKey = null;
|
217
246
|
if (activity == null) {
|
218
247
|
const key = await verifyRequest(request, {
|
219
|
-
|
248
|
+
contextLoader: context.contextLoader,
|
249
|
+
documentLoader: context.documentLoader,
|
220
250
|
timeWindow: signatureTimeWindow,
|
251
|
+
keyCache,
|
221
252
|
});
|
222
253
|
if (key == null) {
|
223
254
|
logger.error("Failed to verify the request signature.", { handle });
|
@@ -232,7 +263,7 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, queu
|
|
232
263
|
}
|
233
264
|
const cacheKey = activity.id == null
|
234
265
|
? null
|
235
|
-
: [...
|
266
|
+
: [...kvPrefixes.activityIdempotence, activity.id.href];
|
236
267
|
if (cacheKey != null) {
|
237
268
|
const cached = await kv.get(cacheKey);
|
238
269
|
if (cached === true) {
|
@@ -83,6 +83,7 @@ export class Federation {
|
|
83
83
|
...({
|
84
84
|
activityIdempotence: ["_fedify", "activityIdempotence"],
|
85
85
|
remoteDocument: ["_fedify", "remoteDocument"],
|
86
|
+
publicKeyCache: ["_fedify", "publicKey"],
|
86
87
|
}),
|
87
88
|
...(options.kvPrefixes ?? {}),
|
88
89
|
};
|
@@ -1197,7 +1198,7 @@ export class Federation {
|
|
1197
1198
|
handle: route.values.handle ?? null,
|
1198
1199
|
context,
|
1199
1200
|
kv: this.#kv,
|
1200
|
-
|
1201
|
+
kvPrefixes: this.#kvPrefixes,
|
1201
1202
|
actorDispatcher: this.#actorCallbacks?.dispatcher,
|
1202
1203
|
inboxListeners: this.#inboxListeners,
|
1203
1204
|
inboxErrorHandler: this.#inboxErrorHandler,
|
package/esm/sig/http.js
CHANGED
@@ -67,8 +67,9 @@ const supportedHashAlgorithms = {
|
|
67
67
|
* @returns The public key of the verified signature, or `null` if the signature
|
68
68
|
* could not be verified.
|
69
69
|
*/
|
70
|
-
export async function verifyRequest(request, { documentLoader, contextLoader, timeWindow, currentTime } = {}) {
|
70
|
+
export async function verifyRequest(request, { documentLoader, contextLoader, timeWindow, currentTime, keyCache } = {}) {
|
71
71
|
const logger = getLogger(["fedify", "sig", "http"]);
|
72
|
+
const originalRequest = request;
|
72
73
|
request = request.clone();
|
73
74
|
const dateHeader = request.headers.get("Date");
|
74
75
|
if (dateHeader == null) {
|
@@ -142,12 +143,14 @@ export async function verifyRequest(request, { documentLoader, contextLoader, ti
|
|
142
143
|
return null;
|
143
144
|
}
|
144
145
|
const { keyId, headers, signature } = sigValues;
|
145
|
-
const
|
146
|
+
const keyResult = await fetchKey(new URL(keyId), CryptographicKey, {
|
146
147
|
documentLoader,
|
147
148
|
contextLoader,
|
149
|
+
keyCache,
|
148
150
|
});
|
149
|
-
if (
|
151
|
+
if (keyResult == null)
|
150
152
|
return null;
|
153
|
+
const { key, cached } = keyResult;
|
151
154
|
const headerNames = headers.split(/\s+/g);
|
152
155
|
if (!headerNames.includes("(request-target)") || !headerNames.includes("date")) {
|
153
156
|
logger.debug("Failed to verify; required headers missing in the Signature header: " +
|
@@ -169,9 +172,23 @@ export async function verifyRequest(request, { documentLoader, contextLoader, ti
|
|
169
172
|
// TODO: support other than RSASSA-PKCS1-v1_5:
|
170
173
|
const verified = await dntShim.crypto.subtle.verify("RSASSA-PKCS1-v1_5", key.publicKey, sig, new TextEncoder().encode(message));
|
171
174
|
if (!verified) {
|
172
|
-
|
173
|
-
"
|
174
|
-
|
175
|
+
if (cached) {
|
176
|
+
logger.debug("Failed to verify with the cached key {keyId}; signature {signature} " +
|
177
|
+
"is invalid. Retrying with the freshly fetched key...", { keyId, signature, message });
|
178
|
+
return await verifyRequest(originalRequest, {
|
179
|
+
documentLoader,
|
180
|
+
contextLoader,
|
181
|
+
timeWindow,
|
182
|
+
currentTime,
|
183
|
+
keyCache: {
|
184
|
+
get: () => Promise.resolve(null),
|
185
|
+
set: async (keyId, key) => await keyCache?.set(keyId, key),
|
186
|
+
},
|
187
|
+
});
|
188
|
+
}
|
189
|
+
logger.debug("Failed to verify with the fetched key {keyId}; signature {signature} " +
|
190
|
+
"is invalid. Check if the key is correct or if the signed message " +
|
191
|
+
"is correct. The message to sign is:\n{message}", { keyId, signature, message });
|
175
192
|
return null;
|
176
193
|
}
|
177
194
|
return key;
|
package/esm/sig/key.js
CHANGED
@@ -106,9 +106,20 @@ export async function importJwk(jwk, type) {
|
|
106
106
|
*/
|
107
107
|
export async function fetchKey(keyId,
|
108
108
|
// deno-lint-ignore no-explicit-any
|
109
|
-
cls, { documentLoader, contextLoader } = {}) {
|
109
|
+
cls, { documentLoader, contextLoader, keyCache } = {}) {
|
110
110
|
const logger = getLogger(["fedify", "sig", "key"]);
|
111
|
+
const cacheKey = typeof keyId === "string" ? new URL(keyId) : keyId;
|
111
112
|
keyId = typeof keyId === "string" ? keyId : keyId.href;
|
113
|
+
if (keyCache != null) {
|
114
|
+
const cachedKey = await keyCache.get(cacheKey);
|
115
|
+
if (cachedKey instanceof cls && cachedKey.publicKey != null) {
|
116
|
+
logger.debug("Key {keyId} found in cache.", { keyId });
|
117
|
+
return {
|
118
|
+
key: cachedKey,
|
119
|
+
cached: true,
|
120
|
+
};
|
121
|
+
}
|
122
|
+
}
|
112
123
|
logger.debug("Fetching key {keyId} to verify signature...", { keyId });
|
113
124
|
let document;
|
114
125
|
try {
|
@@ -171,5 +182,12 @@ cls, { documentLoader, contextLoader } = {}) {
|
|
171
182
|
logger.debug("Failed to verify; key {keyId} has no publicKeyPem field.", { keyId });
|
172
183
|
return null;
|
173
184
|
}
|
174
|
-
|
185
|
+
if (keyCache != null) {
|
186
|
+
await keyCache.set(cacheKey, key);
|
187
|
+
logger.debug("Key {keyId} cached.", { keyId });
|
188
|
+
}
|
189
|
+
return {
|
190
|
+
key: key,
|
191
|
+
cached: false,
|
192
|
+
};
|
175
193
|
}
|
package/esm/sig/mod.js
CHANGED
@@ -4,5 +4,6 @@
|
|
4
4
|
* @module
|
5
5
|
*/
|
6
6
|
export { signRequest, verifyRequest, } from "./http.js";
|
7
|
-
export { exportJwk, generateCryptoKeyPair, importJwk } from "./key.js";
|
7
|
+
export { exportJwk, generateCryptoKeyPair, importJwk, } from "./key.js";
|
8
8
|
export { doesActorOwnKey, getKeyOwner, } from "./owner.js";
|
9
|
+
export * from "./proof.js";
|
package/esm/sig/proof.js
CHANGED
@@ -4,7 +4,7 @@ import { Activity, Multikey } from "../vocab/vocab.js";
|
|
4
4
|
// @ts-ignore: json-canon is not typed
|
5
5
|
import serialize from "json-canon";
|
6
6
|
import { DataIntegrityProof } from "../vocab/vocab.js";
|
7
|
-
import { fetchKey, validateCryptoKey } from "./key.js";
|
7
|
+
import { fetchKey, validateCryptoKey, } from "./key.js";
|
8
8
|
const logger = getLogger(["fedify", "sig", "proof"]);
|
9
9
|
/**
|
10
10
|
* Creates a proof for the given object.
|
@@ -114,22 +114,49 @@ export async function verifyProof(jsonLd, proof, options = {}) {
|
|
114
114
|
const digest = new Uint8Array(proofDigest.byteLength + msgDigest.byteLength);
|
115
115
|
digest.set(new Uint8Array(proofDigest), 0);
|
116
116
|
digest.set(new Uint8Array(msgDigest), proofDigest.byteLength);
|
117
|
-
let
|
117
|
+
let fetchedKey;
|
118
118
|
try {
|
119
|
-
|
119
|
+
fetchedKey = await publicKeyPromise;
|
120
120
|
}
|
121
121
|
catch (error) {
|
122
|
-
logger.debug("Failed to get the key (verificationMethod) for the proof:\n{proof}", { proof, error });
|
122
|
+
logger.debug("Failed to get the key (verificationMethod) for the proof:\n{proof}", { proof, keyId: proof.verificationMethodId.href, error });
|
123
123
|
return null;
|
124
124
|
}
|
125
|
-
if (
|
126
|
-
logger.debug("
|
127
|
-
|
125
|
+
if (fetchedKey == null) {
|
126
|
+
logger.debug("Failed to get the key (verificationMethod) for the proof:\n{proof}", { proof, keyId: proof.verificationMethodId.href });
|
127
|
+
return null;
|
128
|
+
}
|
129
|
+
const publicKey = fetchedKey.key;
|
130
|
+
if (publicKey.publicKey.algorithm.name !== "Ed25519") {
|
131
|
+
if (fetchedKey.cached) {
|
132
|
+
logger.debug("The cached key (verificationMethod) for the proof is not a valid " +
|
133
|
+
"Ed25519 key:\n{keyId}; retrying with the freshly fetched key...", { proof, keyId: proof.verificationMethodId.href });
|
134
|
+
return await verifyProof(jsonLd, proof, {
|
135
|
+
...options,
|
136
|
+
keyCache: {
|
137
|
+
get: () => Promise.resolve(null),
|
138
|
+
set: async (keyId, key) => await options.keyCache?.set(keyId, key),
|
139
|
+
},
|
140
|
+
});
|
141
|
+
}
|
142
|
+
logger.debug("The fetched key (verificationMethod) for the proof is not a valid " +
|
143
|
+
"Ed25519 key:\n{keyId}", { proof, keyId: proof.verificationMethodId.href });
|
128
144
|
return null;
|
129
145
|
}
|
130
146
|
const verified = await dntShim.crypto.subtle.verify("Ed25519", publicKey.publicKey, proof.proofValue, digest);
|
131
147
|
if (!verified) {
|
132
|
-
|
148
|
+
if (fetchedKey.cached) {
|
149
|
+
logger.debug("Failed to verify the proof with the cached key {keyId}; retrying " +
|
150
|
+
"with the freshly fetched key...", { keyId: proof.verificationMethodId.href, proof });
|
151
|
+
return await verifyProof(jsonLd, proof, {
|
152
|
+
...options,
|
153
|
+
keyCache: {
|
154
|
+
get: () => Promise.resolve(null),
|
155
|
+
set: async (keyId, key) => await options.keyCache?.set(keyId, key),
|
156
|
+
},
|
157
|
+
});
|
158
|
+
}
|
159
|
+
logger.debug("Failed to verify the proof with the fetched key {keyId}:\n{proof}", { keyId: proof.verificationMethodId.href, proof });
|
133
160
|
return null;
|
134
161
|
}
|
135
162
|
return publicKey;
|
package/package.json
CHANGED
@@ -71,7 +71,10 @@ export interface InboxHandlerParameters<TContextData> {
|
|
71
71
|
handle: string | null;
|
72
72
|
context: RequestContext<TContextData>;
|
73
73
|
kv: KvStore;
|
74
|
-
|
74
|
+
kvPrefixes: {
|
75
|
+
activityIdempotence: KvKey;
|
76
|
+
publicKeyCache: KvKey;
|
77
|
+
};
|
75
78
|
queue?: MessageQueue;
|
76
79
|
actorDispatcher?: ActorDispatcher<TContextData>;
|
77
80
|
inboxListeners?: InboxListenerSet<TContextData>;
|
@@ -79,7 +82,7 @@ export interface InboxHandlerParameters<TContextData> {
|
|
79
82
|
onNotFound(request: Request): Response | Promise<Response>;
|
80
83
|
signatureTimeWindow: dntShim.Temporal.DurationLike;
|
81
84
|
}
|
82
|
-
export declare function handleInbox<TContextData>(request: Request, { handle, context, kv,
|
85
|
+
export declare function handleInbox<TContextData>(request: Request, { handle, context, kv, kvPrefixes, queue, actorDispatcher, inboxListeners, inboxErrorHandler, onNotFound, signatureTimeWindow, }: InboxHandlerParameters<TContextData>): Promise<Response>;
|
83
86
|
/**
|
84
87
|
* Options for the {@link respondWithObject} and
|
85
88
|
* {@link respondWithObjectIfAcceptable} functions.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/federation/handler.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAG5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/federation/handler.ts"],"names":[],"mappings":"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"}
|
@@ -169,6 +169,12 @@ export interface FederationKvPrefixes {
|
|
169
169
|
* `["_fedify", "remoteDocument"]` by default.
|
170
170
|
*/
|
171
171
|
remoteDocument: KvKey;
|
172
|
+
/**
|
173
|
+
* The key prefix used for caching public keys. `["_fedify", "publicKey"]`
|
174
|
+
* by default.
|
175
|
+
* @since 0.12.0
|
176
|
+
*/
|
177
|
+
publicKeyCache: KvKey;
|
172
178
|
}
|
173
179
|
/**
|
174
180
|
* Create a new {@link Federation} instance.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,cAAc,EAIpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,QAAQ,EAER,KAAK,OAAO,EACZ,KAAK,IAAI,EAET,KAAK,MAAM,EACZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAEV,OAAO,EAEP,cAAc,EACd,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAO5C,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9E,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE7E;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IAEZ;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3C;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;;;OAIG;IACH,kCAAkC,CAAC,EAAE,kCAAkC,CAAC;IAExE;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAEpD;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAE/B;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,oBACf,SACE,IAAI,CAAC,uBAAuB,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;IACzE;;;;;OAKG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;;OAIG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;;;;;OAMG;IACH,kCAAkC,CAAC,EAAE,kCAAkC,CAAC;IAExE;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAEpD;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,mBAAmB,EAAE,KAAK,CAAC;IAE3B;;;OAGG;IACH,cAAc,EAAE,KAAK,CAAC;IAEtB;;;;OAIG;IACH,cAAc,EAAE,KAAK,CAAC;CACvB;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAC3C,OAAO,EAAE,uBAAuB,GAC/B,UAAU,CAAC,YAAY,CAAC,CAM1B;AAID;;;;;;GAMG;AACH,qBAAa,UAAU,CAAC,YAAY;;IAmClC;;;;OAIG;gBACS,UAAU,EAAE,oBAAoB;IAgR5C;;;;;;;OAOG;IACH,UAAU,CAAC,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpD;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAE7E;;;;;OAKG;IACH,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,YAAY,GACxB,cAAc,CAAC,YAAY,CAAC;IA8E/B;;;;;;;;;OASG;IACH,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC;IAc9C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,kBAAkB,CAChB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,GACxC,oBAAoB,CAAC,YAAY,CAAC;IAkNrC;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EACF,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACrI,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EACF,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACjH,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EACF,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EAC7F,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EACF,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACzE,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EAAE,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACzD,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAEvD;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,OAAO,SAAS,MAAM,EAAE,MAAM,SAAS,MAAM,EAE/D,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,EACxD,IAAI,EAAE,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,EACrC,UAAU,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,GAC1D,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC;IAiCvD;;;;;;;;;;;OAWG;IACH,kBAAkB,CAChB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,GAC7D,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;IA4ChD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,mBAAmB,CACjB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,GAC7D,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;IAmChD;;;;;;;;;;OAUG;IACH,sBAAsB,CACpB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAAC,KAAK,GAAG,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,GAChE,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;IAmChD;;;;;;;;;;OAUG;IACH,sBAAsB,CACpB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAC9B,SAAS,EACT,YAAY,EACZ,GAAG,CACJ,GACA,yBAAyB,CAAC,YAAY,EAAE,GAAG,CAAC;IAuC/C;;;;;;;;;;;OAWG;IACH,kBAAkB,CAChB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,GACzD,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;IAmChD;;;;;;;;;;;OAWG;IACH,qBAAqB,CACnB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,GAC3D,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;IAmChD;;;;;;;;;;;OAWG;IACH,yBAAyB,CACvB,IAAI,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EAClC,UAAU,EAAE,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,GAC5D,yBAAyB,CAAC,YAAY,EAAE,IAAI,CAAC;IAoChD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,iBAAiB,CACf,SAAS,EAAE,GAAG,MAAM,WAAW,MAAM,EAAE,EACvC,eAAe,CAAC,EAAE,MAAM,GACvB,oBAAoB,CAAC,YAAY,CAAC;IAqDrC;;;;;;;;;;OAUG;IACG,YAAY,CAChB,IAAI,EAAE,aAAa,EAAE,EACrB,UAAU,EAAE,SAAS,GAAG,SAAS,EAAE,EACnC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,2BAA2B,CAAC,YAAY,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC;IAgHhB;;;;;;;;;;;OAWG;IACG,KAAK,CACT,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAC5C,OAAO,CAAC,QAAQ,CAAC;CA2MrB;AA0lBD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CAAC,YAAY;IAClD;;OAEG;IACH,WAAW,EAAE,YAAY,CAAC;IAE1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErE;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrE;AAQD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB,CAAC,YAAY;IAChD;;;;;OAKG;IACH,qBAAqB,CACnB,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,GAChD,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEtC;;;;;;;OAOG;IACH,oBAAoB,CAClB,UAAU,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAC/C,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,SAAS,CACP,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAC1C,oBAAoB,CAAC,YAAY,CAAC,CAAC;CACvC;AAQD;;GAEG;AACH,MAAM,WAAW,qBAAqB,CACpC,YAAY,EACZ,OAAO,SAAS,MAAM,EACtB,MAAM,SAAS,MAAM;IAErB;;;;;OAKG;IACH,SAAS,CACP,SAAS,EAAE,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,GACxD,qBAAqB,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;CACzD;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB,CAAC,YAAY,EAAE,OAAO;IAC9D;;;;OAIG;IACH,UAAU,CACR,OAAO,EAAE,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,GAChD,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEpD;;;;OAIG;IACH,cAAc,CACZ,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,GAC9C,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEpD;;;;OAIG;IACH,aAAa,CACX,MAAM,EAAE,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,GAC9C,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEpD;;;;;OAKG;IACH,SAAS,CACP,SAAS,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAC1C,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,YAAY;IAChD;;;;;;OAMG;IACH,EAAE,CAAC,SAAS,SAAS,QAAQ,EAE3B,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,EACvC,QAAQ,EAAE,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,GAC/C,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEtC;;;;;;OAMG;IACH,OAAO,CACL,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAAC,GACvC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEtC;;;;;;;;OAQG;IACH,sBAAsB,CACpB,UAAU,EAAE,wBAAwB,CAAC,YAAY,CAAC,GACjD,oBAAoB,CAAC,YAAY,CAAC,CAAC;CACvC;AAED,UAAU,2BAA2B,CAAC,YAAY,CAChD,SAAQ,mBAAmB;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,YAAY,CAAC;CAC3B"}
|
package/types/sig/http.d.ts
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
import * as dntShim from "../_dnt.shims.js";
|
4
4
|
import type { DocumentLoader } from "../runtime/docloader.js";
|
5
5
|
import { CryptographicKey } from "../vocab/vocab.js";
|
6
|
+
import { type KeyCache } from "./key.js";
|
6
7
|
/**
|
7
8
|
* Signs a request using the given private key.
|
8
9
|
* @param request The request to sign.
|
@@ -36,6 +37,11 @@ export interface VerifyRequestOptions {
|
|
36
37
|
* useful for testing.
|
37
38
|
*/
|
38
39
|
currentTime?: dntShim.Temporal.Instant;
|
40
|
+
/**
|
41
|
+
* The key cache to use for caching public keys.
|
42
|
+
* @since 0.12.0
|
43
|
+
*/
|
44
|
+
keyCache?: KeyCache;
|
39
45
|
}
|
40
46
|
/**
|
41
47
|
* Verifies the signature of a request.
|
@@ -50,5 +56,5 @@ export interface VerifyRequestOptions {
|
|
50
56
|
* @returns The public key of the verified signature, or `null` if the signature
|
51
57
|
* could not be verified.
|
52
58
|
*/
|
53
|
-
export declare function verifyRequest(request: Request, { documentLoader, contextLoader, timeWindow, currentTime }?: VerifyRequestOptions): Promise<CryptographicKey | null>;
|
59
|
+
export declare function verifyRequest(request: Request, { documentLoader, contextLoader, timeWindow, currentTime, keyCache }?: VerifyRequestOptions): Promise<CryptographicKey | null>;
|
54
60
|
//# sourceMappingURL=http.d.ts.map
|
package/types/sig/http.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/sig/http.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAI5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/sig/http.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAI5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAY,KAAK,QAAQ,EAAqB,MAAM,UAAU,CAAC;AAEtE;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,OAAO,CAAC,SAAS,EAC7B,KAAK,EAAE,GAAG,GACT,OAAO,CAAC,OAAO,CAAC,CA0ClB;AAQD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAE3C;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,GAClE,oBAAyB,GAC1B,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAyLlC"}
|
package/types/sig/key.d.ts
CHANGED
@@ -48,6 +48,27 @@ export interface FetchKeyOptions {
|
|
48
48
|
* The context loader for loading remote JSON-LD contexts.
|
49
49
|
*/
|
50
50
|
contextLoader?: DocumentLoader;
|
51
|
+
/**
|
52
|
+
* The key cache to use for caching public keys.
|
53
|
+
* @since 0.12.0
|
54
|
+
*/
|
55
|
+
keyCache?: KeyCache;
|
56
|
+
}
|
57
|
+
/**
|
58
|
+
* The result of {@link fetchKey}.
|
59
|
+
* @since 0.12.0
|
60
|
+
*/
|
61
|
+
export interface FetchKeyResult<T extends CryptographicKey | Multikey> {
|
62
|
+
/**
|
63
|
+
* The fetched (or cached) key.
|
64
|
+
*/
|
65
|
+
readonly key: T & {
|
66
|
+
publicKey: dntShim.CryptoKey;
|
67
|
+
};
|
68
|
+
/**
|
69
|
+
* Whether the key is fetched from the cache.
|
70
|
+
*/
|
71
|
+
readonly cached: boolean;
|
51
72
|
}
|
52
73
|
/**
|
53
74
|
* Fetches a {@link CryptographicKey} or {@link Multikey} from the given URL.
|
@@ -67,7 +88,22 @@ export declare function fetchKey<T extends CryptographicKey | Multikey>(keyId: U
|
|
67
88
|
documentLoader?: DocumentLoader;
|
68
89
|
contextLoader?: DocumentLoader;
|
69
90
|
}): Promise<T>;
|
70
|
-
}, { documentLoader, contextLoader }?: FetchKeyOptions): Promise<T
|
71
|
-
|
72
|
-
|
91
|
+
}, { documentLoader, contextLoader, keyCache }?: FetchKeyOptions): Promise<FetchKeyResult<T> | null>;
|
92
|
+
/**
|
93
|
+
* A cache for storing cryptographic keys.
|
94
|
+
* @since 0.12.0
|
95
|
+
*/
|
96
|
+
export interface KeyCache {
|
97
|
+
/**
|
98
|
+
* Gets a key from the cache.
|
99
|
+
* @param keyId The key ID.
|
100
|
+
*/
|
101
|
+
get(keyId: URL): Promise<CryptographicKey | Multikey | null>;
|
102
|
+
/**
|
103
|
+
* Sets a key to the cache.
|
104
|
+
* @param keyId The key ID.
|
105
|
+
* @param key The key to cache.
|
106
|
+
*/
|
107
|
+
set(keyId: URL, key: CryptographicKey | Multikey): Promise<void>;
|
108
|
+
}
|
73
109
|
//# sourceMappingURL=key.d.ts.map
|
package/types/sig/key.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/sig/key.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAU,MAAM,mBAAmB,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,CAAC,SAAS,EACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAC1B,IAAI,CA2BN;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAC1C,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CA2BhC;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAGnF;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,OAAO,CAAC,UAAU,EACvB,IAAI,EAAE,QAAQ,GAAG,SAAS,GACzB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAuB5B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../src/sig/key.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAU,MAAM,mBAAmB,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,CAAC,SAAS,EACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAC1B,IAAI,CA2BN;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAC1C,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CA2BhC;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAGnF;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,OAAO,CAAC,UAAU,EACvB,IAAI,EAAE,QAAQ,GAAG,SAAS,GACzB,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAuB5B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,gBAAgB,GAAG,QAAQ;IACnE;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG;QAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAA;KAAE,CAAC;IAEnD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,QAAQ,CAAC,CAAC,SAAS,gBAAgB,GAAG,QAAQ,EAClE,KAAK,EAAE,GAAG,GAAG,MAAM,EAEnB,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG;IACjC,UAAU,CACR,MAAM,EAAE,OAAO,EACf,OAAO,EAAE;QACP,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,aAAa,CAAC,EAAE,cAAc,CAAC;KAChC,GACA,OAAO,CAAC,CAAC,CAAC,CAAC;CACf,EACD,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAE,eAAoB,GAChE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CA0FnC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;IAE7D;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE"}
|
package/types/sig/mod.d.ts
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
* @module
|
5
5
|
*/
|
6
6
|
export { signRequest, verifyRequest, type VerifyRequestOptions, } from "./http.js";
|
7
|
-
export { exportJwk, generateCryptoKeyPair, importJwk } from "./key.js";
|
7
|
+
export { exportJwk, generateCryptoKeyPair, importJwk, type KeyCache, } from "./key.js";
|
8
8
|
export { doesActorOwnKey, type DoesActorOwnKeyOptions, getKeyOwner, type GetKeyOwnerOptions, } from "./owner.js";
|
9
|
+
export * from "./proof.js";
|
9
10
|
//# sourceMappingURL=mod.d.ts.map
|
package/types/sig/mod.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/sig/mod.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,oBAAoB,GAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/sig/mod.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,oBAAoB,GAC1B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,SAAS,EACT,KAAK,QAAQ,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,eAAe,EACf,KAAK,sBAAsB,EAC3B,WAAW,EACX,KAAK,kBAAkB,GACxB,MAAM,YAAY,CAAC;AACpB,cAAc,YAAY,CAAC"}
|
package/types/sig/proof.d.ts
CHANGED
@@ -3,6 +3,7 @@ import * as dntShim from "../_dnt.shims.js";
|
|
3
3
|
import { Multikey } from "../vocab/vocab.js";
|
4
4
|
import type { DocumentLoader } from "../runtime/docloader.js";
|
5
5
|
import { DataIntegrityProof, type Object } from "../vocab/vocab.js";
|
6
|
+
import { type KeyCache } from "./key.js";
|
6
7
|
/**
|
7
8
|
* Options for {@link createProof}.
|
8
9
|
* @since 0.10.0
|
@@ -67,6 +68,11 @@ export interface VerifyProofOptions {
|
|
67
68
|
* The document loader for loading remote JSON-LD documents.
|
68
69
|
*/
|
69
70
|
documentLoader?: DocumentLoader;
|
71
|
+
/**
|
72
|
+
* The key cache to use for caching public keys.
|
73
|
+
* @since 0.12.0
|
74
|
+
*/
|
75
|
+
keyCache?: KeyCache;
|
70
76
|
}
|
71
77
|
/**
|
72
78
|
* Verifies the given proof for the object.
|
package/types/sig/proof.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/sig/proof.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAY,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/sig/proof.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAY,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,UAAU,CAAC;AAIlB;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;OAEG;IACH,OAAO,CAAC,EACJ,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;IAExC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,CAAC,SAAS,EAC7B,KAAK,EAAE,GAAG,EACV,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,GAAE,kBAAuB,GAC3D,OAAO,CAAC,kBAAkB,CAAC,CAsC7B;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IAC3D;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,CAAC,SAAS,MAAM,EAC/C,MAAM,EAAE,CAAC,EACT,UAAU,EAAE,OAAO,CAAC,SAAS,EAC7B,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAuG1B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;CAC9D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,CAAC,SAAS,MAAM,EAEjD,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG;IACjC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvE,EACD,MAAM,EAAE,OAAO,EACf,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CA2BnB"}
|