@pagopa/io-react-native-wallet 0.7.4 → 0.9.0
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 +49 -31
- package/lib/commonjs/credential/index.js +13 -0
- package/lib/commonjs/credential/index.js.map +1 -0
- package/lib/commonjs/credential/issuance/01-start-flow.js +2 -0
- package/lib/commonjs/credential/issuance/01-start-flow.js.map +1 -0
- package/lib/commonjs/credential/issuance/02-evaluate-issuer-trust.js +26 -0
- package/lib/commonjs/credential/issuance/02-evaluate-issuer-trust.js.map +1 -0
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js +119 -0
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js.map +1 -0
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +6 -0
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -0
- package/lib/commonjs/credential/issuance/05-authorize-access.js +63 -0
- package/lib/commonjs/credential/issuance/05-authorize-access.js.map +1 -0
- package/lib/commonjs/credential/issuance/06-obtain-credential.js +128 -0
- package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -0
- package/lib/commonjs/credential/issuance/07-confirm-credential.js +6 -0
- package/lib/commonjs/credential/issuance/07-confirm-credential.js.map +1 -0
- package/lib/commonjs/credential/issuance/const.js +9 -0
- package/lib/commonjs/credential/issuance/const.js.map +1 -0
- package/lib/commonjs/credential/issuance/index.js +34 -0
- package/lib/commonjs/credential/issuance/index.js.map +1 -0
- package/lib/commonjs/credential/presentation/01-start-flow.js +55 -0
- package/lib/commonjs/credential/presentation/01-start-flow.js.map +1 -0
- package/lib/commonjs/credential/presentation/02-evaluate-rp-trust.js +32 -0
- package/lib/commonjs/credential/presentation/02-evaluate-rp-trust.js.map +1 -0
- package/lib/commonjs/credential/presentation/03-get-request-object.js +68 -0
- package/lib/commonjs/credential/presentation/03-get-request-object.js.map +1 -0
- package/lib/commonjs/credential/presentation/04-send-authorization-response.js +139 -0
- package/lib/commonjs/credential/presentation/04-send-authorization-response.js.map +1 -0
- package/lib/commonjs/credential/presentation/index.js +34 -0
- package/lib/commonjs/credential/presentation/index.js.map +1 -0
- package/lib/commonjs/{rp → credential/presentation}/types.js +17 -34
- package/lib/commonjs/credential/presentation/types.js.map +1 -0
- package/lib/commonjs/index.js +10 -61
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/pid/index.js +1 -3
- package/lib/commonjs/pid/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/index.js +1 -1
- package/lib/commonjs/sd-jwt/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/types.js +1 -1
- package/lib/commonjs/sd-jwt/types.js.map +1 -1
- package/lib/commonjs/trust/chain.js +32 -4
- package/lib/commonjs/trust/chain.js.map +1 -1
- package/lib/commonjs/trust/index.js +105 -20
- package/lib/commonjs/trust/index.js.map +1 -1
- package/lib/commonjs/trust/types.js +54 -35
- package/lib/commonjs/trust/types.js.map +1 -1
- package/lib/commonjs/utils/crypto.js +5 -18
- package/lib/commonjs/utils/crypto.js.map +1 -1
- package/lib/commonjs/utils/misc.js +23 -0
- package/lib/commonjs/utils/misc.js.map +1 -0
- package/lib/commonjs/utils/par.js +86 -0
- package/lib/commonjs/utils/par.js.map +1 -0
- package/lib/module/credential/index.js +4 -0
- package/lib/module/credential/index.js.map +1 -0
- package/lib/module/credential/issuance/01-start-flow.js +2 -0
- package/lib/module/credential/issuance/01-start-flow.js.map +1 -0
- package/lib/module/credential/issuance/02-evaluate-issuer-trust.js +19 -0
- package/lib/module/credential/issuance/02-evaluate-issuer-trust.js.map +1 -0
- package/lib/module/credential/issuance/03-start-user-authorization.js +109 -0
- package/lib/module/credential/issuance/03-start-user-authorization.js.map +1 -0
- package/lib/module/credential/issuance/04-complete-user-authorization.js +2 -0
- package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -0
- package/lib/module/credential/issuance/05-authorize-access.js +55 -0
- package/lib/module/credential/issuance/05-authorize-access.js.map +1 -0
- package/lib/module/credential/issuance/06-obtain-credential.js +117 -0
- package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -0
- package/lib/module/credential/issuance/07-confirm-credential.js +2 -0
- package/lib/module/credential/issuance/07-confirm-credential.js.map +1 -0
- package/lib/module/credential/issuance/const.js +2 -0
- package/lib/module/credential/issuance/const.js.map +1 -0
- package/lib/module/credential/issuance/index.js +6 -0
- package/lib/module/credential/issuance/index.js.map +1 -0
- package/lib/module/credential/presentation/01-start-flow.js +46 -0
- package/lib/module/credential/presentation/01-start-flow.js.map +1 -0
- package/lib/module/credential/presentation/02-evaluate-rp-trust.js +25 -0
- package/lib/module/credential/presentation/02-evaluate-rp-trust.js.map +1 -0
- package/lib/module/credential/presentation/03-get-request-object.js +60 -0
- package/lib/module/credential/presentation/03-get-request-object.js.map +1 -0
- package/lib/module/credential/presentation/04-send-authorization-response.js +128 -0
- package/lib/module/credential/presentation/04-send-authorization-response.js.map +1 -0
- package/lib/module/credential/presentation/index.js +6 -0
- package/lib/module/credential/presentation/index.js.map +1 -0
- package/lib/module/credential/presentation/types.js +21 -0
- package/lib/module/credential/presentation/types.js.map +1 -0
- package/lib/module/index.js +4 -5
- package/lib/module/index.js.map +1 -1
- package/lib/module/pid/index.js +1 -2
- package/lib/module/pid/index.js.map +1 -1
- package/lib/module/sd-jwt/index.js +1 -1
- package/lib/module/sd-jwt/index.js.map +1 -1
- package/lib/module/sd-jwt/types.js +1 -1
- package/lib/module/sd-jwt/types.js.map +1 -1
- package/lib/module/trust/chain.js +30 -3
- package/lib/module/trust/chain.js.map +1 -1
- package/lib/module/trust/index.js +99 -16
- package/lib/module/trust/index.js.map +1 -1
- package/lib/module/trust/types.js +50 -31
- package/lib/module/trust/types.js.map +1 -1
- package/lib/module/utils/crypto.js +2 -15
- package/lib/module/utils/crypto.js.map +1 -1
- package/lib/module/utils/misc.js +17 -0
- package/lib/module/utils/misc.js.map +1 -0
- package/lib/module/utils/par.js +74 -0
- package/lib/module/utils/par.js.map +1 -0
- package/lib/typescript/credential/index.d.ts +4 -0
- package/lib/typescript/credential/index.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/01-start-flow.d.ts +11 -0
- package/lib/typescript/credential/issuance/01-start-flow.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/02-evaluate-issuer-trust.d.ts +18 -0
- package/lib/typescript/credential/issuance/02-evaluate-issuer-trust.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts +31 -0
- package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts +16 -0
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/05-authorize-access.d.ts +26 -0
- package/lib/typescript/credential/issuance/05-authorize-access.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts +32 -0
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/07-confirm-credential.d.ts +11 -0
- package/lib/typescript/credential/issuance/07-confirm-credential.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/const.d.ts +2 -0
- package/lib/typescript/credential/issuance/const.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/index.d.ts +10 -0
- package/lib/typescript/credential/issuance/index.d.ts.map +1 -0
- package/lib/typescript/credential/presentation/01-start-flow.d.ts +20 -0
- package/lib/typescript/credential/presentation/01-start-flow.d.ts.map +1 -0
- package/lib/typescript/credential/presentation/02-evaluate-rp-trust.d.ts +18 -0
- package/lib/typescript/credential/presentation/02-evaluate-rp-trust.d.ts.map +1 -0
- package/lib/typescript/credential/presentation/03-get-request-object.d.ts +25 -0
- package/lib/typescript/credential/presentation/03-get-request-object.d.ts.map +1 -0
- package/lib/typescript/credential/presentation/04-send-authorization-response.d.ts +34 -0
- package/lib/typescript/credential/presentation/04-send-authorization-response.d.ts.map +1 -0
- package/lib/typescript/credential/presentation/index.d.ts +7 -0
- package/lib/typescript/credential/presentation/index.d.ts.map +1 -0
- package/lib/typescript/credential/presentation/types.d.ts +49 -0
- package/lib/typescript/credential/presentation/types.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +4 -5
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/pid/index.d.ts +1 -2
- package/lib/typescript/pid/index.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/index.d.ts +2 -2
- package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/types.d.ts +5 -5
- package/lib/typescript/trust/chain.d.ts +12 -3
- package/lib/typescript/trust/chain.d.ts.map +1 -1
- package/lib/typescript/trust/index.d.ts +198 -24
- package/lib/typescript/trust/index.d.ts.map +1 -1
- package/lib/typescript/trust/types.d.ts +1299 -623
- package/lib/typescript/trust/types.d.ts.map +1 -1
- package/lib/typescript/utils/crypto.d.ts +1 -1
- package/lib/typescript/utils/crypto.d.ts.map +1 -1
- package/lib/typescript/utils/dpop.d.ts +2 -2
- package/lib/typescript/utils/misc.d.ts +8 -0
- package/lib/typescript/utils/misc.d.ts.map +1 -0
- package/lib/typescript/utils/par.d.ts +68 -0
- package/lib/typescript/utils/par.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/credential/index.ts +4 -0
- package/src/credential/issuance/01-start-flow.ts +10 -0
- package/src/credential/issuance/02-evaluate-issuer-trust.ts +31 -0
- package/src/credential/issuance/03-start-user-authorization.ts +138 -0
- package/src/credential/issuance/04-complete-user-authorization.ts +17 -0
- package/src/credential/issuance/05-authorize-access.ts +92 -0
- package/src/credential/issuance/06-obtain-credential.ts +179 -0
- package/src/credential/issuance/07-confirm-credential.ts +14 -0
- package/src/credential/issuance/const.ts +2 -0
- package/src/credential/issuance/index.ts +32 -0
- package/src/credential/presentation/01-start-flow.ts +51 -0
- package/src/credential/presentation/02-evaluate-rp-trust.ts +33 -0
- package/src/credential/presentation/03-get-request-object.ts +85 -0
- package/src/credential/presentation/04-send-authorization-response.ts +168 -0
- package/src/credential/presentation/index.ts +26 -0
- package/src/credential/presentation/types.ts +27 -0
- package/src/index.ts +7 -28
- package/src/pid/index.ts +1 -2
- package/src/sd-jwt/index.ts +2 -2
- package/src/sd-jwt/types.ts +1 -1
- package/src/trust/chain.ts +45 -3
- package/src/trust/index.ts +136 -19
- package/src/trust/types.ts +57 -35
- package/src/utils/crypto.ts +2 -20
- package/src/utils/misc.ts +23 -0
- package/src/utils/par.ts +103 -0
- package/lib/commonjs/pid/issuing.js +0 -276
- package/lib/commonjs/pid/issuing.js.map +0 -1
- package/lib/commonjs/rp/__test__/index.test.js +0 -172
- package/lib/commonjs/rp/__test__/index.test.js.map +0 -1
- package/lib/commonjs/rp/index.js +0 -239
- package/lib/commonjs/rp/index.js.map +0 -1
- package/lib/commonjs/rp/types.js.map +0 -1
- package/lib/module/pid/issuing.js +0 -266
- package/lib/module/pid/issuing.js.map +0 -1
- package/lib/module/rp/__test__/index.test.js +0 -168
- package/lib/module/rp/__test__/index.test.js.map +0 -1
- package/lib/module/rp/index.js +0 -228
- package/lib/module/rp/index.js.map +0 -1
- package/lib/module/rp/types.js +0 -36
- package/lib/module/rp/types.js.map +0 -1
- package/lib/typescript/pid/issuing.d.ts +0 -57
- package/lib/typescript/pid/issuing.d.ts.map +0 -1
- package/lib/typescript/rp/__test__/index.test.d.ts +0 -2
- package/lib/typescript/rp/__test__/index.test.d.ts.map +0 -1
- package/lib/typescript/rp/index.d.ts +0 -43
- package/lib/typescript/rp/index.d.ts.map +0 -1
- package/lib/typescript/rp/types.d.ts +0 -122
- package/lib/typescript/rp/types.d.ts.map +0 -1
- package/src/pid/issuing.ts +0 -405
- package/src/rp/__test__/index.test.ts +0 -250
- package/src/rp/index.ts +0 -287
- package/src/rp/types.ts +0 -42
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import "react-native-url-polyfill/auto";
|
|
2
|
+
import * as Credential from "./credential";
|
|
2
3
|
import * as PID from "./pid";
|
|
3
|
-
import * as RP from "./rp";
|
|
4
4
|
import * as Errors from "./utils/errors";
|
|
5
5
|
import * as WalletInstanceAttestation from "./wallet-instance-attestation";
|
|
6
|
-
import * as
|
|
7
|
-
import {
|
|
8
|
-
import { RelyingPartyEntityConfiguration, WalletProviderEntityConfiguration, TrustAnchorEntityConfiguration, CredentialIssuerEntityConfiguration } from "./trust/types";
|
|
6
|
+
import * as Trust from "./trust";
|
|
7
|
+
import { AuthorizationDetail, AuthorizationDetails } from "./utils/par";
|
|
9
8
|
import { createCryptoContextFor } from "./utils/crypto";
|
|
10
|
-
export { PID,
|
|
9
|
+
export { PID, Credential, WalletInstanceAttestation, Errors, Trust, createCryptoContextFor, AuthorizationDetail, AuthorizationDetails, };
|
|
11
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC;AAExC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,gCAAgC,CAAC;AAExC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,yBAAyB,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,EACL,GAAG,EACH,UAAU,EACV,yBAAyB,EACzB,MAAM,EACN,KAAK,EACL,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pid/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pid/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -49,13 +49,13 @@ export declare const disclose: (token: string, claims: string[]) => Promise<{
|
|
|
49
49
|
*
|
|
50
50
|
*
|
|
51
51
|
* @param token The encoded token that represents a valid sd-jwt for verifiable credentials
|
|
52
|
-
* @param publicKey The public key to validate the signature
|
|
52
|
+
* @param publicKey The single public key or an array of public keys to validate the signature.
|
|
53
53
|
* @param schema Schema to use to parse the SD-JWT
|
|
54
54
|
*
|
|
55
55
|
* @returns The parsed SD-JWT token and the parsed disclosures
|
|
56
56
|
*
|
|
57
57
|
*/
|
|
58
|
-
export declare const verify: <S extends z.AnyZodObject>(token: string, publicKey: JWK, schema: S) => Promise<{
|
|
58
|
+
export declare const verify: <S extends z.AnyZodObject>(token: string, publicKey: JWK | JWK[], schema: S) => Promise<{
|
|
59
59
|
sdJwt: z.TypeOf<S>;
|
|
60
60
|
disclosures: Disclosure[];
|
|
61
61
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sd-jwt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAAE,UAAU,EAAY,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAWxC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,oCACV,MAAM;;iBAIA,qBAAqB,EAAE;CAsBrC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,UACZ,MAAM,UACL,MAAM,EAAE;WACE,MAAM;WAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;EA8CnE,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,MAAM,oCACV,MAAM,aACF,GAAG;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sd-jwt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,EAAE,UAAU,EAAY,KAAK,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAWxC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,oCACV,MAAM;;iBAIA,qBAAqB,EAAE;CAsBrC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,UACZ,MAAM,UACL,MAAM,EAAE;WACE,MAAM;WAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;EA8CnE,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,MAAM,oCACV,MAAM,aACF,GAAG,GAAG,GAAG,EAAE;;iBAEqB,UAAU,EAAE;EAwBxD,CAAC"}
|
|
@@ -176,7 +176,7 @@ export declare const SdJwt4VC: z.ZodObject<{
|
|
|
176
176
|
x5u?: string | undefined;
|
|
177
177
|
};
|
|
178
178
|
}>;
|
|
179
|
-
type: z.
|
|
179
|
+
type: z.ZodString;
|
|
180
180
|
verified_claims: z.ZodObject<{
|
|
181
181
|
verification: z.ZodIntersection<z.ZodObject<{
|
|
182
182
|
trust_framework: z.ZodLiteral<"eidas">;
|
|
@@ -224,7 +224,7 @@ export declare const SdJwt4VC: z.ZodObject<{
|
|
|
224
224
|
}>;
|
|
225
225
|
_sd_alg: z.ZodLiteral<"sha-256">;
|
|
226
226
|
}, "strip", z.ZodTypeAny, {
|
|
227
|
-
type:
|
|
227
|
+
type: string;
|
|
228
228
|
status: string;
|
|
229
229
|
iss: string;
|
|
230
230
|
sub: string;
|
|
@@ -270,7 +270,7 @@ export declare const SdJwt4VC: z.ZodObject<{
|
|
|
270
270
|
};
|
|
271
271
|
_sd_alg: "sha-256";
|
|
272
272
|
}, {
|
|
273
|
-
type:
|
|
273
|
+
type: string;
|
|
274
274
|
status: string;
|
|
275
275
|
iss: string;
|
|
276
276
|
sub: string;
|
|
@@ -324,7 +324,7 @@ export declare const SdJwt4VC: z.ZodObject<{
|
|
|
324
324
|
kid?: string | undefined;
|
|
325
325
|
};
|
|
326
326
|
payload: {
|
|
327
|
-
type:
|
|
327
|
+
type: string;
|
|
328
328
|
status: string;
|
|
329
329
|
iss: string;
|
|
330
330
|
sub: string;
|
|
@@ -378,7 +378,7 @@ export declare const SdJwt4VC: z.ZodObject<{
|
|
|
378
378
|
kid?: string | undefined;
|
|
379
379
|
};
|
|
380
380
|
payload: {
|
|
381
|
-
type:
|
|
381
|
+
type: string;
|
|
382
382
|
status: string;
|
|
383
383
|
iss: string;
|
|
384
384
|
sub: string;
|
|
@@ -7,11 +7,20 @@ type ParsedToken = {
|
|
|
7
7
|
/**
|
|
8
8
|
* Validates a provided trust chain against a known trust
|
|
9
9
|
*
|
|
10
|
-
* @param trustAnchorEntity
|
|
11
|
-
* @param chain
|
|
10
|
+
* @param trustAnchorEntity The entity configuration of the known trust anchor
|
|
11
|
+
* @param chain The chain of statements to be validate
|
|
12
12
|
* @returns The list of parsed token representing the chain
|
|
13
13
|
* @throws {IoWalletError} If the chain is not valid
|
|
14
14
|
*/
|
|
15
|
-
export declare function
|
|
15
|
+
export declare function validateTrustChain(trustAnchorEntity: TrustAnchorEntityConfiguration, chain: string[]): Promise<ParsedToken[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Given a trust chain, obtain a new trust chain by fetching each element's fresh version
|
|
18
|
+
*
|
|
19
|
+
* @param chain The original chain
|
|
20
|
+
* @param appFetch (optional) fetch api implementation
|
|
21
|
+
* @returns A list of signed token that reprensent the trust chain, in the same order of the provided chain
|
|
22
|
+
* @throws When an element of the chain fails to parse
|
|
23
|
+
*/
|
|
24
|
+
export declare function renewTrustChain(chain: string[], appFetch?: GlobalFetch["fetch"]): Promise<string[]>;
|
|
16
25
|
export {};
|
|
17
26
|
//# sourceMappingURL=chain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/trust/chain.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../../src/trust/chain.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAGxF,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;CACrC,CAAC;AAiCF;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,iBAAiB,EAAE,8BAA8B,EACjD,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,WAAW,EAAE,CAAC,CA+CxB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,GAAE,WAAW,CAAC,OAAO,CAAS,qBA6BvC"}
|
|
@@ -1,6 +1,31 @@
|
|
|
1
|
-
import { WalletProviderEntityConfiguration, TrustAnchorEntityConfiguration, CredentialIssuerEntityConfiguration, RelyingPartyEntityConfiguration, EntityConfiguration } from "./types";
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
1
|
+
import { WalletProviderEntityConfiguration, TrustAnchorEntityConfiguration, CredentialIssuerEntityConfiguration, RelyingPartyEntityConfiguration, EntityConfiguration, EntityStatement } from "./types";
|
|
2
|
+
import { validateTrustChain } from "./chain";
|
|
3
|
+
export type { WalletProviderEntityConfiguration, TrustAnchorEntityConfiguration, CredentialIssuerEntityConfiguration, RelyingPartyEntityConfiguration, EntityConfiguration, EntityStatement, };
|
|
4
|
+
/**
|
|
5
|
+
* Verify a given trust chain is actually valid.
|
|
6
|
+
* It can handle fast chain renewal, which means we try to fetch a fresh version of each statement.
|
|
7
|
+
*
|
|
8
|
+
* @param trustAnchorEntity The entity configuration of the known trust anchor
|
|
9
|
+
* @param chain The chain of statements to be validate
|
|
10
|
+
* @param options.renewOnFail Whether to renew the provided chain if the validation fails at first. Default: true
|
|
11
|
+
* @param options.appFetch Fetch api implementation. Default: the built-in implementation
|
|
12
|
+
* @returns The result of the chain validation
|
|
13
|
+
* @throws {IoWalletError} When either validation or renewal fail
|
|
14
|
+
*/
|
|
15
|
+
export declare function verifyTrustChain(trustAnchorEntity: TrustAnchorEntityConfiguration, chain: string[], { appFetch, renewOnFail, }?: {
|
|
16
|
+
appFetch?: GlobalFetch["fetch"];
|
|
17
|
+
renewOnFail?: boolean;
|
|
18
|
+
}): Promise<ReturnType<typeof validateTrustChain>>;
|
|
19
|
+
/**
|
|
20
|
+
* Fetch the signed entity configuration token for an entity
|
|
21
|
+
*
|
|
22
|
+
* @param entityBaseUrl The url of the entity to fetch
|
|
23
|
+
* @param param.appFetch (optional) fetch api implemention
|
|
24
|
+
* @returns The signed Entity Configuration token
|
|
25
|
+
*/
|
|
26
|
+
export declare function getSignedEntityConfiguration(entityBaseUrl: string, { appFetch, }?: {
|
|
27
|
+
appFetch?: GlobalFetch["fetch"];
|
|
28
|
+
}): Promise<string>;
|
|
4
29
|
/**
|
|
5
30
|
* Fetch and parse the entity configuration document for a given federation entity.
|
|
6
31
|
* This is an inner method to serve public interfaces.
|
|
@@ -253,9 +278,7 @@ export declare const getCredentialIssuerEntityConfiguration: (entityBaseUrl: Par
|
|
|
253
278
|
dpop_signing_alg_values_supported: string[];
|
|
254
279
|
credential_endpoint: string;
|
|
255
280
|
credentials_supported: {
|
|
256
|
-
|
|
257
|
-
cryptographic_binding_methods_supported: string[];
|
|
258
|
-
cryptographic_suites_supported: string[];
|
|
281
|
+
id: string;
|
|
259
282
|
display: {
|
|
260
283
|
name: string;
|
|
261
284
|
locale: string;
|
|
@@ -266,8 +289,53 @@ export declare const getCredentialIssuerEntityConfiguration: (entityBaseUrl: Par
|
|
|
266
289
|
background_color: string;
|
|
267
290
|
text_color: string;
|
|
268
291
|
}[];
|
|
292
|
+
format: "vc+sd-jwt";
|
|
293
|
+
cryptographic_binding_methods_supported: string[];
|
|
294
|
+
cryptographic_suites_supported: string[];
|
|
295
|
+
credential_definition: {
|
|
296
|
+
type: string[];
|
|
297
|
+
credentialSubject: Record<string, {
|
|
298
|
+
mandatory: boolean;
|
|
299
|
+
display: {
|
|
300
|
+
name: string;
|
|
301
|
+
locale: string;
|
|
302
|
+
}[];
|
|
303
|
+
}>;
|
|
304
|
+
};
|
|
269
305
|
}[];
|
|
270
306
|
};
|
|
307
|
+
wallet_relying_party?: {
|
|
308
|
+
jwks: {
|
|
309
|
+
keys: {
|
|
310
|
+
kty: "RSA" | "EC";
|
|
311
|
+
alg?: string | undefined;
|
|
312
|
+
crv?: string | undefined;
|
|
313
|
+
d?: string | undefined;
|
|
314
|
+
dp?: string | undefined;
|
|
315
|
+
dq?: string | undefined;
|
|
316
|
+
e?: string | undefined;
|
|
317
|
+
ext?: boolean | undefined;
|
|
318
|
+
k?: string | undefined;
|
|
319
|
+
key_ops?: string[] | undefined;
|
|
320
|
+
kid?: string | undefined;
|
|
321
|
+
n?: string | undefined;
|
|
322
|
+
p?: string | undefined;
|
|
323
|
+
q?: string | undefined;
|
|
324
|
+
qi?: string | undefined;
|
|
325
|
+
use?: string | undefined;
|
|
326
|
+
x?: string | undefined;
|
|
327
|
+
y?: string | undefined;
|
|
328
|
+
x5c?: string[] | undefined;
|
|
329
|
+
x5t?: string | undefined;
|
|
330
|
+
"x5t#S256"?: string | undefined;
|
|
331
|
+
x5u?: string | undefined;
|
|
332
|
+
}[];
|
|
333
|
+
};
|
|
334
|
+
application_type?: string | undefined;
|
|
335
|
+
client_id?: string | undefined;
|
|
336
|
+
client_name?: string | undefined;
|
|
337
|
+
contacts?: string[] | undefined;
|
|
338
|
+
} | undefined;
|
|
271
339
|
};
|
|
272
340
|
};
|
|
273
341
|
}>;
|
|
@@ -422,8 +490,6 @@ export declare const getRelyingPartyEntityConfiguration: (entityBaseUrl: Paramet
|
|
|
422
490
|
client_id?: string | undefined;
|
|
423
491
|
client_name?: string | undefined;
|
|
424
492
|
contacts?: string[] | undefined;
|
|
425
|
-
} & {
|
|
426
|
-
[k: string]: unknown;
|
|
427
493
|
};
|
|
428
494
|
};
|
|
429
495
|
};
|
|
@@ -607,9 +673,7 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
|
|
|
607
673
|
dpop_signing_alg_values_supported: string[];
|
|
608
674
|
credential_endpoint: string;
|
|
609
675
|
credentials_supported: {
|
|
610
|
-
|
|
611
|
-
cryptographic_binding_methods_supported: string[];
|
|
612
|
-
cryptographic_suites_supported: string[];
|
|
676
|
+
id: string;
|
|
613
677
|
display: {
|
|
614
678
|
name: string;
|
|
615
679
|
locale: string;
|
|
@@ -620,8 +684,53 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
|
|
|
620
684
|
background_color: string;
|
|
621
685
|
text_color: string;
|
|
622
686
|
}[];
|
|
687
|
+
format: "vc+sd-jwt";
|
|
688
|
+
cryptographic_binding_methods_supported: string[];
|
|
689
|
+
cryptographic_suites_supported: string[];
|
|
690
|
+
credential_definition: {
|
|
691
|
+
type: string[];
|
|
692
|
+
credentialSubject: Record<string, {
|
|
693
|
+
mandatory: boolean;
|
|
694
|
+
display: {
|
|
695
|
+
name: string;
|
|
696
|
+
locale: string;
|
|
697
|
+
}[];
|
|
698
|
+
}>;
|
|
699
|
+
};
|
|
623
700
|
}[];
|
|
624
701
|
};
|
|
702
|
+
wallet_relying_party?: {
|
|
703
|
+
jwks: {
|
|
704
|
+
keys: {
|
|
705
|
+
kty: "RSA" | "EC";
|
|
706
|
+
alg?: string | undefined;
|
|
707
|
+
crv?: string | undefined;
|
|
708
|
+
d?: string | undefined;
|
|
709
|
+
dp?: string | undefined;
|
|
710
|
+
dq?: string | undefined;
|
|
711
|
+
e?: string | undefined;
|
|
712
|
+
ext?: boolean | undefined;
|
|
713
|
+
k?: string | undefined;
|
|
714
|
+
key_ops?: string[] | undefined;
|
|
715
|
+
kid?: string | undefined;
|
|
716
|
+
n?: string | undefined;
|
|
717
|
+
p?: string | undefined;
|
|
718
|
+
q?: string | undefined;
|
|
719
|
+
qi?: string | undefined;
|
|
720
|
+
use?: string | undefined;
|
|
721
|
+
x?: string | undefined;
|
|
722
|
+
y?: string | undefined;
|
|
723
|
+
x5c?: string[] | undefined;
|
|
724
|
+
x5t?: string | undefined;
|
|
725
|
+
"x5t#S256"?: string | undefined;
|
|
726
|
+
x5u?: string | undefined;
|
|
727
|
+
}[];
|
|
728
|
+
};
|
|
729
|
+
application_type?: string | undefined;
|
|
730
|
+
client_id?: string | undefined;
|
|
731
|
+
client_name?: string | undefined;
|
|
732
|
+
contacts?: string[] | undefined;
|
|
733
|
+
} | undefined;
|
|
625
734
|
};
|
|
626
735
|
};
|
|
627
736
|
}) | ({
|
|
@@ -685,7 +794,7 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
|
|
|
685
794
|
} & {
|
|
686
795
|
payload: {
|
|
687
796
|
metadata: {
|
|
688
|
-
|
|
797
|
+
wallet_relying_party: {
|
|
689
798
|
jwks: {
|
|
690
799
|
keys: {
|
|
691
800
|
kty: "RSA" | "EC";
|
|
@@ -712,13 +821,10 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
|
|
|
712
821
|
x5u?: string | undefined;
|
|
713
822
|
}[];
|
|
714
823
|
};
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
attested_security_context_values_supported?: string[] | undefined;
|
|
720
|
-
} & {
|
|
721
|
-
[k: string]: unknown;
|
|
824
|
+
application_type?: string | undefined;
|
|
825
|
+
client_id?: string | undefined;
|
|
826
|
+
client_name?: string | undefined;
|
|
827
|
+
contacts?: string[] | undefined;
|
|
722
828
|
};
|
|
723
829
|
};
|
|
724
830
|
};
|
|
@@ -783,7 +889,7 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
|
|
|
783
889
|
} & {
|
|
784
890
|
payload: {
|
|
785
891
|
metadata: {
|
|
786
|
-
|
|
892
|
+
wallet_provider: {
|
|
787
893
|
jwks: {
|
|
788
894
|
keys: {
|
|
789
895
|
kty: "RSA" | "EC";
|
|
@@ -810,14 +916,82 @@ export declare const getEntityConfiguration: (entityBaseUrl: Parameters<typeof f
|
|
|
810
916
|
x5u?: string | undefined;
|
|
811
917
|
}[];
|
|
812
918
|
};
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
919
|
+
token_endpoint: string;
|
|
920
|
+
grant_types_supported: string[];
|
|
921
|
+
token_endpoint_auth_methods_supported: string[];
|
|
922
|
+
token_endpoint_auth_signing_alg_values_supported: string[];
|
|
923
|
+
attested_security_context_values_supported?: string[] | undefined;
|
|
817
924
|
} & {
|
|
818
925
|
[k: string]: unknown;
|
|
819
926
|
};
|
|
820
927
|
};
|
|
821
928
|
};
|
|
822
929
|
})>;
|
|
930
|
+
/**
|
|
931
|
+
* Fetch and parse the entity statement document for a given federation entity.
|
|
932
|
+
*
|
|
933
|
+
* @param accreditationBodyBaseUrl The base url of the accreditaion body which holds and signs the required entity statement
|
|
934
|
+
* @param subordinatedEntityBaseUrl The url that identifies the subordinate entity
|
|
935
|
+
* @param options.appFetch An optional instance of the http client to be used.
|
|
936
|
+
* @returns The parsed entity configuration object
|
|
937
|
+
* @throws {IoWalletError} If the http request fails
|
|
938
|
+
* @throws Parse error if the document is not in the expected shape.
|
|
939
|
+
*/
|
|
940
|
+
export declare function getEntityStatement(accreditationBodyBaseUrl: string, subordinatedEntityBaseUrl: string, { appFetch, }?: {
|
|
941
|
+
appFetch?: GlobalFetch["fetch"];
|
|
942
|
+
}): Promise<{
|
|
943
|
+
header: {
|
|
944
|
+
alg: string;
|
|
945
|
+
kid: string;
|
|
946
|
+
typ: "entity-statement+jwt";
|
|
947
|
+
};
|
|
948
|
+
payload: {
|
|
949
|
+
iss: string;
|
|
950
|
+
sub: string;
|
|
951
|
+
iat: number;
|
|
952
|
+
exp: number;
|
|
953
|
+
jwks: {
|
|
954
|
+
keys: {
|
|
955
|
+
kty: "RSA" | "EC";
|
|
956
|
+
alg?: string | undefined;
|
|
957
|
+
crv?: string | undefined;
|
|
958
|
+
d?: string | undefined;
|
|
959
|
+
dp?: string | undefined;
|
|
960
|
+
dq?: string | undefined;
|
|
961
|
+
e?: string | undefined;
|
|
962
|
+
ext?: boolean | undefined;
|
|
963
|
+
k?: string | undefined;
|
|
964
|
+
key_ops?: string[] | undefined;
|
|
965
|
+
kid?: string | undefined;
|
|
966
|
+
n?: string | undefined;
|
|
967
|
+
p?: string | undefined;
|
|
968
|
+
q?: string | undefined;
|
|
969
|
+
qi?: string | undefined;
|
|
970
|
+
use?: string | undefined;
|
|
971
|
+
x?: string | undefined;
|
|
972
|
+
y?: string | undefined;
|
|
973
|
+
x5c?: string[] | undefined;
|
|
974
|
+
x5t?: string | undefined;
|
|
975
|
+
"x5t#S256"?: string | undefined;
|
|
976
|
+
x5u?: string | undefined;
|
|
977
|
+
}[];
|
|
978
|
+
};
|
|
979
|
+
trust_marks: {
|
|
980
|
+
id: string;
|
|
981
|
+
trust_mark: string;
|
|
982
|
+
}[];
|
|
983
|
+
};
|
|
984
|
+
}>;
|
|
985
|
+
/**
|
|
986
|
+
* Fetch the entity statement document for a given federation entity.
|
|
987
|
+
*
|
|
988
|
+
* @param accreditationBodyBaseUrl The base url of the accreditaion body which holds and signs the required entity statement
|
|
989
|
+
* @param subordinatedEntityBaseUrl The url that identifies the subordinate entity
|
|
990
|
+
* @param options.appFetch An optional instance of the http client to be used.
|
|
991
|
+
* @returns The signed entity statement token
|
|
992
|
+
* @throws {IoWalletError} If the http request fails
|
|
993
|
+
*/
|
|
994
|
+
export declare function getSignedEntityStatement(accreditationBodyBaseUrl: string, subordinatedEntityBaseUrl: string, { appFetch, }?: {
|
|
995
|
+
appFetch?: GlobalFetch["fetch"];
|
|
996
|
+
}): Promise<string>;
|
|
823
997
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/trust/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,mCAAmC,EACnC,+BAA+B,EAC/B,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/trust/index.ts"],"names":[],"mappings":"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"}
|