@sphereon/ssi-sdk.kms-rest-client 0.34.1-feature.IDK.11.54 → 0.34.1-feature.SSISDK.44.finish.dcql.309
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/index.cjs +61 -62
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +61 -62
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/agent/KmsRestClient.ts +82 -62
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.kms-rest-client",
|
|
3
3
|
"description": "contains the client side to call REST endpoints of a KMS server",
|
|
4
|
-
"version": "0.34.1-feature.
|
|
4
|
+
"version": "0.34.1-feature.SSISDK.44.finish.dcql.309+dbfc561c",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"generate-plugin-schema": "tsx ../../packages/dev/bin/sphereon.js dev generate-plugin-schema"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@sphereon/ssi-types": "0.34.1-feature.
|
|
31
|
+
"@sphereon/ssi-types": "0.34.1-feature.SSISDK.44.finish.dcql.309+dbfc561c",
|
|
32
32
|
"cross-fetch": "^3.1.8"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
"KMS",
|
|
57
57
|
"REST"
|
|
58
58
|
],
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "dbfc561c168d680c69e1808dc13864d35573523c"
|
|
60
60
|
}
|
|
@@ -115,11 +115,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
115
115
|
})
|
|
116
116
|
logger.debug(`get resolver response: ${response}`)
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
return
|
|
120
|
-
} catch (error) {
|
|
121
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
118
|
+
if (!response.ok) {
|
|
119
|
+
return this.handleHttpError(url, response)
|
|
122
120
|
}
|
|
121
|
+
|
|
122
|
+
return ResolverFromJSONTyped(await response.json(), false)
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
/** {@inheritDoc IKmsRestClient.kmsListResolvers} */
|
|
@@ -132,11 +132,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
132
132
|
})
|
|
133
133
|
logger.debug(`list resolvers response: ${response}`)
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
return
|
|
137
|
-
} catch (error) {
|
|
138
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
135
|
+
if (!response.ok) {
|
|
136
|
+
return this.handleHttpError(url, response)
|
|
139
137
|
}
|
|
138
|
+
|
|
139
|
+
return ListResolversResponseFromJSONTyped(await response.json(), false)
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
/** {@inheritDoc IKmsRestClient.kmsResolveKey} */
|
|
@@ -157,11 +157,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
157
157
|
})
|
|
158
158
|
logger.debug(`resolve key response: ${response}`)
|
|
159
159
|
|
|
160
|
-
|
|
161
|
-
return
|
|
162
|
-
} catch (error) {
|
|
163
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
160
|
+
if (!response.ok) {
|
|
161
|
+
return this.handleHttpError(url, response)
|
|
164
162
|
}
|
|
163
|
+
|
|
164
|
+
return ResolvedKeyInfoFromJSONTyped(await response.json(), false)
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
/** {@inheritDoc IKmsRestClient.kmsCreateRawSignature} */
|
|
@@ -180,11 +180,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
180
180
|
})
|
|
181
181
|
logger.debug(`create raw signature response: ${response}`)
|
|
182
182
|
|
|
183
|
-
|
|
184
|
-
return
|
|
185
|
-
} catch (error) {
|
|
186
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
183
|
+
if (!response.ok) {
|
|
184
|
+
return this.handleHttpError(url, response)
|
|
187
185
|
}
|
|
186
|
+
|
|
187
|
+
return CreateRawSignatureResponseFromJSONTyped(await response.json(), false)
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
/** {@inheritDoc IKmsRestClient.kmsIsValidRawSignature} */
|
|
@@ -204,11 +204,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
204
204
|
})
|
|
205
205
|
logger.debug(`verify raw signature response: ${response}`)
|
|
206
206
|
|
|
207
|
-
|
|
208
|
-
return
|
|
209
|
-
} catch (error) {
|
|
210
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
207
|
+
if (!response.ok) {
|
|
208
|
+
return this.handleHttpError(url, response)
|
|
211
209
|
}
|
|
210
|
+
|
|
211
|
+
return VerifyRawSignatureResponseFromJSONTyped(await response.json(), false)
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
/** {@inheritDoc IKmsRestClient.kmsGetKey} */
|
|
@@ -221,11 +221,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
221
221
|
})
|
|
222
222
|
logger.debug(`get key response: ${response}`)
|
|
223
223
|
|
|
224
|
-
|
|
225
|
-
return
|
|
226
|
-
} catch (error) {
|
|
227
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
224
|
+
if (!response.ok) {
|
|
225
|
+
return this.handleHttpError(url, response)
|
|
228
226
|
}
|
|
227
|
+
|
|
228
|
+
return GetKeyResponseFromJSONTyped(await response.json(), false)
|
|
229
229
|
}
|
|
230
230
|
|
|
231
231
|
/** {@inheritDoc IKmsRestClient.kmsListKeys} */
|
|
@@ -237,11 +237,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
237
237
|
})
|
|
238
238
|
logger.debug(`list keys response: ${response}`)
|
|
239
239
|
|
|
240
|
-
|
|
241
|
-
return
|
|
242
|
-
} catch (error) {
|
|
243
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
240
|
+
if (!response.ok) {
|
|
241
|
+
return this.handleHttpError(url.toString(), response)
|
|
244
242
|
}
|
|
243
|
+
|
|
244
|
+
return ListKeysResponseFromJSONTyped(await response.json(), false)
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
/** {@inheritDoc IKmsRestClient.kmsStoreKey} */
|
|
@@ -260,11 +260,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
260
260
|
})
|
|
261
261
|
logger.debug(`store key response: ${response}`)
|
|
262
262
|
|
|
263
|
-
|
|
264
|
-
return
|
|
265
|
-
} catch (error) {
|
|
266
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
263
|
+
if (!response.ok) {
|
|
264
|
+
return this.handleHttpError(url, response)
|
|
267
265
|
}
|
|
266
|
+
|
|
267
|
+
return StoreKeyResponseFromJSONTyped(await response.json(), false)
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
/** {@inheritDoc IKmsRestClient.kmsGenerateKey} */
|
|
@@ -285,11 +285,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
285
285
|
})
|
|
286
286
|
logger.debug(`generate key response: ${response}`)
|
|
287
287
|
|
|
288
|
-
|
|
289
|
-
return
|
|
290
|
-
} catch (error) {
|
|
291
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
288
|
+
if (!response.ok) {
|
|
289
|
+
return this.handleHttpError(url, response)
|
|
292
290
|
}
|
|
291
|
+
|
|
292
|
+
return GenerateKeyResponseFromJSONTyped(await response.json(), false)
|
|
293
293
|
}
|
|
294
294
|
|
|
295
295
|
/** {@inheritDoc IKmsRestClient.kmsDeleteKey} */
|
|
@@ -297,9 +297,14 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
297
297
|
const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)
|
|
298
298
|
const url = KmsRestClient.urlWithBase(`/keys/${args.aliasOrKid}`, baseUrl)
|
|
299
299
|
|
|
300
|
-
await fetch(url, {
|
|
300
|
+
const response = await fetch(url, {
|
|
301
301
|
method: 'DELETE',
|
|
302
302
|
})
|
|
303
|
+
logger.debug(`delete key response: ${response}`)
|
|
304
|
+
|
|
305
|
+
if (!response.ok) {
|
|
306
|
+
return this.handleHttpError(url, response)
|
|
307
|
+
}
|
|
303
308
|
|
|
304
309
|
return true
|
|
305
310
|
}
|
|
@@ -314,11 +319,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
314
319
|
})
|
|
315
320
|
logger.debug(`get provider response: ${response}`)
|
|
316
321
|
|
|
317
|
-
|
|
318
|
-
return
|
|
319
|
-
} catch (error) {
|
|
320
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
322
|
+
if (!response.ok) {
|
|
323
|
+
return this.handleHttpError(url, response)
|
|
321
324
|
}
|
|
325
|
+
|
|
326
|
+
return KeyProviderResponseFromJSONTyped(await response.json(), false)
|
|
322
327
|
}
|
|
323
328
|
|
|
324
329
|
/** {@inheritDoc IKmsRestClient.kmsListKeyProviders} */
|
|
@@ -331,11 +336,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
331
336
|
})
|
|
332
337
|
logger.debug(`list providers response: ${response}`)
|
|
333
338
|
|
|
334
|
-
|
|
335
|
-
return
|
|
336
|
-
} catch (error) {
|
|
337
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
339
|
+
if (!response.ok) {
|
|
340
|
+
return this.handleHttpError(url, response)
|
|
338
341
|
}
|
|
342
|
+
|
|
343
|
+
return ListKeyProvidersResponseFromJSONTyped(await response.json(), false)
|
|
339
344
|
}
|
|
340
345
|
|
|
341
346
|
/** {@inheritDoc IKmsRestClient.kmsProviderListKeys} */
|
|
@@ -348,11 +353,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
348
353
|
})
|
|
349
354
|
logger.debug(`list provider keys response: ${response}`)
|
|
350
355
|
|
|
351
|
-
|
|
352
|
-
return
|
|
353
|
-
} catch (error) {
|
|
354
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
356
|
+
if (!response.ok) {
|
|
357
|
+
return this.handleHttpError(url, response)
|
|
355
358
|
}
|
|
359
|
+
|
|
360
|
+
return ListKeysResponseFromJSONTyped(await response.json(), false)
|
|
356
361
|
}
|
|
357
362
|
|
|
358
363
|
/** {@inheritDoc IKmsRestClient.kmsProviderStoreKey} */
|
|
@@ -371,11 +376,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
371
376
|
})
|
|
372
377
|
logger.debug(`provider store key response: ${response}`)
|
|
373
378
|
|
|
374
|
-
|
|
375
|
-
return
|
|
376
|
-
} catch (error) {
|
|
377
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
379
|
+
if (!response.ok) {
|
|
380
|
+
return this.handleHttpError(url, response)
|
|
378
381
|
}
|
|
382
|
+
|
|
383
|
+
return StoreKeyResponseFromJSONTyped(await response.json(), false)
|
|
379
384
|
}
|
|
380
385
|
|
|
381
386
|
/** {@inheritDoc IKmsRestClient.kmsProviderGenerateKey} */
|
|
@@ -395,11 +400,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
395
400
|
})
|
|
396
401
|
logger.debug(`provider generate key response: ${response}`)
|
|
397
402
|
|
|
398
|
-
|
|
399
|
-
return
|
|
400
|
-
} catch (error) {
|
|
401
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
403
|
+
if (!response.ok) {
|
|
404
|
+
return this.handleHttpError(url, response)
|
|
402
405
|
}
|
|
406
|
+
|
|
407
|
+
return GenerateKeyResponseFromJSONTyped(await response.json(), false)
|
|
403
408
|
}
|
|
404
409
|
|
|
405
410
|
/** {@inheritDoc IKmsRestClient.kmsProviderGetKey} */
|
|
@@ -412,11 +417,11 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
412
417
|
})
|
|
413
418
|
logger.debug(`get provider key response: ${response}`)
|
|
414
419
|
|
|
415
|
-
|
|
416
|
-
return
|
|
417
|
-
} catch (error) {
|
|
418
|
-
return Promise.reject(Error(`request to ${url} returned ${error}`))
|
|
420
|
+
if (!response.ok) {
|
|
421
|
+
return this.handleHttpError(url, response)
|
|
419
422
|
}
|
|
423
|
+
|
|
424
|
+
return GetKeyResponseFromJSONTyped(await response.json(), false)
|
|
420
425
|
}
|
|
421
426
|
|
|
422
427
|
/** {@inheritDoc IKmsRestClient.kmsProviderDeleteKey} */
|
|
@@ -424,9 +429,14 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
424
429
|
const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)
|
|
425
430
|
const url = KmsRestClient.urlWithBase(`providers/${args.providerId}/keys/${args.aliasOrKid}`, baseUrl)
|
|
426
431
|
|
|
427
|
-
await fetch(url, {
|
|
432
|
+
const response = await fetch(url, {
|
|
428
433
|
method: 'DELETE',
|
|
429
434
|
})
|
|
435
|
+
logger.debug(`delete key response: ${response}`)
|
|
436
|
+
|
|
437
|
+
if (!response.ok) {
|
|
438
|
+
return this.handleHttpError(url, response)
|
|
439
|
+
}
|
|
430
440
|
|
|
431
441
|
return true
|
|
432
442
|
}
|
|
@@ -465,4 +475,14 @@ export class KmsRestClient implements IAgentPlugin {
|
|
|
465
475
|
|
|
466
476
|
return url
|
|
467
477
|
}
|
|
478
|
+
|
|
479
|
+
private async handleHttpError(url: string, response: Response): Promise<never> {
|
|
480
|
+
const contentType = response.headers.get("content-type")
|
|
481
|
+
const isJson = contentType?.includes("application/json")
|
|
482
|
+
const responseBody = isJson
|
|
483
|
+
? JSON.stringify(await response.json())
|
|
484
|
+
: await response.text()
|
|
485
|
+
|
|
486
|
+
return Promise.reject(Error(`request to ${url} returned http error ${response.status} - ${responseBody}`))
|
|
487
|
+
}
|
|
468
488
|
}
|