@sphereon/ssi-sdk-ext.jwt-service 0.24.1-next.106 → 0.24.1-next.110

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 CHANGED
@@ -6,410 +6,109 @@
6
6
  <br>
7
7
  </h1>
8
8
 
9
- A plugin that in a uniform way can resolve any supported external identifiers, as well as get managed identifiers. It
10
- performs validations as well as return the objects in a uniform way. Public keys will always be resolved and presented
11
- as JWKs.
9
+ A plugin that can generate and verify JWTs. It can create/sign JWS in Compact, JSON General and JSON Flattened form as
10
+ specified in [RFC 7515](https://datatracker.ietf.org/doc/html/rfc7515)
12
11
 
13
- Currently, it supports the following identifier methods and types:
12
+ Currently, it supports the following JWS forms:
14
13
 
15
- - DIDs (and the internal IIdentifier type)
16
- - JWKs (JWK object and public key in hex)
17
- - kid, KMS key references and jwk thumbprints
18
- - X.509 certificate chains
14
+ - JWS Compact Form
15
+ - JWS Json General
16
+ - JWS Json Flattened (1 signature)
19
17
 
20
- TODO:
18
+ The plugin is using
19
+ the [Universal Identifier Resolution](https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/develop/packages/identifier-resolution)
20
+ module. Both for generating JWS JWTs as well as for verifying JWTs.
21
21
 
22
- - https .well-knowns (JWKSet)
23
- - OIDC Discovery
24
- - X.509 CN en SANs
25
- - OID4VCI Issuers
22
+ When signing a JWS it takes into account any x5c, kid or JWK value already present in the header, as well as the `iss`
23
+ value. When not present but a Managed Identifier is being provided, the signing service will take care of putting the
24
+ correct headers into the JWS.
26
25
 
27
- Since the plugin dynamically looks for the correct agent plugins based on the types being resolved, this plugin should
28
- be used for any and all identifier resolution.
26
+ # Creating/signing a JWS
29
27
 
30
- No matter whether the plugin is doing resolution of external identifiers or managed/internal identifiers, the results
31
- will always include certain objects, like the JWK key(s) associated, certificates etc. This ensures uniform handling in
32
- all places that rely on key/identifier management.
28
+ The `jwtCreateJswCompactSignature` accepts a protected JWT header. You can put any JWT header properties in there.
29
+ The `payload` can either be a base64url payload, a `JwtPayload` object or a Buffer/Uint8arry. The method will take care
30
+ of any relevant conversions
33
31
 
34
- ## Managed Identifiers
35
-
36
- Managed or internal identifiers, are identifiers that are being controlled by the agent. This means the agent either has
37
- access to the private key, or is using a hardware protected mechanism with access to the private key. All of the managed
38
- methods return both a JWK managed by the agent, an IKey instance, which is the internal key representations, as well as
39
- a kmsKeyRef allowing you to retrieve the key easily later.
40
-
41
- Read an identifier by IIdentifier object or DID (or did URL)
42
-
43
- ### DIDs and IIdentifiers
32
+ The `issuer` object allows you to provide a managed identifier
44
33
 
45
34
  ```typescript
46
- const identifier = await agent.didManagerCreate({ kms: 'local' })
47
- // Created an idenftier. For example did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiR2poUzgzeTJGaWhqYkYzOFBfc01VS2Y5MzVoVnZNRHNjazBEZ3h4bUMzNCIsInkiOiJTcFZPR3g1bGV2UWM1TV9ZM2VBTTJvdWhmRnF0VXNQelVfX0RBSVRYLWhJIn0"
48
-
49
- let resolution = await agent.identifierManagedGet({ identifier })
50
- console.log(JSON.stringify(resolution, null, 2))
51
-
52
- // This is the same as above, but with the benefit of having fully typed response, instead of a union
53
- resolution = await agent.identifierManagedGetByDid({ identifier })
54
-
55
- resolution = await agent.identifierManagedGet({
56
- identifier:
57
- 'did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiR2poUzgzeTJGaWhqYkYzOFBfc01VS2Y5MzVoVnZNRHNjazBEZ3h4bUMzNCIsInkiOiJTcFZPR3g1bGV2UWM1TV9ZM2VBTTJvdWhmRnF0VXNQelVfX0RBSVRYLWhJIn0',
58
- })
59
- // This is the same as above, but with the benefit of having fully typed response, instead of a union
60
- resolution = await agent.identifierManagedGetByDid({
61
- identifier:
62
- 'did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiR2poUzgzeTJGaWhqYkYzOFBfc01VS2Y5MzVoVnZNRHNjazBEZ3h4bUMzNCIsInkiOiJTcFZPR3g1bGV2UWM1TV9ZM2VBTTJvdWhmRnF0VXNQelVfX0RBSVRYLWhJIn0',
35
+ const publicKeyHex = '037fcdce2770f6c45d4183cbee6fdb4b7b580733357be9ef13bacf6e3c7bd15445'
36
+ const kid = publicKeyHex
37
+
38
+ const example = await agent.jwtCreateJwsCompactSignature({
39
+ // Example payloads from IETF spec
40
+ issuer: { identifier: kid, noIdentifierInHeader: true }, // do not update any header values with the provided identifier. Just use the identifier for signing
41
+ protectedHeader: { alg: 'ES256' },
42
+ payload: 'eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ',
63
43
  })
64
44
  ```
65
45
 
66
- result (some parts omited for brevity:
67
-
68
- ```json
69
- {
70
- "method": "did",
71
- "jwk": {
72
- "alg": "ES256",
73
- "kty": "EC",
74
- "crv": "P-256",
75
- "x": "GjhS83y2FihjbF38P_sMUKf935hVvMDsck0DgxxmC34",
76
- "y": "SpVOGx5levQc5M_Y3eAM2ouhfFqtUsPzU__DAITX-hI",
77
- "kid": "77_7PdYbkikec5AR6zSKVIxgNExChvuOLLULBwS6jwc"
78
- },
79
- "jwkThumbprint": "77_7PdYbkikec5AR6zSKVIxgNExChvuOLLULBwS6jwc",
80
- "identifier": {
81
- "did": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiR2poUzgzeTJGaWhqYkYzOFBfc01VS2Y5MzVoVnZNRHNjazBEZ3h4bUMzNCIsInkiOiJTcFZPR3g1bGV2UWM1TV9ZM2VBTTJvdWhmRnF0VXNQelVfX0RBSVRYLWhJIn0",
82
- "controllerKeyId": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiR2poUzgzeTJGaWhqYkYzOFBfc01VS2Y5MzVoVnZNRHNjazBEZ3h4bUMzNCIsInkiOiJTcFZPR3g1bGV2UWM1TV9ZM2VBTTJvdWhmRnF0VXNQelVfX0RBSVRYLWhJIn0#0",
83
- "keys": [
84
- {
85
- <snip>
86
- "kms": "local"
87
- }
88
- ],
89
- "services": [],
90
- "provider": "did:jwk"
91
- },
92
- "did": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiR2poUzgzeTJGaWhqYkYzOFBfc01VS2Y5MzVoVnZNRHNjazBEZ3h4bUMzNCIsInkiOiJTcFZPR3g1bGV2UWM1TV9ZM2VBTTJvdWhmRnF0VXNQelVfX0RBSVRYLWhJIn0",
93
- "controllerKeyId": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiR2poUzgzeTJGaWhqYkYzOFBfc01VS2Y5MzVoVnZNRHNjazBEZ3h4bUMzNCIsInkiOiJTcFZPR3g1bGV2UWM1TV9ZM2VBTTJvdWhmRnF0VXNQelVfX0RBSVRYLWhJIn0#0",
94
- "keys": [
95
- {
96
- <snip,
97
- see
98
- key
99
- below>
100
- }
101
- ],
102
- "key": {
103
- "type": "Secp256r1",
104
- "kid": "021a3852f37cb61628636c5dfc3ffb0c50a7fddf9855bcc0ec724d03831c660b7e",
105
- "publicKeyHex": "021a3852f37cb61628636c5dfc3ffb0c50a7fddf9855bcc0ec724d03831c660b7e",
106
- "kms": "local",
107
- "meta": <snip>
108
- },
109
- "kmsKeyRef": "021a3852f37cb61628636c5dfc3ffb0c50a7fddf9855bcc0ec724d03831c660b7e"
110
- }
111
- ```
112
-
113
- ### KMS Key reference, JWK Thumbprint
46
+ Verify the signature:
114
47
 
115
- Read a managed identifier by kmsRef, or jwkThumbprint, using the above example. The response is the same, minus the
116
- identifier object, did and controllerKey values in the result as it will be a single key only in this case.
48
+ You can optionally provide a JWK if you want to use the JWK as a key for verification. Otherwise it will automacally
49
+ resolve the header params like x5c, kid (DID), JWK to perform the resolution with
50
+ the [Universal Identifier Resolution](https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/develop/packages/identifier-resolution)
51
+ module
117
52
 
118
53
  ```typescript
119
- // JWK Thumbprint
120
- resolution = await agent.identifierManagedGet({ identifier: '77_7PdYbkikec5AR6zSKVIxgNExChvuOLLULBwS6jwc' })
121
- // This is the same as above, but with the benefit of having fully typed response, instead of a union
122
- resolution = await agent.identifierManagedGetByKid({ identifier: '77_7PdYbkikec5AR6zSKVIxgNExChvuOLLULBwS6jwc' })
123
-
124
- // KMS Key ref
125
- resolution = await agent.identifierManagedGet({ identifier: '021a3852f37cb61628636c5dfc3ffb0c50a7fddf9855bcc0ec724d03831c660b7e' })
126
- // This is the same as above, but with the benefit of having fully typed response, instead of a union
127
- resolution = await agent.identifierManagedGetByKid({ identifier: '021a3852f37cb61628636c5dfc3ffb0c50a7fddf9855bcc0ec724d03831c660b7e' })
128
-
129
- const jwk = {
130
- alg: 'ES256',
54
+ const ietfJwk = {
131
55
  kty: 'EC',
132
56
  crv: 'P-256',
133
- x: 'GjhS83y2FihjbF38P_sMUKf935hVvMDsck0DgxxmC34',
134
- y: 'SpVOGx5levQc5M_Y3eAM2ouhfFqtUsPzU__DAITX-hI',
135
- kid: '77_7PdYbkikec5AR6zSKVIxgNExChvuOLLULBwS6jwc',
136
- }
137
-
138
- // By JWK object
139
- resolution = await agent.identifierManagedGet({ identifier: jwk })
140
- // This is the same as above, but with the benefit of having fully typed response, instead of a union
141
- resolution = await agent.identifierManagedGetByJwk({ identifier: jwk })
142
- ```
143
-
144
- ## External Identifiers
145
-
146
- We will use the example JWK above again, as that is an in memory construct, we can also resolve it like an external
147
- identifier
148
-
149
- ### DIDs
150
-
151
- ```typescript
152
- const did =
153
- 'did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiR2poUzgzeTJGaWhqYkYzOFBfc01VS2Y5MzVoVnZNRHNjazBEZ3h4bUMzNCIsInkiOiJTcFZPR3g1bGV2UWM1TV9ZM2VBTTJvdWhmRnF0VXNQelVfX0RBSVRYLWhJIn0'
154
-
155
- resolution = await agent.identifierExternalResolve({ identifier: did })
156
- // This is the same as above, but with the benefit of having fully typed response, instead of a union
157
- resolution = await agent.identifierExternalResolveByDid({ identifier: did })
158
- console.log(JSON.stringify(resolution, null, 2))
159
- ```
160
-
161
- Results in the following JSON, with some properties removed for brevity
162
-
163
- ```json
164
- {
165
- "method": "did",
166
- "did": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0",
167
- "jwks": [
168
- {
169
- "jwk": {
170
- "alg": "ES256",
171
- "use": "sig",
172
- "kty": "EC",
173
- "crv": "P-256",
174
- "x": "wdIEmfjmaZiGsub9Hffnhbr0xVVVmVLiUYLscgRt-3Y",
175
- "y": "ept3ke4SslZb7ZbweWKmSaM3166ZuvecZ9ciKs6PDcw",
176
- "kid": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0#0"
177
- },
178
- "jwkThumbprint": "gBT5We3eKcs3NNBAeJ40iPHbWvqAmY8C8L36rGwOAJk",
179
- "kid": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0#0"
180
- }
181
- ],
182
- "didJwks": {
183
- // These are the JWKs per verification method relationship. For a JWK this includes the above JWK, so we will not repeat it here
184
- "verificationMethod": [
185
- {
186
- <snip>
187
- }
188
- ],
189
- "assertionMethod": [
190
- {
191
- <snip>
192
- }
193
- ],
194
- "authentication": [
195
- {
196
- <snip>
197
- }
198
- ],
199
- "keyAgreement": [],
200
- "capabilityInvocation": [
201
- {
202
- <snip>
203
- }
204
- ],
205
- "capabilityDelegation": [
206
- {
207
- <snip>
208
- }
209
- ]
210
- },
211
- "didDocument": {
212
- "@context": [
213
- "https://www.w3.org/ns/did/v1",
214
- {
215
- "@vocab": "https://www.iana.org/assignments/jose#"
216
- }
217
- ],
218
- "id": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0",
219
- "verificationMethod": [
220
- {
221
- "id": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0#0",
222
- "type": "JsonWebKey2020",
223
- "controller": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0",
224
- "publicKeyJwk": {
225
- "alg": "ES256",
226
- "use": "sig",
227
- "kty": "EC",
228
- "crv": "P-256",
229
- "x": "wdIEmfjmaZiGsub9Hffnhbr0xVVVmVLiUYLscgRt-3Y",
230
- "y": "ept3ke4SslZb7ZbweWKmSaM3166ZuvecZ9ciKs6PDcw",
231
- "kid": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0#0"
232
- }
233
- }
234
- ],
235
- "assertionMethod": [
236
- "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0#0"
237
- ],
238
- "authentication": [
239
- "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0#0"
240
- ],
241
- "capabilityInvocation": [
242
- "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0#0"
243
- ],
244
- "capabilityDelegation": [
245
- "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0#0"
246
- ]
247
- },
248
- "didResolutionResult": {
249
- "didDocumentMetadata": {},
250
- "didResolutionMetadata": {
251
- "contentType": "application/did+ld+json",
252
- "pattern": "^(did:jwk:.+)$",
253
- "did": {
254
- "didString": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0",
255
- "methodSpecificId": "eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0",
256
- "method": "jwk"
257
- }
258
- }
259
- },
260
- "didParsed": {
261
- "did": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0",
262
- "method": "jwk",
263
- "id": "eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0",
264
- "didUrl": "did:jwk:eyJhbGciOiJFUzI1NiIsInVzZSI6InNpZyIsImt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4Ijoid2RJRW1mam1hWmlHc3ViOUhmZm5oYnIweFZWVm1WTGlVWUxzY2dSdC0zWSIsInkiOiJlcHQza2U0U3NsWmI3WmJ3ZVdLbVNhTTMxNjZadXZlY1o5Y2lLczZQRGN3In0"
265
- }
266
- }
267
- ```
268
-
269
- ### X.509 Certificate Chains
270
-
271
- You can provide an optional verification time as well using a Date as value. By default the X5C will be fully verified,
272
- unless the verification param is set to false.
273
-
274
- ```typescript
275
- const sphereonCA = 'PEM or DER CERT'
276
- const sphereonTest = 'PEM or DER CERT'
277
-
278
- let resolution = await agent.identifierExternalResolve({
279
- identifier: [sphereonTest, sphereonCA],
280
- trustAnchors: [sphereonCA],
281
- })
282
-
283
- // This is the same as above, but with the benefit of having fully typed response, instead of a union
284
- resolution = await agent.identifierExternalResolveByX5c({
285
- identifier: [sphereonTest, sphereonCA],
286
- trustAnchors: [sphereonCA],
57
+ x: 'f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU',
58
+ y: 'x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0',
59
+ // d: 'jpsQnnGQmL-YBIffH1136cspYG6-0iY7X1fCE9-E9LI',
60
+ } satisfies JWK
61
+
62
+ const result = await agent.jwtVerifyJwsSignature({
63
+ jws: example.jwt,
64
+ jwk: ietfJwk,
287
65
  })
288
-
289
- console.log(JSON.stringify(resolution, null, 2))
290
66
  ```
291
67
 
292
- ```json
293
- {
294
- "method": "x5c",
295
- "verificationResult": {
296
- "error": false,
297
- "critical": false,
298
- "message": "Certificate chain was valid",
299
- "verificationTime": "2024-08-13T13:28:16.457Z",
300
- "certificateChain": [
68
+ ```typescript
69
+ const result = {
70
+ critical: false,
71
+ error: false,
72
+ jws: {
73
+ payload: 'eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ',
74
+ signatures: [
301
75
  {
302
- "issuer": {
303
- "dn": {
304
- "DN": "C=NL,O=Sphereon International B.V.,OU=IT,CN=ca.sphereon.com",
305
- "attributes": {
306
- "C": "NL",
307
- "O": "Sphereon International B.V.",
308
- "OU": "IT",
309
- "CN": "ca.sphereon.com"
310
- }
311
- }
312
- },
313
- "subject": {
314
- "dn": {
315
- "DN": "CN=test123.test.sphereon.com",
316
- "attributes": {
317
- "CN": "test123.test.sphereon.com"
318
- }
319
- }
320
- },
321
- "publicKeyJWK": {
322
- "key_ops": ["verify"],
323
- "ext": true,
324
- "kty": "EC",
325
- "x": "pyVHVR7IdgWmG_TLb3-K_4dg3XC6GQQWDB61Lna15ns",
326
- "y": "OcVNCBD0kMmqEaKjbczwd2GvbV1AOxgE7AKsa3L0zxM",
327
- "crv": "P-256"
76
+ identifier: {
77
+ jwk: {
78
+ crv: 'P-256',
79
+ kty: 'EC',
80
+ x: 'f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU',
81
+ y: 'x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0',
82
+ },
83
+ jwks: [
84
+ {
85
+ jwk: {
86
+ crv: 'P-256',
87
+ kty: 'EC',
88
+ x: 'f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9uPHvRVEU',
89
+ y: 'x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI5a0',
90
+ },
91
+ jwkThumbprint: 'oKIywvGUpTVTyxMQ3bwIIeQUudfr_CkLMjCE19ECD-U',
92
+ publicKeyHex: '037fcdce2770f6c45d4183cbee6fdb4b7b580733357be9ef13bacf6e3c7bd15445',
93
+ },
94
+ ],
95
+ method: 'jwk',
328
96
  },
329
- "notBefore": "2024-08-06T20:16:12.000Z",
330
- "notAfter": "2024-11-04T22:16:12.000Z"
97
+ protected: 'eyJhbGciOiJFUzI1NiJ9',
98
+ signature: 'e4ZrhZdbFQ7630Tq51E6RQiJaae9bFNGJszIhtusEwzvO21rzH76Wer6yRn2Zb34VjIm3cVRl0iQctbf4uBY3w',
331
99
  },
332
- {
333
- "issuer": {
334
- "dn": {
335
- "DN": "C=NL,O=Sphereon International B.V.,OU=IT,CN=ca.sphereon.com",
336
- "attributes": {
337
- "C": "NL",
338
- "O": "Sphereon International B.V.",
339
- "OU": "IT",
340
- "CN": "ca.sphereon.com"
341
- }
342
- }
343
- },
344
- "subject": {
345
- "dn": {
346
- "DN": "C=NL,O=Sphereon International B.V.,OU=IT,CN=ca.sphereon.com",
347
- "attributes": {
348
- "C": "NL",
349
- "O": "Sphereon International B.V.",
350
- "OU": "IT",
351
- "CN": "ca.sphereon.com"
352
- }
353
- }
354
- },
355
- "publicKeyJWK": {
356
- "key_ops": ["verify"],
357
- "ext": true,
358
- "kty": "EC",
359
- "x": "SIDQp4RJI2s5yYIOBrxiwGRROCjBkbCq8vaf3UlSkAw",
360
- "y": "dRSwvlVFdqdiLXnk2pQqT1vZnDG0I-x-iz2EbdsG0aY",
361
- "crv": "P-256"
362
- },
363
- "notBefore": "2024-07-28T21:26:49.000Z",
364
- "notAfter": "2034-07-28T21:26:49.000Z"
365
- }
366
- ]
367
- },
368
- "issuerJWK": {
369
- "key_ops": ["verify"],
370
- "ext": true,
371
- "kty": "EC",
372
- "x": "pyVHVR7IdgWmG_TLb3-K_4dg3XC6GQQWDB61Lna15ns",
373
- "y": "OcVNCBD0kMmqEaKjbczwd2GvbV1AOxgE7AKsa3L0zxM",
374
- "crv": "P-256"
100
+ ],
375
101
  },
376
- "jwks": [
377
- {
378
- "jwk": {
379
- "key_ops": ["verify"],
380
- "ext": true,
381
- "kty": "EC",
382
- "x": "pyVHVR7IdgWmG_TLb3-K_4dg3XC6GQQWDB61Lna15ns",
383
- "y": "OcVNCBD0kMmqEaKjbczwd2GvbV1AOxgE7AKsa3L0zxM",
384
- "crv": "P-256"
385
- },
386
- "kid": "CN=test123.test.sphereon.com",
387
- "jwkThumbprint": "LlITYB6tlvSVtVrMtIEzrkkSQkMSoPslhQ3Rnk1x484"
388
- },
389
- {
390
- "jwk": {
391
- "key_ops": ["verify"],
392
- "ext": true,
393
- "kty": "EC",
394
- "x": "SIDQp4RJI2s5yYIOBrxiwGRROCjBkbCq8vaf3UlSkAw",
395
- "y": "dRSwvlVFdqdiLXnk2pQqT1vZnDG0I-x-iz2EbdsG0aY",
396
- "crv": "P-256"
397
- },
398
- "kid": "C=NL,O=Sphereon International B.V.,OU=IT,CN=ca.sphereon.com",
399
- "jwkThumbprint": "1wAefk4zZ8Q8cM-9djHoJhPUtKjVFLqG7u9VftVqulA"
400
- }
401
- ],
402
- "x5c": [
403
- "MIIC1jCCAnygAwIBAgITALtvb+InWBtzJO3mAeQZIUBXbzAKBggqhkjOPQQDAjBaMQswCQYDVQQGEwJOTDEkMCIGA1UECgwbU3BoZXJlb24gSW50ZXJuYXRpb25hbCBCLlYuMQswCQYDVQQLDAJJVDEYMBYGA1UEAwwPY2Euc3BoZXJlb24uY29tMB4XDTI0MDgwNjIwMTYxMloXDTI0MTEwNDIyMTYxMlowJDEiMCAGA1UEAwwZdGVzdDEyMy50ZXN0LnNwaGVyZW9uLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKclR1UeyHYFphv0y29/iv+HYN1wuhkEFgwetS52teZ7OcVNCBD0kMmqEaKjbczwd2GvbV1AOxgE7AKsa3L0zxOjggFVMIIBUTAdBgNVHQ4EFgQUoWVOwL15ttB1YPUd0HgvYry0Z+UwHwYDVR0jBBgwFoAU5wfKXZVc+cig/s7jZEUegLMsMsEwYQYIKwYBBQUHAQEEVTBTMFEGCCsGAQUFBzAChkVodHRwOi8vZXUuY2VydC5lemNhLmlvL2NlcnRzL2RhYTFiNGI0LTg1ZmQtNGJhNC1iOTZiLTMzMmFkZDg5OWNlOS5jZXIwEwYDVR0lBAwwCgYIKwYBBQUHAwIwJAYDVR0RBB0wG4IZdGVzdDEyMy50ZXN0LnNwaGVyZW9uLmNvbTAOBgNVHQ8BAf8EBAMCB4AwYQYDVR0fBFowWDBWoFSgUoZQaHR0cDovL2V1LmNybC5lemNhLmlvL2NybC8yY2RmN2M1ZS1iOWNkLTQzMTctYmI1Ni0zODZkMjQ0MzgwZTIvY2FzcGhlcmVvbmNvbS5jcmwwCgYIKoZIzj0EAwIDSAAwRQIgThuggyhKePvRt5YEvfg6MD42N2/63L0ypw0vLZkM+zYCIQD+uInjqsfR6K/D+ebjuOAdhOyeD2nZAW29zN20WIQJsw==",
404
- "MIICCDCCAa6gAwIBAgITAPMgqwtYzWPBXaobHhxG9iSydTAKBggqhkjOPQQDAjBaMQswCQYDVQQGEwJOTDEkMCIGA1UECgwbU3BoZXJlb24gSW50ZXJuYXRpb25hbCBCLlYuMQswCQYDVQQLDAJJVDEYMBYGA1UEAwwPY2Euc3BoZXJlb24uY29tMB4XDTI0MDcyODIxMjY0OVoXDTM0MDcyODIxMjY0OVowWjELMAkGA1UEBhMCTkwxJDAiBgNVBAoMG1NwaGVyZW9uIEludGVybmF0aW9uYWwgQi5WLjELMAkGA1UECwwCSVQxGDAWBgNVBAMMD2NhLnNwaGVyZW9uLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEiA0KeESSNrOcmCDga8YsBkUTgowZGwqvL2n91JUpAMdRSwvlVFdqdiLXnk2pQqT1vZnDG0I+x+iz2EbdsG0aajUzBRMB0GA1UdDgQWBBTnB8pdlVz5yKD+zuNkRR6AsywywTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0gAMEUCIHH7ie1OAAbff5262rzZVQa8J9zENG8AQlHHFydMdgaXAiEA1Ib82mhHIYDziE0DDbHEAXOs98al+7dpo8fPGVGTeKI="
405
- ]
102
+ message: 'Signature validated',
103
+ name: 'jws',
104
+ verificationTime: '2024-08-10T23:04:23',
406
105
  }
407
106
  ```
408
107
 
409
108
  ### Installation
410
109
 
411
110
  ```shell
412
- pnpm add @sphereon/ssi-sdk-ext.identifier-resolution
111
+ pnpm add @sphereon/ssi-sdk-ext.jwt-service
413
112
  ```
414
113
 
415
114
  ### Build
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EAIrB,uBAAuB,EAExB,MAAM,6CAA6C,CAAA;AAGpD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAI5C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAIhB,GAAG,EACH,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAE7B,SAAS,EAET,iBAAiB,EACjB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAQ7B,eAAO,MAAM,gBAAgB,SAAgB,iBAAiB,gCAA8B,QAAQ,iBAAiB,CA8BpH,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAgB,oBAAoB,gCAA8B,QAAQ,UAAU,CAGhH,CAAA;AAED,eAAO,MAAM,sBAAsB,SAAgB,sBAAsB,gCAA8B,QAAQ,gBAAgB,CAS9H,CAAA;AAED,eAAO,MAAM,oBAAoB,SAAgB,iBAAiB,gCAA8B,QAAQ,cAAc,CA4BrH,CAAA;AAED;;;;;;;GAOG;AAEH,eAAO,MAAM,uBAAuB,wDAM/B;IACD,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,UAAU,EAAE,uBAAuB,CAAA;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,MAAM,EAAE,SAAS,CAAA;CAClB,kDAsBF,CAAA;AAoID,eAAO,MAAM,SAAS,SAAgB,aAAa,WAAW,cAAc,qBAAqB,CAAC,KAAG,QAAQ,oBAAoB,CA4ChI,CAAA;AACD,eAAO,MAAM,gBAAgB,YAAmB;IAAE,GAAG,EAAE,GAAG,CAAA;CAAE,WAAW,cAAc,GAAG,CAAC,KAAG,QAAQ,cAAc,CAyBjH,CAAA;AAoCD,eAAO,MAAM,+BAA+B,SACpC;IACJ,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,KAAK,yBAAyB,EAAE,YAAY,CAAC,CAAC;QAAC,GAAG,CAAC,EAAE,KAAK,yBAAyB,EAAE,YAAY,CAAC,CAAA;KAAE,CAAA;CACpH,WACQ,cAAc,qBAAqB,CAAC,KAC5C,QAAQ,6BAA6B,CAYvC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EAIrB,uBAAuB,EAExB,MAAM,6CAA6C,CAAA;AAGpD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAI5C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAIhB,GAAG,EACH,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,6BAA6B,EAE7B,SAAS,EAET,iBAAiB,EACjB,aAAa,EACd,MAAM,sBAAsB,CAAA;AAQ7B,eAAO,MAAM,gBAAgB,SAAgB,iBAAiB,gCAA8B,QAAQ,iBAAiB,CAoCpH,CAAA;AAED,eAAO,MAAM,gBAAgB,SAAgB,oBAAoB,gCAA8B,QAAQ,UAAU,CAGhH,CAAA;AAED,eAAO,MAAM,sBAAsB,SAAgB,sBAAsB,gCAA8B,QAAQ,gBAAgB,CAS9H,CAAA;AAED,eAAO,MAAM,oBAAoB,SAAgB,iBAAiB,gCAA8B,QAAQ,cAAc,CA4BrH,CAAA;AAED;;;;;;;GAOG;AAEH,eAAO,MAAM,uBAAuB,wDAM/B;IACD,IAAI,CAAC,EAAE,iBAAiB,CAAA;IACxB,UAAU,EAAE,uBAAuB,CAAA;IACnC,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,MAAM,EAAE,SAAS,CAAA;CAClB,kDAsBF,CAAA;AAoID,eAAO,MAAM,SAAS,SAAgB,aAAa,WAAW,cAAc,qBAAqB,CAAC,KAAG,QAAQ,oBAAoB,CA4ChI,CAAA;AACD,eAAO,MAAM,gBAAgB,YAAmB;IAAE,GAAG,EAAE,GAAG,CAAA;CAAE,WAAW,cAAc,GAAG,CAAC,KAAG,QAAQ,cAAc,CAyBjH,CAAA;AAoCD,eAAO,MAAM,+BAA+B,SACpC;IACJ,GAAG,EAAE,GAAG,CAAA;IACR,GAAG,CAAC,EAAE,GAAG,CAAA;IACT,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,KAAK,yBAAyB,EAAE,YAAY,CAAC,CAAC;QAAC,GAAG,CAAC,EAAE,KAAK,yBAAyB,EAAE,YAAY,CAAC,CAAA;KAAE,CAAA;CACpH,WACQ,cAAc,qBAAqB,CAAC,KAC5C,QAAQ,6BAA6B,CAYvC,CAAA"}
@@ -58,7 +58,7 @@ const payloadToBytes = (payload) => {
58
58
  return isBytes ? payload : isString ? u8a.fromString(payload, 'base64url') : u8a.fromString(JSON.stringify(payload), 'utf-8');
59
59
  };
60
60
  const prepareJwsObject = (args, context) => __awaiter(void 0, void 0, void 0, function* () {
61
- const { existingSignatures, protectedHeader, unprotectedHeader, issuer, payload, mode = 'auto' } = args;
61
+ const { existingSignatures, protectedHeader, unprotectedHeader, issuer, payload, mode = 'auto', clientId, clientIdScheme } = args;
62
62
  const { noIdentifierInHeader = false } = issuer;
63
63
  const identifier = yield (0, ssi_sdk_ext_identifier_resolution_1.ensureManagedIdentifierResult)(issuer, context);
64
64
  yield (0, exports.checkAndUpdateJwtHeader)({ mode, identifier, noIdentifierInHeader, header: protectedHeader }, context);
@@ -68,6 +68,12 @@ const prepareJwsObject = (args, context) => __awaiter(void 0, void 0, void 0, fu
68
68
  if (issuer.noIssPayloadUpdate !== true && !payload.iss && identifier.issuer) {
69
69
  payload.iss = identifier.issuer;
70
70
  }
71
+ if (clientIdScheme && !payload.client_id_scheme) {
72
+ payload.client_id_scheme = clientIdScheme;
73
+ }
74
+ if (clientId && !payload.client_id) {
75
+ payload.client_id = clientId;
76
+ }
71
77
  }
72
78
  const payloadBytes = payloadToBytes(payload);
73
79
  const base64urlHeader = (0, utils_1.encodeJoseBlob)(protectedHeader);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { ExternalIdentifierDidOpts, ExternalIdentifierResult, ExternalIdentifierX5cOpts, IIdentifierResolution, ManagedIdentifierOptsOrResult, ManagedIdentifierResult } from '@sphereon/ssi-sdk-ext.identifier-resolution';
2
+ import { ClientIdScheme } from '@sphereon/ssi-sdk-ext.x509-utils';
2
3
  import { IValidationResult, JoseSignatureAlgorithm, JoseSignatureAlgorithmString, JWK } from '@sphereon/ssi-types';
3
4
  import { IAgentContext, IKeyManager, IPluginMethodMap } from '@veramo/core';
4
5
  export type IRequiredContext = IAgentContext<IIdentifierResolution & IKeyManager>;
@@ -83,6 +84,8 @@ export type CreateJwsArgs = {
83
84
  noIssPayloadUpdate?: boolean;
84
85
  noIdentifierInHeader?: boolean;
85
86
  };
87
+ clientId?: string;
88
+ clientIdScheme?: ClientIdScheme | 'did' | string;
86
89
  protectedHeader: JwtHeader;
87
90
  payload: JwtPayload | Uint8Array | string;
88
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"IJwtService.d.ts","sourceRoot":"","sources":["../../src/types/IJwtService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IJwtService.d.ts","sourceRoot":"","sources":["../../src/types/IJwtService.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IJwtService.js","sourceRoot":"","sources":["../../src/types/IJwtService.ts"],"names":[],"mappings":";;;AAaa,QAAA,wBAAwB,GAAkB;IACrD,eAAe;IACf,kCAAkC;IAClC,oCAAoC;IACpC,8BAA8B;IAC9B,uBAAuB;CACxB,CAAA;AAoID,SAAgB,YAAY,CAAC,GAAQ;IACnC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAiB,CAAC,KAAK,IAAI,CAAA;AACvF,CAAC;AAFD,oCAEC;AAED,SAAgB,kBAAkB,CAAC,GAAQ;IACzC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,CAAA;AAC5E,CAAC;AAFD,gDAEC;AAED,SAAgB,gBAAgB,CAAC,GAAQ;IACvC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,YAAY,IAAI,GAAG,CAAA;AACvD,CAAC;AAFD,4CAEC;AAEY,QAAA,iBAAiB,GAAG,4DAA4D,CAAA"}
1
+ {"version":3,"file":"IJwtService.js","sourceRoot":"","sources":["../../src/types/IJwtService.ts"],"names":[],"mappings":";;;AAca,QAAA,wBAAwB,GAAkB;IACrD,eAAe;IACf,kCAAkC;IAClC,oCAAoC;IACpC,8BAA8B;IAC9B,uBAAuB;CACxB,CAAA;AAsID,SAAgB,YAAY,CAAC,GAAQ;IACnC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAiB,CAAC,KAAK,IAAI,CAAA;AACvF,CAAC;AAFD,oCAEC;AAED,SAAgB,kBAAkB,CAAC,GAAQ;IACzC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW,IAAI,GAAG,CAAA;AAC5E,CAAC;AAFD,gDAEC;AAED,SAAgB,gBAAgB,CAAC,GAAQ;IACvC,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,YAAY,IAAI,GAAG,CAAA;AACvD,CAAC;AAFD,4CAEC;AAEY,QAAA,iBAAiB,GAAG,4DAA4D,CAAA"}