@pagopa/io-react-native-wallet 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +91 -0
- package/lib/commonjs/index.js +17 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/pid/index.js +11 -0
- package/lib/commonjs/pid/index.js.map +1 -0
- package/lib/commonjs/pid/sd-jwt/converters.js +29 -0
- package/lib/commonjs/pid/sd-jwt/converters.js.map +1 -0
- package/lib/commonjs/pid/sd-jwt/index.js +76 -0
- package/lib/commonjs/pid/sd-jwt/index.js.map +1 -0
- package/lib/commonjs/pid/sd-jwt/types.js +50 -0
- package/lib/commonjs/pid/sd-jwt/types.js.map +1 -0
- package/lib/commonjs/sd-jwt/__test__/converters.test.js +25 -0
- package/lib/commonjs/sd-jwt/__test__/converters.test.js.map +1 -0
- package/lib/commonjs/sd-jwt/__test__/types.test.js +70 -0
- package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -0
- package/lib/commonjs/sd-jwt/converters.js +30 -0
- package/lib/commonjs/sd-jwt/converters.js.map +1 -0
- package/lib/commonjs/sd-jwt/index.js +77 -0
- package/lib/commonjs/sd-jwt/index.js.map +1 -0
- package/lib/commonjs/sd-jwt/types.js +53 -0
- package/lib/commonjs/sd-jwt/types.js.map +1 -0
- package/lib/commonjs/sd-jwt/verifier.js +18 -0
- package/lib/commonjs/sd-jwt/verifier.js.map +1 -0
- package/lib/commonjs/utils/errors.js +82 -0
- package/lib/commonjs/utils/errors.js.map +1 -0
- package/lib/commonjs/utils/jwk.js +45 -0
- package/lib/commonjs/utils/jwk.js.map +1 -0
- package/lib/commonjs/wallet-instance-attestation/index.js +63 -0
- package/lib/commonjs/wallet-instance-attestation/index.js.map +1 -0
- package/lib/commonjs/wallet-instance-attestation/issuing.js +96 -0
- package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -0
- package/lib/commonjs/wallet-instance-attestation/types.js +65 -0
- package/lib/commonjs/wallet-instance-attestation/types.js.map +1 -0
- package/lib/module/index.js +7 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/pid/index.js +3 -0
- package/lib/module/pid/index.js.map +1 -0
- package/lib/module/pid/sd-jwt/converters.js +23 -0
- package/lib/module/pid/sd-jwt/converters.js.map +1 -0
- package/lib/module/pid/sd-jwt/index.js +66 -0
- package/lib/module/pid/sd-jwt/index.js.map +1 -0
- package/lib/module/pid/sd-jwt/types.js +43 -0
- package/lib/module/pid/sd-jwt/types.js.map +1 -0
- package/lib/module/sd-jwt/__test__/converters.test.js +23 -0
- package/lib/module/sd-jwt/__test__/converters.test.js.map +1 -0
- package/lib/module/sd-jwt/__test__/types.test.js +68 -0
- package/lib/module/sd-jwt/__test__/types.test.js.map +1 -0
- package/lib/module/sd-jwt/converters.js +24 -0
- package/lib/module/sd-jwt/converters.js.map +1 -0
- package/lib/module/sd-jwt/index.js +71 -0
- package/lib/module/sd-jwt/index.js.map +1 -0
- package/lib/module/sd-jwt/types.js +44 -0
- package/lib/module/sd-jwt/types.js.map +1 -0
- package/lib/module/sd-jwt/verifier.js +11 -0
- package/lib/module/sd-jwt/verifier.js.map +1 -0
- package/lib/module/utils/errors.js +73 -0
- package/lib/module/utils/errors.js.map +1 -0
- package/lib/module/utils/jwk.js +38 -0
- package/lib/module/utils/jwk.js.map +1 -0
- package/lib/module/wallet-instance-attestation/index.js +52 -0
- package/lib/module/wallet-instance-attestation/index.js.map +1 -0
- package/lib/module/wallet-instance-attestation/issuing.js +90 -0
- package/lib/module/wallet-instance-attestation/issuing.js.map +1 -0
- package/lib/module/wallet-instance-attestation/types.js +55 -0
- package/lib/module/wallet-instance-attestation/types.js.map +1 -0
- package/lib/typescript/index.d.ts +5 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/pid/index.d.ts +3 -0
- package/lib/typescript/pid/index.d.ts.map +1 -0
- package/lib/typescript/pid/sd-jwt/converters.d.ts +4 -0
- package/lib/typescript/pid/sd-jwt/converters.d.ts.map +1 -0
- package/lib/typescript/pid/sd-jwt/index.d.ts +50 -0
- package/lib/typescript/pid/sd-jwt/index.d.ts.map +1 -0
- package/lib/typescript/pid/sd-jwt/types.d.ts +196 -0
- package/lib/typescript/pid/sd-jwt/types.d.ts.map +1 -0
- package/lib/typescript/sd-jwt/__test__/converters.test.d.ts +2 -0
- package/lib/typescript/sd-jwt/__test__/converters.test.d.ts.map +1 -0
- package/lib/typescript/sd-jwt/__test__/types.test.d.ts +2 -0
- package/lib/typescript/sd-jwt/__test__/types.test.d.ts.map +1 -0
- package/lib/typescript/sd-jwt/converters.d.ts +3 -0
- package/lib/typescript/sd-jwt/converters.d.ts.map +1 -0
- package/lib/typescript/sd-jwt/index.d.ts +42 -0
- package/lib/typescript/sd-jwt/index.d.ts.map +1 -0
- package/lib/typescript/sd-jwt/types.d.ts +416 -0
- package/lib/typescript/sd-jwt/types.d.ts.map +1 -0
- package/lib/typescript/sd-jwt/verifier.d.ts +3 -0
- package/lib/typescript/sd-jwt/verifier.d.ts.map +1 -0
- package/lib/typescript/utils/errors.d.ts +45 -0
- package/lib/typescript/utils/errors.d.ts.map +1 -0
- package/lib/typescript/utils/jwk.d.ts +85 -0
- package/lib/typescript/utils/jwk.d.ts.map +1 -0
- package/lib/typescript/wallet-instance-attestation/index.d.ts +36 -0
- package/lib/typescript/wallet-instance-attestation/index.d.ts.map +1 -0
- package/lib/typescript/wallet-instance-attestation/issuing.d.ts +32 -0
- package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -0
- package/lib/typescript/wallet-instance-attestation/types.d.ts +733 -0
- package/lib/typescript/wallet-instance-attestation/types.d.ts.map +1 -0
- package/package.json +108 -0
- package/src/index.ts +8 -0
- package/src/pid/index.ts +2 -0
- package/src/pid/sd-jwt/converters.ts +26 -0
- package/src/pid/sd-jwt/index.ts +71 -0
- package/src/pid/sd-jwt/types.ts +44 -0
- package/src/sd-jwt/__test__/converters.test.ts +27 -0
- package/src/sd-jwt/__test__/types.test.ts +85 -0
- package/src/sd-jwt/converters.ts +24 -0
- package/src/sd-jwt/index.ts +92 -0
- package/src/sd-jwt/types.ts +54 -0
- package/src/sd-jwt/verifier.ts +20 -0
- package/src/utils/errors.ts +74 -0
- package/src/utils/jwk.ts +39 -0
- package/src/wallet-instance-attestation/index.ts +56 -0
- package/src/wallet-instance-attestation/issuing.ts +107 -0
- package/src/wallet-instance-attestation/types.ts +77 -0
@@ -0,0 +1,416 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
export declare const UnixTime: z.ZodNumber;
|
3
|
+
export type UnixTime = z.infer<typeof UnixTime>;
|
4
|
+
export type ObfuscatedDisclosures = z.infer<typeof ObfuscatedDisclosures>;
|
5
|
+
export declare const ObfuscatedDisclosures: z.ZodObject<{
|
6
|
+
_sd: z.ZodArray<z.ZodString, "many">;
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
8
|
+
_sd: string[];
|
9
|
+
}, {
|
10
|
+
_sd: string[];
|
11
|
+
}>;
|
12
|
+
/**
|
13
|
+
* A triple of values in the form of {salt, claim name, claim value} that represent a parsed disclosure.
|
14
|
+
*
|
15
|
+
* @see https://datatracker.ietf.org/doc/html/draft-ietf-oauth-selective-disclosure-jwt-04
|
16
|
+
* @see https://vcstuff.github.io/draft-terbu-sd-jwt-vc/draft-terbu-oauth-sd-jwt-vc.html
|
17
|
+
*/
|
18
|
+
export type Disclosure = z.infer<typeof Disclosure>;
|
19
|
+
export declare const Disclosure: z.ZodTuple<[z.ZodString, z.ZodString, z.ZodUnknown], null>;
|
20
|
+
export type SdJwt4VC = z.infer<typeof SdJwt4VC>;
|
21
|
+
export declare const SdJwt4VC: z.ZodObject<{
|
22
|
+
header: z.ZodObject<{
|
23
|
+
typ: z.ZodLiteral<"vc+sd-jwt">;
|
24
|
+
alg: z.ZodString;
|
25
|
+
kid: z.ZodString;
|
26
|
+
trust_chain: z.ZodArray<z.ZodString, "many">;
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
28
|
+
alg: string;
|
29
|
+
kid: string;
|
30
|
+
typ: "vc+sd-jwt";
|
31
|
+
trust_chain: string[];
|
32
|
+
}, {
|
33
|
+
alg: string;
|
34
|
+
kid: string;
|
35
|
+
typ: "vc+sd-jwt";
|
36
|
+
trust_chain: string[];
|
37
|
+
}>;
|
38
|
+
payload: z.ZodObject<{
|
39
|
+
iss: z.ZodString;
|
40
|
+
sub: z.ZodString;
|
41
|
+
jti: z.ZodString;
|
42
|
+
iat: z.ZodNumber;
|
43
|
+
exp: z.ZodNumber;
|
44
|
+
status: z.ZodString;
|
45
|
+
cnf: z.ZodObject<{
|
46
|
+
jwk: z.ZodObject<{
|
47
|
+
alg: z.ZodOptional<z.ZodString>;
|
48
|
+
crv: z.ZodOptional<z.ZodString>;
|
49
|
+
d: z.ZodOptional<z.ZodString>;
|
50
|
+
dp: z.ZodOptional<z.ZodString>;
|
51
|
+
dq: z.ZodOptional<z.ZodString>;
|
52
|
+
e: z.ZodOptional<z.ZodString>;
|
53
|
+
ext: z.ZodOptional<z.ZodBoolean>;
|
54
|
+
k: z.ZodOptional<z.ZodString>;
|
55
|
+
key_ops: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
56
|
+
kid: z.ZodOptional<z.ZodString>;
|
57
|
+
kty: z.ZodUnion<[z.ZodLiteral<"RSA">, z.ZodLiteral<"EC">]>;
|
58
|
+
n: z.ZodOptional<z.ZodString>;
|
59
|
+
p: z.ZodOptional<z.ZodString>;
|
60
|
+
q: z.ZodOptional<z.ZodString>;
|
61
|
+
qi: z.ZodOptional<z.ZodString>;
|
62
|
+
use: z.ZodOptional<z.ZodString>;
|
63
|
+
x: z.ZodOptional<z.ZodString>;
|
64
|
+
y: z.ZodOptional<z.ZodString>;
|
65
|
+
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
66
|
+
x5t: z.ZodOptional<z.ZodString>;
|
67
|
+
"x5t#S256": z.ZodOptional<z.ZodString>;
|
68
|
+
x5u: z.ZodOptional<z.ZodString>;
|
69
|
+
}, "strip", z.ZodTypeAny, {
|
70
|
+
kty: "RSA" | "EC";
|
71
|
+
alg?: string | undefined;
|
72
|
+
crv?: string | undefined;
|
73
|
+
d?: string | undefined;
|
74
|
+
dp?: string | undefined;
|
75
|
+
dq?: string | undefined;
|
76
|
+
e?: string | undefined;
|
77
|
+
ext?: boolean | undefined;
|
78
|
+
k?: string | undefined;
|
79
|
+
key_ops?: string[] | undefined;
|
80
|
+
kid?: string | undefined;
|
81
|
+
n?: string | undefined;
|
82
|
+
p?: string | undefined;
|
83
|
+
q?: string | undefined;
|
84
|
+
qi?: string | undefined;
|
85
|
+
use?: string | undefined;
|
86
|
+
x?: string | undefined;
|
87
|
+
y?: string | undefined;
|
88
|
+
x5c?: string[] | undefined;
|
89
|
+
x5t?: string | undefined;
|
90
|
+
"x5t#S256"?: string | undefined;
|
91
|
+
x5u?: string | undefined;
|
92
|
+
}, {
|
93
|
+
kty: "RSA" | "EC";
|
94
|
+
alg?: string | undefined;
|
95
|
+
crv?: string | undefined;
|
96
|
+
d?: string | undefined;
|
97
|
+
dp?: string | undefined;
|
98
|
+
dq?: string | undefined;
|
99
|
+
e?: string | undefined;
|
100
|
+
ext?: boolean | undefined;
|
101
|
+
k?: string | undefined;
|
102
|
+
key_ops?: string[] | undefined;
|
103
|
+
kid?: string | undefined;
|
104
|
+
n?: string | undefined;
|
105
|
+
p?: string | undefined;
|
106
|
+
q?: string | undefined;
|
107
|
+
qi?: string | undefined;
|
108
|
+
use?: string | undefined;
|
109
|
+
x?: string | undefined;
|
110
|
+
y?: string | undefined;
|
111
|
+
x5c?: string[] | undefined;
|
112
|
+
x5t?: string | undefined;
|
113
|
+
"x5t#S256"?: string | undefined;
|
114
|
+
x5u?: string | undefined;
|
115
|
+
}>;
|
116
|
+
}, "strip", z.ZodTypeAny, {
|
117
|
+
jwk: {
|
118
|
+
kty: "RSA" | "EC";
|
119
|
+
alg?: string | undefined;
|
120
|
+
crv?: string | undefined;
|
121
|
+
d?: string | undefined;
|
122
|
+
dp?: string | undefined;
|
123
|
+
dq?: string | undefined;
|
124
|
+
e?: string | undefined;
|
125
|
+
ext?: boolean | undefined;
|
126
|
+
k?: string | undefined;
|
127
|
+
key_ops?: string[] | undefined;
|
128
|
+
kid?: string | undefined;
|
129
|
+
n?: string | undefined;
|
130
|
+
p?: string | undefined;
|
131
|
+
q?: string | undefined;
|
132
|
+
qi?: string | undefined;
|
133
|
+
use?: string | undefined;
|
134
|
+
x?: string | undefined;
|
135
|
+
y?: string | undefined;
|
136
|
+
x5c?: string[] | undefined;
|
137
|
+
x5t?: string | undefined;
|
138
|
+
"x5t#S256"?: string | undefined;
|
139
|
+
x5u?: string | undefined;
|
140
|
+
};
|
141
|
+
}, {
|
142
|
+
jwk: {
|
143
|
+
kty: "RSA" | "EC";
|
144
|
+
alg?: string | undefined;
|
145
|
+
crv?: string | undefined;
|
146
|
+
d?: string | undefined;
|
147
|
+
dp?: string | undefined;
|
148
|
+
dq?: string | undefined;
|
149
|
+
e?: string | undefined;
|
150
|
+
ext?: boolean | undefined;
|
151
|
+
k?: string | undefined;
|
152
|
+
key_ops?: string[] | undefined;
|
153
|
+
kid?: string | undefined;
|
154
|
+
n?: string | undefined;
|
155
|
+
p?: string | undefined;
|
156
|
+
q?: string | undefined;
|
157
|
+
qi?: string | undefined;
|
158
|
+
use?: string | undefined;
|
159
|
+
x?: string | undefined;
|
160
|
+
y?: string | undefined;
|
161
|
+
x5c?: string[] | undefined;
|
162
|
+
x5t?: string | undefined;
|
163
|
+
"x5t#S256"?: string | undefined;
|
164
|
+
x5u?: string | undefined;
|
165
|
+
};
|
166
|
+
}>;
|
167
|
+
type: z.ZodLiteral<"PersonIdentificationData">;
|
168
|
+
verified_claims: z.ZodObject<{
|
169
|
+
verification: z.ZodIntersection<z.ZodObject<{
|
170
|
+
trust_framework: z.ZodLiteral<"eidas">;
|
171
|
+
assurance_level: z.ZodString;
|
172
|
+
}, "strip", z.ZodTypeAny, {
|
173
|
+
trust_framework: "eidas";
|
174
|
+
assurance_level: string;
|
175
|
+
}, {
|
176
|
+
trust_framework: "eidas";
|
177
|
+
assurance_level: string;
|
178
|
+
}>, z.ZodObject<{
|
179
|
+
_sd: z.ZodArray<z.ZodString, "many">;
|
180
|
+
}, "strip", z.ZodTypeAny, {
|
181
|
+
_sd: string[];
|
182
|
+
}, {
|
183
|
+
_sd: string[];
|
184
|
+
}>>;
|
185
|
+
claims: z.ZodObject<{
|
186
|
+
_sd: z.ZodArray<z.ZodString, "many">;
|
187
|
+
}, "strip", z.ZodTypeAny, {
|
188
|
+
_sd: string[];
|
189
|
+
}, {
|
190
|
+
_sd: string[];
|
191
|
+
}>;
|
192
|
+
}, "strip", z.ZodTypeAny, {
|
193
|
+
verification: {
|
194
|
+
trust_framework: "eidas";
|
195
|
+
assurance_level: string;
|
196
|
+
} & {
|
197
|
+
_sd: string[];
|
198
|
+
};
|
199
|
+
claims: {
|
200
|
+
_sd: string[];
|
201
|
+
};
|
202
|
+
}, {
|
203
|
+
verification: {
|
204
|
+
trust_framework: "eidas";
|
205
|
+
assurance_level: string;
|
206
|
+
} & {
|
207
|
+
_sd: string[];
|
208
|
+
};
|
209
|
+
claims: {
|
210
|
+
_sd: string[];
|
211
|
+
};
|
212
|
+
}>;
|
213
|
+
_sd_alg: z.ZodLiteral<"sha-256">;
|
214
|
+
}, "strip", z.ZodTypeAny, {
|
215
|
+
type: "PersonIdentificationData";
|
216
|
+
status: string;
|
217
|
+
iss: string;
|
218
|
+
sub: string;
|
219
|
+
jti: string;
|
220
|
+
iat: number;
|
221
|
+
exp: number;
|
222
|
+
cnf: {
|
223
|
+
jwk: {
|
224
|
+
kty: "RSA" | "EC";
|
225
|
+
alg?: string | undefined;
|
226
|
+
crv?: string | undefined;
|
227
|
+
d?: string | undefined;
|
228
|
+
dp?: string | undefined;
|
229
|
+
dq?: string | undefined;
|
230
|
+
e?: string | undefined;
|
231
|
+
ext?: boolean | undefined;
|
232
|
+
k?: string | undefined;
|
233
|
+
key_ops?: string[] | undefined;
|
234
|
+
kid?: string | undefined;
|
235
|
+
n?: string | undefined;
|
236
|
+
p?: string | undefined;
|
237
|
+
q?: string | undefined;
|
238
|
+
qi?: string | undefined;
|
239
|
+
use?: string | undefined;
|
240
|
+
x?: string | undefined;
|
241
|
+
y?: string | undefined;
|
242
|
+
x5c?: string[] | undefined;
|
243
|
+
x5t?: string | undefined;
|
244
|
+
"x5t#S256"?: string | undefined;
|
245
|
+
x5u?: string | undefined;
|
246
|
+
};
|
247
|
+
};
|
248
|
+
verified_claims: {
|
249
|
+
verification: {
|
250
|
+
trust_framework: "eidas";
|
251
|
+
assurance_level: string;
|
252
|
+
} & {
|
253
|
+
_sd: string[];
|
254
|
+
};
|
255
|
+
claims: {
|
256
|
+
_sd: string[];
|
257
|
+
};
|
258
|
+
};
|
259
|
+
_sd_alg: "sha-256";
|
260
|
+
}, {
|
261
|
+
type: "PersonIdentificationData";
|
262
|
+
status: string;
|
263
|
+
iss: string;
|
264
|
+
sub: string;
|
265
|
+
jti: string;
|
266
|
+
iat: number;
|
267
|
+
exp: number;
|
268
|
+
cnf: {
|
269
|
+
jwk: {
|
270
|
+
kty: "RSA" | "EC";
|
271
|
+
alg?: string | undefined;
|
272
|
+
crv?: string | undefined;
|
273
|
+
d?: string | undefined;
|
274
|
+
dp?: string | undefined;
|
275
|
+
dq?: string | undefined;
|
276
|
+
e?: string | undefined;
|
277
|
+
ext?: boolean | undefined;
|
278
|
+
k?: string | undefined;
|
279
|
+
key_ops?: string[] | undefined;
|
280
|
+
kid?: string | undefined;
|
281
|
+
n?: string | undefined;
|
282
|
+
p?: string | undefined;
|
283
|
+
q?: string | undefined;
|
284
|
+
qi?: string | undefined;
|
285
|
+
use?: string | undefined;
|
286
|
+
x?: string | undefined;
|
287
|
+
y?: string | undefined;
|
288
|
+
x5c?: string[] | undefined;
|
289
|
+
x5t?: string | undefined;
|
290
|
+
"x5t#S256"?: string | undefined;
|
291
|
+
x5u?: string | undefined;
|
292
|
+
};
|
293
|
+
};
|
294
|
+
verified_claims: {
|
295
|
+
verification: {
|
296
|
+
trust_framework: "eidas";
|
297
|
+
assurance_level: string;
|
298
|
+
} & {
|
299
|
+
_sd: string[];
|
300
|
+
};
|
301
|
+
claims: {
|
302
|
+
_sd: string[];
|
303
|
+
};
|
304
|
+
};
|
305
|
+
_sd_alg: "sha-256";
|
306
|
+
}>;
|
307
|
+
}, "strip", z.ZodTypeAny, {
|
308
|
+
header: {
|
309
|
+
alg: string;
|
310
|
+
kid: string;
|
311
|
+
typ: "vc+sd-jwt";
|
312
|
+
trust_chain: string[];
|
313
|
+
};
|
314
|
+
payload: {
|
315
|
+
type: "PersonIdentificationData";
|
316
|
+
status: string;
|
317
|
+
iss: string;
|
318
|
+
sub: string;
|
319
|
+
jti: string;
|
320
|
+
iat: number;
|
321
|
+
exp: number;
|
322
|
+
cnf: {
|
323
|
+
jwk: {
|
324
|
+
kty: "RSA" | "EC";
|
325
|
+
alg?: string | undefined;
|
326
|
+
crv?: string | undefined;
|
327
|
+
d?: string | undefined;
|
328
|
+
dp?: string | undefined;
|
329
|
+
dq?: string | undefined;
|
330
|
+
e?: string | undefined;
|
331
|
+
ext?: boolean | undefined;
|
332
|
+
k?: string | undefined;
|
333
|
+
key_ops?: string[] | undefined;
|
334
|
+
kid?: string | undefined;
|
335
|
+
n?: string | undefined;
|
336
|
+
p?: string | undefined;
|
337
|
+
q?: string | undefined;
|
338
|
+
qi?: string | undefined;
|
339
|
+
use?: string | undefined;
|
340
|
+
x?: string | undefined;
|
341
|
+
y?: string | undefined;
|
342
|
+
x5c?: string[] | undefined;
|
343
|
+
x5t?: string | undefined;
|
344
|
+
"x5t#S256"?: string | undefined;
|
345
|
+
x5u?: string | undefined;
|
346
|
+
};
|
347
|
+
};
|
348
|
+
verified_claims: {
|
349
|
+
verification: {
|
350
|
+
trust_framework: "eidas";
|
351
|
+
assurance_level: string;
|
352
|
+
} & {
|
353
|
+
_sd: string[];
|
354
|
+
};
|
355
|
+
claims: {
|
356
|
+
_sd: string[];
|
357
|
+
};
|
358
|
+
};
|
359
|
+
_sd_alg: "sha-256";
|
360
|
+
};
|
361
|
+
}, {
|
362
|
+
header: {
|
363
|
+
alg: string;
|
364
|
+
kid: string;
|
365
|
+
typ: "vc+sd-jwt";
|
366
|
+
trust_chain: string[];
|
367
|
+
};
|
368
|
+
payload: {
|
369
|
+
type: "PersonIdentificationData";
|
370
|
+
status: string;
|
371
|
+
iss: string;
|
372
|
+
sub: string;
|
373
|
+
jti: string;
|
374
|
+
iat: number;
|
375
|
+
exp: number;
|
376
|
+
cnf: {
|
377
|
+
jwk: {
|
378
|
+
kty: "RSA" | "EC";
|
379
|
+
alg?: string | undefined;
|
380
|
+
crv?: string | undefined;
|
381
|
+
d?: string | undefined;
|
382
|
+
dp?: string | undefined;
|
383
|
+
dq?: string | undefined;
|
384
|
+
e?: string | undefined;
|
385
|
+
ext?: boolean | undefined;
|
386
|
+
k?: string | undefined;
|
387
|
+
key_ops?: string[] | undefined;
|
388
|
+
kid?: string | undefined;
|
389
|
+
n?: string | undefined;
|
390
|
+
p?: string | undefined;
|
391
|
+
q?: string | undefined;
|
392
|
+
qi?: string | undefined;
|
393
|
+
use?: string | undefined;
|
394
|
+
x?: string | undefined;
|
395
|
+
y?: string | undefined;
|
396
|
+
x5c?: string[] | undefined;
|
397
|
+
x5t?: string | undefined;
|
398
|
+
"x5t#S256"?: string | undefined;
|
399
|
+
x5u?: string | undefined;
|
400
|
+
};
|
401
|
+
};
|
402
|
+
verified_claims: {
|
403
|
+
verification: {
|
404
|
+
trust_framework: "eidas";
|
405
|
+
assurance_level: string;
|
406
|
+
} & {
|
407
|
+
_sd: string[];
|
408
|
+
};
|
409
|
+
claims: {
|
410
|
+
_sd: string[];
|
411
|
+
};
|
412
|
+
};
|
413
|
+
_sd_alg: "sha-256";
|
414
|
+
};
|
415
|
+
}>;
|
416
|
+
//# sourceMappingURL=types.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sd-jwt/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,QAAQ,aAAuC,CAAC;AAC7D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,eAAO,MAAM,qBAAqB;;;;;;EAAyC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AACpD,eAAO,MAAM,UAAU,4DAIrB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAChD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BnB,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../../src/sd-jwt/verifier.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAc,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEjE,eAAO,MAAM,gBAAgB,kDAEnB,qBAAqB,CAAC,KAAK,CAAC,kBAYrC,CAAC"}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
/**
|
2
|
+
* A generic Error that all other io-wallet specific Error subclasses extend.
|
3
|
+
*
|
4
|
+
* @example Checking thrown error is a io-wallet one
|
5
|
+
*
|
6
|
+
* ```js
|
7
|
+
* if (err instanceof errors.IoWalletError) {
|
8
|
+
* // ...
|
9
|
+
* }
|
10
|
+
* ```
|
11
|
+
*/
|
12
|
+
export declare class IoWalletError extends Error {
|
13
|
+
/** A unique error code for the particular error subclass. */
|
14
|
+
static get code(): string;
|
15
|
+
/** A unique error code for the particular error subclass. */
|
16
|
+
code: string;
|
17
|
+
constructor(message?: string);
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* An error subclass thrown when validation fail
|
21
|
+
*
|
22
|
+
*/
|
23
|
+
export declare class ValidationFailed extends IoWalletError {
|
24
|
+
static get code(): "ERR_IO_WALLET_VALIDATION_FAILED";
|
25
|
+
code: string;
|
26
|
+
/** The Claim for which the validation failed. */
|
27
|
+
claim: string;
|
28
|
+
/** Reason code for the validation failure. */
|
29
|
+
reason: string;
|
30
|
+
constructor(message: string, claim?: string, reason?: string);
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* An error subclass thrown when validation fail
|
34
|
+
*
|
35
|
+
*/
|
36
|
+
export declare class WalletInstanceAttestationIssuingError extends IoWalletError {
|
37
|
+
static get code(): "ERR_IO_WALLET_INSTANCE_ATTESTATION_ISSUING_FAILED";
|
38
|
+
code: string;
|
39
|
+
/** The Claim for which the validation failed. */
|
40
|
+
claim: string;
|
41
|
+
/** Reason code for the validation failure. */
|
42
|
+
reason: string;
|
43
|
+
constructor(message: string, claim?: string, reason?: string);
|
44
|
+
}
|
45
|
+
//# sourceMappingURL=errors.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,6DAA6D;IAC7D,MAAM,KAAK,IAAI,IAAI,MAAM,CAExB;IAED,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAA2B;gBAE3B,OAAO,CAAC,EAAE,MAAM;CAM7B;AACD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,MAAM,KAAK,IAAI,IAAI,iCAAiC,CAEnD;IAED,IAAI,SAAqC;IAEzC,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,KAAK,SAAgB,EAAE,MAAM,SAAgB;CAK3E;AAED;;;GAGG;AACH,qBAAa,qCAAsC,SAAQ,aAAa;IACtE,MAAM,KAAK,IAAI,IAAI,mDAAmD,CAErE;IAED,IAAI,SAAuD;IAE3D,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,KAAK,SAAgB,EAAE,MAAM,SAAgB;CAK3E"}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
import { z } from "zod";
|
2
|
+
export type JWK = z.infer<typeof JWK>;
|
3
|
+
export declare const JWK: z.ZodObject<{
|
4
|
+
/** JWK "alg" (Algorithm) Parameter. */
|
5
|
+
alg: z.ZodOptional<z.ZodString>;
|
6
|
+
crv: z.ZodOptional<z.ZodString>;
|
7
|
+
d: z.ZodOptional<z.ZodString>;
|
8
|
+
dp: z.ZodOptional<z.ZodString>;
|
9
|
+
dq: z.ZodOptional<z.ZodString>;
|
10
|
+
e: z.ZodOptional<z.ZodString>;
|
11
|
+
/** JWK "ext" (Extractable) Parameter. */
|
12
|
+
ext: z.ZodOptional<z.ZodBoolean>;
|
13
|
+
k: z.ZodOptional<z.ZodString>;
|
14
|
+
/** JWK "key_ops" (Key Operations) Parameter. */
|
15
|
+
key_ops: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
16
|
+
/** JWK "kid" (Key ID) Parameter. */
|
17
|
+
kid: z.ZodOptional<z.ZodString>;
|
18
|
+
/** JWK "kty" (Key Type) Parameter.
|
19
|
+
* This attribute is required to discriminate the
|
20
|
+
* type of EC/RSA algorithm */
|
21
|
+
kty: z.ZodUnion<[z.ZodLiteral<"RSA">, z.ZodLiteral<"EC">]>;
|
22
|
+
n: z.ZodOptional<z.ZodString>;
|
23
|
+
p: z.ZodOptional<z.ZodString>;
|
24
|
+
q: z.ZodOptional<z.ZodString>;
|
25
|
+
qi: z.ZodOptional<z.ZodString>;
|
26
|
+
/** JWK "use" (Public Key Use) Parameter. */
|
27
|
+
use: z.ZodOptional<z.ZodString>;
|
28
|
+
x: z.ZodOptional<z.ZodString>;
|
29
|
+
y: z.ZodOptional<z.ZodString>;
|
30
|
+
/** JWK "x5c" (X.509 Certificate Chain) Parameter. */
|
31
|
+
x5c: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
32
|
+
/** JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter. */
|
33
|
+
x5t: z.ZodOptional<z.ZodString>;
|
34
|
+
/** "x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter. */
|
35
|
+
"x5t#S256": z.ZodOptional<z.ZodString>;
|
36
|
+
/** JWK "x5u" (X.509 URL) Parameter. */
|
37
|
+
x5u: z.ZodOptional<z.ZodString>;
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
39
|
+
kty: "RSA" | "EC";
|
40
|
+
alg?: string | undefined;
|
41
|
+
crv?: string | undefined;
|
42
|
+
d?: string | undefined;
|
43
|
+
dp?: string | undefined;
|
44
|
+
dq?: string | undefined;
|
45
|
+
e?: string | undefined;
|
46
|
+
ext?: boolean | undefined;
|
47
|
+
k?: string | undefined;
|
48
|
+
key_ops?: string[] | undefined;
|
49
|
+
kid?: string | undefined;
|
50
|
+
n?: string | undefined;
|
51
|
+
p?: string | undefined;
|
52
|
+
q?: string | undefined;
|
53
|
+
qi?: string | undefined;
|
54
|
+
use?: string | undefined;
|
55
|
+
x?: string | undefined;
|
56
|
+
y?: string | undefined;
|
57
|
+
x5c?: string[] | undefined;
|
58
|
+
x5t?: string | undefined;
|
59
|
+
"x5t#S256"?: string | undefined;
|
60
|
+
x5u?: string | undefined;
|
61
|
+
}, {
|
62
|
+
kty: "RSA" | "EC";
|
63
|
+
alg?: string | undefined;
|
64
|
+
crv?: string | undefined;
|
65
|
+
d?: string | undefined;
|
66
|
+
dp?: string | undefined;
|
67
|
+
dq?: string | undefined;
|
68
|
+
e?: string | undefined;
|
69
|
+
ext?: boolean | undefined;
|
70
|
+
k?: string | undefined;
|
71
|
+
key_ops?: string[] | undefined;
|
72
|
+
kid?: string | undefined;
|
73
|
+
n?: string | undefined;
|
74
|
+
p?: string | undefined;
|
75
|
+
q?: string | undefined;
|
76
|
+
qi?: string | undefined;
|
77
|
+
use?: string | undefined;
|
78
|
+
x?: string | undefined;
|
79
|
+
y?: string | undefined;
|
80
|
+
x5c?: string[] | undefined;
|
81
|
+
x5t?: string | undefined;
|
82
|
+
"x5t#S256"?: string | undefined;
|
83
|
+
x5u?: string | undefined;
|
84
|
+
}>;
|
85
|
+
//# sourceMappingURL=jwk.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"jwk.d.ts","sourceRoot":"","sources":["../../../src/utils/jwk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACtC,eAAO,MAAM,GAAG;IACd,uCAAuC;;;;;;;IAOvC,yCAAyC;;;IAGzC,gDAAgD;;IAEhD,oCAAoC;;IAEpC;;kCAE8B;;;;;;IAM9B,4CAA4C;;;;IAI5C,qDAAqD;;IAErD,gEAAgE;;IAEhE,mEAAmE;;IAEnE,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEvC,CAAC"}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { WalletInstanceAttestationJwt } from "./types";
|
2
|
+
import { Issuing } from "./issuing";
|
3
|
+
export { Issuing };
|
4
|
+
/**
|
5
|
+
* Decode a given JWT to get the parsed Wallet Instance Attestation object they define.
|
6
|
+
* It ensures provided data is in a valid shape.
|
7
|
+
*
|
8
|
+
* It DOES NOT verify token signature nor check disclosures are correctly referenced by the JWT.
|
9
|
+
* Use {@link verify} instead
|
10
|
+
*
|
11
|
+
* @function
|
12
|
+
* @param token The encoded token that represents a valid jwt for Wallet Instance Attestation
|
13
|
+
*
|
14
|
+
* @returns The validated Wallet Instance Attestation object
|
15
|
+
* @throws A decoding error if the token doesn't resolve in a valid JWT
|
16
|
+
* @throws A validation error if the provided data doesn't result in a valid Wallet Instance Attestation
|
17
|
+
*
|
18
|
+
*/
|
19
|
+
export declare function decode(token: string): WalletInstanceAttestationJwt;
|
20
|
+
/**
|
21
|
+
* Verify a given JWT to get the parsed Wallet Instance Attestation object they define.
|
22
|
+
* Same as {@link decode} plus token signature verification
|
23
|
+
*
|
24
|
+
* @async @function
|
25
|
+
*
|
26
|
+
*
|
27
|
+
* @param token The encoded token that represents a valid jwt
|
28
|
+
*
|
29
|
+
* @returns {WalletInstanceAttestationJwt} The validated Wallet Instance Attestation object
|
30
|
+
* @throws A decoding error if the token doesn't resolve in a valid JWT
|
31
|
+
* @throws A validation error if the provided data doesn't result in a valid Wallet Instance Attestation
|
32
|
+
* @throws Invalid signature error if the token signature is not valid
|
33
|
+
*
|
34
|
+
*/
|
35
|
+
export declare function verify(token: string): Promise<WalletInstanceAttestationJwt>;
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet-instance-attestation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAIvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,4BAA4B,CAQlE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,4BAA4B,CAAC,CAOvC"}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { JWK } from "../utils/jwk";
|
2
|
+
export declare class Issuing {
|
3
|
+
walletProviderBaseUrl: string;
|
4
|
+
constructor(walletProviderBaseUrl: string);
|
5
|
+
/**
|
6
|
+
* Get the Wallet Instance Attestation Request to sign
|
7
|
+
*
|
8
|
+
* @async @function
|
9
|
+
*
|
10
|
+
* @param jwk Public key of the wallet instance
|
11
|
+
*
|
12
|
+
* @returns {string} Wallet Instance Attestation Request to sign
|
13
|
+
*
|
14
|
+
*/
|
15
|
+
getAttestationRequestToSign(jwk: JWK): Promise<string>;
|
16
|
+
/**
|
17
|
+
* Get the Wallet Instance Attestation given a
|
18
|
+
* Wallet Instance Attestation Request and signature
|
19
|
+
*
|
20
|
+
* @async @function
|
21
|
+
*
|
22
|
+
* @param attestationRequest Wallet Instance Attestaion Request
|
23
|
+
* obtained with {@link getAttestationRequestToSign}
|
24
|
+
* @param signature Signature of the Wallet Instance Attestaion Request
|
25
|
+
* @param appFetch Optional object with fetch function to use
|
26
|
+
*
|
27
|
+
* @returns {string} Wallet Instance Attestation
|
28
|
+
*
|
29
|
+
*/
|
30
|
+
getAttestation(attestationRequest: string, signature: string, appFetch?: GlobalFetch): Promise<String>;
|
31
|
+
}
|
32
|
+
//# sourceMappingURL=issuing.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"issuing.d.ts","sourceRoot":"","sources":["../../../src/wallet-instance-attestation/issuing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAKnC,qBAAa,OAAO;IAClB,qBAAqB,EAAE,MAAM,CAAC;gBAElB,qBAAqB,EAAE,MAAM;IAIzC;;;;;;;;;OASG;IACG,2BAA2B,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B5D;;;;;;;;;;;;;OAaG;IACG,cAAc,CAClB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,WAAuB,GAChC,OAAO,CAAC,MAAM,CAAC;CAqCnB"}
|