UNPKG

@sphereon/ssi-sdk-ext.identifier-resolution

Version:

1,291 lines (1,289 loc) 421 kB
var __defProp = Object.defineProperty; var __getOwnPropNames = Object.getOwnPropertyNames; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; // plugin.schema.json var require_plugin_schema = __commonJS({ "plugin.schema.json"(exports, module) { module.exports = { IIdentifierResolution: { components: { schemas: { ExternalIdentifierOpts: { anyOf: [ { type: "object", properties: { method: { type: "string", const: "jwk" }, identifier: { $ref: "#/components/schemas/ExternalIdentifierType" }, x5c: { $ref: "#/components/schemas/ExternalIdentifierX5cOpts" } }, required: [ "identifier" ] }, { type: "object", properties: { method: { type: "string", const: "x5c" }, identifier: { $ref: "#/components/schemas/ExternalIdentifierType" }, verify: { type: "boolean" }, verificationTime: { type: "string", format: "date-time" }, trustAnchors: { type: "array", items: { type: "string" } }, allowNoTrustAnchorsFound: { type: "boolean" }, trustRootWhenNoAnchors: { type: "boolean" }, allowSingleNoCAChainElement: { type: "boolean" }, blindlyTrustedAnchors: { type: "array", items: { type: "string" } }, disallowReversedChain: { type: "boolean" }, client: { type: "object", properties: { clientId: { type: "string" }, clientIdScheme: { type: "string", enum: [ "x509_san_dns", "x509_san_uri" ] } }, required: [ "clientId", "clientIdScheme" ] } }, required: [ "identifier" ] }, { type: "object", properties: { method: { type: "string", const: "did" }, identifier: { $ref: "#/components/schemas/ExternalIdentifierType" }, noVerificationMethodFallback: { type: "boolean" }, vmRelationship: { $ref: "#/components/schemas/DIDDocumentSection" }, localResolution: { type: "boolean" }, uniresolverResolution: { type: "boolean" }, resolverResolution: { type: "boolean" } }, required: [ "identifier" ] }, { type: "object", properties: { method: { type: "string", const: "kid" }, identifier: { $ref: "#/components/schemas/ExternalIdentifierType" } }, required: [ "identifier" ] }, { type: "object", properties: { method: { type: "string", const: "cose_key" }, identifier: { $ref: "#/components/schemas/ExternalIdentifierType" } }, required: [ "identifier" ] }, { type: "object", properties: { method: { type: "string", const: "entity_id" }, identifier: { $ref: "#/components/schemas/ExternalIdentifierType" }, trustAnchors: { type: "array", items: { type: "string" } } }, required: [ "identifier" ] } ] }, ExternalIdentifierType: { anyOf: [ { type: "string" }, { type: "array", items: { type: "string" } }, { type: "object", properties: { kty: { type: "string", enum: [ "EC", "RSA", "oct", "OKP" ] }, crv: { type: "string", enum: [ "P-256", "P-384", "P-521", "X25519", "X448", "EdDSA", "Ed25519", "Ed448", "secp256k1" ] }, alg: { type: "string", enum: [ "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "EdDSA", "HS256", "HS384", "HS512", "PS256", "PS384", "PS512", "none" ] }, x: { type: "string" }, y: { type: "string" }, e: { type: "string" }, n: { type: "string" }, d: { type: "string" }, dp: { type: "string" }, dq: { type: "string" }, ext: { type: "boolean" }, k: { type: "string" }, key_ops: { type: "array", items: { type: "string", enum: [ "sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits" ] } }, kid: { type: "string" }, oth: { type: "array", items: { type: "object", properties: { d: { type: "string" }, r: { type: "string" }, t: { type: "string" } } } }, p: { type: "string" }, q: { type: "string" }, qi: { type: "string" }, use: { type: "string" }, x5c: { type: "array", items: { type: "string" }, description: 'JWK "x5c" (X.509 Certificate Chain) Parameter.' }, x5t: { type: "string", description: 'JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter.' }, "x5t#S256": { type: "string", description: '"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter.' }, x5u: { type: "string", description: 'JWK "x5u" (X.509 URL) Parameter.' }, iv: { type: "string" } }, additionalProperties: {}, required: [ "kty" ] } ], description: "Use whenever we need to resolve an external identifier. We can pass in kids, DIDs, and x5chains\n\nThe functions below can be used to check the type, and they also provide the proper runtime types" }, ExternalIdentifierX5cOpts: { type: "object", properties: { method: { type: "string", const: "x5c" }, identifier: { $ref: "#/components/schemas/ExternalIdentifierType" }, verify: { type: "boolean" }, verificationTime: { type: "string", format: "date-time" }, trustAnchors: { type: "array", items: { type: "string" } }, allowNoTrustAnchorsFound: { type: "boolean" }, trustRootWhenNoAnchors: { type: "boolean" }, allowSingleNoCAChainElement: { type: "boolean" }, blindlyTrustedAnchors: { type: "array", items: { type: "string" } }, disallowReversedChain: { type: "boolean" }, client: { type: "object", properties: { clientId: { type: "string" }, clientIdScheme: { type: "string", enum: [ "x509_san_dns", "x509_san_uri" ] } }, required: [ "clientId", "clientIdScheme" ] } }, required: [ "identifier" ] }, DIDDocumentSection: { type: "string", enum: [ "verificationMethod", "publicKey", "service", "authentication", "assertionMethod", "keyAgreement", "capabilityInvocation", "capabilityDelegation" ], description: "Refers to a section of a DID document. Either the list of verification methods or services or one of the verification relationships.\n\nSee {@link https://www.w3.org/TR/did-core/#verification-relationships | verification relationships }" }, ExternalIdentifierResult: { anyOf: [ { type: "object", properties: { method: { $ref: "#/components/schemas/ExternalIdentifierMethod" }, jwks: { type: "array", items: { $ref: "#/components/schemas/ExternalJwkInfo" } }, did: { type: "string" }, didDocument: { $ref: "#/components/schemas/DIDDocument" }, didJwks: { type: "object", properties: { verificationMethod: { type: "array", items: { type: "object", properties: { kty: { type: "string", enum: [ "EC", "RSA", "oct", "OKP" ] }, crv: { type: "string", enum: [ "P-256", "P-384", "P-521", "X25519", "X448", "EdDSA", "Ed25519", "Ed448", "secp256k1" ] }, alg: { type: "string", enum: [ "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "EdDSA", "HS256", "HS384", "HS512", "PS256", "PS384", "PS512", "none" ] }, x: { type: "string" }, y: { type: "string" }, e: { type: "string" }, n: { type: "string" }, d: { type: "string" }, dp: { type: "string" }, dq: { type: "string" }, ext: { type: "boolean" }, k: { type: "string" }, key_ops: { type: "array", items: { type: "string", enum: [ "sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits" ] } }, kid: { type: "string" }, oth: { type: "array", items: { type: "object", properties: { d: { type: "string" }, r: { type: "string" }, t: { type: "string" } } } }, p: { type: "string" }, q: { type: "string" }, qi: { type: "string" }, use: { type: "string" }, x5c: { type: "array", items: { type: "string" }, description: 'JWK "x5c" (X.509 Certificate Chain) Parameter.' }, x5t: { type: "string", description: 'JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter.' }, "x5t#S256": { type: "string", description: '"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter.' }, x5u: { type: "string", description: 'JWK "x5u" (X.509 URL) Parameter.' }, iv: { type: "string" } }, additionalProperties: {}, required: [ "kty" ] } }, authentication: { type: "array", items: { type: "object", properties: { kty: { type: "string", enum: [ "EC", "RSA", "oct", "OKP" ] }, crv: { type: "string", enum: [ "P-256", "P-384", "P-521", "X25519", "X448", "EdDSA", "Ed25519", "Ed448", "secp256k1" ] }, alg: { type: "string", enum: [ "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "EdDSA", "HS256", "HS384", "HS512", "PS256", "PS384", "PS512", "none" ] }, x: { type: "string" }, y: { type: "string" }, e: { type: "string" }, n: { type: "string" }, d: { type: "string" }, dp: { type: "string" }, dq: { type: "string" }, ext: { type: "boolean" }, k: { type: "string" }, key_ops: { type: "array", items: { type: "string", enum: [ "sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits" ] } }, kid: { type: "string" }, oth: { type: "array", items: { type: "object", properties: { d: { type: "string" }, r: { type: "string" }, t: { type: "string" } } } }, p: { type: "string" }, q: { type: "string" }, qi: { type: "string" }, use: { type: "string" }, x5c: { type: "array", items: { type: "string" }, description: 'JWK "x5c" (X.509 Certificate Chain) Parameter.' }, x5t: { type: "string", description: 'JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter.' }, "x5t#S256": { type: "string", description: '"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter.' }, x5u: { type: "string", description: 'JWK "x5u" (X.509 URL) Parameter.' }, iv: { type: "string" } }, additionalProperties: {}, required: [ "kty" ] } }, assertionMethod: { type: "array", items: { type: "object", properties: { kty: { type: "string", enum: [ "EC", "RSA", "oct", "OKP" ] }, crv: { type: "string", enum: [ "P-256", "P-384", "P-521", "X25519", "X448", "EdDSA", "Ed25519", "Ed448", "secp256k1" ] }, alg: { type: "string", enum: [ "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "EdDSA", "HS256", "HS384", "HS512", "PS256", "PS384", "PS512", "none" ] }, x: { type: "string" }, y: { type: "string" }, e: { type: "string" }, n: { type: "string" }, d: { type: "string" }, dp: { type: "string" }, dq: { type: "string" }, ext: { type: "boolean" }, k: { type: "string" }, key_ops: { type: "array", items: { type: "string", enum: [ "sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits" ] } }, kid: { type: "string" }, oth: { type: "array", items: { type: "object", properties: { d: { type: "string" }, r: { type: "string" }, t: { type: "string" } } } }, p: { type: "string" }, q: { type: "string" }, qi: { type: "string" }, use: { type: "string" }, x5c: { type: "array", items: { type: "string" }, description: 'JWK "x5c" (X.509 Certificate Chain) Parameter.' }, x5t: { type: "string", description: 'JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter.' }, "x5t#S256": { type: "string", description: '"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter.' }, x5u: { type: "string", description: 'JWK "x5u" (X.509 URL) Parameter.' }, iv: { type: "string" } }, additionalProperties: {}, required: [ "kty" ] } }, keyAgreement: { type: "array", items: { type: "object", properties: { kty: { type: "string", enum: [ "EC", "RSA", "oct", "OKP" ] }, crv: { type: "string", enum: [ "P-256", "P-384", "P-521", "X25519", "X448", "EdDSA", "Ed25519", "Ed448", "secp256k1" ] }, alg: { type: "string", enum: [ "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "EdDSA", "HS256", "HS384", "HS512", "PS256", "PS384", "PS512", "none" ] }, x: { type: "string" }, y: { type: "string" }, e: { type: "string" }, n: { type: "string" }, d: { type: "string" }, dp: { type: "string" }, dq: { type: "string" }, ext: { type: "boolean" }, k: { type: "string" }, key_ops: { type: "array", items: { type: "string", enum: [ "sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits" ] } }, kid: { type: "string" }, oth: { type: "array", items: { type: "object", properties: { d: { type: "string" }, r: { type: "string" }, t: { type: "string" } } } }, p: { type: "string" }, q: { type: "string" }, qi: { type: "string" }, use: { type: "string" }, x5c: { type: "array", items: { type: "string" }, description: 'JWK "x5c" (X.509 Certificate Chain) Parameter.' }, x5t: { type: "string", description: 'JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter.' }, "x5t#S256": { type: "string", description: '"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter.' }, x5u: { type: "string", description: 'JWK "x5u" (X.509 URL) Parameter.' }, iv: { type: "string" } }, additionalProperties: {}, required: [ "kty" ] } }, capabilityInvocation: { type: "array", items: { type: "object", properties: { kty: { type: "string", enum: [ "EC", "RSA", "oct", "OKP" ] }, crv: { type: "string", enum: [ "P-256", "P-384", "P-521", "X25519", "X448", "EdDSA", "Ed25519", "Ed448", "secp256k1" ] }, alg: { type: "string", enum: [ "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "EdDSA", "HS256", "HS384", "HS512", "PS256", "PS384", "PS512", "none" ] }, x: { type: "string" }, y: { type: "string" }, e: { type: "string" }, n: { type: "string" }, d: { type: "string" }, dp: { type: "string" }, dq: { type: "string" }, ext: { type: "boolean" }, k: { type: "string" }, key_ops: { type: "array", items: { type: "string", enum: [ "sign", "verify", "encrypt", "decrypt", "wrapKey", "unwrapKey", "deriveKey", "deriveBits" ] } }, kid: { type: "string" }, oth: { type: "array", items: { type: "object", properties: { d: { type: "string" }, r: { type: "string" }, t: { type: "string" } } } }, p: { type: "string" }, q: { type: "string" }, qi: { type: "string" }, use: { type: "string" }, x5c: { type: "array", items: { type: "string" }, description: 'JWK "x5c" (X.509 Certificate Chain) Parameter.' }, x5t: { type: "string", description: 'JWK "x5t" (X.509 Certificate SHA-1 Thumbprint) Parameter.' }, "x5t#S256": { type: "string", description: '"x5t#S256" (X.509 Certificate SHA-256 Thumbprint) Parameter.' }, x5u: { type: "string", description: 'JWK "x5u" (X.509 URL) Parameter.' }, iv: { type: "string" } }, additionalProperties: {}, required: [ "kty" ] } }, capabilityDelegation: { type: "array", items: { type: "object", properties: { kty: { type: "string", enum: [ "EC", "RSA", "oct", "OKP" ] }, crv: { type: "string", enum: [ "P-256", "P-384", "P-521", "X25519", "X448", "EdDSA", "Ed25519", "Ed448", "secp256k1" ] }, alg: { type: "string", enum: [ "RS256", "RS384", "RS512", "ES256", "ES256K", "ES384", "ES512", "EdDSA", "HS256", "HS384", "HS512", "PS256", "PS384", "PS512", "none" ] }, x: { type: "string" }, y: { type: "string" }, e: { type: "string" }, n: { type: "string" }, d: { type: "string" }, dp: { type: "string" }, dq: { type: "string" }, ext: { type: "boolean" }, k: { type: "string" }, key_ops: { type: "array", items: { type: "string", enum: [ "sign", "verify", "encrypt",