@sphereon/ssi-sdk-ext.did-resolver-jwk 0.28.1-feature.esm.cjs.8 → 0.28.1-feature.esm.cjs.9
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 +16 -47
- package/dist/index.cjs.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,51 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var __defProp = Object.defineProperty;
|
|
8
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
-
var __export = (target, all) => {
|
|
10
|
-
for (var name in all)
|
|
11
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
-
};
|
|
13
|
-
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
-
for (let key of __getOwnPropNames(from))
|
|
16
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
-
}
|
|
19
|
-
return to;
|
|
20
|
-
};
|
|
21
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
-
mod
|
|
28
|
-
));
|
|
29
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
|
|
31
|
-
// src/index.ts
|
|
32
|
-
var index_exports = {};
|
|
33
|
-
__export(index_exports, {
|
|
34
|
-
ContextType: () => ContextType,
|
|
35
|
-
ENC_KEY_ALGS: () => ENC_KEY_ALGS,
|
|
36
|
-
Key: () => Key,
|
|
37
|
-
KeyType: () => KeyType,
|
|
38
|
-
KeyUse: () => KeyUse,
|
|
39
|
-
SIG_KEY_ALGS: () => SIG_KEY_ALGS,
|
|
40
|
-
VerificationType: () => VerificationType,
|
|
41
|
-
VocabType: () => VocabType,
|
|
42
|
-
getDidJwkResolver: () => getDidJwkResolver
|
|
43
|
-
});
|
|
44
|
-
module.exports = __toCommonJS(index_exports);
|
|
45
3
|
|
|
46
4
|
// src/jwk-did-resolver.ts
|
|
47
|
-
var
|
|
48
|
-
var
|
|
5
|
+
var _ssitypes = require('@sphereon/ssi-types');
|
|
6
|
+
var _base64url = require('base64url'); var _base64url2 = _interopRequireDefault(_base64url);
|
|
49
7
|
|
|
50
8
|
// src/types/jwk-resolver-types.ts
|
|
51
9
|
var Key = /* @__PURE__ */ function(Key2) {
|
|
@@ -101,7 +59,7 @@ var resolveDidJwk = /* @__PURE__ */ __name(async (didUrl, options) => {
|
|
|
101
59
|
var resolve = /* @__PURE__ */ __name(async (didUrl, _options) => {
|
|
102
60
|
let parsedDid;
|
|
103
61
|
try {
|
|
104
|
-
parsedDid = (0,
|
|
62
|
+
parsedDid = _ssitypes.parseDid.call(void 0, didUrl);
|
|
105
63
|
} catch (error) {
|
|
106
64
|
return errorResponseFrom("invalidDid");
|
|
107
65
|
}
|
|
@@ -110,7 +68,7 @@ var resolve = /* @__PURE__ */ __name(async (didUrl, _options) => {
|
|
|
110
68
|
}
|
|
111
69
|
let jwk;
|
|
112
70
|
try {
|
|
113
|
-
jwk = JSON.parse(
|
|
71
|
+
jwk = JSON.parse(_base64url2.default.decode(parsedDid.id, "UTF-8"));
|
|
114
72
|
} catch (error) {
|
|
115
73
|
return errorResponseFrom("invalidDid");
|
|
116
74
|
}
|
|
@@ -188,4 +146,15 @@ function getDidJwkResolver() {
|
|
|
188
146
|
};
|
|
189
147
|
}
|
|
190
148
|
__name(getDidJwkResolver, "getDidJwkResolver");
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
exports.ContextType = ContextType; exports.ENC_KEY_ALGS = ENC_KEY_ALGS; exports.Key = Key; exports.KeyType = KeyType; exports.KeyUse = KeyUse; exports.SIG_KEY_ALGS = SIG_KEY_ALGS; exports.VerificationType = VerificationType; exports.VocabType = VocabType; exports.getDidJwkResolver = getDidJwkResolver;
|
|
191
160
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-resolver-jwk/dist/index.cjs","../src/jwk-did-resolver.ts","../src/types/jwk-resolver-types.ts"],"names":["Key","KeyUse","KeyType","VerificationType","SIG_KEY_ALGS","ENC_KEY_ALGS","VocabType","ContextType","resolveDidJwk","didUrl","options","resolve","_options","parsedDid","parseDid","error","errorResponseFrom","method","jwk","JSON","parse","base64url","decode","id","context","DidDocument","Jose","enc","use","Encryption","alg","includes","sig","Signature","didResolution","didResolutionMetadata","contentType","pattern","did","didString","methodSpecificId","didDocument","verificationMethod","type","controller","publicKeyJwk","assertionMethod","authentication","capabilityInvocation","capabilityDelegation","keyAgreement","didDocumentMetadata","getDidJwkResolver"],"mappings":"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","file":"/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/did-resolver-jwk/dist/index.cjs","sourcesContent":[null,"import { IParsedDID, parseDid } from '@sphereon/ssi-types'\nimport base64url from 'base64url'\nimport { DIDResolutionOptions, DIDResolutionResult, DIDResolver, JsonWebKey } from 'did-resolver'\nimport { ContextType, ENC_KEY_ALGS, KeyUse, SIG_KEY_ALGS, VerificationType, VocabType } from './types/jwk-resolver-types'\n\nexport const resolveDidJwk: DIDResolver = async (didUrl: string, options?: DIDResolutionOptions): Promise<DIDResolutionResult> => {\n return resolve(didUrl, options)\n}\n\nconst resolve = async (didUrl: string, _options?: DIDResolutionOptions): Promise<DIDResolutionResult> => {\n let parsedDid: IParsedDID\n try {\n parsedDid = parseDid(didUrl)\n } catch (error: unknown) {\n // Error from did resolution spec\n return errorResponseFrom('invalidDid')\n }\n\n if (parsedDid.method !== 'jwk') {\n // Error from did resolution spec\n return errorResponseFrom('unsupportedDidMethod')\n }\n\n let jwk: JsonWebKey\n try {\n jwk = JSON.parse(base64url.decode(parsedDid.id, 'UTF-8'))\n } catch (error: unknown) {\n // Error from did resolution spec\n return errorResponseFrom('invalidDid')\n }\n\n // We need this since DIDResolutionResult does not allow for an object in the array\n const context = [ContextType.DidDocument, { '@vocab': VocabType.Jose }] as never\n\n // We add the alg check to ensure max compatibility with implementations that do not export the use property\n const enc = (jwk.use && jwk.use === KeyUse.Encryption) || (jwk.alg && ENC_KEY_ALGS.includes(jwk.alg))\n const sig = (jwk.use && jwk.use === KeyUse.Signature) || (jwk.alg && SIG_KEY_ALGS.includes(jwk.alg))\n\n const didResolution: DIDResolutionResult = {\n didResolutionMetadata: {\n contentType: 'application/did+ld+json',\n pattern: '^(did:jwk:.+)$',\n did: {\n didString: parsedDid.did,\n methodSpecificId: parsedDid.id,\n method: 'jwk',\n },\n },\n\n didDocument: {\n '@context': context,\n id: parsedDid.did,\n verificationMethod: [\n {\n id: `${parsedDid.did}#0`,\n type: VerificationType.JsonWebKey2020,\n controller: parsedDid.did,\n publicKeyJwk: jwk,\n },\n ],\n ...(sig && { assertionMethod: [`${parsedDid.did}#0`] }),\n ...(sig && { authentication: [`${parsedDid.did}#0`] }),\n ...(sig && { capabilityInvocation: [`${parsedDid.did}#0`] }),\n ...(sig && { capabilityDelegation: [`${parsedDid.did}#0`] }),\n ...(enc && { keyAgreement: [`${parsedDid.did}#0`] }),\n },\n didDocumentMetadata: {},\n }\n\n return didResolution\n}\n\nconst errorResponseFrom = async (error: string): Promise<DIDResolutionResult> => {\n return {\n didResolutionMetadata: {\n error,\n },\n didDocument: null,\n didDocumentMetadata: {},\n }\n}\n\nexport function getDidJwkResolver() {\n return { jwk: resolveDidJwk }\n}\n","export enum Key {\n Ed25519 = 'Ed25519',\n Secp256k1 = 'Secp256k1',\n Secp256r1 = 'Secp256r1',\n}\n\nexport enum KeyUse {\n Encryption = 'enc',\n Signature = 'sig',\n}\n\nexport enum KeyType {\n EC = 'EC',\n OKP = 'OKP',\n}\n\nexport enum VerificationType {\n JsonWebKey2020 = 'JsonWebKey2020',\n}\nexport const SIG_KEY_ALGS = ['ES256', 'ES384', 'ES512', 'EdDSA', 'ES256K', 'Ed25519', 'Secp256k1', 'Secp256r1', 'Bls12381G1', 'Bls12381G2']\nexport const ENC_KEY_ALGS = ['X25519', 'ECDH_ES_A256KW', 'RSA_OAEP_256']\n\n// https://datatracker.ietf.org/doc/html/rfc8812#section-3\n// https://datatracker.ietf.org/doc/html/rfc8812#section-4\nexport enum VocabType {\n Jose = 'https://www.iana.org/assignments/jose#',\n}\n\nexport enum ContextType {\n DidDocument = 'https://www.w3.org/ns/did/v1',\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk-ext.did-resolver-jwk",
|
|
3
3
|
"description": "DIF resolver for resolution of did:jwk identifiers.",
|
|
4
|
-
"version": "0.28.1-feature.esm.cjs.
|
|
4
|
+
"version": "0.28.1-feature.esm.cjs.9+71682ea",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.cjs",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"DID",
|
|
52
52
|
"Veramo"
|
|
53
53
|
],
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "71682ea0c528f5b32c421245c253b3bc9d6296a0"
|
|
55
55
|
}
|