@sphereon/ssi-sdk.kms-rest-client 0.34.1-feature.IDK.11.52 → 0.34.1-feature.IDK.11.53
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/LICENSE +1 -1
- package/README.md +369 -0
- package/dist/index.cjs +2007 -37
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1362 -23
- package/dist/index.d.ts +1362 -23
- package/dist/index.js +2007 -37
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/agent/KmsRestClient.ts +26 -25
- package/src/index.ts +1 -0
- package/src/types/IKmsRestClient.ts +15 -14
package/LICENSE
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
1. Definitions.
|
|
8
8
|
|
|
9
9
|
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
-
and distribution as defined by Sections 1 through 9 of this
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
11
|
|
|
12
12
|
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
13
|
the copyright owner that is granting the License.
|
package/README.md
ADDED
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
<!--suppress HtmlDeprecatedAttribute -->
|
|
2
|
+
<h1 align="center">
|
|
3
|
+
<br>
|
|
4
|
+
<a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>
|
|
5
|
+
<br>KMS REST Client
|
|
6
|
+
<br>
|
|
7
|
+
</h1>
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!**
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# ssi-sdk.kms-rest-client
|
|
16
|
+
|
|
17
|
+
A SSI-SDK plugin with types/interfaces and utility functions for calling rest endpoints of a KMS
|
|
18
|
+
|
|
19
|
+
## Available functions
|
|
20
|
+
|
|
21
|
+
- kmsClientGetResolver
|
|
22
|
+
- kmsClientListResolvers
|
|
23
|
+
- kmsClientResolveKey
|
|
24
|
+
- kmsClientCreateRawSignature
|
|
25
|
+
- kmsClientIsValidRawSignature
|
|
26
|
+
- kmsClientGetKey
|
|
27
|
+
- kmsClientListKeys
|
|
28
|
+
- kmsClientStoreKey
|
|
29
|
+
- kmsClientGenerateKey
|
|
30
|
+
- kmsClientDeleteKey
|
|
31
|
+
- kmsClientGetKeyProvider
|
|
32
|
+
- kmsClientListKeyProviders
|
|
33
|
+
- kmsClientProviderListKeys
|
|
34
|
+
- kmsClientProviderStoreKey
|
|
35
|
+
- kmsClientProviderGenerateKey
|
|
36
|
+
- kmsClientProviderGetKey
|
|
37
|
+
- kmsClientProviderDeleteKey
|
|
38
|
+
|
|
39
|
+
### Adding the plugin to an agent:
|
|
40
|
+
|
|
41
|
+
```typescript
|
|
42
|
+
import { KmsRestClient } from '@sphereon/ssi-sdk.kms-rest-client'
|
|
43
|
+
|
|
44
|
+
const agent = createAgent<IKmsRestClient>({
|
|
45
|
+
plugins: [
|
|
46
|
+
new KmsRestClient({
|
|
47
|
+
baseUrl: 'my-issuer-base-url',
|
|
48
|
+
}),
|
|
49
|
+
],
|
|
50
|
+
})
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Usage
|
|
54
|
+
|
|
55
|
+
### Getting a resolver:
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
const resolver = await agent.kmsClientGetResolver({
|
|
59
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
60
|
+
resolverId: 'jose_cose_resolver',
|
|
61
|
+
})
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### List resolvers
|
|
65
|
+
|
|
66
|
+
```typescript
|
|
67
|
+
const resolvers = await agent.kmsClientListResolvers({
|
|
68
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
69
|
+
})
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Resolve key
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
const resolvedKey = await agent.kmsClientResolveKey({
|
|
76
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
77
|
+
resolverId: 'jose_cose_resolver',
|
|
78
|
+
keyInfo: {
|
|
79
|
+
key: {
|
|
80
|
+
kty: 'EC',
|
|
81
|
+
kid: 'HAnuRAJHmahYSmnfcmX9lF25bRsi_IWoFkJ2KueEXOU',
|
|
82
|
+
use: 'sig',
|
|
83
|
+
keyOps: ['sign'],
|
|
84
|
+
crv: 'P-256',
|
|
85
|
+
x: 'DwRiRyvtMXhFwCKuoAMnpviMmrE1B0Fu44_LeQEycEs',
|
|
86
|
+
y: '3BnhvdB6QYGp7x9Ey7qW_TNZ0MI0hNZgLlyl6rbxln8',
|
|
87
|
+
d: 'xVjyhcZDnLR3zJcuMMlQjXlNGDz3hxS0_aCoDd8P9XY',
|
|
88
|
+
},
|
|
89
|
+
alias: 'HAnuRAJHmahYSmnfcmX9lF25bRsi_IWoFkJ2KueEXOU',
|
|
90
|
+
providerId: 'provider-id',
|
|
91
|
+
kid: 'HAnuRAJHmahYSmnfcmX9lF25bRsi_IWoFkJ2KueEXOU',
|
|
92
|
+
signatureAlgorithm: 'ECDSA_SHA256',
|
|
93
|
+
keyVisibility: 'PRIVATE',
|
|
94
|
+
keyType: 'EC',
|
|
95
|
+
keyEncoding: 'JOSE',
|
|
96
|
+
},
|
|
97
|
+
})
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Create signature
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
const signature = await agent.kmsClientCreateRawSignature({
|
|
104
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
105
|
+
keyInfo: {
|
|
106
|
+
key: {
|
|
107
|
+
kty: 'EC',
|
|
108
|
+
kid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
109
|
+
use: 'sig',
|
|
110
|
+
keyOps: ['sign'],
|
|
111
|
+
crv: 'P-256',
|
|
112
|
+
x: 'HFL67WWh6PYWKOy1mzt9Y2ANs-CWFIyVtouR-Jx_mAM',
|
|
113
|
+
y: '9f_1x7fwUuEbEwxSNTYE3jQF-zForWpKkEMpiUp1MNI',
|
|
114
|
+
d: 'P_4YEyuDj4aA4IVYVku4dm3BoDReFTKVsBwb1utoWCQ',
|
|
115
|
+
},
|
|
116
|
+
kid: '7KYAtmhlRu4M5k5Uv9-jV3XKgRc8wpzJYKg3l89LkGQ',
|
|
117
|
+
alias: 'Gxq2tXSNl_kp8tKHNzIlO7jQDM-aYcgn1aewGW8Yby4',
|
|
118
|
+
providerId: 'test-software',
|
|
119
|
+
signatureAlgorithm: 'ECDSA_SHA256',
|
|
120
|
+
keyVisibility: 'PUBLIC',
|
|
121
|
+
x5c: ['1', '2'],
|
|
122
|
+
keyEncoding: 'JOSE',
|
|
123
|
+
opts: {
|
|
124
|
+
test: 'test',
|
|
125
|
+
},
|
|
126
|
+
keyType: 'EC',
|
|
127
|
+
},
|
|
128
|
+
input: 'aGVsbG8=',
|
|
129
|
+
})
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Verify signature
|
|
133
|
+
|
|
134
|
+
```typescript
|
|
135
|
+
const verification = await agent.kmsClientIsValidRawSignature({
|
|
136
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
137
|
+
keyInfo: {
|
|
138
|
+
key: {
|
|
139
|
+
kty: 'EC',
|
|
140
|
+
kid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
141
|
+
use: 'sig',
|
|
142
|
+
keyOps: ['sign'],
|
|
143
|
+
crv: 'P-256',
|
|
144
|
+
x: 'HFL67WWh6PYWKOy1mzt9Y2ANs-CWFIyVtouR-Jx_mAM',
|
|
145
|
+
y: '9f_1x7fwUuEbEwxSNTYE3jQF-zForWpKkEMpiUp1MNI',
|
|
146
|
+
d: 'P_4YEyuDj4aA4IVYVku4dm3BoDReFTKVsBwb1utoWCQ',
|
|
147
|
+
},
|
|
148
|
+
kid: '7KYAtmhlRu4M5k5Uv9-jV3XKgRc8wpzJYKg3l89LkGQ',
|
|
149
|
+
alias: 'Gxq2tXSNl_kp8tKHNzIlO7jQDM-aYcgn1aewGW8Yby4',
|
|
150
|
+
providerId: 'test-software',
|
|
151
|
+
signatureAlgorithm: 'ECDSA_SHA256',
|
|
152
|
+
keyVisibility: 'PUBLIC',
|
|
153
|
+
x5c: ['1', '2'],
|
|
154
|
+
keyEncoding: 'JOSE',
|
|
155
|
+
opts: {
|
|
156
|
+
test: 'test',
|
|
157
|
+
},
|
|
158
|
+
keyType: 'EC',
|
|
159
|
+
},
|
|
160
|
+
input: 'aGVsbG8=',
|
|
161
|
+
signature: 'RrTEoBb/3KQSEiCYnrTizM4O7qWeY5cNQYlQYl4pLMZKyLBYaoU1uxzmwLMFAIfnwA41mMTyLZlG4JG0zCm9iA==',
|
|
162
|
+
})
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Get key
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
const key = await agent.kmsClientGetKey({
|
|
169
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
170
|
+
aliasOrKid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
171
|
+
})
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### List keys
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
const keys = await agent.kmsClientListKeys({
|
|
178
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
179
|
+
})
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Store key
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
const key = await agent.kmsClientStoreKey({
|
|
186
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
187
|
+
keyInfo: {
|
|
188
|
+
key: {
|
|
189
|
+
kty: 'EC',
|
|
190
|
+
kid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
191
|
+
use: 'sig',
|
|
192
|
+
keyOps: ['sign'],
|
|
193
|
+
crv: 'P-256',
|
|
194
|
+
x: 'HFL67WWh6PYWKOy1mzt9Y2ANs-CWFIyVtouR-Jx_mAM',
|
|
195
|
+
y: '9f_1x7fwUuEbEwxSNTYE3jQF-zForWpKkEMpiUp1MNI',
|
|
196
|
+
d: 'P_4YEyuDj4aA4IVYVku4dm3BoDReFTKVsBwb1utoWCQ',
|
|
197
|
+
},
|
|
198
|
+
kid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
199
|
+
alias: 'Gxq2tXSNl_kp8tKHNzIlO7jQDM-aYcgn1aewGW8Yby4',
|
|
200
|
+
providerId: 'provider-id',
|
|
201
|
+
signatureAlgorithm: 'ECDSA_SHA256',
|
|
202
|
+
keyVisibility: 'PUBLIC',
|
|
203
|
+
x5c: ['1', '2'],
|
|
204
|
+
keyEncoding: 'JOSE',
|
|
205
|
+
opts: {
|
|
206
|
+
test: 'test',
|
|
207
|
+
},
|
|
208
|
+
keyType: 'EC',
|
|
209
|
+
},
|
|
210
|
+
certChain: [
|
|
211
|
+
'MIIByTCCAW6gAwIBAgIQF+SpO+EPJj42boA4WHPL2zAKBggqhkjOPQQDAjBAMT4wPAYDVQQDEzVBY2MgS2l3YSBEaWdpdGFsIENlcnRpZmljYXRpb24gV2FsbGV0IEludGVybWVkaWF0ZSBDQTAeFw0yNTA2MjUxMzA4MzJaFw0yNjA2MjUxMzA4MzJaMDYxNDAyBgNVBAMTK3dhbGxldC02NDA2MzA3OS02ZmM3LTRhZTgtOWEwMi0yNTE4YTRhYmQyZmIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASnaLC4eYSs/8XkDz8rDANemjmyI+N5g0yIJIiScgCnjZogmlDGGQ8HYCdvs9SJJJ3c17YSax44vVl6LMnidvKno1QwUjAJBgNVHRMEAjAAMB0GA1UdDgQWBBRI7w4/H9JCty7T4aVl+im74XEV0zAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwCgYIKoZIzj0EAwIDSQAwRgIhAPnLEppg5TGMCqp/Nn+2os6vupEclyKv1yk/JQFQME8TAiEAiYrVm/6J8zGmhtiG958kZB0afXhM/i3DuY8+0kpTUzA=',
|
|
212
|
+
'MIIByTCCAW6gAwIBAgIQF+SpO+EPJj42boA4WHPL2zAKBggqhkjOPQQDAjBAMT4wPAYDVQQDEzVBY2MgS2l3YSBEaWdpdGFsIENlcnRpZmljYXRpb24gV2FsbGV0IEludGVybWVkaWF0ZSBDQTAeFw0yNTA2MjUxMzA4MzJaFw0yNjA2MjUxMzA4MzJaMDYxNDAyBgNVBAMTK3dhbGxldC02NDA2MzA3OS02ZmM3LTRhZTgtOWEwMi0yNTE4YTRhYmQyZmIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASnaLC4eYSs/8XkDz8rDANemjmyI+N5g0yIJIiScgCnjZogmlDGGQ8HYCdvs9SJJJ3c17YSax44vVl6LMnidvKno1QwUjAJBgNVHRMEAjAAMB0GA1UdDgQWBBRI7w4/H9JCty7T4aVl+im74XEV0zAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwCgYIKoZIzj0EAwIDSQAwRgIhAPnLEppg5TGMCqp/Nn+2os6vupEclyKv1yk/JQFQME8TAiEAiYrVm/6J8zGmhtiG958kZB0afXhM/i3DuY8+0kpTUzA=',
|
|
213
|
+
],
|
|
214
|
+
})
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Generate key
|
|
218
|
+
|
|
219
|
+
```typescript
|
|
220
|
+
const key = await agent.kmsClientGenerateKey({
|
|
221
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
222
|
+
use: 'sig',
|
|
223
|
+
alg: 'ECDSA_SHA256',
|
|
224
|
+
keyOperations: ['sign'],
|
|
225
|
+
})
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Delete key
|
|
229
|
+
|
|
230
|
+
```typescript
|
|
231
|
+
const result = await agent.kmsClientDeleteKey({
|
|
232
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
233
|
+
aliasOrKid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
234
|
+
})
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Get provider
|
|
238
|
+
|
|
239
|
+
```typescript
|
|
240
|
+
const provider = await agent.kmsClientGetKeyProvider({
|
|
241
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
242
|
+
providerId: 'provider-id',
|
|
243
|
+
})
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### List providers
|
|
247
|
+
|
|
248
|
+
```typescript
|
|
249
|
+
const providers = await agent.kmsClientListKeyProviders({
|
|
250
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
251
|
+
})
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### List providers
|
|
255
|
+
|
|
256
|
+
```typescript
|
|
257
|
+
const providers = await agent.kmsClientListKeyProviders({
|
|
258
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
259
|
+
})
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### List provider keys
|
|
263
|
+
|
|
264
|
+
```typescript
|
|
265
|
+
const keys = await agent.kmsClientProviderListKeys({
|
|
266
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
267
|
+
providerId: 'provider-id',
|
|
268
|
+
})
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Store provider key
|
|
272
|
+
|
|
273
|
+
```typescript
|
|
274
|
+
const key = await agent.kmsClientProviderStoreKey({
|
|
275
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
276
|
+
providerId: 'provider-id',
|
|
277
|
+
keyInfo: {
|
|
278
|
+
key: {
|
|
279
|
+
kty: 'EC',
|
|
280
|
+
kid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
281
|
+
use: 'sig',
|
|
282
|
+
keyOps: ['sign'],
|
|
283
|
+
crv: 'P-256',
|
|
284
|
+
x: 'HFL67WWh6PYWKOy1mzt9Y2ANs-CWFIyVtouR-Jx_mAM',
|
|
285
|
+
y: '9f_1x7fwUuEbEwxSNTYE3jQF-zForWpKkEMpiUp1MNI',
|
|
286
|
+
d: 'P_4YEyuDj4aA4IVYVku4dm3BoDReFTKVsBwb1utoWCQ',
|
|
287
|
+
},
|
|
288
|
+
kid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
289
|
+
alias: 'Gxq2tXSNl_kp8tKHNzIlO7jQDM-aYcgn1aewGW8Yby4',
|
|
290
|
+
providerId: 'test-software',
|
|
291
|
+
signatureAlgorithm: 'ECDSA_SHA256',
|
|
292
|
+
keyVisibility: 'PUBLIC',
|
|
293
|
+
x5c: ['1', '2'],
|
|
294
|
+
keyEncoding: 'JOSE',
|
|
295
|
+
opts: {
|
|
296
|
+
test: 'test',
|
|
297
|
+
},
|
|
298
|
+
keyType: 'EC',
|
|
299
|
+
},
|
|
300
|
+
certChain: [
|
|
301
|
+
'MIIByTCCAW6gAwIBAgIQF+SpO+EPJj42boA4WHPL2zAKBggqhkjOPQQDAjBAMT4wPAYDVQQDEzVBY2MgS2l3YSBEaWdpdGFsIENlcnRpZmljYXRpb24gV2FsbGV0IEludGVybWVkaWF0ZSBDQTAeFw0yNTA2MjUxMzA4MzJaFw0yNjA2MjUxMzA4MzJaMDYxNDAyBgNVBAMTK3dhbGxldC02NDA2MzA3OS02ZmM3LTRhZTgtOWEwMi0yNTE4YTRhYmQyZmIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASnaLC4eYSs/8XkDz8rDANemjmyI+N5g0yIJIiScgCnjZogmlDGGQ8HYCdvs9SJJJ3c17YSax44vVl6LMnidvKno1QwUjAJBgNVHRMEAjAAMB0GA1UdDgQWBBRI7w4/H9JCty7T4aVl+im74XEV0zAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwCgYIKoZIzj0EAwIDSQAwRgIhAPnLEppg5TGMCqp/Nn+2os6vupEclyKv1yk/JQFQME8TAiEAiYrVm/6J8zGmhtiG958kZB0afXhM/i3DuY8+0kpTUzA=',
|
|
302
|
+
'MIIByTCCAW6gAwIBAgIQF+SpO+EPJj42boA4WHPL2zAKBggqhkjOPQQDAjBAMT4wPAYDVQQDEzVBY2MgS2l3YSBEaWdpdGFsIENlcnRpZmljYXRpb24gV2FsbGV0IEludGVybWVkaWF0ZSBDQTAeFw0yNTA2MjUxMzA4MzJaFw0yNjA2MjUxMzA4MzJaMDYxNDAyBgNVBAMTK3dhbGxldC02NDA2MzA3OS02ZmM3LTRhZTgtOWEwMi0yNTE4YTRhYmQyZmIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASnaLC4eYSs/8XkDz8rDANemjmyI+N5g0yIJIiScgCnjZogmlDGGQ8HYCdvs9SJJJ3c17YSax44vVl6LMnidvKno1QwUjAJBgNVHRMEAjAAMB0GA1UdDgQWBBRI7w4/H9JCty7T4aVl+im74XEV0zAOBgNVHQ8BAf8EBAMCB4AwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwIwCgYIKoZIzj0EAwIDSQAwRgIhAPnLEppg5TGMCqp/Nn+2os6vupEclyKv1yk/JQFQME8TAiEAiYrVm/6J8zGmhtiG958kZB0afXhM/i3DuY8+0kpTUzA=',
|
|
303
|
+
],
|
|
304
|
+
})
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### Generate provider key
|
|
308
|
+
|
|
309
|
+
```typescript
|
|
310
|
+
const key = await agent.kmsClientProviderGenerateKey({
|
|
311
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
312
|
+
providerId: 'provider-id',
|
|
313
|
+
use: 'sig',
|
|
314
|
+
alg: 'ECDSA_SHA256',
|
|
315
|
+
keyOperations: ['sign'],
|
|
316
|
+
})
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Get provider key
|
|
320
|
+
|
|
321
|
+
```typescript
|
|
322
|
+
const key = await agent.kmsClientProviderGetKey({
|
|
323
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
324
|
+
providerId: 'provider-id',
|
|
325
|
+
aliasOrKid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
326
|
+
})
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
### Delete provider key
|
|
330
|
+
|
|
331
|
+
```typescript
|
|
332
|
+
const result = await agent.kmsClientProviderDeleteKey({
|
|
333
|
+
baseUrl: 'https://ssi-backend.sphereon.com',
|
|
334
|
+
providerId: 'provider-id',
|
|
335
|
+
aliasOrKid: '00-qTBov6GxjPSuMNxnk876cMP0JKjbwl4ZyN_sY2tE',
|
|
336
|
+
})
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
### Installation
|
|
340
|
+
|
|
341
|
+
```shell
|
|
342
|
+
yarn add @sphereon/ssi-sdk.kms-rest-client
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
### Build
|
|
346
|
+
|
|
347
|
+
```shell
|
|
348
|
+
yarn build
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Test
|
|
352
|
+
|
|
353
|
+
The test command runs:
|
|
354
|
+
|
|
355
|
+
- `prettier`
|
|
356
|
+
- `jest`
|
|
357
|
+
- `coverage`
|
|
358
|
+
|
|
359
|
+
You can also run only a single section of these tests, using for example `yarn test:unit`.
|
|
360
|
+
|
|
361
|
+
```shell
|
|
362
|
+
yarn test
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### Utility scripts
|
|
366
|
+
|
|
367
|
+
There are other utility scripts that help with development.
|
|
368
|
+
|
|
369
|
+
- `yarn fix` - runs `eslint --fix` as well as `prettier` to fix code style.
|