UNPKG

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

Version:

1,390 lines (1,389 loc) 350 kB
{ "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", "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" ] } } }, "required": [ "verificationMethod", "authentication", "assertionMethod", "keyAgreement", "capabilityInvocation", "capabilityDelegation" ] }, "didResolutionResult": { "type": "object", "properties": { "@context": { "anyOf": [ { "type": "string", "const": "https://w3id.org/did-resolution/v1" }, { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] }, "didResolutionMetadata": { "$ref": "#/components/schemas/DIDResolutionMetadata" }, "didDocumentMetadata": { "$ref": "#/components/schemas/DIDDocumentMetadata" } }, "required": [ "didResolutionMetadata", "didDocumentMetadata"