@sphereon/ssi-sdk-ext.identifier-resolution 0.24.1-unstable.75

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.js ADDED
@@ -0,0 +1,30 @@
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
+ exports.IdentifierResolution = exports.schema = void 0;
18
+ /**
19
+ * @internal
20
+ */
21
+ const schema = require('../plugin.schema.json');
22
+ exports.schema = schema;
23
+ /**
24
+ * @public
25
+ */
26
+ var IdentifierResolution_1 = require("./agent/IdentifierResolution");
27
+ Object.defineProperty(exports, "IdentifierResolution", { enumerable: true, get: function () { return IdentifierResolution_1.IdentifierResolution; } });
28
+ __exportStar(require("./types/IIdentifierResolution"), exports);
29
+ __exportStar(require("./functions"), exports);
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;AACtC,wBAAM;AACf;;GAEG;AACH,qEAAmE;AAA1D,4HAAA,oBAAoB,OAAA;AAC7B,gEAA6C;AAC7C,8CAA2B"}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.47.5"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,170 @@
1
+ import { DidDocumentJwks } from '@sphereon/ssi-sdk-ext.did-utils';
2
+ import { JWK } from '@sphereon/ssi-sdk-ext.key-utils';
3
+ import { X509ValidationResult } from '@sphereon/ssi-sdk-ext.x509-utils';
4
+ import { IParsedDID } from '@sphereon/ssi-types';
5
+ import { DIDDocument, DIDDocumentSection, DIDResolutionResult, IAgentContext, IDIDManager, IIdentifier, IKey, IKeyManager, IPluginMethodMap, TKeyType } from '@veramo/core';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface IIdentifierResolution extends IPluginMethodMap {
10
+ identifierManagedGet(args: ManagedIdentifierOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierResult>;
11
+ identifierManagedGetByDid(args: ManagedIdentifierDidOpts, context: IAgentContext<IKeyManager & IDIDManager>): Promise<ManagedIdentifierDidResult>;
12
+ identifierManagedGetByKid(args: ManagedIdentifierKidOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierKidResult>;
13
+ identifierManagedGetByJwk(args: ManagedIdentifierJwkOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierJwkResult>;
14
+ identifierManagedGetByX5c(args: ManagedIdentifierX5cOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierX5cResult>;
15
+ identifierExternalResolve(args: ExternalIdentifierOpts, context: IAgentContext<any>): Promise<any>;
16
+ }
17
+ /**
18
+ * Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains
19
+ *
20
+ * The functions below can be used to check the type, and they also provide the proper runtime types
21
+ */
22
+ export type ManagedIdentifierType = IIdentifier | string | string[] | JWK;
23
+ /**
24
+ * Use whenever we need to resolve an external identifier. We can pass in kids, DIDs, and x5chains
25
+ *
26
+ * The functions below can be used to check the type, and they also provide the proper runtime types
27
+ */
28
+ export type ExternalIdentifierType = string | string[] | JWK;
29
+ export declare function isDidIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is IIdentifier | string;
30
+ export declare function isIIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is IIdentifier;
31
+ export declare function isJwkIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is JWK;
32
+ export declare function isOidcDiscoveryIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string;
33
+ export declare function isJwksUrlIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string;
34
+ export declare function isKidIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string;
35
+ export declare function isX5cIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string[];
36
+ export type ExternalIdentifierOptsBase = {
37
+ method?: ExternalIdentifierMethod;
38
+ identifier: ExternalIdentifierType;
39
+ };
40
+ export type ExternalIdentifierDidOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {
41
+ method?: 'did';
42
+ identifier: string;
43
+ noVerificationMethodFallback?: boolean;
44
+ vmRelationship?: DIDDocumentSection;
45
+ localResolution?: boolean;
46
+ uniresolverResolution?: boolean;
47
+ resolverResolution?: boolean;
48
+ };
49
+ export declare function isExternalIdentifierDidOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierDidOpts;
50
+ export type ExternalIdentifierOpts = (ExternalIdentifierJwkOpts | ExternalIdentifierX5cOpts | ExternalIdentifierDidOpts | ExternalIdentifierKidOpts) & ExternalIdentifierOptsBase;
51
+ export type ManagedIdentifierOpts = (ManagedIdentifierJwkOpts | ManagedIdentifierX5cOpts | ManagedIdentifierDidOpts | ManagedIdentifierKidOpts) & ManagedIdentifierOptsBase;
52
+ export type ManagedIdentifierOptsBase = {
53
+ method?: ManagedIdentifierMethod;
54
+ identifier: ManagedIdentifierType;
55
+ kmsKeyRef?: string;
56
+ };
57
+ export type ManagedIdentifierDidOpts = Omit<ManagedIdentifierOptsBase, 'method'> & {
58
+ method?: 'did';
59
+ identifier: IIdentifier | string;
60
+ keyType?: TKeyType;
61
+ offlineWhenNoDIDRegistered?: boolean;
62
+ noVerificationMethodFallback?: boolean;
63
+ controllerKey?: boolean;
64
+ vmRelationship?: DIDDocumentSection;
65
+ };
66
+ export declare function isManagedIdentifierDidOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierDidOpts;
67
+ export type ExternalIdentifierKidOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {
68
+ method?: 'kid';
69
+ identifier: string;
70
+ };
71
+ export declare function isExternalIdentifierKidOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierKidOpts;
72
+ export type ManagedIdentifierKidOpts = Omit<ManagedIdentifierOptsBase, 'method'> & {
73
+ method?: 'kid';
74
+ identifier: string;
75
+ };
76
+ export declare function isManagedIdentifierKidOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierKidOpts;
77
+ export type ExternalIdentifierJwkOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {
78
+ method?: 'jwk';
79
+ identifier: JWK;
80
+ };
81
+ export declare function isExternalIdentifierJwkOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwkOpts;
82
+ export type ExternalIdentifierOidcDiscoveryOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {
83
+ method?: 'oidc-discovery';
84
+ identifier: string;
85
+ };
86
+ export declare function isExternalIdentifierOidcDiscoveryOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwkOpts;
87
+ export type ExternalIdentifierJwksUrlOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {
88
+ method?: 'jwks-url';
89
+ identifier: string;
90
+ };
91
+ export declare function isExternalIdentifierJwksUrlOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwksUrlOpts;
92
+ export type ManagedIdentifierJwkOpts = Omit<ManagedIdentifierOptsBase, 'method'> & {
93
+ method?: 'jwk';
94
+ identifier: JWK;
95
+ };
96
+ export declare function isManagedIdentifierJwkOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierJwkOpts;
97
+ export type ExternalIdentifierX5cOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {
98
+ method?: 'x5c';
99
+ identifier: string[];
100
+ verify: boolean;
101
+ verificationTime?: Date;
102
+ trustAnchors?: string[];
103
+ };
104
+ export declare function isExternalIdentifierX5cOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierX5cOpts;
105
+ export type ManagedIdentifierX5cOpts = Omit<ManagedIdentifierOptsBase, 'method'> & {
106
+ method?: 'x5c';
107
+ identifier: string[];
108
+ };
109
+ export declare function isManagedIdentifierX5cOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierX5cOpts;
110
+ export type ExternalIdentifierMethod = 'did' | 'jwk' | 'x5c' | 'kid' | 'oidc-discovery' | 'jwks-url' | 'oid4vci-issuer';
111
+ export type ExternalIdentifierResult = ExternalIdentifierDidResult | ExternalIdentifierX5cResult;
112
+ export type ManagedIdentifierMethod = 'did' | 'jwk' | 'x5c' | 'kid';
113
+ export type ManagedIdentifierResult = ManagedIdentifierX5cResult | ManagedIdentifierDidResult | ManagedIdentifierJwkResult | ManagedIdentifierKidResult;
114
+ export interface IExternalIdentifierResultBase {
115
+ method: ExternalIdentifierMethod;
116
+ jwks: Array<ExternalJwkInfo>;
117
+ }
118
+ export interface JwkInfo {
119
+ jwk: JWK;
120
+ jwkThumbprint: string;
121
+ }
122
+ export interface ExternalJwkInfo extends JwkInfo {
123
+ kid?: string;
124
+ }
125
+ export interface ManagedJwkInfo extends JwkInfo {
126
+ kmsKeyRef: string;
127
+ }
128
+ export interface IManagedIdentifierResultBase extends ManagedJwkInfo {
129
+ method: ManagedIdentifierMethod;
130
+ key: IKey;
131
+ }
132
+ export declare function isManagedIdentifierDidResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierDidResult;
133
+ export declare function isManagedIdentifierX5cResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierDidResult;
134
+ export declare function isManagedIdentifierJwkResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierJwkResult;
135
+ export declare function isManagedIdentifierKidResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierKidResult;
136
+ export interface ExternalIdentifierDidResult extends IExternalIdentifierResultBase {
137
+ method: 'did';
138
+ did: string;
139
+ didDocument?: DIDDocument;
140
+ didJwks?: DidDocumentJwks;
141
+ didResolutionResult: Omit<DIDResolutionResult, 'didDocument'>;
142
+ didParsed: IParsedDID;
143
+ }
144
+ export interface ManagedIdentifierDidResult extends IManagedIdentifierResultBase {
145
+ method: 'did';
146
+ identifier: IIdentifier;
147
+ did: string;
148
+ keys: Array<IKey>;
149
+ verificationMethodSection?: DIDDocumentSection;
150
+ controllerKeyId: string;
151
+ }
152
+ export interface ManagedIdentifierJwkResult extends IManagedIdentifierResultBase {
153
+ method: 'jwk';
154
+ }
155
+ export interface ManagedIdentifierKidResult extends IManagedIdentifierResultBase {
156
+ method: 'kid';
157
+ }
158
+ export interface ExternalIdentifierX5cResult extends IExternalIdentifierResultBase {
159
+ method: 'x5c';
160
+ x5c: string[];
161
+ issuerJWK: JWK;
162
+ verificationResult?: X509ValidationResult;
163
+ certificates: any[];
164
+ }
165
+ export interface ManagedIdentifierX5cResult extends IManagedIdentifierResultBase {
166
+ method: 'x5c';
167
+ x5c: string[];
168
+ certificate: any;
169
+ }
170
+ //# sourceMappingURL=IIdentifierResolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IIdentifierResolution.d.ts","sourceRoot":"","sources":["../../src/types/IIdentifierResolution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isManagedIdentifierKidResult = exports.isManagedIdentifierJwkResult = exports.isManagedIdentifierX5cResult = exports.isManagedIdentifierDidResult = exports.isManagedIdentifierX5cOpts = exports.isExternalIdentifierX5cOpts = exports.isManagedIdentifierJwkOpts = exports.isExternalIdentifierJwksUrlOpts = exports.isExternalIdentifierOidcDiscoveryOpts = exports.isExternalIdentifierJwkOpts = exports.isManagedIdentifierKidOpts = exports.isExternalIdentifierKidOpts = exports.isManagedIdentifierDidOpts = exports.isExternalIdentifierDidOpts = exports.isX5cIdentifier = exports.isKidIdentifier = exports.isJwksUrlIdentifier = exports.isOidcDiscoveryIdentifier = exports.isJwkIdentifier = exports.isIIdentifier = exports.isDidIdentifier = void 0;
4
+ function isDidIdentifier(identifier) {
5
+ return isIIdentifier(identifier) || (typeof identifier === 'string' && identifier.startsWith('did:'));
6
+ }
7
+ exports.isDidIdentifier = isDidIdentifier;
8
+ function isIIdentifier(identifier) {
9
+ return typeof identifier === 'object' && !Array.isArray(identifier) && 'did' in identifier && 'keys' in identifier;
10
+ }
11
+ exports.isIIdentifier = isIIdentifier;
12
+ function isJwkIdentifier(identifier) {
13
+ return typeof identifier === 'object' && !Array.isArray(identifier) && 'kty' in identifier;
14
+ }
15
+ exports.isJwkIdentifier = isJwkIdentifier;
16
+ function isOidcDiscoveryIdentifier(identifier) {
17
+ return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('/.well-known/openid-configuration');
18
+ }
19
+ exports.isOidcDiscoveryIdentifier = isOidcDiscoveryIdentifier;
20
+ function isJwksUrlIdentifier(identifier) {
21
+ return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('jwks.json');
22
+ }
23
+ exports.isJwksUrlIdentifier = isJwksUrlIdentifier;
24
+ function isKidIdentifier(identifier) {
25
+ return typeof identifier === 'string' && !identifier.startsWith('did:');
26
+ }
27
+ exports.isKidIdentifier = isKidIdentifier;
28
+ function isX5cIdentifier(identifier) {
29
+ return Array.isArray(identifier) && identifier.length > 0; // todo: Do we want to do additional validation? We know it must be DER and thus hex for instance
30
+ }
31
+ exports.isX5cIdentifier = isX5cIdentifier;
32
+ function isExternalIdentifierDidOpts(opts) {
33
+ const { identifier } = opts;
34
+ return ('method' in opts && opts.method === 'did') || isDidIdentifier(identifier);
35
+ }
36
+ exports.isExternalIdentifierDidOpts = isExternalIdentifierDidOpts;
37
+ function isManagedIdentifierDidOpts(opts) {
38
+ const { identifier } = opts;
39
+ return ('method' in opts && opts.method === 'did') || isDidIdentifier(identifier);
40
+ }
41
+ exports.isManagedIdentifierDidOpts = isManagedIdentifierDidOpts;
42
+ function isExternalIdentifierKidOpts(opts) {
43
+ const { identifier } = opts;
44
+ return ('method' in opts && opts.method === 'kid') || isKidIdentifier(identifier);
45
+ }
46
+ exports.isExternalIdentifierKidOpts = isExternalIdentifierKidOpts;
47
+ function isManagedIdentifierKidOpts(opts) {
48
+ const { identifier } = opts;
49
+ return ('method' in opts && opts.method === 'kid') || isKidIdentifier(identifier);
50
+ }
51
+ exports.isManagedIdentifierKidOpts = isManagedIdentifierKidOpts;
52
+ function isExternalIdentifierJwkOpts(opts) {
53
+ const { identifier } = opts;
54
+ return ('method' in opts && opts.method === 'jwk') || isJwkIdentifier(identifier);
55
+ }
56
+ exports.isExternalIdentifierJwkOpts = isExternalIdentifierJwkOpts;
57
+ function isExternalIdentifierOidcDiscoveryOpts(opts) {
58
+ const { identifier } = opts;
59
+ return ('method' in opts && opts.method === 'oidc-discovery') || isOidcDiscoveryIdentifier(identifier);
60
+ }
61
+ exports.isExternalIdentifierOidcDiscoveryOpts = isExternalIdentifierOidcDiscoveryOpts;
62
+ function isExternalIdentifierJwksUrlOpts(opts) {
63
+ const { identifier } = opts;
64
+ return ('method' in opts && opts.method === 'oidc-discovery') || isJwksUrlIdentifier(identifier);
65
+ }
66
+ exports.isExternalIdentifierJwksUrlOpts = isExternalIdentifierJwksUrlOpts;
67
+ function isManagedIdentifierJwkOpts(opts) {
68
+ const { identifier } = opts;
69
+ return ('method' in opts && opts.method === 'jwk') || isJwkIdentifier(identifier);
70
+ }
71
+ exports.isManagedIdentifierJwkOpts = isManagedIdentifierJwkOpts;
72
+ function isExternalIdentifierX5cOpts(opts) {
73
+ const { identifier } = opts;
74
+ return ('method' in opts && opts.method === 'x5c') || isX5cIdentifier(identifier);
75
+ }
76
+ exports.isExternalIdentifierX5cOpts = isExternalIdentifierX5cOpts;
77
+ function isManagedIdentifierX5cOpts(opts) {
78
+ const { identifier } = opts;
79
+ return ('method' in opts && opts.method === 'x5c') || isX5cIdentifier(identifier);
80
+ }
81
+ exports.isManagedIdentifierX5cOpts = isManagedIdentifierX5cOpts;
82
+ function isManagedIdentifierDidResult(object) {
83
+ return object && typeof object === 'object' && 'method' in object && object.method === 'did';
84
+ }
85
+ exports.isManagedIdentifierDidResult = isManagedIdentifierDidResult;
86
+ function isManagedIdentifierX5cResult(object) {
87
+ return object && typeof object === 'object' && 'method' in object && object.method === 'x5c';
88
+ }
89
+ exports.isManagedIdentifierX5cResult = isManagedIdentifierX5cResult;
90
+ function isManagedIdentifierJwkResult(object) {
91
+ return object && typeof object === 'object' && 'method' in object && object.method === 'jwk';
92
+ }
93
+ exports.isManagedIdentifierJwkResult = isManagedIdentifierJwkResult;
94
+ function isManagedIdentifierKidResult(object) {
95
+ return object && typeof object === 'object' && 'method' in object && object.method === 'kid';
96
+ }
97
+ exports.isManagedIdentifierKidResult = isManagedIdentifierKidResult;
98
+ //# sourceMappingURL=IIdentifierResolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IIdentifierResolution.js","sourceRoot":"","sources":["../../src/types/IIdentifierResolution.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@sphereon/ssi-sdk-ext.identifier-resolution",
3
+ "version": "0.24.1-unstable.75+01db327",
4
+ "source": "src/index.ts",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "veramo": {
8
+ "pluginInterfaces": {
9
+ "IIdentifierResolution": "./src/types/IIdentifierResolution.ts"
10
+ }
11
+ },
12
+ "scripts": {
13
+ "build": "tsc --build",
14
+ "build:clean": "tsc --build --clean && tsc --build",
15
+ "generate-plugin-schema": "sphereon dev generate-plugin-schema"
16
+ },
17
+ "dependencies": {
18
+ "@sphereon/ssi-sdk-ext.did-utils": "0.24.1-unstable.75+01db327",
19
+ "@sphereon/ssi-sdk-ext.key-utils": "0.24.1-unstable.75+01db327",
20
+ "@sphereon/ssi-sdk-ext.x509-utils": "0.24.1-unstable.75+01db327",
21
+ "@sphereon/ssi-sdk.agent-config": "0.29.1-unstable.73",
22
+ "@sphereon/ssi-types": "0.29.1-unstable.73",
23
+ "@veramo/core": "4.2.0",
24
+ "@veramo/utils": "4.2.0",
25
+ "debug": "^4.3.4",
26
+ "pkijs": "^3.2.4",
27
+ "uint8arrays": "^3.1.1"
28
+ },
29
+ "devDependencies": {
30
+ "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.24.1-unstable.75+01db327",
31
+ "@sphereon/ssi-sdk-ext.key-manager": "0.24.1-unstable.75+01db327",
32
+ "@sphereon/ssi-sdk-ext.kms-local": "0.24.1-unstable.75+01db327",
33
+ "@sphereon/ssi-sdk.dev": "0.29.1-unstable.73",
34
+ "@veramo/data-store": "4.2.0",
35
+ "@veramo/did-manager": "4.2.0",
36
+ "@veramo/key-manager": "4.2.0",
37
+ "@veramo/kms-local": "4.2.0",
38
+ "@veramo/remote-client": "4.2.0",
39
+ "@veramo/remote-server": "4.2.0",
40
+ "did-resolver": "^4.1.0",
41
+ "typeorm": "0.3.20"
42
+ },
43
+ "files": [
44
+ "dist/**/*",
45
+ "src/**/*",
46
+ "plugin.schema.json",
47
+ "README.md",
48
+ "LICENSE"
49
+ ],
50
+ "private": false,
51
+ "publishConfig": {
52
+ "access": "public"
53
+ },
54
+ "repository": "git@github.com:Sphereon-OpenSource/SSI-SDK-crypto-extensions.git",
55
+ "author": "Sphereon <dev@sphereon.com>",
56
+ "license": "Apache-2.0",
57
+ "keywords": [
58
+ "Sphereon",
59
+ "Identifier resolution",
60
+ "JWK",
61
+ "DID",
62
+ "X.509 Certificates",
63
+ "ARF"
64
+ ],
65
+ "gitHead": "01db32715f7e7a95b57e07c23b7f3cc5b6ffa578"
66
+ }