@sphereon/did-provider-oyd 0.34.1-feature.FIDES.1.274 → 0.34.1-feature.IDK.11.48

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 CHANGED
@@ -47,7 +47,6 @@ var import_multibase = __toESM(require("multibase"), 1);
47
47
  var import_multicodec = __toESM(require("multicodec"), 1);
48
48
  var u8a = __toESM(require("uint8arrays"), 1);
49
49
  var import_debug = __toESM(require("debug"), 1);
50
- var PROVIDER_NAME = "OYD DID Provider";
51
50
  var debug = (0, import_debug.default)("veramo:oyd-did:identifier-provider");
52
51
  var OYDID_REGISTRAR_URL = "https://oydid-registrar.data-container.net/1.0/createIdentifier";
53
52
  var OydDIDProvider = class extends import_did_manager.AbstractIdentifierProvider {
@@ -108,7 +107,6 @@ var OydDIDProvider = class extends import_did_manager.AbstractIdentifierProvider
108
107
  }
109
108
  const keyType = options?.type ?? "Secp256r1";
110
109
  const key = await (0, import_ssi_sdk_ext.importProvidedOrGeneratedKey)({
111
- providerName: PROVIDER_NAME,
112
110
  kms: resolvedKms,
113
111
  alias: alias ?? options.alias ?? options.kid ?? `${didDoc.did}#key-doc`,
114
112
  options: {
@@ -284,7 +282,6 @@ function defaultOydCmsmPublicKeyCallback(keyManager) {
284
282
  const alias = kid ?? `oyd-${(/* @__PURE__ */ new Date()).toISOString()}`;
285
283
  const agent = keyManager;
286
284
  const key = await (0, import_ssi_sdk_ext.importProvidedOrGeneratedKey)({
287
- providerName: PROVIDER_NAME,
288
285
  kms,
289
286
  alias,
290
287
  options: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/oyd-did-provider.ts","../src/resolver.ts"],"sourcesContent":["/**\n * Provides `did:oyd` {@link @ownyourdata/did-provider-oyd#OydDIDProvider | identifier provider } for the\n * {@link @veramo/did-manager#DIDManager}\n *\n * @packageDocumentation\n */\nexport { OydDIDProvider, DefaultOydCmsmCallbacks, defaultOydCmsmSignCallback, defaultOydCmsmPublicKeyCallback } from './oyd-did-provider'\nexport { getDidOydResolver } from './resolver'\nexport type * from './types/oyd-provider-types'\n","import { importProvidedOrGeneratedKey } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { IAgentContext, IIdentifier, IKey, IKeyManager, IService, TKeyType } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport { KeyManager } from '@veramo/key-manager'\nimport fetch from 'cross-fetch'\nimport Multibase from 'multibase'\nimport Multicodec from 'multicodec'\n\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\n\nimport Debug from 'debug'\nimport type {\n CMSMCallbackOpts,\n OydConstructorOptions,\n OydCreateIdentifierOptions,\n // OydDidHoldKeysArgs,\n OydDidSupportedKeyTypes,\n} from './types/oyd-provider-types'\n\nconst PROVIDER_NAME = 'OYD DID Provider'\nconst debug = Debug('veramo:oyd-did:identifier-provider')\nconst OYDID_REGISTRAR_URL = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'\n\ntype IContext = IAgentContext<IKeyManager>\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers\n * @public\n */\nexport class OydDIDProvider extends AbstractIdentifierProvider {\n private readonly defaultKms?: string\n private readonly cmsmCallbackOpts?: CMSMCallbackOpts\n\n constructor(options?: OydConstructorOptions) {\n super()\n this.defaultKms = options?.defaultKms\n this.cmsmCallbackOpts = options?.clientManagedSecretMode\n }\n\n private async assertedKms(...kms: (string | undefined)[]): Promise<string> {\n if (!kms || kms.length === 0) {\n return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'))\n }\n const result = kms.find((k) => !!k)\n if (!result) {\n return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'))\n }\n return result\n }\n\n async createIdentifier(\n { kms, alias, options }: { kms?: string; alias?: string; options: OydCreateIdentifierOptions },\n context: IContext,\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const resolvedKms = await this.assertedKms(kms, this.defaultKms)\n\n if ((this.cmsmCallbackOpts && !options.cmsm) || (options.cmsm && options.cmsm.enabled !== false)) {\n if (!this.cmsmCallbackOpts) {\n return Promise.reject(Error('did:oyd: no cmsm options defined on oyd did provider, but cmsm was enabled on the call!'))\n }\n return await this.createIdentifierWithCMSM({ kms: resolvedKms, options }, context)\n }\n\n const body = {\n options: {\n cmsm: false,\n key_type: options.type ?? 'Secp256r1',\n },\n }\n let didDoc: any | undefined\n try {\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n debug('Error response from OydDID Registrar: ', response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n didDoc = await response.json()\n } catch (error: any) {\n debug('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n const keyType: OydDidSupportedKeyTypes = options?.type ?? 'Secp256r1'\n const key = await importProvidedOrGeneratedKey(\n {\n providerName: PROVIDER_NAME,\n kms: resolvedKms,\n alias: alias ?? options.alias ?? options.kid ?? `${didDoc.did}#key-doc`,\n options: {\n key: {\n kid: `${didDoc.did}#key-doc`,\n type: keyType,\n publicKeyHex: didDoc.keys[0].publicKeyHex,\n privateKeyHex: didDoc.keys[0].privateKeyHex,\n },\n },\n },\n context,\n )\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: key.kid,\n keys: [key],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async createIdentifierWithCMSM(\n { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },\n context: IContext,\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const cmsmCallbackOpts = this.cmsmCallbackOpts\n if (!cmsmCallbackOpts) {\n return Promise.reject(Error('did:oyd: no cmsm options defined!'))\n }\n\n const assertedKms = await this.assertedKms(kms, this.defaultKms)\n const pubKey =\n options.key ?? (await cmsmCallbackOpts.publicKeyCallback(options.kid ?? 'default', assertedKms, options.cmsm?.create !== false, options.type)) // \"default\" is probably not right, TODO!!\n const kid = pubKey.kid\n const keyType = pubKey.type\n const key = base58btc({ publicKeyHex: pubKey.publicKeyHex, keyType })\n\n console.log(`Bae58 pubkey key: ${key}`)\n let signValue: any | undefined // do the request\n try {\n const body_create = {\n // specify the Identifier options for the registrar\n key: key,\n options: {\n cmsm: true,\n key_type: keyType,\n },\n }\n console.log(`Create request:\\n${JSON.stringify(body_create, null, 2)}\\n`)\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body_create),\n })\n if (!response.ok) {\n debug('Error response from OydDID Registrar: ', body_create, response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n signValue = await response.json()\n console.log(`Create response:\\n${JSON.stringify(signValue, null, 2)}\\n`)\n } catch (error: any) {\n console.log('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n // we received our value to sign, now we sign it!\n const { sign } = signValue\n const signature = await cmsmCallbackOpts.signCallback(kid, sign)\n\n console.log(`Signature: ${signature}`)\n\n const body_signed = {\n key,\n options: {\n cmsm: true,\n key_type: keyType,\n sig: signature,\n },\n }\n console.log(`Signed request:\\n${JSON.stringify(body_signed, null, 2)}\\n`)\n\n // Object.assign(body_signed.options, options)\n\n let didDoc: any | undefined // do the request\n try {\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body_signed),\n })\n if (!response.ok) {\n console.log(`Error response from OydDID Registrar: ${JSON.stringify(response.text)}${response.statusText}`, response)\n debug('Error response from OydDID Registrar: ', response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n didDoc = await response.json()\n } catch (error: any) {\n debug('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: pubKey.kid,\n keys: [pubKey],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async updateIdentifier(\n args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },\n context: IAgentContext<IKeyManager>,\n ): Promise<IIdentifier> {\n throw new Error('OydDIDProvider updateIdentifier not supported yet.')\n }\n\n async deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean> {\n for (const { kid } of identifier.keys) {\n await context.agent.keyManagerDelete({ kid })\n }\n return true\n }\n\n async addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeKey(args: { identifier: IIdentifier; kid: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n}\n\nconst keyCodecs = {\n RSA: 'rsa-pub',\n Ed25519: 'ed25519-pub',\n X25519: 'x25519-pub',\n Secp256k1: 'secp256k1-pub',\n Secp256r1: 'p256-pub',\n Bls12381G1: 'bls12_381-g1-pub',\n Bls12381G2: 'bls12_381-g2-pub',\n} as const\n\nconst base58btc = ({ publicKeyHex, keyType = 'Secp256r1' }: { publicKeyHex: string; keyType?: TKeyType }): string => {\n const codecName = keyCodecs[keyType]\n\n // methodSpecificId = bytesToMultibase({bytes: u8a.fromString(key.publicKeyHex, 'hex'), codecName})\n return u8a\n .toString(Multibase.encode('base58btc', Multicodec.addPrefix(codecName as Multicodec.CodecName, u8a.fromString(publicKeyHex, 'hex'))))\n .toString()\n}\n\nexport function defaultOydCmsmPublicKeyCallback(\n keyManager: KeyManager,\n): (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey> {\n return async (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType): Promise<IKey> => {\n try {\n const existing = await keyManager.keyManagerGet({ kid })\n if (existing) {\n return existing\n }\n } catch (error: any) {}\n if (create) {\n if (!kms) {\n return Promise.reject(Error('No KMS provided, whilst creating a new key!'))\n }\n const alias = kid ?? `oyd-${new Date().toISOString()}`\n\n const agent = keyManager\n const key = await importProvidedOrGeneratedKey(\n {\n providerName: PROVIDER_NAME,\n kms,\n alias,\n options: {\n key: {\n type: createKeyType ?? 'Secp256r1',\n },\n },\n },\n {\n //@ts-ignore\n agent,\n },\n )\n return key\n\n // return await keyManager.keyManagerCreate({ kms, type: createKeyType ?? 'Secp256r1' })\n }\n return Promise.reject(Error('No existing key found, and create is false!'))\n }\n}\n\nexport function defaultOydCmsmSignCallback(keyManager: KeyManager): (kid: string, data: string) => Promise<string> {\n return async (kid: string, data: string): Promise<string> => {\n return keyManager.keyManagerSign({ keyRef: kid, data, encoding: 'utf-8' })\n }\n}\n\nexport class DefaultOydCmsmCallbacks implements CMSMCallbackOpts {\n private readonly keyManager: KeyManager\n\n constructor(keyManager: KeyManager) {\n this.keyManager = keyManager\n }\n\n publicKeyCallback(kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType): Promise<IKey> {\n return defaultOydCmsmPublicKeyCallback(this.keyManager)(kid, kms, create, createKeyType)\n }\n\n signCallback(kid: string, value: string): Promise<string> {\n return defaultOydCmsmSignCallback(this.keyManager)(kid, value)\n }\n}\n","import { DIDResolutionOptions, DIDResolutionResult, DIDResolver, ParsedDID, Resolvable } from 'did-resolver'\nimport fetch from 'cross-fetch'\n\nconst resolveDidOyd: DIDResolver = async (\n didUrl: string,\n _parsed: ParsedDID,\n _resolver: Resolvable,\n options: DIDResolutionOptions\n): Promise<DIDResolutionResult> => {\n try {\n const baseUrl: string = 'https://oydid-resolver.data-container.net'\n // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);\n const response = await fetch(`${baseUrl}/1.0/identifiers/${didUrl}`)\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n const didDoc = await response.json()\n return didDoc as DIDResolutionResult\n } catch (err: any) {\n return {\n didDocumentMetadata: {},\n didResolutionMetadata: { error: 'invalidDid', message: err.toString() },\n didDocument: null,\n }\n }\n}\n\n/**\n * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.\n *\n * @public\n */\nexport function getDidOydResolver() {\n return { oyd: resolveDidOyd }\n}\n"],"mappings":"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","names":["PROVIDER_NAME","debug","Debug","OYDID_REGISTRAR_URL","OydDIDProvider","AbstractIdentifierProvider","defaultKms","cmsmCallbackOpts","options","clientManagedSecretMode","assertedKms","kms","length","Promise","reject","Error","result","find","k","createIdentifier","alias","context","resolvedKms","cmsm","enabled","createIdentifierWithCMSM","body","key_type","type","didDoc","response","fetch","method","headers","JSON","stringify","ok","statusText","json","error","toString","keyType","key","importProvidedOrGeneratedKey","providerName","kid","did","publicKeyHex","keys","privateKeyHex","identifier","controllerKeyId","services","pubKey","publicKeyCallback","create","base58btc","console","log","signValue","body_create","sign","signature","signCallback","body_signed","sig","text","updateIdentifier","args","deleteIdentifier","agent","keyManagerDelete","addKey","success","addService","service","removeKey","removeService","keyCodecs","RSA","Ed25519","X25519","Secp256k1","Secp256r1","Bls12381G1","Bls12381G2","codecName","Multibase","encode","Multicodec","addPrefix","fromString","defaultOydCmsmPublicKeyCallback","keyManager","createKeyType","existing","keyManagerGet","Date","toISOString","defaultOydCmsmSignCallback","data","keyManagerSign","keyRef","encoding","DefaultOydCmsmCallbacks","value","import_cross_fetch","resolveDidOyd","didUrl","_parsed","_resolver","options","baseUrl","response","fetch","ok","Error","statusText","didDoc","json","err","didDocumentMetadata","didResolutionMetadata","error","message","toString","didDocument","getDidOydResolver","oyd"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/oyd-did-provider.ts","../src/resolver.ts"],"sourcesContent":["/**\n * Provides `did:oyd` {@link @ownyourdata/did-provider-oyd#OydDIDProvider | identifier provider } for the\n * {@link @veramo/did-manager#DIDManager}\n *\n * @packageDocumentation\n */\nexport { OydDIDProvider, DefaultOydCmsmCallbacks, defaultOydCmsmSignCallback, defaultOydCmsmPublicKeyCallback } from './oyd-did-provider'\nexport { getDidOydResolver } from './resolver'\nexport type * from './types/oyd-provider-types'\n","import { importProvidedOrGeneratedKey } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { IAgentContext, IIdentifier, IKey, IKeyManager, IService, TKeyType } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport { KeyManager } from '@veramo/key-manager'\nimport fetch from 'cross-fetch'\nimport Multibase from 'multibase'\nimport Multicodec from 'multicodec'\n\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\n\nimport Debug from 'debug'\nimport type {\n CMSMCallbackOpts,\n OydConstructorOptions,\n OydCreateIdentifierOptions,\n // OydDidHoldKeysArgs,\n OydDidSupportedKeyTypes,\n} from './types/oyd-provider-types'\n\nconst debug = Debug('veramo:oyd-did:identifier-provider')\nconst OYDID_REGISTRAR_URL = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'\n\ntype IContext = IAgentContext<IKeyManager>\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers\n * @public\n */\nexport class OydDIDProvider extends AbstractIdentifierProvider {\n private readonly defaultKms?: string\n private readonly cmsmCallbackOpts?: CMSMCallbackOpts\n\n constructor(options?: OydConstructorOptions) {\n super()\n this.defaultKms = options?.defaultKms\n this.cmsmCallbackOpts = options?.clientManagedSecretMode\n }\n\n private async assertedKms(...kms: (string | undefined)[]): Promise<string> {\n if (!kms || kms.length === 0) {\n return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'))\n }\n const result = kms.find((k) => !!k)\n if (!result) {\n return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'))\n }\n return result\n }\n\n async createIdentifier(\n { kms, alias, options }: { kms?: string; alias?: string; options: OydCreateIdentifierOptions },\n context: IContext\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const resolvedKms = await this.assertedKms(kms, this.defaultKms)\n\n if ((this.cmsmCallbackOpts && !options.cmsm) || (options.cmsm && options.cmsm.enabled !== false)) {\n if (!this.cmsmCallbackOpts) {\n return Promise.reject(Error('did:oyd: no cmsm options defined on oyd did provider, but cmsm was enabled on the call!'))\n }\n return await this.createIdentifierWithCMSM({ kms: resolvedKms, options }, context)\n }\n\n const body = {\n options: {\n cmsm: false,\n key_type: options.type ?? 'Secp256r1',\n },\n }\n let didDoc: any | undefined\n try {\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n debug('Error response from OydDID Registrar: ', response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n didDoc = await response.json()\n } catch (error: any) {\n debug('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n const keyType: OydDidSupportedKeyTypes = options?.type ?? 'Secp256r1'\n const key = await importProvidedOrGeneratedKey(\n {\n kms: resolvedKms,\n alias: alias ?? options.alias ?? options.kid ?? `${didDoc.did}#key-doc`,\n options: {\n key: {\n kid: `${didDoc.did}#key-doc`,\n type: keyType,\n publicKeyHex: didDoc.keys[0].publicKeyHex,\n privateKeyHex: didDoc.keys[0].privateKeyHex,\n },\n },\n },\n context\n )\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: key.kid,\n keys: [key],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async createIdentifierWithCMSM(\n { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },\n context: IContext\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const cmsmCallbackOpts = this.cmsmCallbackOpts\n if (!cmsmCallbackOpts) {\n return Promise.reject(Error('did:oyd: no cmsm options defined!'))\n }\n\n const assertedKms = await this.assertedKms(kms, this.defaultKms)\n const pubKey =\n options.key ?? (await cmsmCallbackOpts.publicKeyCallback(options.kid ?? 'default', assertedKms, options.cmsm?.create !== false, options.type)) // \"default\" is probably not right, TODO!!\n const kid = pubKey.kid\n const keyType = pubKey.type\n const key = base58btc({ publicKeyHex: pubKey.publicKeyHex, keyType })\n\n console.log(`Bae58 pubkey key: ${key}`)\n let signValue: any | undefined // do the request\n try {\n const body_create = {\n // specify the Identifier options for the registrar\n key: key,\n options: {\n cmsm: true,\n key_type: keyType,\n },\n }\n console.log(`Create request:\\n${JSON.stringify(body_create, null, 2)}\\n`)\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body_create),\n })\n if (!response.ok) {\n debug('Error response from OydDID Registrar: ', body_create, response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n signValue = await response.json()\n console.log(`Create response:\\n${JSON.stringify(signValue, null, 2)}\\n`)\n } catch (error: any) {\n console.log('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n // we received our value to sign, now we sign it!\n const { sign } = signValue\n const signature = await cmsmCallbackOpts.signCallback(kid, sign)\n\n console.log(`Signature: ${signature}`)\n\n const body_signed = {\n key,\n options: {\n cmsm: true,\n key_type: keyType,\n sig: signature,\n },\n }\n console.log(`Signed request:\\n${JSON.stringify(body_signed, null, 2)}\\n`)\n\n // Object.assign(body_signed.options, options)\n\n let didDoc: any | undefined // do the request\n try {\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body_signed),\n })\n if (!response.ok) {\n console.log(`Error response from OydDID Registrar: ${JSON.stringify(response.text)}${response.statusText}`, response)\n debug('Error response from OydDID Registrar: ', response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n didDoc = await response.json()\n } catch (error: any) {\n debug('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: pubKey.kid,\n keys: [pubKey],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async updateIdentifier(\n args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },\n context: IAgentContext<IKeyManager>\n ): Promise<IIdentifier> {\n throw new Error('OydDIDProvider updateIdentifier not supported yet.')\n }\n\n async deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean> {\n for (const { kid } of identifier.keys) {\n await context.agent.keyManagerDelete({ kid })\n }\n return true\n }\n\n async addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeKey(args: { identifier: IIdentifier; kid: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n}\n\nconst keyCodecs = {\n RSA: 'rsa-pub',\n Ed25519: 'ed25519-pub',\n X25519: 'x25519-pub',\n Secp256k1: 'secp256k1-pub',\n Secp256r1: 'p256-pub',\n Bls12381G1: 'bls12_381-g1-pub',\n Bls12381G2: 'bls12_381-g2-pub',\n} as const\n\nconst base58btc = ({ publicKeyHex, keyType = 'Secp256r1' }: { publicKeyHex: string; keyType?: TKeyType }): string => {\n const codecName = keyCodecs[keyType]\n\n // methodSpecificId = bytesToMultibase({bytes: u8a.fromString(key.publicKeyHex, 'hex'), codecName})\n return u8a\n .toString(Multibase.encode('base58btc', Multicodec.addPrefix(codecName as Multicodec.CodecName, u8a.fromString(publicKeyHex, 'hex'))))\n .toString()\n}\n\nexport function defaultOydCmsmPublicKeyCallback(\n keyManager: KeyManager\n): (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey> {\n return async (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType): Promise<IKey> => {\n try {\n const existing = await keyManager.keyManagerGet({ kid })\n if (existing) {\n return existing\n }\n } catch (error: any) {}\n if (create) {\n if (!kms) {\n return Promise.reject(Error('No KMS provided, whilst creating a new key!'))\n }\n const alias = kid ?? `oyd-${new Date().toISOString()}`\n\n const agent = keyManager\n const key = await importProvidedOrGeneratedKey(\n {\n kms,\n alias,\n options: {\n key: {\n type: createKeyType ?? 'Secp256r1',\n },\n },\n },\n {\n //@ts-ignore\n agent,\n }\n )\n return key\n\n // return await keyManager.keyManagerCreate({ kms, type: createKeyType ?? 'Secp256r1' })\n }\n return Promise.reject(Error('No existing key found, and create is false!'))\n }\n}\n\nexport function defaultOydCmsmSignCallback(keyManager: KeyManager): (kid: string, data: string) => Promise<string> {\n return async (kid: string, data: string): Promise<string> => {\n return keyManager.keyManagerSign({ keyRef: kid, data, encoding: 'utf-8' })\n }\n}\n\nexport class DefaultOydCmsmCallbacks implements CMSMCallbackOpts {\n private readonly keyManager: KeyManager\n\n constructor(keyManager: KeyManager) {\n this.keyManager = keyManager\n }\n\n publicKeyCallback(kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType): Promise<IKey> {\n return defaultOydCmsmPublicKeyCallback(this.keyManager)(kid, kms, create, createKeyType)\n }\n\n signCallback(kid: string, value: string): Promise<string> {\n return defaultOydCmsmSignCallback(this.keyManager)(kid, value)\n }\n}\n","import { DIDResolutionOptions, DIDResolutionResult, DIDResolver, ParsedDID, Resolvable } from 'did-resolver'\nimport fetch from 'cross-fetch'\n\nconst resolveDidOyd: DIDResolver = async (\n didUrl: string,\n _parsed: ParsedDID,\n _resolver: Resolvable,\n options: DIDResolutionOptions\n): Promise<DIDResolutionResult> => {\n try {\n const baseUrl: string = 'https://oydid-resolver.data-container.net'\n // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);\n const response = await fetch(`${baseUrl}/1.0/identifiers/${didUrl}`)\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n const didDoc = await response.json()\n return didDoc as DIDResolutionResult\n } catch (err: any) {\n return {\n didDocumentMetadata: {},\n didResolutionMetadata: { error: 'invalidDid', message: err.toString() },\n didDocument: null,\n }\n }\n}\n\n/**\n * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.\n *\n * @public\n */\nexport function getDidOydResolver() {\n return { oyd: resolveDidOyd }\n}\n"],"mappings":"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","names":["debug","Debug","OYDID_REGISTRAR_URL","OydDIDProvider","AbstractIdentifierProvider","defaultKms","cmsmCallbackOpts","options","clientManagedSecretMode","assertedKms","kms","length","Promise","reject","Error","result","find","k","createIdentifier","alias","context","resolvedKms","cmsm","enabled","createIdentifierWithCMSM","body","key_type","type","didDoc","response","fetch","method","headers","JSON","stringify","ok","statusText","json","error","toString","keyType","key","importProvidedOrGeneratedKey","kid","did","publicKeyHex","keys","privateKeyHex","identifier","controllerKeyId","services","pubKey","publicKeyCallback","create","base58btc","console","log","signValue","body_create","sign","signature","signCallback","body_signed","sig","text","updateIdentifier","args","deleteIdentifier","agent","keyManagerDelete","addKey","success","addService","service","removeKey","removeService","keyCodecs","RSA","Ed25519","X25519","Secp256k1","Secp256r1","Bls12381G1","Bls12381G2","codecName","Multibase","encode","Multicodec","addPrefix","fromString","defaultOydCmsmPublicKeyCallback","keyManager","createKeyType","existing","keyManagerGet","Date","toISOString","defaultOydCmsmSignCallback","data","keyManagerSign","keyRef","encoding","DefaultOydCmsmCallbacks","value","import_cross_fetch","resolveDidOyd","didUrl","_parsed","_resolver","options","baseUrl","response","fetch","ok","Error","statusText","didDoc","json","err","didDocumentMetadata","didResolutionMetadata","error","message","toString","didDocument","getDidOydResolver","oyd"]}
package/dist/index.js CHANGED
@@ -9,7 +9,6 @@ import Multibase from "multibase";
9
9
  import Multicodec from "multicodec";
10
10
  import * as u8a from "uint8arrays";
11
11
  import Debug from "debug";
12
- var PROVIDER_NAME = "OYD DID Provider";
13
12
  var debug = Debug("veramo:oyd-did:identifier-provider");
14
13
  var OYDID_REGISTRAR_URL = "https://oydid-registrar.data-container.net/1.0/createIdentifier";
15
14
  var OydDIDProvider = class extends AbstractIdentifierProvider {
@@ -70,7 +69,6 @@ var OydDIDProvider = class extends AbstractIdentifierProvider {
70
69
  }
71
70
  const keyType = options?.type ?? "Secp256r1";
72
71
  const key = await importProvidedOrGeneratedKey({
73
- providerName: PROVIDER_NAME,
74
72
  kms: resolvedKms,
75
73
  alias: alias ?? options.alias ?? options.kid ?? `${didDoc.did}#key-doc`,
76
74
  options: {
@@ -246,7 +244,6 @@ function defaultOydCmsmPublicKeyCallback(keyManager) {
246
244
  const alias = kid ?? `oyd-${(/* @__PURE__ */ new Date()).toISOString()}`;
247
245
  const agent = keyManager;
248
246
  const key = await importProvidedOrGeneratedKey({
249
- providerName: PROVIDER_NAME,
250
247
  kms,
251
248
  alias,
252
249
  options: {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/oyd-did-provider.ts","../src/resolver.ts"],"sourcesContent":["import { importProvidedOrGeneratedKey } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { IAgentContext, IIdentifier, IKey, IKeyManager, IService, TKeyType } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport { KeyManager } from '@veramo/key-manager'\nimport fetch from 'cross-fetch'\nimport Multibase from 'multibase'\nimport Multicodec from 'multicodec'\n\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\n\nimport Debug from 'debug'\nimport type {\n CMSMCallbackOpts,\n OydConstructorOptions,\n OydCreateIdentifierOptions,\n // OydDidHoldKeysArgs,\n OydDidSupportedKeyTypes,\n} from './types/oyd-provider-types'\n\nconst PROVIDER_NAME = 'OYD DID Provider'\nconst debug = Debug('veramo:oyd-did:identifier-provider')\nconst OYDID_REGISTRAR_URL = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'\n\ntype IContext = IAgentContext<IKeyManager>\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers\n * @public\n */\nexport class OydDIDProvider extends AbstractIdentifierProvider {\n private readonly defaultKms?: string\n private readonly cmsmCallbackOpts?: CMSMCallbackOpts\n\n constructor(options?: OydConstructorOptions) {\n super()\n this.defaultKms = options?.defaultKms\n this.cmsmCallbackOpts = options?.clientManagedSecretMode\n }\n\n private async assertedKms(...kms: (string | undefined)[]): Promise<string> {\n if (!kms || kms.length === 0) {\n return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'))\n }\n const result = kms.find((k) => !!k)\n if (!result) {\n return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'))\n }\n return result\n }\n\n async createIdentifier(\n { kms, alias, options }: { kms?: string; alias?: string; options: OydCreateIdentifierOptions },\n context: IContext,\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const resolvedKms = await this.assertedKms(kms, this.defaultKms)\n\n if ((this.cmsmCallbackOpts && !options.cmsm) || (options.cmsm && options.cmsm.enabled !== false)) {\n if (!this.cmsmCallbackOpts) {\n return Promise.reject(Error('did:oyd: no cmsm options defined on oyd did provider, but cmsm was enabled on the call!'))\n }\n return await this.createIdentifierWithCMSM({ kms: resolvedKms, options }, context)\n }\n\n const body = {\n options: {\n cmsm: false,\n key_type: options.type ?? 'Secp256r1',\n },\n }\n let didDoc: any | undefined\n try {\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n debug('Error response from OydDID Registrar: ', response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n didDoc = await response.json()\n } catch (error: any) {\n debug('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n const keyType: OydDidSupportedKeyTypes = options?.type ?? 'Secp256r1'\n const key = await importProvidedOrGeneratedKey(\n {\n providerName: PROVIDER_NAME,\n kms: resolvedKms,\n alias: alias ?? options.alias ?? options.kid ?? `${didDoc.did}#key-doc`,\n options: {\n key: {\n kid: `${didDoc.did}#key-doc`,\n type: keyType,\n publicKeyHex: didDoc.keys[0].publicKeyHex,\n privateKeyHex: didDoc.keys[0].privateKeyHex,\n },\n },\n },\n context,\n )\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: key.kid,\n keys: [key],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async createIdentifierWithCMSM(\n { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },\n context: IContext,\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const cmsmCallbackOpts = this.cmsmCallbackOpts\n if (!cmsmCallbackOpts) {\n return Promise.reject(Error('did:oyd: no cmsm options defined!'))\n }\n\n const assertedKms = await this.assertedKms(kms, this.defaultKms)\n const pubKey =\n options.key ?? (await cmsmCallbackOpts.publicKeyCallback(options.kid ?? 'default', assertedKms, options.cmsm?.create !== false, options.type)) // \"default\" is probably not right, TODO!!\n const kid = pubKey.kid\n const keyType = pubKey.type\n const key = base58btc({ publicKeyHex: pubKey.publicKeyHex, keyType })\n\n console.log(`Bae58 pubkey key: ${key}`)\n let signValue: any | undefined // do the request\n try {\n const body_create = {\n // specify the Identifier options for the registrar\n key: key,\n options: {\n cmsm: true,\n key_type: keyType,\n },\n }\n console.log(`Create request:\\n${JSON.stringify(body_create, null, 2)}\\n`)\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body_create),\n })\n if (!response.ok) {\n debug('Error response from OydDID Registrar: ', body_create, response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n signValue = await response.json()\n console.log(`Create response:\\n${JSON.stringify(signValue, null, 2)}\\n`)\n } catch (error: any) {\n console.log('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n // we received our value to sign, now we sign it!\n const { sign } = signValue\n const signature = await cmsmCallbackOpts.signCallback(kid, sign)\n\n console.log(`Signature: ${signature}`)\n\n const body_signed = {\n key,\n options: {\n cmsm: true,\n key_type: keyType,\n sig: signature,\n },\n }\n console.log(`Signed request:\\n${JSON.stringify(body_signed, null, 2)}\\n`)\n\n // Object.assign(body_signed.options, options)\n\n let didDoc: any | undefined // do the request\n try {\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body_signed),\n })\n if (!response.ok) {\n console.log(`Error response from OydDID Registrar: ${JSON.stringify(response.text)}${response.statusText}`, response)\n debug('Error response from OydDID Registrar: ', response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n didDoc = await response.json()\n } catch (error: any) {\n debug('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: pubKey.kid,\n keys: [pubKey],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async updateIdentifier(\n args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },\n context: IAgentContext<IKeyManager>,\n ): Promise<IIdentifier> {\n throw new Error('OydDIDProvider updateIdentifier not supported yet.')\n }\n\n async deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean> {\n for (const { kid } of identifier.keys) {\n await context.agent.keyManagerDelete({ kid })\n }\n return true\n }\n\n async addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeKey(args: { identifier: IIdentifier; kid: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n}\n\nconst keyCodecs = {\n RSA: 'rsa-pub',\n Ed25519: 'ed25519-pub',\n X25519: 'x25519-pub',\n Secp256k1: 'secp256k1-pub',\n Secp256r1: 'p256-pub',\n Bls12381G1: 'bls12_381-g1-pub',\n Bls12381G2: 'bls12_381-g2-pub',\n} as const\n\nconst base58btc = ({ publicKeyHex, keyType = 'Secp256r1' }: { publicKeyHex: string; keyType?: TKeyType }): string => {\n const codecName = keyCodecs[keyType]\n\n // methodSpecificId = bytesToMultibase({bytes: u8a.fromString(key.publicKeyHex, 'hex'), codecName})\n return u8a\n .toString(Multibase.encode('base58btc', Multicodec.addPrefix(codecName as Multicodec.CodecName, u8a.fromString(publicKeyHex, 'hex'))))\n .toString()\n}\n\nexport function defaultOydCmsmPublicKeyCallback(\n keyManager: KeyManager,\n): (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey> {\n return async (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType): Promise<IKey> => {\n try {\n const existing = await keyManager.keyManagerGet({ kid })\n if (existing) {\n return existing\n }\n } catch (error: any) {}\n if (create) {\n if (!kms) {\n return Promise.reject(Error('No KMS provided, whilst creating a new key!'))\n }\n const alias = kid ?? `oyd-${new Date().toISOString()}`\n\n const agent = keyManager\n const key = await importProvidedOrGeneratedKey(\n {\n providerName: PROVIDER_NAME,\n kms,\n alias,\n options: {\n key: {\n type: createKeyType ?? 'Secp256r1',\n },\n },\n },\n {\n //@ts-ignore\n agent,\n },\n )\n return key\n\n // return await keyManager.keyManagerCreate({ kms, type: createKeyType ?? 'Secp256r1' })\n }\n return Promise.reject(Error('No existing key found, and create is false!'))\n }\n}\n\nexport function defaultOydCmsmSignCallback(keyManager: KeyManager): (kid: string, data: string) => Promise<string> {\n return async (kid: string, data: string): Promise<string> => {\n return keyManager.keyManagerSign({ keyRef: kid, data, encoding: 'utf-8' })\n }\n}\n\nexport class DefaultOydCmsmCallbacks implements CMSMCallbackOpts {\n private readonly keyManager: KeyManager\n\n constructor(keyManager: KeyManager) {\n this.keyManager = keyManager\n }\n\n publicKeyCallback(kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType): Promise<IKey> {\n return defaultOydCmsmPublicKeyCallback(this.keyManager)(kid, kms, create, createKeyType)\n }\n\n signCallback(kid: string, value: string): Promise<string> {\n return defaultOydCmsmSignCallback(this.keyManager)(kid, value)\n }\n}\n","import { DIDResolutionOptions, DIDResolutionResult, DIDResolver, ParsedDID, Resolvable } from 'did-resolver'\nimport fetch from 'cross-fetch'\n\nconst resolveDidOyd: DIDResolver = async (\n didUrl: string,\n _parsed: ParsedDID,\n _resolver: Resolvable,\n options: DIDResolutionOptions\n): Promise<DIDResolutionResult> => {\n try {\n const baseUrl: string = 'https://oydid-resolver.data-container.net'\n // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);\n const response = await fetch(`${baseUrl}/1.0/identifiers/${didUrl}`)\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n const didDoc = await response.json()\n return didDoc as DIDResolutionResult\n } catch (err: any) {\n return {\n didDocumentMetadata: {},\n didResolutionMetadata: { error: 'invalidDid', message: err.toString() },\n didDocument: null,\n }\n }\n}\n\n/**\n * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.\n *\n * @public\n */\nexport function getDidOydResolver() {\n return { oyd: resolveDidOyd }\n}\n"],"mappings":"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","names":["importProvidedOrGeneratedKey","AbstractIdentifierProvider","fetch","Multibase","Multicodec","u8a","Debug","PROVIDER_NAME","debug","Debug","OYDID_REGISTRAR_URL","OydDIDProvider","AbstractIdentifierProvider","defaultKms","cmsmCallbackOpts","options","clientManagedSecretMode","assertedKms","kms","length","Promise","reject","Error","result","find","k","createIdentifier","alias","context","resolvedKms","cmsm","enabled","createIdentifierWithCMSM","body","key_type","type","didDoc","response","fetch","method","headers","JSON","stringify","ok","statusText","json","error","toString","keyType","key","importProvidedOrGeneratedKey","providerName","kid","did","publicKeyHex","keys","privateKeyHex","identifier","controllerKeyId","services","pubKey","publicKeyCallback","create","base58btc","console","log","signValue","body_create","sign","signature","signCallback","body_signed","sig","text","updateIdentifier","args","deleteIdentifier","agent","keyManagerDelete","addKey","success","addService","service","removeKey","removeService","keyCodecs","RSA","Ed25519","X25519","Secp256k1","Secp256r1","Bls12381G1","Bls12381G2","codecName","Multibase","encode","Multicodec","addPrefix","fromString","defaultOydCmsmPublicKeyCallback","keyManager","createKeyType","existing","keyManagerGet","Date","toISOString","defaultOydCmsmSignCallback","data","keyManagerSign","keyRef","encoding","DefaultOydCmsmCallbacks","value","fetch","resolveDidOyd","didUrl","_parsed","_resolver","options","baseUrl","response","fetch","ok","Error","statusText","didDoc","json","err","didDocumentMetadata","didResolutionMetadata","error","message","toString","didDocument","getDidOydResolver","oyd"]}
1
+ {"version":3,"sources":["../src/oyd-did-provider.ts","../src/resolver.ts"],"sourcesContent":["import { importProvidedOrGeneratedKey } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { IAgentContext, IIdentifier, IKey, IKeyManager, IService, TKeyType } from '@veramo/core'\nimport { AbstractIdentifierProvider } from '@veramo/did-manager'\nimport { KeyManager } from '@veramo/key-manager'\nimport fetch from 'cross-fetch'\nimport Multibase from 'multibase'\nimport Multicodec from 'multicodec'\n\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\n\nimport Debug from 'debug'\nimport type {\n CMSMCallbackOpts,\n OydConstructorOptions,\n OydCreateIdentifierOptions,\n // OydDidHoldKeysArgs,\n OydDidSupportedKeyTypes,\n} from './types/oyd-provider-types'\n\nconst debug = Debug('veramo:oyd-did:identifier-provider')\nconst OYDID_REGISTRAR_URL = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'\n\ntype IContext = IAgentContext<IKeyManager>\n\n/**\n * {@link @veramo/did-manager#DIDManager} identifier provider for `did:oyd` identifiers\n * @public\n */\nexport class OydDIDProvider extends AbstractIdentifierProvider {\n private readonly defaultKms?: string\n private readonly cmsmCallbackOpts?: CMSMCallbackOpts\n\n constructor(options?: OydConstructorOptions) {\n super()\n this.defaultKms = options?.defaultKms\n this.cmsmCallbackOpts = options?.clientManagedSecretMode\n }\n\n private async assertedKms(...kms: (string | undefined)[]): Promise<string> {\n if (!kms || kms.length === 0) {\n return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'))\n }\n const result = kms.find((k) => !!k)\n if (!result) {\n return Promise.reject(Error('KMS must be provided either as a parameter or via defaultKms.'))\n }\n return result\n }\n\n async createIdentifier(\n { kms, alias, options }: { kms?: string; alias?: string; options: OydCreateIdentifierOptions },\n context: IContext\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const resolvedKms = await this.assertedKms(kms, this.defaultKms)\n\n if ((this.cmsmCallbackOpts && !options.cmsm) || (options.cmsm && options.cmsm.enabled !== false)) {\n if (!this.cmsmCallbackOpts) {\n return Promise.reject(Error('did:oyd: no cmsm options defined on oyd did provider, but cmsm was enabled on the call!'))\n }\n return await this.createIdentifierWithCMSM({ kms: resolvedKms, options }, context)\n }\n\n const body = {\n options: {\n cmsm: false,\n key_type: options.type ?? 'Secp256r1',\n },\n }\n let didDoc: any | undefined\n try {\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n if (!response.ok) {\n debug('Error response from OydDID Registrar: ', response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n didDoc = await response.json()\n } catch (error: any) {\n debug('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n const keyType: OydDidSupportedKeyTypes = options?.type ?? 'Secp256r1'\n const key = await importProvidedOrGeneratedKey(\n {\n kms: resolvedKms,\n alias: alias ?? options.alias ?? options.kid ?? `${didDoc.did}#key-doc`,\n options: {\n key: {\n kid: `${didDoc.did}#key-doc`,\n type: keyType,\n publicKeyHex: didDoc.keys[0].publicKeyHex,\n privateKeyHex: didDoc.keys[0].privateKeyHex,\n },\n },\n },\n context\n )\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: key.kid,\n keys: [key],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async createIdentifierWithCMSM(\n { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },\n context: IContext\n ): Promise<Omit<IIdentifier, 'provider'>> {\n const cmsmCallbackOpts = this.cmsmCallbackOpts\n if (!cmsmCallbackOpts) {\n return Promise.reject(Error('did:oyd: no cmsm options defined!'))\n }\n\n const assertedKms = await this.assertedKms(kms, this.defaultKms)\n const pubKey =\n options.key ?? (await cmsmCallbackOpts.publicKeyCallback(options.kid ?? 'default', assertedKms, options.cmsm?.create !== false, options.type)) // \"default\" is probably not right, TODO!!\n const kid = pubKey.kid\n const keyType = pubKey.type\n const key = base58btc({ publicKeyHex: pubKey.publicKeyHex, keyType })\n\n console.log(`Bae58 pubkey key: ${key}`)\n let signValue: any | undefined // do the request\n try {\n const body_create = {\n // specify the Identifier options for the registrar\n key: key,\n options: {\n cmsm: true,\n key_type: keyType,\n },\n }\n console.log(`Create request:\\n${JSON.stringify(body_create, null, 2)}\\n`)\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body_create),\n })\n if (!response.ok) {\n debug('Error response from OydDID Registrar: ', body_create, response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n signValue = await response.json()\n console.log(`Create response:\\n${JSON.stringify(signValue, null, 2)}\\n`)\n } catch (error: any) {\n console.log('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n // we received our value to sign, now we sign it!\n const { sign } = signValue\n const signature = await cmsmCallbackOpts.signCallback(kid, sign)\n\n console.log(`Signature: ${signature}`)\n\n const body_signed = {\n key,\n options: {\n cmsm: true,\n key_type: keyType,\n sig: signature,\n },\n }\n console.log(`Signed request:\\n${JSON.stringify(body_signed, null, 2)}\\n`)\n\n // Object.assign(body_signed.options, options)\n\n let didDoc: any | undefined // do the request\n try {\n const response = await fetch(OYDID_REGISTRAR_URL, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body_signed),\n })\n if (!response.ok) {\n console.log(`Error response from OydDID Registrar: ${JSON.stringify(response.text)}${response.statusText}`, response)\n debug('Error response from OydDID Registrar: ', response)\n return Promise.reject(Error('Network response was not ok: ' + response.statusText))\n }\n didDoc = await response.json()\n } catch (error: any) {\n debug('Unexpected error from OydDID Registrar: ', error)\n return Promise.reject(Error('There has been a problem with the fetch operation: ' + error.toString()))\n }\n\n const identifier: Omit<IIdentifier, 'provider'> = {\n did: didDoc.did,\n controllerKeyId: pubKey.kid,\n keys: [pubKey],\n services: [],\n }\n debug('Created', identifier.did)\n return identifier\n }\n\n async updateIdentifier(\n args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },\n context: IAgentContext<IKeyManager>\n ): Promise<IIdentifier> {\n throw new Error('OydDIDProvider updateIdentifier not supported yet.')\n }\n\n async deleteIdentifier(identifier: IIdentifier, context: IContext): Promise<boolean> {\n for (const { kid } of identifier.keys) {\n await context.agent.keyManagerDelete({ kid })\n }\n return true\n }\n\n async addKey({ identifier, key, options }: { identifier: IIdentifier; key: IKey; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async addService({ identifier, service, options }: { identifier: IIdentifier; service: IService; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeKey(args: { identifier: IIdentifier; kid: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n\n async removeService(args: { identifier: IIdentifier; id: string; options?: any }, context: IContext): Promise<any> {\n return { success: true }\n }\n}\n\nconst keyCodecs = {\n RSA: 'rsa-pub',\n Ed25519: 'ed25519-pub',\n X25519: 'x25519-pub',\n Secp256k1: 'secp256k1-pub',\n Secp256r1: 'p256-pub',\n Bls12381G1: 'bls12_381-g1-pub',\n Bls12381G2: 'bls12_381-g2-pub',\n} as const\n\nconst base58btc = ({ publicKeyHex, keyType = 'Secp256r1' }: { publicKeyHex: string; keyType?: TKeyType }): string => {\n const codecName = keyCodecs[keyType]\n\n // methodSpecificId = bytesToMultibase({bytes: u8a.fromString(key.publicKeyHex, 'hex'), codecName})\n return u8a\n .toString(Multibase.encode('base58btc', Multicodec.addPrefix(codecName as Multicodec.CodecName, u8a.fromString(publicKeyHex, 'hex'))))\n .toString()\n}\n\nexport function defaultOydCmsmPublicKeyCallback(\n keyManager: KeyManager\n): (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey> {\n return async (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType): Promise<IKey> => {\n try {\n const existing = await keyManager.keyManagerGet({ kid })\n if (existing) {\n return existing\n }\n } catch (error: any) {}\n if (create) {\n if (!kms) {\n return Promise.reject(Error('No KMS provided, whilst creating a new key!'))\n }\n const alias = kid ?? `oyd-${new Date().toISOString()}`\n\n const agent = keyManager\n const key = await importProvidedOrGeneratedKey(\n {\n kms,\n alias,\n options: {\n key: {\n type: createKeyType ?? 'Secp256r1',\n },\n },\n },\n {\n //@ts-ignore\n agent,\n }\n )\n return key\n\n // return await keyManager.keyManagerCreate({ kms, type: createKeyType ?? 'Secp256r1' })\n }\n return Promise.reject(Error('No existing key found, and create is false!'))\n }\n}\n\nexport function defaultOydCmsmSignCallback(keyManager: KeyManager): (kid: string, data: string) => Promise<string> {\n return async (kid: string, data: string): Promise<string> => {\n return keyManager.keyManagerSign({ keyRef: kid, data, encoding: 'utf-8' })\n }\n}\n\nexport class DefaultOydCmsmCallbacks implements CMSMCallbackOpts {\n private readonly keyManager: KeyManager\n\n constructor(keyManager: KeyManager) {\n this.keyManager = keyManager\n }\n\n publicKeyCallback(kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType): Promise<IKey> {\n return defaultOydCmsmPublicKeyCallback(this.keyManager)(kid, kms, create, createKeyType)\n }\n\n signCallback(kid: string, value: string): Promise<string> {\n return defaultOydCmsmSignCallback(this.keyManager)(kid, value)\n }\n}\n","import { DIDResolutionOptions, DIDResolutionResult, DIDResolver, ParsedDID, Resolvable } from 'did-resolver'\nimport fetch from 'cross-fetch'\n\nconst resolveDidOyd: DIDResolver = async (\n didUrl: string,\n _parsed: ParsedDID,\n _resolver: Resolvable,\n options: DIDResolutionOptions\n): Promise<DIDResolutionResult> => {\n try {\n const baseUrl: string = 'https://oydid-resolver.data-container.net'\n // const didDoc = await axios.get(`${baseUrl}/1.0/identifiers/${didUrl}`);\n const response = await fetch(`${baseUrl}/1.0/identifiers/${didUrl}`)\n if (!response.ok) {\n throw new Error('Network response was not ok: ' + response.statusText)\n }\n const didDoc = await response.json()\n return didDoc as DIDResolutionResult\n } catch (err: any) {\n return {\n didDocumentMetadata: {},\n didResolutionMetadata: { error: 'invalidDid', message: err.toString() },\n didDocument: null,\n }\n }\n}\n\n/**\n * Provides a mapping to a did:oyd resolver, usable by {@link did-resolver#Resolver}.\n *\n * @public\n */\nexport function getDidOydResolver() {\n return { oyd: resolveDidOyd }\n}\n"],"mappings":"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","names":["importProvidedOrGeneratedKey","AbstractIdentifierProvider","fetch","Multibase","Multicodec","u8a","Debug","debug","Debug","OYDID_REGISTRAR_URL","OydDIDProvider","AbstractIdentifierProvider","defaultKms","cmsmCallbackOpts","options","clientManagedSecretMode","assertedKms","kms","length","Promise","reject","Error","result","find","k","createIdentifier","alias","context","resolvedKms","cmsm","enabled","createIdentifierWithCMSM","body","key_type","type","didDoc","response","fetch","method","headers","JSON","stringify","ok","statusText","json","error","toString","keyType","key","importProvidedOrGeneratedKey","kid","did","publicKeyHex","keys","privateKeyHex","identifier","controllerKeyId","services","pubKey","publicKeyCallback","create","base58btc","console","log","signValue","body_create","sign","signature","signCallback","body_signed","sig","text","updateIdentifier","args","deleteIdentifier","agent","keyManagerDelete","addKey","success","addService","service","removeKey","removeService","keyCodecs","RSA","Ed25519","X25519","Secp256k1","Secp256r1","Bls12381G1","Bls12381G2","codecName","Multibase","encode","Multicodec","addPrefix","fromString","defaultOydCmsmPublicKeyCallback","keyManager","createKeyType","existing","keyManagerGet","Date","toISOString","defaultOydCmsmSignCallback","data","keyManagerSign","keyRef","encoding","DefaultOydCmsmCallbacks","value","fetch","resolveDidOyd","didUrl","_parsed","_resolver","options","baseUrl","response","fetch","ok","Error","statusText","didDoc","json","err","didDocumentMetadata","didResolutionMetadata","error","message","toString","didDocument","getDidOydResolver","oyd"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sphereon/did-provider-oyd",
3
3
  "description": "OwnYourData plugin that can enable creation and control of did:oyd identifiers.",
4
- "version": "0.34.1-feature.FIDES.1.274+3d1f4edd",
4
+ "version": "0.34.1-feature.IDK.11.48+640da718",
5
5
  "source": "./src/index.ts",
6
6
  "type": "module",
7
7
  "main": "./dist/index.cjs",
@@ -23,7 +23,7 @@
23
23
  "extract-api": "sphereon dev extract-api"
24
24
  },
25
25
  "dependencies": {
26
- "@sphereon/ssi-sdk-ext.key-utils": "0.34.1-feature.FIDES.1.274+3d1f4edd",
26
+ "@sphereon/ssi-sdk-ext.key-utils": "0.34.1-feature.IDK.11.48+640da718",
27
27
  "@veramo/core": "4.2.0",
28
28
  "@veramo/did-manager": "4.2.0",
29
29
  "cross-fetch": "^4.0.0",
@@ -34,8 +34,8 @@
34
34
  "uint8arrays": "^3.1.1"
35
35
  },
36
36
  "devDependencies": {
37
- "@sphereon/ssi-sdk-ext.key-manager": "0.34.1-feature.FIDES.1.274+3d1f4edd",
38
- "@sphereon/ssi-sdk-ext.kms-local": "0.34.1-feature.FIDES.1.274+3d1f4edd",
37
+ "@sphereon/ssi-sdk-ext.key-manager": "0.34.1-feature.IDK.11.48+640da718",
38
+ "@sphereon/ssi-sdk-ext.kms-local": "0.34.1-feature.IDK.11.48+640da718",
39
39
  "@sphereon/ssi-sdk.dev": "0.33.0",
40
40
  "@types/debug": "4.1.12",
41
41
  "@veramo/key-manager": "4.2.0",
@@ -56,5 +56,5 @@
56
56
  "author": "Christoph Fabianek <christoph@ownyourdata.eu>",
57
57
  "keywords": [],
58
58
  "license": "MIT",
59
- "gitHead": "3d1f4edd13301b5e8ae524e80249b5e25f99eeac"
59
+ "gitHead": "640da718d6ce394653ae6ef0276b584b2b7456df"
60
60
  }
@@ -18,7 +18,6 @@ import type {
18
18
  OydDidSupportedKeyTypes,
19
19
  } from './types/oyd-provider-types'
20
20
 
21
- const PROVIDER_NAME = 'OYD DID Provider'
22
21
  const debug = Debug('veramo:oyd-did:identifier-provider')
23
22
  const OYDID_REGISTRAR_URL = 'https://oydid-registrar.data-container.net/1.0/createIdentifier'
24
23
 
@@ -51,7 +50,7 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
51
50
 
52
51
  async createIdentifier(
53
52
  { kms, alias, options }: { kms?: string; alias?: string; options: OydCreateIdentifierOptions },
54
- context: IContext,
53
+ context: IContext
55
54
  ): Promise<Omit<IIdentifier, 'provider'>> {
56
55
  const resolvedKms = await this.assertedKms(kms, this.defaultKms)
57
56
 
@@ -90,7 +89,6 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
90
89
  const keyType: OydDidSupportedKeyTypes = options?.type ?? 'Secp256r1'
91
90
  const key = await importProvidedOrGeneratedKey(
92
91
  {
93
- providerName: PROVIDER_NAME,
94
92
  kms: resolvedKms,
95
93
  alias: alias ?? options.alias ?? options.kid ?? `${didDoc.did}#key-doc`,
96
94
  options: {
@@ -102,7 +100,7 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
102
100
  },
103
101
  },
104
102
  },
105
- context,
103
+ context
106
104
  )
107
105
 
108
106
  const identifier: Omit<IIdentifier, 'provider'> = {
@@ -117,7 +115,7 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
117
115
 
118
116
  async createIdentifierWithCMSM(
119
117
  { kms, options }: { kms?: string; options: OydCreateIdentifierOptions },
120
- context: IContext,
118
+ context: IContext
121
119
  ): Promise<Omit<IIdentifier, 'provider'>> {
122
120
  const cmsmCallbackOpts = this.cmsmCallbackOpts
123
121
  if (!cmsmCallbackOpts) {
@@ -211,7 +209,7 @@ export class OydDIDProvider extends AbstractIdentifierProvider {
211
209
 
212
210
  async updateIdentifier(
213
211
  args: { did: string; kms?: string | undefined; alias?: string | undefined; options?: any },
214
- context: IAgentContext<IKeyManager>,
212
+ context: IAgentContext<IKeyManager>
215
213
  ): Promise<IIdentifier> {
216
214
  throw new Error('OydDIDProvider updateIdentifier not supported yet.')
217
215
  }
@@ -260,7 +258,7 @@ const base58btc = ({ publicKeyHex, keyType = 'Secp256r1' }: { publicKeyHex: stri
260
258
  }
261
259
 
262
260
  export function defaultOydCmsmPublicKeyCallback(
263
- keyManager: KeyManager,
261
+ keyManager: KeyManager
264
262
  ): (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType) => Promise<IKey> {
265
263
  return async (kid: string, kms?: string, create?: boolean, createKeyType?: TKeyType): Promise<IKey> => {
266
264
  try {
@@ -278,7 +276,6 @@ export function defaultOydCmsmPublicKeyCallback(
278
276
  const agent = keyManager
279
277
  const key = await importProvidedOrGeneratedKey(
280
278
  {
281
- providerName: PROVIDER_NAME,
282
279
  kms,
283
280
  alias,
284
281
  options: {
@@ -290,7 +287,7 @@ export function defaultOydCmsmPublicKeyCallback(
290
287
  {
291
288
  //@ts-ignore
292
289
  agent,
293
- },
290
+ }
294
291
  )
295
292
  return key
296
293