@credo-ts/openid4vc 0.6.0-pr-2195-20250226100854 → 0.6.0-pr-2209-20250321171013
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/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +14 -119
- package/build/openid4vc-holder/OpenId4VcHolderApi.js +9 -24
- package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VcHolderModule.js +1 -1
- package/build/openid4vc-holder/OpenId4VcHolderModule.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +8 -7
- package/build/openid4vc-holder/OpenId4VciHolderService.js +21 -19
- package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +4 -4
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +2 -2
- package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +1 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +15 -116
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +233 -239
- package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +1 -1
- package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +9 -25
- package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +44 -194
- package/build/openid4vc-issuer/OpenId4VcIssuerEvents.d.ts +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.d.ts +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +8 -8
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +10 -2
- package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +48 -198
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js +27 -39
- package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
- package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +6 -11
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +2 -2
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +1 -0
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRepository.d.ts +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.d.ts +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +3 -3
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
- package/build/openid4vc-issuer/repository/OpenId4VcIssuerRepository.d.ts +1 -1
- package/build/openid4vc-issuer/router/accessTokenEndpoint.d.ts +2 -2
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js +1 -1
- package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +1 -1
- package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js +1 -1
- package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/credentialEndpoint.d.ts +1 -1
- package/build/openid4vc-issuer/router/credentialEndpoint.js +3 -3
- package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/credentialOfferEndpoint.d.ts +1 -1
- package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js +1 -1
- package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js.map +1 -1
- package/build/openid4vc-issuer/router/jwksEndpoint.d.ts +1 -1
- package/build/openid4vc-issuer/router/nonceEndpoint.d.ts +1 -1
- package/build/openid4vc-issuer/util/txCode.d.ts +1 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +13 -25
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +326 -579
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +20 -36
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +2 -2
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.js +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierApi.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierEvents.d.ts +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.d.ts +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +4 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
- package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.d.ts +2 -2
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +49 -0
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +230 -0
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +1 -0
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.d.ts +19 -0
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +144 -0
- package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +1 -0
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.d.ts +11 -20
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +7 -18
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRepository.d.ts +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.d.ts +1 -1
- package/build/openid4vc-verifier/repository/OpenId4VcVerifierRepository.d.ts +1 -1
- package/build/openid4vc-verifier/router/authorizationEndpoint.js +103 -5
- package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js +16 -3
- package/build/openid4vc-verifier/router/authorizationRequestEndpoint.js.map +1 -1
- package/build/shared/callbacks.d.ts +6 -14
- package/build/shared/callbacks.js +14 -102
- package/build/shared/callbacks.js.map +1 -1
- package/build/shared/issuerMetadataUtils.d.ts +144 -102
- package/build/shared/models/OpenId4VcJwtIssuer.d.ts +3 -2
- package/build/shared/models/index.d.ts +10 -10
- package/build/shared/models/index.js +5 -5
- package/build/shared/models/index.js.map +1 -1
- package/build/shared/router/context.d.ts +3 -3
- package/build/shared/router/context.js +4 -4
- package/build/shared/router/context.js.map +1 -1
- package/build/shared/router/express.js +1 -2
- package/build/shared/router/express.js.map +1 -1
- package/build/shared/transform.d.ts +5 -0
- package/build/shared/transform.js +69 -0
- package/build/shared/transform.js.map +1 -0
- package/build/shared/utils.d.ts +8 -6
- package/build/shared/utils.js +105 -34
- package/build/shared/utils.js.map +1 -1
- package/package.json +8 -6
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSphereonVerifiableCredential = getSphereonVerifiableCredential;
|
|
4
|
+
exports.getSphereonVerifiablePresentation = getSphereonVerifiablePresentation;
|
|
5
|
+
exports.getVerifiablePresentationFromSphereonWrapped = getVerifiablePresentationFromSphereonWrapped;
|
|
6
|
+
const core_1 = require("@credo-ts/core");
|
|
7
|
+
function getSphereonVerifiableCredential(verifiableCredential) {
|
|
8
|
+
// encoded sd-jwt or jwt
|
|
9
|
+
if (typeof verifiableCredential === 'string') {
|
|
10
|
+
return verifiableCredential;
|
|
11
|
+
}
|
|
12
|
+
if (verifiableCredential instanceof core_1.W3cJsonLdVerifiableCredential) {
|
|
13
|
+
return core_1.JsonTransformer.toJSON(verifiableCredential);
|
|
14
|
+
}
|
|
15
|
+
if (verifiableCredential instanceof core_1.W3cJwtVerifiableCredential) {
|
|
16
|
+
return verifiableCredential.serializedJwt;
|
|
17
|
+
}
|
|
18
|
+
if (verifiableCredential instanceof core_1.Mdoc) {
|
|
19
|
+
return verifiableCredential.base64Url;
|
|
20
|
+
}
|
|
21
|
+
return verifiableCredential.compact;
|
|
22
|
+
}
|
|
23
|
+
function getSphereonVerifiablePresentation(verifiablePresentation) {
|
|
24
|
+
// encoded sd-jwt or jwt
|
|
25
|
+
if (typeof verifiablePresentation === 'string') {
|
|
26
|
+
return verifiablePresentation;
|
|
27
|
+
}
|
|
28
|
+
if (verifiablePresentation instanceof core_1.W3cJsonLdVerifiablePresentation) {
|
|
29
|
+
return core_1.JsonTransformer.toJSON(verifiablePresentation);
|
|
30
|
+
}
|
|
31
|
+
if (verifiablePresentation instanceof core_1.W3cJwtVerifiablePresentation) {
|
|
32
|
+
return verifiablePresentation.serializedJwt;
|
|
33
|
+
}
|
|
34
|
+
if (verifiablePresentation instanceof core_1.MdocDeviceResponse) {
|
|
35
|
+
return verifiablePresentation.base64Url;
|
|
36
|
+
}
|
|
37
|
+
return verifiablePresentation.compact;
|
|
38
|
+
}
|
|
39
|
+
function getVerifiablePresentationFromSphereonWrapped(wrappedVerifiablePresentation) {
|
|
40
|
+
if (wrappedVerifiablePresentation.format === 'jwt_vp') {
|
|
41
|
+
if (typeof wrappedVerifiablePresentation.original !== 'string') {
|
|
42
|
+
throw new core_1.CredoError('Unable to transform JWT VP to W3C VP');
|
|
43
|
+
}
|
|
44
|
+
return core_1.W3cJwtVerifiablePresentation.fromSerializedJwt(wrappedVerifiablePresentation.original);
|
|
45
|
+
}
|
|
46
|
+
if (wrappedVerifiablePresentation.format === 'ldp_vp') {
|
|
47
|
+
return core_1.JsonTransformer.fromJSON(wrappedVerifiablePresentation.original, core_1.W3cJsonLdVerifiablePresentation);
|
|
48
|
+
}
|
|
49
|
+
if (wrappedVerifiablePresentation.format === 'vc+sd-jwt') {
|
|
50
|
+
// We use some custom logic here so we don't have to re-process the encoded SD-JWT
|
|
51
|
+
const [encodedHeader] = wrappedVerifiablePresentation.presentation.compactSdJwtVc.split('.');
|
|
52
|
+
const header = core_1.JsonEncoder.fromBase64(encodedHeader);
|
|
53
|
+
return {
|
|
54
|
+
compact: wrappedVerifiablePresentation.presentation.compactSdJwtVc,
|
|
55
|
+
header,
|
|
56
|
+
payload: wrappedVerifiablePresentation.presentation.signedPayload,
|
|
57
|
+
prettyClaims: wrappedVerifiablePresentation.presentation.decodedPayload,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (wrappedVerifiablePresentation.format === 'mso_mdoc') {
|
|
61
|
+
if (typeof wrappedVerifiablePresentation.original !== 'string') {
|
|
62
|
+
const base64Url = core_1.TypedArrayEncoder.toBase64URL(new Uint8Array(wrappedVerifiablePresentation.original.cborEncode()));
|
|
63
|
+
return core_1.MdocDeviceResponse.fromBase64Url(base64Url);
|
|
64
|
+
}
|
|
65
|
+
return core_1.MdocDeviceResponse.fromBase64Url(wrappedVerifiablePresentation.original);
|
|
66
|
+
}
|
|
67
|
+
throw new core_1.CredoError(`Unsupported presentation format: ${wrappedVerifiablePresentation.format}`);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/shared/transform.ts"],"names":[],"mappings":"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"}
|
package/build/shared/utils.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import type { AgentContext, DidPurpose, EncodedX509Certificate, JwaSignatureAlgorithm, Key } from '@credo-ts/core';
|
|
2
|
+
import type { VerifyJwtCallback, JwtIssuerWithContext as VpJwtIssuerWithContext } from '@sphereon/did-auth-siop';
|
|
3
|
+
import type { CreateJwtCallback, DPoPJwtIssuerWithContext, JwtIssuer } from '@sphereon/oid4vc-common';
|
|
4
|
+
import type { OpenId4VcIssuerX5c, OpenId4VcJwtIssuer } from './models';
|
|
4
5
|
/**
|
|
5
6
|
* Returns the JWA Signature Algorithms that are supported by the wallet.
|
|
6
7
|
*
|
|
@@ -11,10 +12,11 @@ import type { JwtSigner, JwtSignerX5c } from '@openid4vc/oauth2';
|
|
|
11
12
|
*/
|
|
12
13
|
export declare function getSupportedJwaSignatureAlgorithms(agentContext: AgentContext): JwaSignatureAlgorithm[];
|
|
13
14
|
export declare function getKeyFromDid(agentContext: AgentContext, didUrl: string, allowedPurposes?: DidPurpose[]): Promise<Key>;
|
|
14
|
-
export declare function
|
|
15
|
+
export declare function getVerifyJwtCallback(agentContext: AgentContext, _trustedCertificates?: EncodedX509Certificate[]): VerifyJwtCallback;
|
|
16
|
+
export declare function getCreateJwtCallback(agentContext: AgentContext): CreateJwtCallback<DPoPJwtIssuerWithContext | VpJwtIssuerWithContext>;
|
|
17
|
+
export declare function openIdTokenIssuerToJwtIssuer(agentContext: AgentContext, openId4VcTokenIssuer: Exclude<OpenId4VcJwtIssuer, OpenId4VcIssuerX5c> | (OpenId4VcIssuerX5c & {
|
|
15
18
|
issuer: string;
|
|
16
|
-
})>;
|
|
19
|
+
})): Promise<JwtIssuer>;
|
|
17
20
|
export declare function getProofTypeFromKey(agentContext: AgentContext, key: Key): string;
|
|
18
21
|
export declare function addSecondsToDate(date: Date, seconds: number): Date;
|
|
19
22
|
export declare function dateToSeconds(date: Date): number;
|
|
20
|
-
export declare function parseIfJson<T>(input: T): T | Record<string, unknown>;
|
package/build/shared/utils.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getSupportedJwaSignatureAlgorithms = getSupportedJwaSignatureAlgorithms;
|
|
4
4
|
exports.getKeyFromDid = getKeyFromDid;
|
|
5
|
-
exports.
|
|
5
|
+
exports.getVerifyJwtCallback = getVerifyJwtCallback;
|
|
6
|
+
exports.getCreateJwtCallback = getCreateJwtCallback;
|
|
7
|
+
exports.openIdTokenIssuerToJwtIssuer = openIdTokenIssuerToJwtIssuer;
|
|
6
8
|
exports.getProofTypeFromKey = getProofTypeFromKey;
|
|
7
9
|
exports.addSecondsToDate = addSecondsToDate;
|
|
8
10
|
exports.dateToSeconds = dateToSeconds;
|
|
9
|
-
exports.parseIfJson = parseIfJson;
|
|
10
11
|
const core_1 = require("@credo-ts/core");
|
|
11
12
|
/**
|
|
12
13
|
* Returns the JWA Signature Algorithms that are supported by the wallet.
|
|
@@ -34,58 +35,141 @@ async function getKeyFromDid(agentContext, didUrl, allowedPurposes = ['authentic
|
|
|
34
35
|
const verificationMethod = didDocument.dereferenceKey(didUrl, allowedPurposes);
|
|
35
36
|
return (0, core_1.getKeyFromVerificationMethod)(verificationMethod);
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
38
|
+
function getVerifyJwtCallback(agentContext, _trustedCertificates) {
|
|
39
|
+
return async (jwtVerifier, jwt) => {
|
|
40
|
+
const jwsService = agentContext.dependencyManager.resolve(core_1.JwsService);
|
|
41
|
+
let trustedCertificates = _trustedCertificates;
|
|
42
|
+
if (jwtVerifier.method === 'did') {
|
|
43
|
+
const key = await getKeyFromDid(agentContext, jwtVerifier.didUrl);
|
|
44
|
+
const jwk = (0, core_1.getJwkFromKey)(key);
|
|
45
|
+
const res = await jwsService.verifyJws(agentContext, {
|
|
46
|
+
jws: jwt.raw,
|
|
47
|
+
jwkResolver: () => jwk,
|
|
48
|
+
// No certificates trusted
|
|
49
|
+
trustedCertificates: [],
|
|
50
|
+
});
|
|
51
|
+
return res.isValid;
|
|
52
|
+
}
|
|
53
|
+
if (jwtVerifier.method === 'x5c' || jwtVerifier.method === 'jwk') {
|
|
54
|
+
if (jwtVerifier.type === 'request-object') {
|
|
55
|
+
const x509Config = agentContext.dependencyManager.resolve(core_1.X509ModuleConfig);
|
|
56
|
+
const certificateChain = jwt.header.x5c?.map((cert) => core_1.X509Certificate.fromEncodedCertificate(cert));
|
|
57
|
+
if (!trustedCertificates && certificateChain && x509Config.getTrustedCertificatesForVerification) {
|
|
58
|
+
trustedCertificates = await x509Config.getTrustedCertificatesForVerification(agentContext, {
|
|
59
|
+
certificateChain,
|
|
60
|
+
verification: {
|
|
61
|
+
type: 'oauth2SecuredAuthorizationRequest',
|
|
62
|
+
authorizationRequest: {
|
|
63
|
+
jwt: jwt.raw,
|
|
64
|
+
payload: core_1.JwtPayload.fromJson(jwt.payload),
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
if (!trustedCertificates) {
|
|
70
|
+
// We also take from the config here to avoid the callback being called again
|
|
71
|
+
trustedCertificates = x509Config.trustedCertificates ?? [];
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const res = await jwsService.verifyJws(agentContext, {
|
|
75
|
+
jws: jwt.raw,
|
|
76
|
+
// Only allowed for request object
|
|
77
|
+
trustedCertificates: jwtVerifier.type === 'request-object' ? trustedCertificates : [],
|
|
78
|
+
});
|
|
79
|
+
return res.isValid;
|
|
80
|
+
}
|
|
81
|
+
throw new Error(`Unsupported jwt verifier method: '${jwtVerifier.method}'`);
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function getCreateJwtCallback(agentContext) {
|
|
85
|
+
return async (jwtIssuer, jwt) => {
|
|
86
|
+
const jwsService = agentContext.dependencyManager.resolve(core_1.JwsService);
|
|
87
|
+
if (jwtIssuer.method === 'did') {
|
|
88
|
+
const key = await getKeyFromDid(agentContext, jwtIssuer.didUrl);
|
|
89
|
+
const jws = await jwsService.createJwsCompact(agentContext, {
|
|
90
|
+
protectedHeaderOptions: { ...jwt.header, alg: jwtIssuer.alg, jwk: undefined },
|
|
91
|
+
payload: core_1.JwtPayload.fromJson(jwt.payload),
|
|
92
|
+
key,
|
|
93
|
+
});
|
|
94
|
+
return jws;
|
|
95
|
+
}
|
|
96
|
+
if (jwtIssuer.method === 'jwk') {
|
|
97
|
+
if (!jwtIssuer.jwk.kty) {
|
|
98
|
+
throw new core_1.CredoError('Missing required key type (kty) in the jwk.');
|
|
99
|
+
}
|
|
100
|
+
const jwk = (0, core_1.getJwkFromJson)(jwtIssuer.jwk);
|
|
101
|
+
const key = jwk.key;
|
|
102
|
+
const jws = await jwsService.createJwsCompact(agentContext, {
|
|
103
|
+
protectedHeaderOptions: { ...jwt.header, jwk, alg: jwtIssuer.alg },
|
|
104
|
+
payload: core_1.JwtPayload.fromJson(jwt.payload),
|
|
105
|
+
key,
|
|
106
|
+
});
|
|
107
|
+
return jws;
|
|
108
|
+
}
|
|
109
|
+
if (jwtIssuer.method === 'x5c') {
|
|
110
|
+
const leafCertificate = core_1.X509Service.getLeafCertificate(agentContext, { certificateChain: jwtIssuer.x5c });
|
|
111
|
+
const jws = await jwsService.createJwsCompact(agentContext, {
|
|
112
|
+
protectedHeaderOptions: { ...jwt.header, alg: jwtIssuer.alg, jwk: undefined },
|
|
113
|
+
payload: core_1.JwtPayload.fromJson(jwt.payload),
|
|
114
|
+
key: leafCertificate.publicKey,
|
|
115
|
+
});
|
|
116
|
+
return jws;
|
|
117
|
+
}
|
|
118
|
+
throw new Error(`Unsupported jwt issuer method '${jwtIssuer.method}'`);
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
async function openIdTokenIssuerToJwtIssuer(agentContext, openId4VcTokenIssuer) {
|
|
122
|
+
if (openId4VcTokenIssuer.method === 'did') {
|
|
123
|
+
const key = await getKeyFromDid(agentContext, openId4VcTokenIssuer.didUrl);
|
|
40
124
|
const alg = (0, core_1.getJwkClassFromKeyType)(key.keyType)?.supportedSignatureAlgorithms[0];
|
|
41
125
|
if (!alg)
|
|
42
126
|
throw new core_1.CredoError(`No supported signature algorithms for key type: ${key.keyType}`);
|
|
43
127
|
return {
|
|
44
|
-
method:
|
|
45
|
-
didUrl:
|
|
128
|
+
method: openId4VcTokenIssuer.method,
|
|
129
|
+
didUrl: openId4VcTokenIssuer.didUrl,
|
|
46
130
|
alg,
|
|
47
131
|
};
|
|
48
132
|
}
|
|
49
|
-
|
|
133
|
+
if (openId4VcTokenIssuer.method === 'x5c') {
|
|
50
134
|
const leafCertificate = core_1.X509Service.getLeafCertificate(agentContext, {
|
|
51
|
-
certificateChain:
|
|
135
|
+
certificateChain: openId4VcTokenIssuer.x5c,
|
|
52
136
|
});
|
|
53
137
|
const jwk = (0, core_1.getJwkFromKey)(leafCertificate.publicKey);
|
|
54
138
|
const alg = jwk.supportedSignatureAlgorithms[0];
|
|
55
139
|
if (!alg) {
|
|
56
140
|
throw new core_1.CredoError(`No supported signature algorithms found key type: '${jwk.keyType}'`);
|
|
57
141
|
}
|
|
58
|
-
if (!
|
|
59
|
-
!(
|
|
142
|
+
if (!openId4VcTokenIssuer.issuer.startsWith('https://') &&
|
|
143
|
+
!(openId4VcTokenIssuer.issuer.startsWith('http://') && agentContext.config.allowInsecureHttpUrls)) {
|
|
60
144
|
throw new core_1.CredoError('The X509 certificate issuer must be a HTTPS URI.');
|
|
61
145
|
}
|
|
62
|
-
if (!leafCertificate.sanUriNames.includes(
|
|
63
|
-
!leafCertificate.sanDnsNames.includes((0, core_1.getDomainFromUrl)(
|
|
146
|
+
if (!leafCertificate.sanUriNames.includes(openId4VcTokenIssuer.issuer) &&
|
|
147
|
+
!leafCertificate.sanDnsNames.includes((0, core_1.getDomainFromUrl)(openId4VcTokenIssuer.issuer))) {
|
|
64
148
|
const sanUriMessage = leafCertificate.sanUriNames.length > 0
|
|
65
149
|
? `SAN-URI names are ${leafCertificate.sanUriNames.join(', ')}`
|
|
66
150
|
: 'there are no SAN-URI names';
|
|
67
151
|
const sanDnsMessage = leafCertificate.sanDnsNames.length > 0
|
|
68
152
|
? `SAN-DNS names are ${leafCertificate.sanDnsNames.join(', ')}`
|
|
69
153
|
: 'there are no SAN-DNS names';
|
|
70
|
-
throw new Error(`The 'iss' claim in the payload does not match a 'SAN-URI' or 'SAN-DNS' name in the x5c certificate. 'iss' value is '${
|
|
154
|
+
throw new Error(`The 'iss' claim in the payload does not match a 'SAN-URI' or 'SAN-DNS' name in the x5c certificate. 'iss' value is '${openId4VcTokenIssuer.issuer}', ${sanUriMessage}, ${sanDnsMessage} (for SAN-DNS only domain has to match)`);
|
|
71
155
|
}
|
|
72
156
|
return {
|
|
73
|
-
...
|
|
157
|
+
...openId4VcTokenIssuer,
|
|
74
158
|
alg,
|
|
75
159
|
};
|
|
76
160
|
}
|
|
77
|
-
|
|
78
|
-
const alg =
|
|
161
|
+
if (openId4VcTokenIssuer.method === 'jwk') {
|
|
162
|
+
const alg = openId4VcTokenIssuer.jwk.supportedSignatureAlgorithms[0];
|
|
79
163
|
if (!alg) {
|
|
80
|
-
throw new core_1.CredoError(`No supported signature algorithms for key type: '${
|
|
164
|
+
throw new core_1.CredoError(`No supported signature algorithms for key type: '${openId4VcTokenIssuer.jwk.keyType}'`);
|
|
81
165
|
}
|
|
82
166
|
return {
|
|
83
|
-
...
|
|
84
|
-
|
|
167
|
+
...openId4VcTokenIssuer,
|
|
168
|
+
jwk: openId4VcTokenIssuer.jwk.toJson(),
|
|
85
169
|
alg,
|
|
86
170
|
};
|
|
87
171
|
}
|
|
88
|
-
throw new core_1.CredoError(`Unsupported jwt issuer method '${
|
|
172
|
+
throw new core_1.CredoError(`Unsupported jwt issuer method '${openId4VcTokenIssuer.method}'`);
|
|
89
173
|
}
|
|
90
174
|
function getProofTypeFromKey(agentContext, key) {
|
|
91
175
|
const signatureSuiteRegistry = agentContext.dependencyManager.resolve(core_1.SignatureSuiteRegistry);
|
|
@@ -101,17 +185,4 @@ function addSecondsToDate(date, seconds) {
|
|
|
101
185
|
function dateToSeconds(date) {
|
|
102
186
|
return Math.floor(date.getTime() / 1000);
|
|
103
187
|
}
|
|
104
|
-
function parseIfJson(input) {
|
|
105
|
-
if (typeof input !== 'string') {
|
|
106
|
-
return input;
|
|
107
|
-
}
|
|
108
|
-
try {
|
|
109
|
-
// Try to parse the string as JSON
|
|
110
|
-
return JSON.parse(input);
|
|
111
|
-
}
|
|
112
|
-
catch (error) {
|
|
113
|
-
/* empty */
|
|
114
|
-
}
|
|
115
|
-
return input;
|
|
116
|
-
}
|
|
117
188
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@credo-ts/openid4vc",
|
|
3
3
|
"main": "build/index",
|
|
4
4
|
"types": "build/index",
|
|
5
|
-
"version": "0.6.0-pr-
|
|
5
|
+
"version": "0.6.0-pr-2209-20250321171013",
|
|
6
6
|
"files": [
|
|
7
7
|
"build"
|
|
8
8
|
],
|
|
@@ -17,13 +17,15 @@
|
|
|
17
17
|
"directory": "packages/openid4vc"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
+
"@sphereon/did-auth-siop": "0.16.1-fix.173",
|
|
21
|
+
"@sphereon/oid4vc-common": "0.16.1-fix.173",
|
|
22
|
+
"@sphereon/ssi-types": "0.30.2-next.135",
|
|
20
23
|
"class-transformer": "^0.5.1",
|
|
21
24
|
"rxjs": "^7.8.0",
|
|
22
25
|
"zod": "^3.23.8",
|
|
23
|
-
"@
|
|
24
|
-
"@
|
|
25
|
-
"@
|
|
26
|
-
"@credo-ts/core": "0.6.0-pr-2195-20250226100854"
|
|
26
|
+
"@animo-id/oid4vci": "0.1.4",
|
|
27
|
+
"@animo-id/oauth2": "0.1.4",
|
|
28
|
+
"@credo-ts/core": "0.6.0-pr-2209-20250321171013"
|
|
27
29
|
},
|
|
28
30
|
"devDependencies": {
|
|
29
31
|
"@types/express": "^4.17.21",
|
|
@@ -31,7 +33,7 @@
|
|
|
31
33
|
"nock": "^14.0.0-beta.19",
|
|
32
34
|
"rimraf": "^4.4.0",
|
|
33
35
|
"typescript": "~5.5.2",
|
|
34
|
-
"@credo-ts/tenants": "0.6.0-pr-
|
|
36
|
+
"@credo-ts/tenants": "0.6.0-pr-2209-20250321171013"
|
|
35
37
|
},
|
|
36
38
|
"scripts": {
|
|
37
39
|
"build": "pnpm run clean && pnpm run compile",
|