@sphereon/ssi-sdk-ext.identifier-resolution 0.27.1-next.6 → 0.28.1-feature.esm.cjs.11
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/dist/index.cjs +5336 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +439 -0
- package/dist/index.d.ts +434 -7
- package/dist/index.js +5333 -27
- package/dist/index.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +34 -22
- package/plugin.schema.json +679 -710
- package/src/agent/IdentifierResolution.ts +36 -35
- package/src/functions/externalIdentifierFunctions.ts +21 -14
- package/src/functions/externalOIDFIdentifier.ts +7 -2
- package/src/functions/managedIdentifierFunctions.ts +22 -8
- package/src/index.ts +1 -1
- package/src/types/IIdentifierResolution.ts +1 -1
- package/src/types/IJwtService.d.ts +3 -2
- package/src/types/externalIdentifierTypes.ts +2 -0
- package/dist/agent/IdentifierResolution.d.ts +0 -38
- package/dist/agent/IdentifierResolution.d.ts.map +0 -1
- package/dist/agent/IdentifierResolution.js +0 -123
- package/dist/agent/IdentifierResolution.js.map +0 -1
- package/dist/functions/LegacySupport.d.ts +0 -12
- package/dist/functions/LegacySupport.d.ts.map +0 -1
- package/dist/functions/LegacySupport.js +0 -39
- package/dist/functions/LegacySupport.js.map +0 -1
- package/dist/functions/externalIdentifierFunctions.d.ts +0 -26
- package/dist/functions/externalIdentifierFunctions.d.ts.map +0 -1
- package/dist/functions/externalIdentifierFunctions.js +0 -250
- package/dist/functions/externalIdentifierFunctions.js.map +0 -1
- package/dist/functions/externalOIDFIdentifier.d.ts +0 -19
- package/dist/functions/externalOIDFIdentifier.d.ts.map +0 -1
- package/dist/functions/externalOIDFIdentifier.js +0 -80
- package/dist/functions/externalOIDFIdentifier.js.map +0 -1
- package/dist/functions/index.d.ts +0 -5
- package/dist/functions/index.d.ts.map +0 -1
- package/dist/functions/index.js +0 -21
- package/dist/functions/index.js.map +0 -1
- package/dist/functions/managedIdentifierFunctions.d.ts +0 -38
- package/dist/functions/managedIdentifierFunctions.d.ts.map +0 -1
- package/dist/functions/managedIdentifierFunctions.js +0 -346
- package/dist/functions/managedIdentifierFunctions.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/types/IIdentifierResolution.d.ts +0 -42
- package/dist/types/IIdentifierResolution.d.ts.map +0 -1
- package/dist/types/IIdentifierResolution.js +0 -21
- package/dist/types/IIdentifierResolution.js.map +0 -1
- package/dist/types/common.d.ts +0 -20
- package/dist/types/common.d.ts.map +0 -1
- package/dist/types/common.js +0 -51
- package/dist/types/common.js.map +0 -1
- package/dist/types/externalIdentifierTypes.d.ts +0 -112
- package/dist/types/externalIdentifierTypes.d.ts.map +0 -1
- package/dist/types/externalIdentifierTypes.js +0 -44
- package/dist/types/externalIdentifierTypes.js.map +0 -1
- package/dist/types/index.d.ts +0 -5
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -21
- package/dist/types/index.js.map +0 -1
- package/dist/types/managedIdentifierTypes.d.ts +0 -122
- package/dist/types/managedIdentifierTypes.d.ts.map +0 -1
- package/dist/types/managedIdentifierTypes.js +0 -63
- package/dist/types/managedIdentifierTypes.js.map +0 -1
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { IAgentContext, IDIDManager, IResolver } from '@veramo/core';
|
|
2
|
-
import { ExternalIdentifierCoseKeyOpts, ExternalIdentifierCoseKeyResult, ExternalIdentifierDidOpts, ExternalIdentifierDidResult, ExternalIdentifierJwkOpts, ExternalIdentifierJwkResult, ExternalIdentifierOpts, ExternalIdentifierResult, ExternalIdentifierX5cOpts, ExternalIdentifierX5cResult } from '../types';
|
|
3
|
-
export declare function resolveExternalIdentifier(opts: ExternalIdentifierOpts & {
|
|
4
|
-
crypto?: Crypto;
|
|
5
|
-
}, context: IAgentContext<any>): Promise<ExternalIdentifierResult>;
|
|
6
|
-
export declare function resolveExternalX5cIdentifier(opts: ExternalIdentifierX5cOpts & {
|
|
7
|
-
crypto?: Crypto;
|
|
8
|
-
}, context: IAgentContext<IResolver & IDIDManager>): Promise<ExternalIdentifierX5cResult>;
|
|
9
|
-
/**
|
|
10
|
-
* Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated
|
|
11
|
-
* @param opts
|
|
12
|
-
* @param context
|
|
13
|
-
*/
|
|
14
|
-
export declare function resolveExternalJwkIdentifier(opts: ExternalIdentifierJwkOpts & {
|
|
15
|
-
x5c?: ExternalIdentifierX5cOpts;
|
|
16
|
-
}, context: IAgentContext<any>): Promise<ExternalIdentifierJwkResult>;
|
|
17
|
-
/**
|
|
18
|
-
* Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated
|
|
19
|
-
* @param opts
|
|
20
|
-
* @param context
|
|
21
|
-
*/
|
|
22
|
-
export declare function resolveExternalCoseKeyIdentifier(opts: ExternalIdentifierCoseKeyOpts & {
|
|
23
|
-
x5c?: ExternalIdentifierX5cOpts;
|
|
24
|
-
}, context: IAgentContext<any>): Promise<ExternalIdentifierCoseKeyResult>;
|
|
25
|
-
export declare function resolveExternalDidIdentifier(opts: ExternalIdentifierDidOpts, context: IAgentContext<IResolver & IDIDManager>): Promise<ExternalIdentifierDidResult>;
|
|
26
|
-
//# sourceMappingURL=externalIdentifierFunctions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"externalIdentifierFunctions.d.ts","sourceRoot":"","sources":["../../src/functions/externalIdentifierFunctions.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAGpE,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAE3B,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAU5B,MAAM,UAAU,CAAA;AAGjB,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,sBAAsB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,GAC1B,OAAO,CAAC,wBAAwB,CAAC,CAoBnC;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,yBAAyB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,OAAO,EAAE,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC,GAC9C,OAAO,CAAC,2BAA2B,CAAC,CA4EtC;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,yBAAyB,GAAG;IAChC,GAAG,CAAC,EAAE,yBAAyB,CAAA;CAChC,EACD,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,GAC1B,OAAO,CAAC,2BAA2B,CAAC,CAuBtC;AAED;;;;GAIG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,6BAA6B,GAAG;IACpC,GAAG,CAAC,EAAE,yBAAyB,CAAA;CAChC,EACD,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,GAC1B,OAAO,CAAC,+BAA+B,CAAC,CAyB1C;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,yBAAyB,EAC/B,OAAO,EAAE,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC,GAC9C,OAAO,CAAC,2BAA2B,CAAC,CAmDtC"}
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.resolveExternalIdentifier = resolveExternalIdentifier;
|
|
13
|
-
exports.resolveExternalX5cIdentifier = resolveExternalX5cIdentifier;
|
|
14
|
-
exports.resolveExternalJwkIdentifier = resolveExternalJwkIdentifier;
|
|
15
|
-
exports.resolveExternalCoseKeyIdentifier = resolveExternalCoseKeyIdentifier;
|
|
16
|
-
exports.resolveExternalDidIdentifier = resolveExternalDidIdentifier;
|
|
17
|
-
const ssi_sdk_ext_did_utils_1 = require("@sphereon/ssi-sdk-ext.did-utils");
|
|
18
|
-
const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
|
|
19
|
-
const ssi_sdk_ext_x509_utils_1 = require("@sphereon/ssi-sdk-ext.x509-utils");
|
|
20
|
-
const ssi_sdk_agent_config_1 = require("@sphereon/ssi-sdk.agent-config");
|
|
21
|
-
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
22
|
-
const utils_1 = require("@veramo/utils");
|
|
23
|
-
const pkijs_1 = require("pkijs");
|
|
24
|
-
const types_1 = require("../types");
|
|
25
|
-
const _1 = require(".");
|
|
26
|
-
function resolveExternalIdentifier(opts, context) {
|
|
27
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
let method;
|
|
29
|
-
if ((0, types_1.isExternalIdentifierDidOpts)(opts)) {
|
|
30
|
-
return resolveExternalDidIdentifier(opts, context);
|
|
31
|
-
}
|
|
32
|
-
else if ((0, types_1.isExternalIdentifierX5cOpts)(opts)) {
|
|
33
|
-
return resolveExternalX5cIdentifier(opts, context);
|
|
34
|
-
}
|
|
35
|
-
else if ((0, types_1.isExternalIdentifierJwkOpts)(opts)) {
|
|
36
|
-
return resolveExternalJwkIdentifier(opts, context);
|
|
37
|
-
}
|
|
38
|
-
else if ((0, types_1.isExternalIdentifierCoseKeyOpts)(opts)) {
|
|
39
|
-
return resolveExternalCoseKeyIdentifier(opts, context);
|
|
40
|
-
}
|
|
41
|
-
else if ((0, types_1.isExternalIdentifierOIDFEntityIdOpts)(opts)) {
|
|
42
|
-
return (0, _1.resolveExternalOIDFEntityIdIdentifier)(opts, context);
|
|
43
|
-
}
|
|
44
|
-
else if ((0, types_1.isExternalIdentifierKidOpts)(opts)) {
|
|
45
|
-
method = 'kid';
|
|
46
|
-
}
|
|
47
|
-
else if ((0, types_1.isExternalIdentifierJwksUrlOpts)(opts)) {
|
|
48
|
-
method = 'jwks-url';
|
|
49
|
-
}
|
|
50
|
-
else if ((0, types_1.isExternalIdentifierOidcDiscoveryOpts)(opts)) {
|
|
51
|
-
method = 'oidc-discovery';
|
|
52
|
-
}
|
|
53
|
-
throw Error(`External resolution method ${method} is not yet implemented`);
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
function resolveExternalX5cIdentifier(opts, context) {
|
|
57
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
-
var _a, _b, _c;
|
|
59
|
-
if (!(0, types_1.isExternalIdentifierX5cOpts)(opts)) {
|
|
60
|
-
return Promise.reject('External x5c Identifier args need to be provided');
|
|
61
|
-
}
|
|
62
|
-
const verify = (_a = opts.verify) !== null && _a !== void 0 ? _a : true;
|
|
63
|
-
const x5c = opts.identifier.map((derOrPem) => (derOrPem.includes('CERTIFICATE') ? (0, ssi_sdk_ext_x509_utils_1.PEMToDer)(derOrPem) : derOrPem));
|
|
64
|
-
if (x5c.length === 0) {
|
|
65
|
-
return Promise.reject('Empty certification chain is not allowed');
|
|
66
|
-
}
|
|
67
|
-
const certificates = x5c.map(ssi_sdk_ext_x509_utils_1.pemOrDerToX509Certificate);
|
|
68
|
-
let verificationResult;
|
|
69
|
-
let issuerJWK;
|
|
70
|
-
let jwks = [];
|
|
71
|
-
if (verify) {
|
|
72
|
-
// We use the agent plugin if it is available as that is more powerful, but revert to the function otherwise
|
|
73
|
-
if ((0, ssi_sdk_agent_config_1.contextHasPlugin)(context, 'verifyCertificateChain')) {
|
|
74
|
-
verificationResult = (yield context.agent.verifyCertificateChain({
|
|
75
|
-
chain: opts.identifier,
|
|
76
|
-
trustAnchors: (_b = opts.trustAnchors) !== null && _b !== void 0 ? _b : [],
|
|
77
|
-
verificationTime: opts.verificationTime,
|
|
78
|
-
})); // We need to cast, as we know this is the value and we do not want to rely on the x509 plugin perse
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
verificationResult = yield (0, ssi_sdk_ext_x509_utils_1.validateX509CertificateChain)({
|
|
82
|
-
chain: opts.identifier,
|
|
83
|
-
trustAnchors: (_c = opts.trustAnchors) !== null && _c !== void 0 ? _c : [],
|
|
84
|
-
verificationTime: opts.verificationTime,
|
|
85
|
-
opts,
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
if (verificationResult.certificateChain) {
|
|
89
|
-
jwks = verificationResult.certificateChain.map((cert) => {
|
|
90
|
-
return {
|
|
91
|
-
jwk: cert.publicKeyJWK,
|
|
92
|
-
kid: cert.subject.dn.DN,
|
|
93
|
-
jwkThumbprint: (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk: cert.publicKeyJWK }),
|
|
94
|
-
publicKeyHex: (0, ssi_sdk_ext_did_utils_1.jwkTtoPublicKeyHex)(cert.publicKeyJWK),
|
|
95
|
-
};
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
if (!jwks || jwks.length === 0) {
|
|
100
|
-
const cryptoEngine = new pkijs_1.CryptoEngine({
|
|
101
|
-
name: 'identifier_resolver_external',
|
|
102
|
-
crypto: (0, ssi_sdk_ext_key_utils_1.globalCrypto)(false, opts.crypto),
|
|
103
|
-
});
|
|
104
|
-
(0, pkijs_1.setEngine)(cryptoEngine.name, cryptoEngine);
|
|
105
|
-
jwks = yield Promise.all(certificates.map((cert) => __awaiter(this, void 0, void 0, function* () {
|
|
106
|
-
const pk = yield cert.getPublicKey(undefined, cryptoEngine);
|
|
107
|
-
const jwk = (yield cryptoEngine.exportKey('jwk', pk));
|
|
108
|
-
return {
|
|
109
|
-
jwk,
|
|
110
|
-
kid: (0, ssi_sdk_ext_x509_utils_1.getSubjectDN)(cert).DN,
|
|
111
|
-
jwkThumbprint: (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk }),
|
|
112
|
-
publicKeyHex: (0, ssi_sdk_ext_did_utils_1.jwkTtoPublicKeyHex)(jwk),
|
|
113
|
-
};
|
|
114
|
-
})));
|
|
115
|
-
}
|
|
116
|
-
if (jwks.length === 0) {
|
|
117
|
-
return Promise.reject('Empty certification chain is now allowed');
|
|
118
|
-
}
|
|
119
|
-
if (!issuerJWK) {
|
|
120
|
-
issuerJWK = jwks[0].jwk;
|
|
121
|
-
}
|
|
122
|
-
return {
|
|
123
|
-
method: 'x5c',
|
|
124
|
-
verificationResult,
|
|
125
|
-
issuerJWK,
|
|
126
|
-
jwks,
|
|
127
|
-
certificates,
|
|
128
|
-
x5c,
|
|
129
|
-
};
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated
|
|
134
|
-
* @param opts
|
|
135
|
-
* @param context
|
|
136
|
-
*/
|
|
137
|
-
function resolveExternalJwkIdentifier(opts, context) {
|
|
138
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
-
if (!(0, types_1.isExternalIdentifierJwkOpts)(opts)) {
|
|
140
|
-
return Promise.reject('External JWK Identifier args need to be provided');
|
|
141
|
-
}
|
|
142
|
-
const jwk = opts.identifier;
|
|
143
|
-
let x5c = undefined;
|
|
144
|
-
if (jwk.x5c) {
|
|
145
|
-
x5c = yield resolveExternalX5cIdentifier(Object.assign(Object.assign({}, opts.x5c), { identifier: jwk.x5c }), context);
|
|
146
|
-
}
|
|
147
|
-
const jwkThumbprint = (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk });
|
|
148
|
-
return {
|
|
149
|
-
method: 'jwk',
|
|
150
|
-
jwk,
|
|
151
|
-
jwks: [
|
|
152
|
-
{
|
|
153
|
-
jwk,
|
|
154
|
-
jwkThumbprint,
|
|
155
|
-
kid: jwk.kid,
|
|
156
|
-
publicKeyHex: (0, ssi_sdk_ext_did_utils_1.jwkTtoPublicKeyHex)(jwk),
|
|
157
|
-
},
|
|
158
|
-
],
|
|
159
|
-
x5c,
|
|
160
|
-
};
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated
|
|
165
|
-
* @param opts
|
|
166
|
-
* @param context
|
|
167
|
-
*/
|
|
168
|
-
function resolveExternalCoseKeyIdentifier(opts, context) {
|
|
169
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
-
if (!(0, types_1.isExternalIdentifierCoseKeyOpts)(opts)) {
|
|
171
|
-
return Promise.reject('External Cose Key args need to be provided');
|
|
172
|
-
}
|
|
173
|
-
// TODO: We need to do cbor conversion here as well.
|
|
174
|
-
const coseKey = opts.identifier;
|
|
175
|
-
let x5c = undefined;
|
|
176
|
-
if (coseKey.x5chain) {
|
|
177
|
-
x5c = yield resolveExternalX5cIdentifier(Object.assign(Object.assign({}, opts.x5c), { identifier: coseKey.x5chain }), context);
|
|
178
|
-
}
|
|
179
|
-
const jwk = (0, ssi_sdk_ext_key_utils_1.coseKeyToJwk)(coseKey);
|
|
180
|
-
const jwkThumbprint = (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk });
|
|
181
|
-
return {
|
|
182
|
-
method: 'cose_key',
|
|
183
|
-
coseKey,
|
|
184
|
-
jwks: [
|
|
185
|
-
{
|
|
186
|
-
jwk,
|
|
187
|
-
jwkThumbprint,
|
|
188
|
-
kid: coseKey.kid,
|
|
189
|
-
publicKeyHex: (0, ssi_sdk_ext_did_utils_1.jwkTtoPublicKeyHex)(jwk),
|
|
190
|
-
},
|
|
191
|
-
],
|
|
192
|
-
x5c,
|
|
193
|
-
};
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
function resolveExternalDidIdentifier(opts, context) {
|
|
197
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
198
|
-
var _a;
|
|
199
|
-
if (!(0, types_1.isExternalIdentifierDidOpts)(opts)) {
|
|
200
|
-
return Promise.reject('External DID Identifier args need to be provided');
|
|
201
|
-
}
|
|
202
|
-
else if (!(0, ssi_sdk_agent_config_1.contextHasPlugin)(context, 'resolveDid')) {
|
|
203
|
-
return Promise.reject(Error(`Cannot get external DID identifier if DID resolver plugin is not enabled!`));
|
|
204
|
-
}
|
|
205
|
-
const { uniresolverResolution = false, localResolution = true, resolverResolution = true } = opts;
|
|
206
|
-
const did = opts.identifier;
|
|
207
|
-
let parsed;
|
|
208
|
-
try {
|
|
209
|
-
parsed = (0, ssi_types_1.parseDid)(did);
|
|
210
|
-
}
|
|
211
|
-
catch (error) {
|
|
212
|
-
// Error from did resolution spec
|
|
213
|
-
return Promise.reject(error);
|
|
214
|
-
}
|
|
215
|
-
const didParsed = parsed;
|
|
216
|
-
const didResolutionResult = yield (0, ssi_sdk_ext_did_utils_1.getAgentResolver)(context, {
|
|
217
|
-
uniresolverResolution,
|
|
218
|
-
localResolution,
|
|
219
|
-
resolverResolution,
|
|
220
|
-
}).resolve(did);
|
|
221
|
-
const didDocument = (_a = didResolutionResult.didDocument) !== null && _a !== void 0 ? _a : undefined;
|
|
222
|
-
const didJwks = didDocument ? (0, ssi_sdk_ext_did_utils_1.didDocumentToJwks)(didDocument) : undefined;
|
|
223
|
-
const jwks = didJwks
|
|
224
|
-
? Array.from(new Set(Array.from(Object.values(didJwks)
|
|
225
|
-
.filter((jwks) => (0, utils_1.isDefined)(jwks) && jwks.length > 0)
|
|
226
|
-
.flatMap((jwks) => jwks)).flatMap((jwk) => {
|
|
227
|
-
return {
|
|
228
|
-
jwk,
|
|
229
|
-
jwkThumbprint: (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk }),
|
|
230
|
-
kid: jwk.kid,
|
|
231
|
-
publicKeyHex: (0, ssi_sdk_ext_did_utils_1.jwkTtoPublicKeyHex)(jwk),
|
|
232
|
-
};
|
|
233
|
-
}).map(jwk => JSON.stringify(jwk)))).map((jwks) => JSON.parse(jwks))
|
|
234
|
-
: [];
|
|
235
|
-
if (didResolutionResult === null || didResolutionResult === void 0 ? void 0 : didResolutionResult.didDocument) {
|
|
236
|
-
// @ts-ignore // Mandatory on the original object, but we already provide it directly
|
|
237
|
-
delete didResolutionResult['didDocument'];
|
|
238
|
-
}
|
|
239
|
-
return {
|
|
240
|
-
method: 'did',
|
|
241
|
-
did,
|
|
242
|
-
jwks,
|
|
243
|
-
didJwks,
|
|
244
|
-
didDocument,
|
|
245
|
-
didResolutionResult,
|
|
246
|
-
didParsed,
|
|
247
|
-
};
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
//# sourceMappingURL=externalIdentifierFunctions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"externalIdentifierFunctions.js","sourceRoot":"","sources":["../../src/functions/externalIdentifierFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { ExternalIdentifierOIDFEntityIdOpts, ExternalIdentifierOIDFEntityIdResult } from '../types';
|
|
2
|
-
import { IAgentContext } from '@veramo/core';
|
|
3
|
-
import { IOIDFClient } from '@sphereon/ssi-sdk.oidf-client';
|
|
4
|
-
/**
|
|
5
|
-
* Resolves an OIDF Entity ID against multiple trust anchors to establish trusted relationships
|
|
6
|
-
*
|
|
7
|
-
* @param opts Configuration options containing the identifier to resolve and trust anchors to validate against
|
|
8
|
-
* @param context Agent context that must include the OIDF client plugin and JWT verification capabilities
|
|
9
|
-
*
|
|
10
|
-
* @returns Promise resolving to an ExternalIdentifierOIDFEntityIdResult containing:
|
|
11
|
-
* - trustedAnchors: Record mapping trust anchors to their public key hexes
|
|
12
|
-
* - errorList: Optional record of errors encountered per trust anchor
|
|
13
|
-
* - jwks: Array of JWK information from the trust chain
|
|
14
|
-
* - trustEstablished: Boolean indicating if any trust relationships were established
|
|
15
|
-
*
|
|
16
|
-
* @throws Error if trust anchors are missing or JWT verification plugin is not enabled
|
|
17
|
-
*/
|
|
18
|
-
export declare function resolveExternalOIDFEntityIdIdentifier(opts: ExternalIdentifierOIDFEntityIdOpts, context: IAgentContext<IOIDFClient>): Promise<ExternalIdentifierOIDFEntityIdResult>;
|
|
19
|
-
//# sourceMappingURL=externalOIDFIdentifier.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"externalOIDFIdentifier.d.ts","sourceRoot":"","sources":["../../src/functions/externalOIDFIdentifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kCAAkC,EAAE,oCAAoC,EAAkC,MAAM,UAAU,CAAA;AACjJ,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAI3D;;;;;;;;;;;;;GAaG;AACH,wBAAsB,qCAAqC,CACzD,IAAI,EAAE,kCAAkC,EACxC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,oCAAoC,CAAC,CAgE/C"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.resolveExternalOIDFEntityIdIdentifier = resolveExternalOIDFEntityIdIdentifier;
|
|
13
|
-
const ssi_sdk_agent_config_1 = require("@sphereon/ssi-sdk.agent-config");
|
|
14
|
-
/**
|
|
15
|
-
* Resolves an OIDF Entity ID against multiple trust anchors to establish trusted relationships
|
|
16
|
-
*
|
|
17
|
-
* @param opts Configuration options containing the identifier to resolve and trust anchors to validate against
|
|
18
|
-
* @param context Agent context that must include the OIDF client plugin and JWT verification capabilities
|
|
19
|
-
*
|
|
20
|
-
* @returns Promise resolving to an ExternalIdentifierOIDFEntityIdResult containing:
|
|
21
|
-
* - trustedAnchors: Record mapping trust anchors to their public key hexes
|
|
22
|
-
* - errorList: Optional record of errors encountered per trust anchor
|
|
23
|
-
* - jwks: Array of JWK information from the trust chain
|
|
24
|
-
* - trustEstablished: Boolean indicating if any trust relationships were established
|
|
25
|
-
*
|
|
26
|
-
* @throws Error if trust anchors are missing or JWT verification plugin is not enabled
|
|
27
|
-
*/
|
|
28
|
-
function resolveExternalOIDFEntityIdIdentifier(opts, context) {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
var _a;
|
|
31
|
-
let { trustAnchors, identifier } = opts;
|
|
32
|
-
if (!trustAnchors || trustAnchors.length === 0) {
|
|
33
|
-
return Promise.reject(Error('ExternalIdentifierOIDFEntityIdOpts is missing the trustAnchors'));
|
|
34
|
-
}
|
|
35
|
-
if (!(0, ssi_sdk_agent_config_1.contextHasPlugin)(context, 'jwtVerifyJwsSignature')) {
|
|
36
|
-
return Promise.reject(Error('For OIDFEntityId resolving the agent needs to have the JwtService plugin enabled'));
|
|
37
|
-
}
|
|
38
|
-
const trustedAnchors = new Set();
|
|
39
|
-
const errorList = {};
|
|
40
|
-
const jwkInfos = [];
|
|
41
|
-
for (const trustAnchor of trustAnchors) {
|
|
42
|
-
const resolveResult = yield context.agent.resolveTrustChain({
|
|
43
|
-
entityIdentifier: identifier,
|
|
44
|
-
trustAnchors: [trustAnchor],
|
|
45
|
-
});
|
|
46
|
-
if (resolveResult.error || !resolveResult.trustChain) {
|
|
47
|
-
errorList[trustAnchor] = (_a = resolveResult.errorMessage) !== null && _a !== void 0 ? _a : 'unspecified';
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
const trustChain = resolveResult.trustChain.asJsReadonlyArrayView();
|
|
51
|
-
if (trustChain.length === 0) {
|
|
52
|
-
errorList[trustAnchor] = 'Trust chain is empty';
|
|
53
|
-
continue;
|
|
54
|
-
}
|
|
55
|
-
const jwt = trustChain[0];
|
|
56
|
-
const jwtVerifyResult = yield context.agent.jwtVerifyJwsSignature({ jws: jwt });
|
|
57
|
-
if (jwtVerifyResult.error || jwtVerifyResult.critical) {
|
|
58
|
-
errorList[trustAnchor] = jwtVerifyResult.message;
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
if (jwtVerifyResult.jws.signatures.length === 0) {
|
|
62
|
-
errorList[trustAnchor] = 'No signature was present in the trust anchor JWS';
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
const signature = jwtVerifyResult.jws.signatures[0];
|
|
66
|
-
if (signature.identifier.jwks.length === 0) {
|
|
67
|
-
errorList[trustAnchor] = 'No JWK was present in the trust anchor signature';
|
|
68
|
-
continue;
|
|
69
|
-
}
|
|
70
|
-
if (jwkInfos.length === 0) {
|
|
71
|
-
// We need the entity JWK only once
|
|
72
|
-
jwkInfos.push(...signature.identifier.jwks);
|
|
73
|
-
}
|
|
74
|
-
trustedAnchors.add(trustAnchor);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return Object.assign(Object.assign({ method: 'entity_id', trustedAnchors: Array.from(trustedAnchors) }, (Object.keys(errorList).length > 0 && { errorList })), { jwks: jwkInfos, trustEstablished: trustedAnchors.size > 0 });
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=externalOIDFIdentifier.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"externalOIDFIdentifier.js","sourceRoot":"","sources":["../../src/functions/externalOIDFIdentifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,0BAA0B,CAAA;AACxC,cAAc,iBAAiB,CAAA"}
|
package/dist/functions/index.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./managedIdentifierFunctions"), exports);
|
|
18
|
-
__exportStar(require("./externalIdentifierFunctions"), exports);
|
|
19
|
-
__exportStar(require("./externalOIDFIdentifier"), exports);
|
|
20
|
-
__exportStar(require("./LegacySupport"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA4C;AAC5C,gEAA6C;AAC7C,2DAAwC;AACxC,kDAA+B"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { IAgentContext, IKeyManager } from '@veramo/core';
|
|
2
|
-
import { IIdentifierResolution, ManagedIdentifierCoseKeyOpts, ManagedIdentifierCoseKeyResult, ManagedIdentifierDidOpts, ManagedIdentifierDidResult, ManagedIdentifierOID4VCIssuerOpts, ManagedIdentifierOID4VCIssuerResult, ManagedIdentifierJwkOpts, ManagedIdentifierJwkResult, ManagedIdentifierKeyOpts, ManagedIdentifierKeyResult, ManagedIdentifierKidOpts, ManagedIdentifierKidResult, ManagedIdentifierOptsOrResult, ManagedIdentifierResult, ManagedIdentifierX5cOpts, ManagedIdentifierX5cResult } from '../types';
|
|
3
|
-
export declare function getManagedKidIdentifier(opts: ManagedIdentifierKidOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierKidResult>;
|
|
4
|
-
export declare function isManagedIdentifierResult(identifier: ManagedIdentifierOptsOrResult & {
|
|
5
|
-
crypto?: Crypto;
|
|
6
|
-
}): identifier is ManagedIdentifierResult;
|
|
7
|
-
/**
|
|
8
|
-
* Allows to get a managed identifier result in case identifier options are passed in, but returns the identifier directly in case results are passed in. This means resolution can have happened before, or happens in this method
|
|
9
|
-
* @param identifier
|
|
10
|
-
* @param context
|
|
11
|
-
*/
|
|
12
|
-
export declare function ensureManagedIdentifierResult(identifier: ManagedIdentifierOptsOrResult & {
|
|
13
|
-
crypto?: Crypto;
|
|
14
|
-
}, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierResult>;
|
|
15
|
-
/**
|
|
16
|
-
* This function is just a convenience function to get a common result. The user already apparently had a key, so could have called the kid version as well
|
|
17
|
-
* @param opts
|
|
18
|
-
* @param _context
|
|
19
|
-
*/
|
|
20
|
-
export declare function getManagedKeyIdentifier(opts: ManagedIdentifierKeyOpts, _context?: IAgentContext<any>): Promise<ManagedIdentifierKeyResult>;
|
|
21
|
-
/**
|
|
22
|
-
* This function is just a convenience function to get a common result. The user already apparently had a key, so could have called the kid version as well
|
|
23
|
-
* @param opts
|
|
24
|
-
* @param context
|
|
25
|
-
*/
|
|
26
|
-
export declare function getManagedCoseKeyIdentifier(opts: ManagedIdentifierCoseKeyOpts, context: IAgentContext<any>): Promise<ManagedIdentifierCoseKeyResult>;
|
|
27
|
-
export declare function getManagedDidIdentifier(opts: ManagedIdentifierDidOpts, context: IAgentContext<any>): Promise<ManagedIdentifierDidResult>;
|
|
28
|
-
export declare function getManagedJwkIdentifier(opts: ManagedIdentifierJwkOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierJwkResult>;
|
|
29
|
-
export declare function getManagedX5cIdentifier(opts: ManagedIdentifierX5cOpts & {
|
|
30
|
-
crypto?: Crypto;
|
|
31
|
-
}, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierX5cResult>;
|
|
32
|
-
export declare function getManagedOID4VCIssuerIdentifier(opts: ManagedIdentifierOID4VCIssuerOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierOID4VCIssuerResult>;
|
|
33
|
-
export declare function getManagedIdentifier(opts: ManagedIdentifierOptsOrResult & {
|
|
34
|
-
crypto?: Crypto;
|
|
35
|
-
}, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierResult>;
|
|
36
|
-
export declare function managedIdentifierToKeyResult(identifier: ManagedIdentifierOptsOrResult, context: IAgentContext<IIdentifierResolution & IKeyManager>): Promise<ManagedIdentifierKeyResult>;
|
|
37
|
-
export declare function managedIdentifierToJwk(identifier: ManagedIdentifierOptsOrResult, context: IAgentContext<IIdentifierResolution & IKeyManager>): Promise<ManagedIdentifierJwkResult>;
|
|
38
|
-
//# sourceMappingURL=managedIdentifierFunctions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"managedIdentifierFunctions.d.ts","sourceRoot":"","sources":["../../src/functions/managedIdentifierFunctions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAqB,WAAW,EAAE,MAAM,cAAc,CAAA;AAE5E,OAAO,EACL,qBAAqB,EAWrB,4BAA4B,EAC5B,8BAA8B,EAC9B,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,mCAAmC,EACnC,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,UAAU,CAAA;AAEjB,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,wBAAwB,EAC9B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,0BAA0B,CAAC,CAyBrC;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,6BAA6B,GAAG;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GACA,UAAU,IAAI,uBAAuB,CAEvC;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,6BAA6B,GAAG;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,uBAAuB,CAAC,CAGlC;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,wBAAwB,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAuBhJ;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,4BAA4B,EAClC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,GAC1B,OAAO,CAAC,8BAA8B,CAAC,CAwBzC;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAkD9I;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,wBAAwB,EAC9B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,0BAA0B,CAAC,CAuBrC;AAED,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,wBAAwB,GAAG;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,0BAA0B,CAAC,CAkCrC;AAED,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,iCAAiC,EACvC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,mCAAmC,CAAC,CAsC9C;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,6BAA6B,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,EACD,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,OAAO,CAAC,uBAAuB,CAAC,CA+BlC;AAED,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,6BAA6B,EACzC,OAAO,EAAE,aAAa,CAAC,qBAAqB,GAAG,WAAW,CAAC,GAC1D,OAAO,CAAC,0BAA0B,CAAC,CAWrC;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,6BAA6B,EACzC,OAAO,EAAE,aAAa,CAAC,qBAAqB,GAAG,WAAW,CAAC,GAC1D,OAAO,CAAC,0BAA0B,CAAC,CAUrC"}
|