@sphereon/ssi-sdk-ext.identifier-resolution 0.28.1-feature.esm.cjs.9 → 0.28.1-feature.jose.vcdm.19
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 +9416 -2674
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +8905 -2193
- package/dist/index.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +15 -14
- package/plugin.schema.json +8901 -2189
- package/src/agent/IdentifierResolution.ts +5 -8
- package/src/functions/LegacySupport.ts +2 -2
- package/src/functions/externalIdentifierFunctions.ts +7 -5
- package/src/functions/externalOIDFIdentifier.ts +8 -9
- package/src/functions/managedIdentifierFunctions.ts +16 -13
- package/src/types/IIdentifierResolution.ts +3 -3
- package/src/types/IJwtService.d.ts +3 -3
- package/src/types/common.ts +4 -4
- package/src/types/externalIdentifierTypes.ts +7 -7
- package/src/types/managedIdentifierTypes.ts +4 -4
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/identifier-resolution/dist/index.cjs","../plugin.schema.json","../src/types/common.ts","../src/types/externalIdentifierTypes.ts","../src/types/managedIdentifierTypes.ts","../src/types/IIdentifierResolution.ts","../src/agent/IdentifierResolution.ts","../src/functions/managedIdentifierFunctions.ts","../src/functions/externalIdentifierFunctions.ts","../src/functions/externalOIDFIdentifier.ts","../src/functions/LegacySupport.ts","../src/index.ts"],"names":["isDidIdentifier","identifier","isIIdentifier","startsWith","Array","isArray","isJwkIdentifier","isOidcDiscoveryIdentifier","endsWith","isJwksUrlIdentifier","isKidIdentifier","isOID4VCIssuerIdentifier","isKeyIdentifier","isCoseKeyIdentifier","isOIDFEntityIdIdentifier","isX5cIdentifier","length","isExternalIdentifierDidOpts","opts","method","isExternalIdentifierKidOpts","isExternalIdentifierJwkOpts","isExternalIdentifierCoseKeyOpts","isExternalIdentifierOidcDiscoveryOpts","isExternalIdentifierJwksUrlOpts","isExternalIdentifierOIDFEntityIdOpts","isExternalIdentifierX5cOpts","isManagedIdentifierDidOpts","isManagedIdentifierKidOpts","isManagedIdentifierKeyOpts","isManagedIdentifierCoseKeyOpts","isManagedIdentifierOID4VCIssuerOpts","isManagedIdentifierJwkOpts","isManagedIdentifierX5cOpts","isManagedIdentifierCoseKeyResult","object","isManagedIdentifierDidResult","isManagedIdentifierX5cResult","isManagedIdentifierJwkResult","isManagedIdentifierKidResult","isManagedIdentifierKeyResult","identifierResolutionContextMethods","getManagedKidIdentifier","context","key","undefined","issuer","kid","contextHasKeyManager","Promise","reject","Error","did","split","didIdentifier","getManagedDidIdentifier","meta","verificationMethod","id","agent","keyManagerGet","kmsKeyRef","jwk","toJwk","publicKeyHex","type","jwkThumbprint","calculateJwkThumbprint","clientId","clientIdScheme","isManagedIdentifierResult","ensureManagedIdentifierResult","lazyDisabled","getManagedIdentifier","getManagedKeyIdentifier","_context","getManagedCoseKeyIdentifier","coseKey","coseKeyToJwk","contextHasDidManager","didManagerGet","keys","extendedKey","getFirstKeyWithRelation","vmRelationship","controllerKeyId","hash","getManagedJwkIdentifier","x5c","cryptoImpl","certificate","cryptoEngine","crypto","setEngine","pk","getManagedX5cIdentifier","getManagedOID4VCIssuerIdentifier","resolutionResult","console","resolved","managedIdentifierToKeyResult","managedIdentifierToJwk","didDocumentToJwks","getSubjectDN","contextHasPlugin","parseDid","isDefined","CryptoEngine","resolveExternalDidIdentifier","resolveExternalX5cIdentifier","resolveExternalJwkIdentifier","resolveExternalCoseKeyIdentifier","resolveExternalOIDFEntityIdIdentifier","resolveExternalIdentifier","verify","certificates","verificationResult","issuerJWK","jwks","chain","trustAnchors","verificationTime","name","uniresolverResolution","parsed","error","didParsed","didResolutionResult","localResolution","resolverResolution","resolve","didDocument","didJwks","fromString","toString","trustedAnchors","errorList","jwkInfos","payload","resolveResult","entityIdentifier","trustAnchor","trustChain","jws","jwtVerifyResult","signature","Object","jwtPayload","trustEstablished","legacyKeyRefsToIdentifierOpts","idOpts","IdentifierResolution","_crypto","schema","methods","identifierManagedGet","identifierManagedGetByDid","identifierManagedGetByKid","identifierManagedGetByJwk","identifierManagedGetByX5c","identifierManagedGetByKey","identifierManagedGetByCoseKey","identifierManagedGetByOID4VCIssuer","identifierExternalResolve","identifierExternalResolveByDid","identifierExternalResolveByX5c","identifierExternalResolveByJwk","identifierExternalResolveByCoseKey","identifierExternalResolveByOIDFEntityId","constructor","args"],"mappings":"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","file":"/home/runner/work/SSI-SDK-crypto-extensions/SSI-SDK-crypto-extensions/packages/identifier-resolution/dist/index.cjs","sourcesContent":[null,"{\n \"IIdentifierResolution\": {\n \"components\": {\n \"schemas\": {\n \"ExternalIdentifierOpts\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cOpts\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"verify\": {\n \"type\": \"boolean\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"allowNoTrustAnchorsFound\": {\n \"type\": \"boolean\"\n },\n \"trustRootWhenNoAnchors\": {\n \"type\": \"boolean\"\n },\n \"allowSingleNoCAChainElement\": {\n \"type\": \"boolean\"\n },\n \"blindlyTrustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"disallowReversedChain\": {\n \"type\": \"boolean\"\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"localResolution\": {\n \"type\": \"boolean\"\n },\n \"uniresolverResolution\": {\n \"type\": \"boolean\"\n },\n \"resolverResolution\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"entity_id\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"identifier\"\n ]\n }\n ]\n },\n \"ExternalIdentifierType\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n ],\n \"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\"\n },\n \"JWK\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/JwkKeyType\"\n },\n {\n \"$ref\": \"#/components/schemas/JwkKeyTypeString\"\n }\n ]\n },\n \"crv\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/JoseCurve\"\n },\n {\n \"$ref\": \"#/components/schemas/JoseCurveString\"\n }\n ]\n },\n \"alg\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/JoseSignatureAlgorithm\"\n },\n {\n \"$ref\": \"#/components/schemas/JoseSignatureAlgorithmString\"\n }\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/JoseKeyOperation\"\n },\n {\n \"$ref\": \"#/components/schemas/JoseKeyOperationString\"\n }\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"JwkKeyType\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"JwkKeyTypeString\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"JoseCurve\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"JoseCurveString\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"JoseSignatureAlgorithm\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"JoseSignatureAlgorithmString\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"JoseKeyOperation\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n },\n \"JoseKeyOperationString\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n },\n \"ExternalIdentifierX5cOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"verify\": {\n \"type\": \"boolean\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"allowNoTrustAnchorsFound\": {\n \"type\": \"boolean\"\n },\n \"trustRootWhenNoAnchors\": {\n \"type\": \"boolean\"\n },\n \"allowSingleNoCAChainElement\": {\n \"type\": \"boolean\"\n },\n \"blindlyTrustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"disallowReversedChain\": {\n \"type\": \"boolean\"\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"DIDDocumentSection\": {\n \"type\": \"string\",\n \"enum\": [\n \"verificationMethod\",\n \"publicKey\",\n \"service\",\n \"authentication\",\n \"assertionMethod\",\n \"keyAgreement\",\n \"capabilityInvocation\",\n \"capabilityDelegation\"\n ],\n \"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 }\"\n },\n \"ExternalIdentifierResult\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"didDocument\": {\n \"$ref\": \"#/components/schemas/DIDDocument\"\n },\n \"didJwks\": {\n \"type\": \"object\",\n \"properties\": {\n \"verificationMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"authentication\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"assertionMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"keyAgreement\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"capabilityInvocation\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"capabilityDelegation\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n }\n },\n \"required\": [\n \"verificationMethod\",\n \"authentication\",\n \"assertionMethod\",\n \"keyAgreement\",\n \"capabilityInvocation\",\n \"capabilityDelegation\"\n ]\n },\n \"didResolutionResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"@context\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"const\": \"https://w3id.org/did-resolution/v1\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"didResolutionMetadata\": {\n \"$ref\": \"#/components/schemas/DIDResolutionMetadata\"\n },\n \"didDocumentMetadata\": {\n \"$ref\": \"#/components/schemas/DIDDocumentMetadata\"\n }\n },\n \"required\": [\n \"didResolutionMetadata\",\n \"didDocumentMetadata\"\n ]\n },\n \"didParsed\": {\n \"$ref\": \"#/components/schemas/IParsedDID\"\n }\n },\n \"required\": [\n \"did\",\n \"didParsed\",\n \"didResolutionResult\",\n \"jwks\",\n \"method\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuerJWK\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"verificationResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"error\": {\n \"type\": \"boolean\"\n },\n \"critical\": {\n \"type\": \"boolean\"\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"detailMessage\": {\n \"type\": \"string\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"certificateChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n }\n },\n \"trustAnchor\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"error\",\n \"critical\",\n \"message\",\n \"verificationTime\"\n ]\n },\n \"certificates\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"certificates\",\n \"issuerJWK\",\n \"jwks\",\n \"method\",\n \"x5c\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"jwk\",\n \"jwks\",\n \"method\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"trustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TrustedAnchor\"\n }\n },\n \"errorList\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/components/schemas/ErrorMessage\"\n }\n },\n \"jwtPayload\": {\n \"$ref\": \"#/components/schemas/JwsPayload\"\n },\n \"trustEstablished\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"jwks\",\n \"method\",\n \"trustEstablished\",\n \"trustedAnchors\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"coseKey\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"coseKey\",\n \"jwks\",\n \"method\"\n ]\n }\n ]\n },\n \"ExternalIdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\n \"did\",\n \"jwk\",\n \"x5c\",\n \"kid\",\n \"cose_key\",\n \"oidc-discovery\",\n \"jwks-url\",\n \"oid4vci-issuer\",\n \"entity_id\"\n ]\n },\n \"ExternalJwkInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"publicKeyHex\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"jwk\",\n \"jwkThumbprint\",\n \"publicKeyHex\"\n ]\n },\n \"DIDDocument\": {\n \"type\": \"object\",\n \"properties\": {\n \"authentication\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"assertionMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"keyAgreement\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"capabilityInvocation\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"capabilityDelegation\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"@context\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"const\": \"https://www.w3.org/ns/did/v1\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"id\": {\n \"type\": \"string\"\n },\n \"alsoKnownAs\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"controller\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"verificationMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"service\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Service\"\n }\n },\n \"publicKey\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n },\n \"deprecated\": true\n }\n },\n \"required\": [\n \"id\"\n ],\n \"description\": \"Represents a DID document.\"\n },\n \"VerificationMethod\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"controller\": {\n \"type\": \"string\"\n },\n \"publicKeyBase58\": {\n \"type\": \"string\"\n },\n \"publicKeyBase64\": {\n \"type\": \"string\"\n },\n \"publicKeyJwk\": {\n \"$ref\": \"#/components/schemas/JsonWebKey\"\n },\n \"publicKeyHex\": {\n \"type\": \"string\"\n },\n \"publicKeyMultibase\": {\n \"type\": \"string\"\n },\n \"blockchainAccountId\": {\n \"type\": \"string\"\n },\n \"ethereumAddress\": {\n \"type\": \"string\"\n },\n \"conditionOr\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"conditionAnd\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"threshold\": {\n \"type\": \"number\"\n },\n \"conditionThreshold\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"conditionWeightedThreshold\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ConditionWeightedThreshold\"\n }\n },\n \"conditionDelegated\": {\n \"type\": \"string\"\n },\n \"relationshipParent\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"relationshipChild\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"relationshipSibling\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"controller\"\n ],\n \"description\": \"Represents the properties of a Verification Method listed in a DID document.\\n\\nThis data type includes public key representations that are no longer present in the spec but are still used by several DID methods / resolvers and kept for backward compatibility.\"\n },\n \"JsonWebKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"kty\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"description\": \"Encapsulates a JSON web key type that includes only the public properties that can be used in DID documents.\\n\\nThe private properties are intentionally omitted to discourage the use (and accidental disclosure) of private keys in DID documents.\"\n },\n \"ConditionWeightedThreshold\": {\n \"type\": \"object\",\n \"properties\": {\n \"condition\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n },\n \"weight\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"condition\",\n \"weight\"\n ]\n },\n \"Service\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"serviceEndpoint\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/ServiceEndpoint\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ServiceEndpoint\"\n }\n }\n ]\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"serviceEndpoint\"\n ],\n \"description\": \"Represents a Service entry in a {@link https://www.w3.org/TR/did-core/#did-document-properties | DID document } .\"\n },\n \"ServiceEndpoint\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\"\n }\n ],\n \"description\": \"Represents an endpoint of a Service entry in a DID document.\"\n },\n \"DIDResolutionMetadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"contentType\": {\n \"type\": \"string\"\n },\n \"error\": {\n \"type\": \"string\"\n }\n },\n \"description\": \"Encapsulates the resolution metadata resulting from a {@link Resolvable.resolve } operation.\"\n },\n \"DIDDocumentMetadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"created\": {\n \"type\": \"string\"\n },\n \"updated\": {\n \"type\": \"string\"\n },\n \"deactivated\": {\n \"type\": \"boolean\"\n },\n \"versionId\": {\n \"type\": \"string\"\n },\n \"nextUpdate\": {\n \"type\": \"string\"\n },\n \"nextVersionId\": {\n \"type\": \"string\"\n },\n \"equivalentId\": {\n \"type\": \"string\"\n },\n \"canonicalId\": {\n \"type\": \"string\"\n }\n },\n \"description\": \"Represents metadata about the DID document resulting from a {@link Resolvable.resolve } operation.\"\n },\n \"IParsedDID\": {\n \"type\": \"object\",\n \"properties\": {\n \"did\": {\n \"type\": \"string\"\n },\n \"didUrl\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\"\n },\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"fragment\": {\n \"type\": \"string\"\n },\n \"query\": {\n \"type\": \"string\"\n },\n \"params\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"did\",\n \"didUrl\",\n \"method\",\n \"id\"\n ]\n },\n \"ExternalIdentifierX5cResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuerJWK\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"verificationResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"error\": {\n \"type\": \"boolean\"\n },\n \"critical\": {\n \"type\": \"boolean\"\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"detailMessage\": {\n \"type\": \"string\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"certificateChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n }\n },\n \"trustAnchor\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"error\",\n \"critical\",\n \"message\",\n \"verificationTime\"\n ]\n },\n \"certificates\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"certificates\",\n \"issuerJWK\",\n \"jwks\",\n \"method\",\n \"x5c\"\n ]\n },\n \"TrustedAnchor\": {\n \"type\": \"string\"\n },\n \"ErrorMessage\": {\n \"type\": \"string\"\n },\n \"JwsPayload\": {\n \"type\": \"object\",\n \"additionalProperties\": {},\n \"properties\": {\n \"iss\": {\n \"type\": \"string\"\n },\n \"sub\": {\n \"type\": \"string\"\n },\n \"aud\": {\n \"anyOf\": [\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"exp\": {\n \"type\": \"number\"\n },\n \"nbf\": {\n \"type\": \"number\"\n },\n \"iat\": {\n \"type\": \"number\"\n },\n \"jti\": {\n \"type\": \"string\"\n }\n }\n },\n \"ICoseKeyJson\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/ICoseKeyType\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/ICoseSignatureAlgorithm\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ICoseKeyOperation\"\n }\n },\n \"baseIV\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"$ref\": \"#/components/schemas/ICoseCurve\"\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"additionalProperties\": {},\n \"description\": \"See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\\n\\nConversion functions are available in above library. Conversion functions are also available for TS in our\"\n },\n \"ICoseKeyType\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 0\n ]\n },\n \"ICoseSignatureAlgorithm\": {\n \"type\": \"number\",\n \"enum\": [\n -7,\n -47,\n -35,\n -36,\n -8,\n 4,\n 5,\n 6,\n 7,\n -37,\n -38,\n -39\n ]\n },\n \"ICoseKeyOperation\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10\n ]\n },\n \"ICoseCurve\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n -1\n ]\n },\n \"ExternalIdentifierCoseKeyOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierCoseKeyResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"coseKey\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"coseKey\",\n \"jwks\",\n \"method\"\n ]\n },\n \"ExternalIdentifierDidOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"localResolution\": {\n \"type\": \"boolean\"\n },\n \"uniresolverResolution\": {\n \"type\": \"boolean\"\n },\n \"resolverResolution\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierDidResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"didDocument\": {\n \"$ref\": \"#/components/schemas/DIDDocument\"\n },\n \"didJwks\": {\n \"type\": \"object\",\n \"properties\": {\n \"verificationMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"authentication\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"assertionMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"keyAgreement\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"capabilityInvocation\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"capabilityDelegation\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n }\n },\n \"required\": [\n \"verificationMethod\",\n \"authentication\",\n \"assertionMethod\",\n \"keyAgreement\",\n \"capabilityInvocation\",\n \"capabilityDelegation\"\n ]\n },\n \"didResolutionResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"@context\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"const\": \"https://w3id.org/did-resolution/v1\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"didResolutionMetadata\": {\n \"$ref\": \"#/components/schemas/DIDResolutionMetadata\"\n },\n \"didDocumentMetadata\": {\n \"$ref\": \"#/components/schemas/DIDDocumentMetadata\"\n }\n },\n \"required\": [\n \"didResolutionMetadata\",\n \"didDocumentMetadata\"\n ]\n },\n \"didParsed\": {\n \"$ref\": \"#/components/schemas/IParsedDID\"\n }\n },\n \"required\": [\n \"did\",\n \"didParsed\",\n \"didResolutionResult\",\n \"jwks\",\n \"method\"\n ]\n },\n \"ExternalIdentifierJwkOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cOpts\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierJwkResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"jwk\",\n \"jwks\",\n \"method\"\n ]\n },\n \"ExternalIdentifierOIDFEntityIdOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"entity_id\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierOIDFEntityIdResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"entity_id\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"trustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TrustedAnchor\"\n }\n },\n \"errorList\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/components/schemas/ErrorMessage\"\n }\n },\n \"jwtPayload\": {\n \"$ref\": \"#/components/schemas/JwsPayload\"\n },\n \"trustEstablished\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"jwks\",\n \"method\",\n \"trustEstablished\",\n \"trustedAnchors\"\n ]\n },\n \"ManagedIdentifierOptsOrResult\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"certificate\": {}\n },\n \"required\": [\n \"certificate\",\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\",\n \"x5c\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"verificationMethodSection\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"did\",\n \"identifier\",\n \"issuer\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"keys\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/TKeyType\"\n },\n \"offlineWhenNoDIDRegistered\": {\n \"type\": \"boolean\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"controllerKey\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n }\n ]\n },\n \"ManagedIdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\n \"did\",\n \"jwk\",\n \"x5c\",\n \"kid\",\n \"key\",\n \"cose_key\",\n \"oid4vci-issuer\"\n ]\n },\n \"ManagedIdentifierOpts\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/TKeyType\"\n },\n \"offlineWhenNoDIDRegistered\": {\n \"type\": \"boolean\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"controllerKey\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n }\n ]\n },\n \"IIdentifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"did\": {\n \"type\": \"string\",\n \"description\": \"Decentralized identifier\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Optional. Identifier alias. Can be used to reference an object in an external system\"\n },\n \"provider\": {\n \"type\": \"string\",\n \"description\": \"Identifier provider name\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\",\n \"description\": \"Controller key id\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"description\": \"Array of managed keys\"\n },\n \"services\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IService\"\n },\n \"description\": \"Array of services\"\n }\n },\n \"required\": [\n \"did\",\n \"provider\",\n \"keys\",\n \"services\"\n ],\n \"description\": \"Identifier interface\"\n },\n \"IKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key ID\"\n },\n \"kms\": {\n \"type\": \"string\",\n \"description\": \"Key Management System\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/TKeyType\",\n \"description\": \"Key type\"\n },\n \"publicKeyHex\": {\n \"type\": \"string\",\n \"description\": \"Public key\"\n },\n \"privateKeyHex\": {\n \"type\": \"string\",\n \"description\": \"Optional. Private key\"\n },\n \"meta\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/KeyMetadata\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"description\": \"Optional. Key metadata. This should be used to determine which algorithms are supported.\"\n }\n },\n \"required\": [\n \"kid\",\n \"kms\",\n \"type\",\n \"publicKeyHex\"\n ],\n \"description\": \"Cryptographic key\"\n },\n \"TKeyType\": {\n \"type\": \"string\",\n \"enum\": [\n \"Ed25519\",\n \"Secp256k1\",\n \"Secp256r1\",\n \"X25519\",\n \"Bls12381G1\",\n \"Bls12381G2\",\n \"RSA\"\n ],\n \"description\": \"Cryptographic key type.\"\n },\n \"KeyMetadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"algorithms\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"description\": \"This encapsulates data about a key.\\n\\nImplementations of {@link @veramo/key-manager#AbstractKeyManagementSystem | AbstractKeyManagementSystem } should populate this object, for each key, with the algorithms that can be performed using it.\\n\\nThis can also be used to add various tags to the keys under management.\"\n },\n \"IService\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Service type\"\n },\n \"serviceEndpoint\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IServiceEndpoint\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IServiceEndpoint\"\n }\n }\n ],\n \"description\": \"Endpoint URL\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Optional. Description\"\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"serviceEndpoint\"\n ],\n \"description\": \"Identifier service\"\n },\n \"IServiceEndpoint\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\"\n }\n ],\n \"description\": \"Represents a service endpoint URL or a map of URLs\"\n },\n \"ManagedIdentifierType\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n }\n ],\n \"description\": \"Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\\n\\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types\"\n },\n \"ManagedIdentifierResult\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"certificate\": {}\n },\n \"required\": [\n \"certificate\",\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\",\n \"x5c\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"verificationMethodSection\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"did\",\n \"identifier\",\n \"issuer\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"keys\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n }\n ]\n },\n \"ManagedIdentifierCoseKeyOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierCoseKeyResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ICoseKeyJson\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierDidOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/TKeyType\"\n },\n \"offlineWhenNoDIDRegistered\": {\n \"type\": \"boolean\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"controllerKey\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierDidResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"verificationMethodSection\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"did\",\n \"identifier\",\n \"issuer\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"keys\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierJwkOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierJwkResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/JWK\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierKeyOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierKeyResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierKidOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierKidResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierOID4VCIssuerOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierOID4VCIssuerResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierX5cOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierX5cResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"$ref\": \"#/components/schemas/JWK\"\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"certificate\": {}\n },\n \"required\": [\n \"certificate\",\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\",\n \"x5c\"\n ]\n }\n },\n \"methods\": {\n \"identifierExternalResolve\": {\n \"description\": \"Main method for external identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierResult\"\n }\n },\n \"identifierExternalResolveByCoseKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierCoseKeyOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierCoseKeyResult\"\n }\n },\n \"identifierExternalResolveByDid\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierDidOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierDidResult\"\n }\n },\n \"identifierExternalResolveByJwk\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierJwkOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierJwkResult\"\n }\n },\n \"identifierExternalResolveByOIDFEntityId\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierOIDFEntityIdOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierOIDFEntityIdResult\"\n }\n },\n \"identifierExternalResolveByX5c\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"identifierManagedGet\": {\n \"description\": \"Main method for managed identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOptsOrResult\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierResult\"\n }\n },\n \"identifierManagedGetByCoseKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierCoseKeyOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierCoseKeyResult\"\n }\n },\n \"identifierManagedGetByDid\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierDidOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierDidResult\"\n }\n },\n \"identifierManagedGetByJwk\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierJwkOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierJwkResult\"\n }\n },\n \"identifierManagedGetByKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKeyOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKeyResult\"\n }\n },\n \"identifierManagedGetByKid\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKidOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKidResult\"\n }\n },\n \"identifierManagedGetByOID4VCIssuer\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOID4VCIssuerOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOID4VCIssuerResult\"\n }\n },\n \"identifierManagedGetByX5c\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierX5cOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierX5cResult\"\n }\n }\n }\n }\n }\n}","import { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport { IIdentifier, IKey } from '@veramo/core'\nimport { ExternalIdentifierType } from './externalIdentifierTypes'\nimport { ManagedIdentifierType } from './managedIdentifierTypes'\n\nexport interface JwkInfo {\n jwk: JWK\n jwkThumbprint: string\n}\n\nexport function isDidIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is IIdentifier | string {\n return isIIdentifier(identifier) || (typeof identifier === 'string' && identifier.startsWith('did:'))\n}\n\nexport function isIIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is IIdentifier {\n return typeof identifier === 'object' && !Array.isArray(identifier) && 'did' in identifier && 'keys' in identifier\n}\n\nexport function isJwkIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is JWK {\n return typeof identifier === 'object' && !Array.isArray(identifier) && 'kty' in identifier\n}\n\nexport function isOidcDiscoveryIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('/.well-known/openid-configuration')\n}\n\nexport function isJwksUrlIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('jwks.json')\n}\n\nexport function isKidIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && !identifier.startsWith('did:') && !identifier.startsWith('http')\n}\n\nexport function isOID4VCIssuerIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('/.well-known/openid-credential-issuer')\n}\n\nexport function isKeyIdentifier(identifier: ManagedIdentifierType): identifier is IKey {\n return (\n typeof identifier === 'string' &&\n !Array.isArray(identifier) &&\n typeof identifier === 'object' &&\n `kid` in identifier &&\n 'publicKeyHex' in identifier\n )\n}\n\nexport function isCoseKeyIdentifier(identifier: ManagedIdentifierType): identifier is ICoseKeyJson {\n return typeof identifier === 'object' && `kty` in identifier && ('baseIV' in identifier || 'x5chain' in identifier) && !('x5c' in identifier)\n}\n\nexport function isOIDFEntityIdIdentifier(identifier: ManagedIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('https://')\n}\n\nexport function isX5cIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string[] {\n return Array.isArray(identifier) && identifier.length > 0 // todo: Do we want to do additional validation? We know it must be DER and thus hex for instance\n}\n","import { DidDocumentJwks } from '@sphereon/ssi-sdk-ext.did-utils'\nimport { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport { X509CertificateChainValidationOpts, X509ValidationResult } from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { IParsedDID } from '@sphereon/ssi-types'\nimport { DIDDocument, DIDDocumentSection, DIDResolutionResult } from '@veramo/core'\nimport {\n isCoseKeyIdentifier,\n isDidIdentifier,\n isOIDFEntityIdIdentifier,\n isJwkIdentifier,\n isJwksUrlIdentifier,\n isKidIdentifier,\n isOidcDiscoveryIdentifier,\n isX5cIdentifier,\n JwkInfo,\n} from './common'\nimport { JwsPayload } from './IJwtService'\n\n/**\n * Use whenever we need to resolve an external identifier. We can pass in kids, DIDs, and x5chains\n *\n * The functions below can be used to check the type, and they also provide the proper runtime types\n */\nexport type ExternalIdentifierType = string | string[] | JWK\n\nexport type ExternalIdentifierOptsBase = {\n method?: ExternalIdentifierMethod // If provided always takes precedences otherwise it will be inferred from the identifier\n identifier: ExternalIdentifierType\n}\n\nexport type ExternalIdentifierDidOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'did'\n identifier: string\n noVerificationMethodFallback?: boolean\n vmRelationship?: DIDDocumentSection\n localResolution?: boolean // Resolve identifiers hosted by the agent\n uniresolverResolution?: boolean // Resolve identifiers using universal resolver\n resolverResolution?: boolean // Use registered drivers\n}\n\nexport function isExternalIdentifierDidOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierDidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'did') || isDidIdentifier(identifier)\n}\n\nexport type ExternalIdentifierOpts = (\n | ExternalIdentifierJwkOpts\n | ExternalIdentifierX5cOpts\n | ExternalIdentifierDidOpts\n | ExternalIdentifierKidOpts\n | ExternalIdentifierCoseKeyOpts\n | ExternalIdentifierOIDFEntityIdOpts\n) &\n ExternalIdentifierOptsBase\n\nexport type ExternalIdentifierKidOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'kid'\n identifier: string\n}\n\nexport function isExternalIdentifierKidOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierKidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'kid') || isKidIdentifier(identifier)\n}\n\nexport type ExternalIdentifierJwkOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'jwk'\n identifier: JWK\n x5c?: ExternalIdentifierX5cOpts\n}\n\nexport function isExternalIdentifierJwkOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwkOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'jwk') || isJwkIdentifier(identifier)\n}\n\nexport type ExternalIdentifierCoseKeyOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'cose_key'\n identifier: ICoseKeyJson\n}\n\nexport function isExternalIdentifierCoseKeyOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierCoseKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'cose_key') || isCoseKeyIdentifier(identifier)\n}\n\nexport type ExternalIdentifierOidcDiscoveryOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'oidc-discovery'\n identifier: string\n}\n\nexport function isExternalIdentifierOidcDiscoveryOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwkOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'oidc-discovery') || isOidcDiscoveryIdentifier(identifier)\n}\n\nexport type ExternalIdentifierJwksUrlOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'jwks-url'\n identifier: string\n}\n\nexport function isExternalIdentifierJwksUrlOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwksUrlOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'oidc-discovery') || isJwksUrlIdentifier(identifier)\n}\n\nexport type ExternalIdentifierOIDFEntityIdOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'entity_id'\n identifier: string\n trustAnchors?: Array<string>\n}\n\nexport function isExternalIdentifierOIDFEntityIdOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierOIDFEntityIdOpts {\n const { identifier } = opts\n return (('method' in opts && opts.method === 'entity_id') || 'trustAnchors' in opts) && isOIDFEntityIdIdentifier(identifier)\n}\n\nexport type ExternalIdentifierX5cOpts = Omit<ExternalIdentifierOptsBase, 'method'> &\n X509CertificateChainValidationOpts & {\n method?: 'x5c'\n identifier: string[]\n verify?: boolean // defaults to true\n verificationTime?: Date\n trustAnchors?: string[]\n }\n\nexport function isExternalIdentifierX5cOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierX5cOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'x5c') || isX5cIdentifier(identifier)\n}\n\nexport type ExternalIdentifierMethod = 'did' | 'jwk' | 'x5c' | 'kid' | 'cose_key' | 'oidc-discovery' | 'jwks-url' | 'oid4vci-issuer' | 'entity_id'\n\nexport type ExternalIdentifierResult = IExternalIdentifierResultBase &\n (\n | ExternalIdentifierDidResult\n | ExternalIdentifierX5cResult\n | ExternalIdentifierJwkResult\n | ExternalIdentifierOIDFEntityIdResult\n | ExternalIdentifierCoseKeyResult\n )\n\nexport interface IExternalIdentifierResultBase {\n method: ExternalIdentifierMethod\n jwks: Array<ExternalJwkInfo>\n}\n\nexport interface ExternalIdentifierJwkResult extends IExternalIdentifierResultBase {\n method: 'jwk'\n jwk: JWK\n x5c?: ExternalIdentifierX5cResult\n}\n\nexport interface ExternalIdentifierCoseKeyResult extends IExternalIdentifierResultBase {\n method: 'cose_key'\n coseKey: ICoseKeyJson\n x5c?: ExternalIdentifierX5cResult\n}\n\nexport interface ExternalIdentifierX5cResult extends IExternalIdentifierResultBase {\n method: 'x5c'\n x5c: string[]\n issuerJWK: JWK\n verificationResult?: X509ValidationResult\n certificates: any[] // for now since our schema generator trips on pkijs Certificate(Json) object //fixme\n}\n\nexport type TrustedAnchor = string\nexport type PublicKeyHex = string\nexport type ErrorMessage = string\n\nexport interface ExternalIdentifierOIDFEntityIdResult extends IExternalIdentifierResultBase {\n method: 'entity_id'\n trustedAnchors: Array<TrustedAnchor>\n errorList?: Record<TrustedAnchor, ErrorMessage>\n jwtPayload?: JwsPayload\n trustEstablished: boolean\n}\n\nexport interface ExternalJwkInfo extends JwkInfo {\n kid?: string\n publicKeyHex: string\n}\n\nexport interface ExternalIdentifierDidResult extends IExternalIdentifierResultBase {\n method: 'did'\n did: string\n didDocument?: DIDDocument\n didJwks?: DidDocumentJwks\n didResolutionResult: Omit<DIDResolutionResult, 'didDocument'> // we already provide that directly\n didParsed: IParsedDID\n}\n","import { ClientIdScheme } from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport { DIDDocumentSection, IIdentifier, IKey, TKeyType } from '@veramo/core'\nimport {\n isCoseKeyIdentifier,\n isDidIdentifier,\n isOID4VCIssuerIdentifier,\n isJwkIdentifier,\n isKeyIdentifier,\n isKidIdentifier,\n isX5cIdentifier,\n JwkInfo,\n} from './common'\n\n/**\n * Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n *\n * The functions below can be used to check the type, and they also provide the proper 'runtime' types\n */\nexport type ManagedIdentifierType = IIdentifier /*did*/ | string /*did or kid*/ | string[] /*x5c*/ | JWK | IKey | ICoseKeyJson\n\nexport type ManagedIdentifierOpts = (\n | ManagedIdentifierJwkOpts\n | ManagedIdentifierX5cOpts\n | ManagedIdentifierDidOpts\n | ManagedIdentifierKidOpts\n | ManagedIdentifierKeyOpts\n | ManagedIdentifierCoseKeyOpts\n | ManagedIdentifierOID4VCIssuerOpts\n) &\n ManagedIdentifierOptsBase\n\nexport type ManagedIdentifierOptsBase = {\n method?: ManagedIdentifierMethod // If provided always takes precedences otherwise it will be inferred from the identifier\n identifier: ManagedIdentifierType\n kmsKeyRef?: string // The key reference for the KMS system. If provided this value will be used to determine the appropriate key. Otherwise it will be inferred\n issuer?: string // can be used when a specific issuer needs to end up, for instance when signing JWTs. Will be returned or inferred if not provided\n kid?: string // can be used when a specific kid value needs to be used. For instance when signing JWTs. Will be returned or inferred if not provided\n clientId?: string\n clientIdScheme?: ClientIdScheme | 'did' | string\n}\n\nexport type ManagedIdentifierDidOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'did'\n identifier: IIdentifier | string\n keyType?: TKeyType\n offlineWhenNoDIDRegistered?: boolean\n noVerificationMethodFallback?: boolean\n controllerKey?: boolean\n vmRelationship?: DIDDocumentSection\n}\n\nexport function isManagedIdentifierDidOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierDidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'did') || isDidIdentifier(identifier)\n}\n\nexport type ManagedIdentifierKidOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'kid'\n identifier: string\n}\n\nexport function isManagedIdentifierKidOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierKidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'kid') || isKidIdentifier(identifier)\n}\n\nexport type ManagedIdentifierKeyOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'key'\n identifier: IKey\n}\n\nexport function isManagedIdentifierKeyOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'key') || isKeyIdentifier(identifier)\n}\n\nexport type ManagedIdentifierCoseKeyOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'cose_key'\n identifier: ICoseKeyJson\n}\n\nexport function isManagedIdentifierCoseKeyOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierCoseKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'cose_key') || isCoseKeyIdentifier(identifier)\n}\n\nexport type ManagedIdentifierOID4VCIssuerOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'oid4vci-issuer'\n identifier: string\n}\n\nexport function isManagedIdentifierOID4VCIssuerOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierCoseKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'oid4vci-issuer') || isOID4VCIssuerIdentifier(identifier)\n}\n\nexport type ManagedIdentifierJwkOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'jwk'\n identifier: JWK\n}\n\nexport function isManagedIdentifierJwkOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierJwkOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'jwk') || isJwkIdentifier(identifier)\n}\n\nexport type ManagedIdentifierX5cOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'x5c'\n identifier: string[]\n}\n\nexport function isManagedIdentifierX5cOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierX5cOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'x5c') || isX5cIdentifier(identifier)\n}\n\nexport interface ManagedJwkInfo extends JwkInfo {\n kmsKeyRef: string\n}\n\nexport interface IManagedIdentifierResultBase extends ManagedJwkInfo {\n method: ManagedIdentifierMethod\n opts: ManagedIdentifierOpts\n key: IKey\n kid?: string\n issuer?: string\n clientId?: string\n clientIdScheme?: ClientIdScheme | 'did' | string\n identifier: ManagedIdentifierType\n}\n\nexport function isManagedIdentifierCoseKeyResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierCoseKeyResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'cose_key'\n}\n\nexport function isManagedIdentifierDidResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierDidResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'did'\n}\n\nexport function isManagedIdentifierX5cResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierX5cResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'x5c'\n}\n\nexport function isManagedIdentifierJwkResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierJwkResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'jwk'\n}\n\nexport function isManagedIdentifierKidResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierKidResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'kid'\n}\n\nexport function isManagedIdentifierKeyResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierKeyResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'key'\n}\n\nexport interface ManagedIdentifierDidResult extends IManagedIdentifierResultBase {\n method: 'did'\n identifier: IIdentifier\n did: string\n // key: IKey // The key associated with the requested did method sections. Controller key in case of no DID method section requested\n keys: Array<IKey> // If there is more than one key for the VM relationship.\n verificationMethodSection?: DIDDocumentSection\n controllerKeyId?: string\n issuer: string\n kid: string\n}\n\nexport interface ManagedIdentifierJwkResult extends IManagedIdentifierResultBase {\n identifier: JWK\n method: 'jwk'\n}\n\nexport interface ManagedIdentifierKidResult extends IManagedIdentifierResultBase {\n method: 'kid'\n identifier: string\n kid: string\n}\n\nexport interface ManagedIdentifierKeyResult extends IManagedIdentifierResultBase {\n method: 'key'\n identifier: IKey\n}\n\nexport interface ManagedIdentifierCoseKeyResult extends IManagedIdentifierResultBase {\n method: 'cose_key'\n identifier: ICoseKeyJson\n}\n\nexport interface ManagedIdentifierOID4VCIssuerResult extends IManagedIdentifierResultBase {\n method: 'oid4vci-issuer'\n identifier: string\n}\n\nexport interface ManagedIdentifierX5cResult extends IManagedIdentifierResultBase {\n method: 'x5c'\n identifier: string[]\n x5c: string[]\n certificate: any // Certificate(JSON_, but trips schema generator. Probably want to create our own DTO\n}\n\nexport type ManagedIdentifierMethod = 'did' | 'jwk' | 'x5c' | 'kid' | 'key' | 'cose_key' | 'oid4vci-issuer'\n\nexport type ManagedIdentifierResult = IManagedIdentifierResultBase &\n (\n | ManagedIdentifierX5cResult\n | ManagedIdentifierDidResult\n | ManagedIdentifierJwkResult\n | ManagedIdentifierKidResult\n | ManagedIdentifierKeyResult\n | ManagedIdentifierCoseKeyResult\n | ManagedIdentifierOID4VCIssuerResult\n )\n\nexport type ManagedIdentifierOptsOrResult = (ManagedIdentifierResult | ManagedIdentifierOpts) & {\n lazyDisabled?: boolean\n}\n","import { IAgentContext, IDIDManager, IKeyManager, IPluginMethodMap } from '@veramo/core'\nimport {\n ExternalIdentifierCoseKeyOpts,\n ExternalIdentifierCoseKeyResult,\n ExternalIdentifierDidOpts,\n ExternalIdentifierDidResult,\n ExternalIdentifierJwkOpts,\n ExternalIdentifierJwkResult,\n ExternalIdentifierOIDFEntityIdOpts,\n ExternalIdentifierOIDFEntityIdResult,\n ExternalIdentifierOpts,\n ExternalIdentifierResult,\n ExternalIdentifierX5cOpts,\n ExternalIdentifierX5cResult,\n} from './externalIdentifierTypes'\nimport {\n ManagedIdentifierCoseKeyOpts,\n ManagedIdentifierCoseKeyResult,\n ManagedIdentifierDidOpts,\n ManagedIdentifierDidResult,\n ManagedIdentifierJwkOpts,\n ManagedIdentifierJwkResult,\n ManagedIdentifierKeyOpts,\n ManagedIdentifierKeyResult,\n ManagedIdentifierKidOpts,\n ManagedIdentifierKidResult,\n ManagedIdentifierOID4VCIssuerOpts,\n ManagedIdentifierOID4VCIssuerResult,\n ManagedIdentifierOptsOrResult,\n ManagedIdentifierResult,\n ManagedIdentifierX5cOpts,\n ManagedIdentifierX5cResult,\n} from './managedIdentifierTypes'\n\n// Exposing the methods here for any REST implementation\nexport const identifierResolutionContextMethods: Array<string> = [\n 'identifierManagedGet',\n 'identifierManagedGetByDid',\n 'identifierManagedGetByKid',\n 'identifierManagedGetByJwk',\n 'identifierManagedGetByX5c',\n 'identifierManagedGetByKey',\n 'identifierManagedGetByOID4VCIssuer',\n 'identifierManagedGetByCoseKey',\n 'identifierExternalResolve',\n 'identifierExternalResolveByDid',\n 'identifierExternalResolveByX5c',\n 'identifierExternalResolveByJwk',\n 'identifierExternalResolveByCoseKey',\n 'identifierExternalResolveByOIDFEntityId',\n]\n\n/**\n * @public\n */\nexport interface IIdentifierResolution extends IPluginMethodMap {\n /**\n * Main method for managed identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\n *\n * The end result of all these methods is a common baseline response that allows to use a key from the registered KMS systems. It also provides kid and iss(uer) values that can be used in a JWT/JWS for instance\n * Allows to get a managed identifier result in case identifier options are passed in, but returns the identifier directly in case results are passed in. This means resolution can have happened before, or happens in this method\n *\n * We use the opts or result type almost everywhere, as it allows for just in time resolution whenever this method is called and afterwards we have the result, so resolution doesn't have to hit the DB, or external endpoints.\n * Also use this method in the local agent, not using REST. If case the identifier needs to be resolved, you can always have the above methods using REST\n * @param args\n * @param context\n * @public\n */\n identifierManagedGet(args: ManagedIdentifierOptsOrResult, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierResult>\n\n identifierManagedGetByDid(args: ManagedIdentifierDidOpts, context: IAgentContext<IKeyManager & IDIDManager>): Promise<ManagedIdentifierDidResult>\n\n identifierManagedGetByKid(args: ManagedIdentifierKidOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierKidResult>\n\n identifierManagedGetByJwk(args: ManagedIdentifierJwkOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierJwkResult>\n\n identifierManagedGetByX5c(args: ManagedIdentifierX5cOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierX5cResult>\n\n identifierManagedGetByKey(args: ManagedIdentifierKeyOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierKeyResult>\n\n identifierManagedGetByCoseKey(\n args: ManagedIdentifierCoseKeyOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierCoseKeyResult>\n\n identifierManagedGetByOID4VCIssuer(\n args: ManagedIdentifierOID4VCIssuerOpts,\n context: IAgentContext<any>\n ): Promise<ManagedIdentifierOID4VCIssuerResult>\n\n // TODO: We can create a custom managed identifier method allowing developers to register a callback function to get their implementation hooked up. Needs more investigation as it would also impact the KMS\n\n /**\n * Main method for external identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\n * @param args\n * @param context\n * @public\n */\n identifierExternalResolve(args: ExternalIdentifierOpts, context: IAgentContext<any>): Promise<ExternalIdentifierResult>\n\n identifierExternalResolveByDid(args: ExternalIdentifierDidOpts, context: IAgentContext<any>): Promise<ExternalIdentifierDidResult>\n\n identifierExternalResolveByJwk(args: ExternalIdentifierJwkOpts, context: IAgentContext<any>): Promise<ExternalIdentifierJwkResult>\n\n identifierExternalResolveByCoseKey(args: ExternalIdentifierCoseKeyOpts, context: IAgentContext<any>): Promise<ExternalIdentifierCoseKeyResult>\n\n identifierExternalResolveByX5c(args: ExternalIdentifierX5cOpts, context: IAgentContext<any>): Promise<ExternalIdentifierX5cResult>\n\n identifierExternalResolveByOIDFEntityId(\n args: ExternalIdentifierOIDFEntityIdOpts,\n context: IAgentContext<any>\n ): Promise<ExternalIdentifierOIDFEntityIdResult>\n}\n","import { globalCrypto } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { IAgentContext, IAgentPlugin, IDIDManager, IKeyManager } from '@veramo/core'\nimport { ExternalIdentifierOIDFEntityIdOpts, ExternalIdentifierOIDFEntityIdResult } from '../types'\nimport { schema } from '../index'\nimport { resolveExternalIdentifier, ensureManagedIdentifierResult } from '../functions'\nimport {\n ExternalIdentifierDidOpts,\n ExternalIdentifierDidResult,\n ExternalIdentifierOpts,\n ExternalIdentifierResult,\n ExternalIdentifierX5cOpts,\n ExternalIdentifierX5cResult,\n ExternalIdentifierCoseKeyOpts,\n ExternalIdentifierCoseKeyResult,\n ExternalIdentifierJwkOpts,\n ExternalIdentifierJwkResult,\n IIdentifierResolution,\n ManagedIdentifierCoseKeyOpts,\n ManagedIdentifierCoseKeyResult,\n ManagedIdentifierDidOpts,\n ManagedIdentifierDidResult,\n ManagedIdentifierJwkOpts,\n ManagedIdentifierJwkResult,\n ManagedIdentifierKidOpts,\n ManagedIdentifierKidResult,\n ManagedIdentifierResult,\n ManagedIdentifierX5cOpts,\n ManagedIdentifierX5cResult,\n ManagedIdentifierOID4VCIssuerResult,\n ManagedIdentifierKeyOpts,\n ManagedIdentifierKeyResult,\n ManagedIdentifierOptsOrResult,\n ManagedIdentifierOID4VCIssuerOpts,\n} from '../types'\nimport { IOIDFClient } from '@sphereon/ssi-sdk.oidf-client'\n\nimport { webcrypto } from 'node:crypto'\n\n/**\n * @public\n */\nexport class IdentifierResolution implements IAgentPlugin {\n\n readonly _crypto: webcrypto.Crypto\n\n readonly schema = schema.IMnemonicInfoGenerator\n readonly methods: IIdentifierResolution = {\n identifierManagedGet: this.identifierManagedGet.bind(this),\n identifierManagedGetByDid: this.identifierManagedGetByDid.bind(this),\n identifierManagedGetByKid: this.identifierManagedGetByKid.bind(this),\n identifierManagedGetByJwk: this.identifierManagedGetByJwk.bind(this),\n identifierManagedGetByX5c: this.identifierManagedGetByX5c.bind(this),\n identifierManagedGetByKey: this.identifierManagedGetByKey.bind(this),\n identifierManagedGetByCoseKey: this.identifierManagedGetByCoseKey.bind(this),\n identifierManagedGetByOID4VCIssuer: this.identifierManagedGetByOID4VCIssuer.bind(this),\n\n identifierExternalResolve: this.identifierExternalResolve.bind(this),\n identifierExternalResolveByDid: this.identifierExternalResolveByDid.bind(this),\n identifierExternalResolveByX5c: this.identifierExternalResolveByX5c.bind(this),\n identifierExternalResolveByJwk: this.identifierExternalResolveByJwk.bind(this),\n identifierExternalResolveByCoseKey: this.identifierExternalResolveByCoseKey.bind(this),\n identifierExternalResolveByOIDFEntityId: this.identifierExternalResolveByOIDFEntityId.bind(this),\n\n // todo: JWKSet, oidc-discovery, oid4vci-issuer etc. Anything we already can resolve and need keys of\n }\n\n /**\n * TODO: Add a cache, as we are retrieving the same keys/info quite often\n */\n constructor(opts?: {\n crypto?: webcrypto.Crypto\n }) {\n this._crypto = globalCrypto(false, opts?.crypto)\n }\n\n /**\n * Main method for managed identifiers. We always go through this method (also the other methods below) as we want to\n * integrate a plugin for anomaly detection. Having a single method helps\n * @param args\n * @param context\n */\n private async identifierManagedGet(\n args: ManagedIdentifierOptsOrResult,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierResult> {\n return await ensureManagedIdentifierResult({ ...args, crypto: this._crypto }, context)\n }\n\n private async identifierManagedGetByDid(\n args: ManagedIdentifierDidOpts,\n context: IAgentContext<IKeyManager & IDIDManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierDidResult> {\n return (await this.identifierManagedGet({ ...args, method: 'did' }, context)) as ManagedIdentifierDidResult\n }\n\n private async identifierManagedGetByKid(\n args: ManagedIdentifierKidOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierKidResult> {\n return (await this.identifierManagedGet({ ...args, method: 'kid' }, context)) as ManagedIdentifierKidResult\n }\n\n private async identifierManagedGetByKey(\n args: ManagedIdentifierKeyOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierKeyResult> {\n return (await this.identifierManagedGet({ ...args, method: 'key' }, context)) as ManagedIdentifierKeyResult\n }\n\n private async identifierManagedGetByCoseKey(\n args: ManagedIdentifierCoseKeyOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierCoseKeyResult> {\n return (await this.identifierManagedGet({ ...args, method: 'cose_key' }, context)) as ManagedIdentifierCoseKeyResult\n }\n\n private async identifierManagedGetByOID4VCIssuer(\n args: ManagedIdentifierOID4VCIssuerOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierOID4VCIssuerResult> {\n return (await this.identifierManagedGet({ ...args, method: 'oid4vci-issuer' }, context)) as ManagedIdentifierOID4VCIssuerResult\n }\n\n private async identifierManagedGetByJwk(\n args: ManagedIdentifierJwkOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierJwkResult> {\n return (await this.identifierManagedGet({ ...args, method: 'jwk' }, context)) as ManagedIdentifierJwkResult\n }\n\n private async identifierManagedGetByX5c(\n args: ManagedIdentifierX5cOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierX5cResult> {\n return (await this.identifierManagedGet({ ...args, method: 'x5c' }, context)) as ManagedIdentifierX5cResult\n }\n\n private async identifierExternalResolve(\n args: ExternalIdentifierOpts,\n context: IAgentContext<IKeyManager | IOIDFClient>\n ): Promise<ExternalIdentifierResult> {\n return await resolveExternalIdentifier({ ...args, crypto: this._crypto }, context)\n }\n\n private async identifierExternalResolveByDid(args: ExternalIdentifierDidOpts, context: IAgentContext<any>): Promise<ExternalIdentifierDidResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'did' }, context)) as ExternalIdentifierDidResult\n }\n\n private async identifierExternalResolveByX5c(args: ExternalIdentifierX5cOpts, context: IAgentContext<any>): Promise<ExternalIdentifierX5cResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'x5c' }, context)) as ExternalIdentifierX5cResult\n }\n\n private async identifierExternalResolveByCoseKey(\n args: ExternalIdentifierCoseKeyOpts,\n context: IAgentContext<any>\n ): Promise<ExternalIdentifierCoseKeyResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'cose_key' }, context)) as ExternalIdentifierCoseKeyResult\n }\n\n private async identifierExternalResolveByJwk(args: ExternalIdentifierJwkOpts, context: IAgentContext<any>): Promise<ExternalIdentifierJwkResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'jwk' }, context)) as ExternalIdentifierJwkResult\n }\n\n private async identifierExternalResolveByOIDFEntityId(\n args: ExternalIdentifierOIDFEntityIdOpts,\n context: IAgentContext<any>\n ): Promise<ExternalIdentifierOIDFEntityIdResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'entity_id' }, context)) as ExternalIdentifierOIDFEntityIdResult\n }\n}\n","import { getFirstKeyWithRelation } from '@sphereon/ssi-sdk-ext.did-utils'\nimport { calculateJwkThumbprint, coseKeyToJwk, globalCrypto, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { pemOrDerToX509Certificate } from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { contextHasDidManager, contextHasKeyManager } from '@sphereon/ssi-sdk.agent-config'\nimport { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport { IAgentContext, IIdentifier, IKey, IKeyManager } from '@veramo/core'\nimport { CryptoEngine, setEngine } from 'pkijs'\nimport { webcrypto } from 'node:crypto'\nimport {\n IIdentifierResolution,\n isManagedIdentifierCoseKeyOpts,\n isManagedIdentifierDidOpts,\n isManagedIdentifierDidResult,\n isManagedIdentifierOID4VCIssuerOpts,\n isManagedIdentifierJwkOpts,\n isManagedIdentifierJwkResult,\n isManagedIdentifierKeyOpts,\n isManagedIdentifierKeyResult,\n isManagedIdentifierKidOpts,\n isManagedIdentifierX5cOpts,\n ManagedIdentifierCoseKeyOpts,\n ManagedIdentifierCoseKeyResult,\n ManagedIdentifierDidOpts,\n ManagedIdentifierDidResult,\n ManagedIdentifierOID4VCIssuerOpts,\n ManagedIdentifierOID4VCIssuerResult,\n ManagedIdentifierJwkOpts,\n ManagedIdentifierJwkResult,\n ManagedIdentifierKeyOpts,\n ManagedIdentifierKeyResult,\n ManagedIdentifierKidOpts,\n ManagedIdentifierKidResult,\n ManagedIdentifierOptsOrResult,\n ManagedIdentifierResult,\n ManagedIdentifierX5cOpts,\n ManagedIdentifierX5cResult,\n} from '../types'\n\nexport async function getManagedKidIdentifier(\n opts: ManagedIdentifierKidOpts,\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierKidResult> {\n const method = 'kid'\n let key: IKey | undefined = undefined\n let issuer: string | undefined = undefined\n let kid: string | undefined = undefined\n if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get Key/JWK identifier if KeyManager plugin is not enabled!`))\n } else if (opts.identifier.startsWith('did:')) {\n const did = opts.identifier.split('#')[0]\n const didIdentifier = await getManagedDidIdentifier({ ...opts, method: 'did', identifier: did }, context)\n key = didIdentifier.key\n issuer = didIdentifier.issuer\n kid = opts?.kid ?? (key.meta?.verificationMethod?.id as string) ?? didIdentifier.kid\n }\n if (!key) {\n key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? opts.identifier })\n }\n const jwk = toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = (key.meta?.jwkThumbprint as string) ?? calculateJwkThumbprint({ jwk })\n if (!kid) {\n kid = opts.kid ?? (key.meta?.verificationMethod?.id as string) ?? key.kid ?? jwkThumbprint\n }\n if (!issuer) {\n issuer = opts.issuer ?? kid // The different identifiers should set the value. Defaults to the kid\n }\n return {\n method,\n key,\n identifier: opts.identifier,\n jwk,\n jwkThumbprint,\n kid,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n issuer,\n kmsKeyRef: key.kid,\n opts,\n } satisfies ManagedIdentifierKidResult\n}\n\nexport function isManagedIdentifierResult(\n identifier: ManagedIdentifierOptsOrResult & {\n crypto?: webcrypto.Crypto\n }\n): identifier is ManagedIdentifierResult {\n return 'key' in identifier && 'kmsKeyRef' in identifier && 'method' in identifier && 'opts' in identifier && 'jwkThumbprint' in identifier\n}\n\n/**\n * Allows to get a managed identifier result in case identifier options are passed in, but returns the identifier directly in case results are passed in. This means resolution can have happened before, or happens in this method\n * @param identifier\n * @param context\n */\nexport async function ensureManagedIdentifierResult(\n identifier: ManagedIdentifierOptsOrResult & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierResult> {\n const { lazyDisabled = false } = identifier\n return !lazyDisabled && isManagedIdentifierResult(identifier) ? identifier : await getManagedIdentifier(identifier, context)\n}\n\n/**\n * This function is just a convenience function to get a common result. The user already apparently had a key, so could have called the kid version as well\n * @param opts\n * @param _context\n */\nexport async function getManagedKeyIdentifier(opts: ManagedIdentifierKeyOpts, _context?: IAgentContext<any>): Promise<ManagedIdentifierKeyResult> {\n const method = 'key'\n const key: IKey = opts.identifier\n if (opts.kmsKeyRef && opts.kmsKeyRef !== key.kid) {\n return Promise.reject(Error(`Cannot get a managed key object by providing a key and a kmsKeyRef that are different.}`))\n }\n const jwk = toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = (key.meta?.jwkThumbprint as string) ?? calculateJwkThumbprint({ jwk })\n const kid = opts.kid ?? (key.meta?.verificationMethod?.id as string) ?? jwkThumbprint\n const issuer = opts.issuer ?? kid // The different identifiers should set the value. Defaults to the kid\n return {\n method,\n key,\n identifier: key,\n jwk,\n jwkThumbprint,\n kid,\n issuer,\n kmsKeyRef: key.kid,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierKeyResult\n}\n\n/**\n * This function is just a convenience function to get a common result. The user already apparently had a key, so could have called the kid version as well\n * @param opts\n * @param context\n */\nexport async function getManagedCoseKeyIdentifier(\n opts: ManagedIdentifierCoseKeyOpts,\n context: IAgentContext<any>\n): Promise<ManagedIdentifierCoseKeyResult> {\n const method = 'cose_key'\n const coseKey: ICoseKeyJson = opts.identifier\n if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get Cose Key identifier if KeyManager plugin is not enabled!`))\n }\n const jwk = coseKeyToJwk(coseKey)\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n const key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? jwkThumbprint })\n const kid = opts.kid ?? coseKey.kid ?? jwkThumbprint\n const issuer = opts.issuer\n return {\n method,\n key,\n identifier: opts.identifier,\n jwk,\n jwkThumbprint,\n kid,\n issuer,\n kmsKeyRef: key.kid,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierCoseKeyResult\n}\n\nexport async function getManagedDidIdentifier(opts: ManagedIdentifierDidOpts, context: IAgentContext<any>): Promise<ManagedIdentifierDidResult> {\n const method = 'did'\n if (!contextHasDidManager(context)) {\n return Promise.reject(Error(`Cannot get DID identifier if DID Manager plugin is not enabled!`))\n }\n\n let identifier: IIdentifier\n if (typeof opts.identifier === 'string') {\n identifier = await context.agent.didManagerGet({ did: opts.identifier.split('#')[0] })\n } else {\n identifier = opts.identifier\n }\n\n const did = identifier.did\n const keys = identifier?.keys // fixme: We really want to return the vmRelationship keys here actually\n const extendedKey = await getFirstKeyWithRelation(\n {\n ...opts,\n identifier,\n vmRelationship: opts.vmRelationship ?? 'verificationMethod',\n },\n context\n )\n const key = extendedKey\n const controllerKeyId = identifier.controllerKeyId\n const jwk = toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = key.meta?.jwkThumbprint ?? calculateJwkThumbprint({ jwk })\n let kid = opts.kid ?? extendedKey.meta?.verificationMethod?.id\n if (!kid.startsWith(did)) {\n // Make sure we create a fully qualified kid\n const hash = kid.startsWith('#') ? '' : '#'\n kid = `${did}${hash}${kid}`\n }\n const issuer = opts.issuer ?? did\n return {\n method,\n key,\n did,\n kmsKeyRef: key.kid,\n jwk,\n jwkThumbprint,\n controllerKeyId,\n kid,\n keys,\n issuer,\n identifier,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n }\n}\n\nexport async function getManagedJwkIdentifier(\n opts: ManagedIdentifierJwkOpts,\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierJwkResult> {\n const method = 'jwk'\n const { kid, issuer } = opts\n if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get Key/JWK identifier if KeyManager plugin is not enabled!`))\n }\n const key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? calculateJwkThumbprint({ jwk: opts.identifier }) })\n const jwk = opts.identifier ?? toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = (key.meta?.jwkThumbprint as string) ?? calculateJwkThumbprint({ jwk })\n // we explicitly do not set the kid and issuer, meaning it can remain null. Normally you do not provide a kid and issuer with Jwks.\n return {\n method,\n key,\n kmsKeyRef: key.kid,\n identifier: jwk,\n jwk,\n jwkThumbprint,\n kid,\n issuer,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierJwkResult\n}\n\nexport async function getManagedX5cIdentifier(\n opts: ManagedIdentifierX5cOpts & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierX5cResult> {\n const { kid, issuer } = opts\n const method = 'x5c'\n const x5c = opts.identifier\n if (x5c.length === 0) {\n return Promise.reject(`Cannot resolve x5c when an empty x5c is passed in`)\n } else if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get X5c identifier if KeyManager plugin is not enabled!`))\n }\n const cryptoImpl = globalCrypto(false, opts.crypto)\n const certificate = pemOrDerToX509Certificate(x5c[0])\n const cryptoEngine = new CryptoEngine({ name: 'identifier_resolver_managed', crypto: cryptoImpl })\n setEngine(cryptoEngine.name, cryptoEngine)\n const pk = await certificate.getPublicKey(undefined, cryptoEngine)\n const jwk = (await cryptoEngine.subtle.exportKey('jwk', pk)) as JWK\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n const key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? jwkThumbprint })\n // we explicitly do not set the kid and issuer, meaning it can remain null. Normally you do not provide a kid and issuer with x5c.\n\n return {\n method,\n x5c,\n identifier: x5c,\n certificate,\n jwk,\n jwkThumbprint,\n key,\n kmsKeyRef: key.kid,\n kid,\n issuer,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierX5cResult\n}\n\nexport async function getManagedOID4VCIssuerIdentifier(\n opts: ManagedIdentifierOID4VCIssuerOpts,\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierOID4VCIssuerResult> {\n const { identifier } = opts\n const method = 'oid4vci-issuer'\n // FIXME: We need to eventually determine the JWK based on the issuer. Using a dummy JWK for now\n const jwk = {\n kty: 'RSA',\n kid: 'dummy-jwk-for-vci-issuer-signing',\n use: 'sig',\n n: 'pjdss8ZaDfEH6K6U7GeW2nxDqR4IP049fk1fK0lndimbMMVBdPv_hSpm8T8EtBDxrUdi1OHZfMhUixGaut-3nQ4GG9nM249oxhCtxqqNvEXrmQRGqczyLxuh-fKn9Fg--hS9UpazHpfVAFnB5aCfXoNhPuI8oByyFKMKaOVgHNqP5NBEqabiLftZD3W_lsFCPGuzr4Vp0YS7zS2hDYScC2oOMu4rGU1LcMZf39p3153Cq7bS2Xh6Y-vw5pwzFYZdjQxDn8x8BG3fJ6j8TGLXQsbKH1218_HcUJRvMwdpbUQG5nvA2GXVqLqdwp054Lzk9_B_f1lVrmOKuHjTNHq48w',\n e: 'AQAB',\n d: 'ksDmucdMJXkFGZxiomNHnroOZxe8AmDLDGO1vhs-POa5PZM7mtUPonxwjVmthmpbZzla-kg55OFfO7YcXhg-Hm2OWTKwm73_rLh3JavaHjvBqsVKuorX3V3RYkSro6HyYIzFJ1Ek7sLxbjDRcDOj4ievSX0oN9l-JZhaDYlPlci5uJsoqro_YrE0PRRWVhtGynd-_aWgQv1YzkfZuMD-hJtDi1Im2humOWxA4eZrFs9eG-whXcOvaSwO4sSGbS99ecQZHM2TcdXeAs1PvjVgQ_dKnZlGN3lTWoWfQP55Z7Tgt8Nf1q4ZAKd-NlMe-7iqCFfsnFwXjSiaOa2CRGZn-Q',\n p: '4A5nU4ahEww7B65yuzmGeCUUi8ikWzv1C81pSyUKvKzu8CX41hp9J6oRaLGesKImYiuVQK47FhZ--wwfpRwHvSxtNU9qXb8ewo-BvadyO1eVrIk4tNV543QlSe7pQAoJGkxCia5rfznAE3InKF4JvIlchyqs0RQ8wx7lULqwnn0',\n q: 'ven83GM6SfrmO-TBHbjTk6JhP_3CMsIvmSdo4KrbQNvp4vHO3w1_0zJ3URkmkYGhz2tgPlfd7v1l2I6QkIh4Bumdj6FyFZEBpxjE4MpfdNVcNINvVj87cLyTRmIcaGxmfylY7QErP8GFA-k4UoH_eQmGKGK44TRzYj5hZYGWIC8',\n dp: 'lmmU_AG5SGxBhJqb8wxfNXDPJjf__i92BgJT2Vp4pskBbr5PGoyV0HbfUQVMnw977RONEurkR6O6gxZUeCclGt4kQlGZ-m0_XSWx13v9t9DIbheAtgVJ2mQyVDvK4m7aRYlEceFh0PsX8vYDS5o1txgPwb3oXkPTtrmbAGMUBpE',\n dq: 'mxRTU3QDyR2EnCv0Nl0TCF90oliJGAHR9HJmBe__EjuCBbwHfcT8OG3hWOv8vpzokQPRl5cQt3NckzX3fs6xlJN4Ai2Hh2zduKFVQ2p-AF2p6Yfahscjtq-GY9cB85NxLy2IXCC0PF--Sq9LOrTE9QV988SJy_yUrAjcZ5MmECk',\n qi: 'ldHXIrEmMZVaNwGzDF9WG8sHj2mOZmQpw9yrjLK9hAsmsNr5LTyqWAqJIYZSwPTYWhY4nu2O0EY9G9uYiqewXfCKw_UngrJt8Xwfq1Zruz0YY869zPN4GiE9-9rzdZB33RBw8kIOquY3MK74FMwCihYx_LiU2YTHkaoJ3ncvtvg',\n } as JWK\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n\n const key = {\n kid: 'dummy-key-for-vci-issuer-signing',\n kms: 'local',\n type: 'RSA',\n publicKeyHex: '9a3f75b2e4d8b91128fc6e9a8f6782e5a4f1cba3718e58b5d0a789d6e5f52b3a',\n } as IKey\n\n return {\n method,\n identifier,\n jwk,\n jwkThumbprint,\n key, // FIXME: We need construct a key as soon as we have the external VCI Issuer resolution\n kmsKeyRef: identifier, // FIXME: We need use kmsKeyRef as soon as we have the external VCI Issuer resolution\n issuer: identifier.replace('/.well-known/openid-credential-issuer', ''),\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierOID4VCIssuerResult\n}\n\nexport async function getManagedIdentifier(\n opts: ManagedIdentifierOptsOrResult & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierResult> {\n let resolutionResult: ManagedIdentifierResult\n if (isManagedIdentifierResult(opts)) {\n opts\n }\n if (isManagedIdentifierKidOpts(opts)) {\n resolutionResult = await getManagedKidIdentifier(opts, context)\n } else if (isManagedIdentifierDidOpts(opts)) {\n resolutionResult = await getManagedDidIdentifier(opts, context)\n } else if (isManagedIdentifierJwkOpts(opts)) {\n resolutionResult = await getManagedJwkIdentifier(opts, context)\n } else if (isManagedIdentifierX5cOpts(opts)) {\n resolutionResult = await getManagedX5cIdentifier(opts, context)\n } else if (isManagedIdentifierKeyOpts(opts)) {\n resolutionResult = await getManagedKeyIdentifier(opts, context)\n } else if (isManagedIdentifierCoseKeyOpts(opts)) {\n resolutionResult = await getManagedCoseKeyIdentifier(opts, context)\n } else if (isManagedIdentifierOID4VCIssuerOpts(opts)) {\n resolutionResult = await getManagedOID4VCIssuerIdentifier(opts, context)\n } else {\n return Promise.reject(Error(`Could not determine identifier method. Please provide explicitly`))\n }\n const { key } = resolutionResult\n if (\n (!key && !isManagedIdentifierOID4VCIssuerOpts(opts)) ||\n (isManagedIdentifierDidOpts(opts) && isManagedIdentifierDidResult(resolutionResult) && !resolutionResult.identifier)\n ) {\n console.log(`Cannot find identifier`, opts.identifier)\n return Promise.reject(`Cannot find identifier ${opts.identifier}`)\n }\n return resolutionResult\n}\n\nexport async function managedIdentifierToKeyResult(\n identifier: ManagedIdentifierOptsOrResult,\n context: IAgentContext<IIdentifierResolution & IKeyManager>\n): Promise<ManagedIdentifierKeyResult> {\n const resolved = await ensureManagedIdentifierResult(identifier, context)\n if (isManagedIdentifierKeyResult(resolved)) {\n return resolved\n }\n\n return {\n ...resolved,\n method: 'key',\n identifier: resolved.key,\n } satisfies ManagedIdentifierKeyResult\n}\n\nexport async function managedIdentifierToJwk(\n identifier: ManagedIdentifierOptsOrResult,\n context: IAgentContext<IIdentifierResolution & IKeyManager>\n): Promise<ManagedIdentifierJwkResult> {\n const resolved = await ensureManagedIdentifierResult(identifier, context)\n if (isManagedIdentifierJwkResult(resolved)) {\n return resolved\n }\n return {\n ...resolved,\n method: 'jwk',\n identifier: resolved.jwk,\n } satisfies ManagedIdentifierJwkResult\n}\n","import { didDocumentToJwks, getAgentResolver, jwkTtoPublicKeyHex } from '@sphereon/ssi-sdk-ext.did-utils'\nimport { calculateJwkThumbprint, coseKeyToJwk, globalCrypto } from '@sphereon/ssi-sdk-ext.key-utils'\nimport {\n getSubjectDN,\n pemOrDerToX509Certificate,\n PEMToDer,\n validateX509CertificateChain,\n X509ValidationResult,\n} from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { contextHasPlugin } from '@sphereon/ssi-sdk.agent-config'\nimport { IParsedDID, JWK, parseDid } from '@sphereon/ssi-types'\nimport { IAgentContext, IDIDManager, IResolver } from '@veramo/core'\nimport { isDefined } from '@veramo/utils'\nimport { CryptoEngine, setEngine } from 'pkijs'\nimport {\n ExternalIdentifierCoseKeyOpts,\n ExternalIdentifierCoseKeyResult,\n ExternalIdentifierDidOpts,\n ExternalIdentifierDidResult,\n ExternalIdentifierJwkOpts,\n ExternalIdentifierJwkResult,\n ExternalIdentifierMethod,\n ExternalIdentifierOpts,\n ExternalIdentifierResult,\n ExternalIdentifierX5cOpts,\n ExternalIdentifierX5cResult,\n ExternalJwkInfo,\n isExternalIdentifierCoseKeyOpts,\n isExternalIdentifierDidOpts,\n isExternalIdentifierJwkOpts,\n isExternalIdentifierJwksUrlOpts,\n isExternalIdentifierKidOpts,\n isExternalIdentifierOidcDiscoveryOpts,\n isExternalIdentifierOIDFEntityIdOpts,\n isExternalIdentifierX5cOpts,\n} from '../types'\nimport { resolveExternalOIDFEntityIdIdentifier } from '.'\n\nimport { webcrypto } from 'node:crypto'\nexport async function resolveExternalIdentifier(\n opts: ExternalIdentifierOpts & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<any>\n): Promise<ExternalIdentifierResult> {\n let method: ExternalIdentifierMethod | undefined\n if (isExternalIdentifierDidOpts(opts)) {\n return resolveExternalDidIdentifier(opts, context)\n } else if (isExternalIdentifierX5cOpts(opts)) {\n return resolveExternalX5cIdentifier(opts, context)\n } else if (isExternalIdentifierJwkOpts(opts)) {\n return resolveExternalJwkIdentifier(opts, context)\n } else if (isExternalIdentifierCoseKeyOpts(opts)) {\n return resolveExternalCoseKeyIdentifier(opts, context)\n } else if (isExternalIdentifierOIDFEntityIdOpts(opts)) {\n return resolveExternalOIDFEntityIdIdentifier(opts, context)\n } else if (isExternalIdentifierKidOpts(opts)) {\n method = 'kid'\n } else if (isExternalIdentifierJwksUrlOpts(opts)) {\n method = 'jwks-url'\n } else if (isExternalIdentifierOidcDiscoveryOpts(opts)) {\n method = 'oidc-discovery'\n }\n throw Error(`External resolution method ${method} is not yet implemented`)\n}\n\nexport async function resolveExternalX5cIdentifier(\n opts: ExternalIdentifierX5cOpts & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IResolver & IDIDManager>\n): Promise<ExternalIdentifierX5cResult> {\n if (!isExternalIdentifierX5cOpts(opts)) {\n return Promise.reject('External x5c Identifier args need to be provided')\n }\n const verify = opts.verify ?? true\n const x5c = opts.identifier.map((derOrPem) => (derOrPem.includes('CERTIFICATE') ? PEMToDer(derOrPem) : derOrPem))\n if (x5c.length === 0) {\n return Promise.reject('Empty certification chain is not allowed')\n }\n const certificates = x5c.map(pemOrDerToX509Certificate)\n\n let verificationResult: X509ValidationResult | undefined\n let issuerJWK: JWK | undefined\n let jwks: ExternalJwkInfo[] = []\n\n if (verify) {\n // We use the agent plugin if it is available as that is more powerful, but revert to the function otherwise\n if (contextHasPlugin(context, 'verifyCertificateChain')) {\n verificationResult = (await context.agent.verifyCertificateChain({\n chain: opts.identifier,\n trustAnchors: opts.trustAnchors ?? [],\n verificationTime: opts.verificationTime,\n })) as X509ValidationResult // We need to cast, as we know this is the value and we do not want to rely on the x509 plugin perse\n } else {\n verificationResult = await validateX509CertificateChain({\n chain: opts.identifier,\n trustAnchors: opts.trustAnchors ?? [],\n verificationTime: opts.verificationTime,\n opts,\n })\n }\n if (verificationResult.certificateChain) {\n jwks = verificationResult.certificateChain.map((cert) => {\n return {\n jwk: cert.publicKeyJWK,\n kid: cert.subject.dn.DN,\n jwkThumbprint: calculateJwkThumbprint({ jwk: cert.publicKeyJWK }),\n publicKeyHex: jwkTtoPublicKeyHex(cert.publicKeyJWK),\n } satisfies ExternalJwkInfo\n })\n }\n }\n if (!jwks || jwks.length === 0) {\n const cryptoEngine = new CryptoEngine({\n name: 'identifier_resolver_external',\n crypto: globalCrypto(false, opts.crypto),\n })\n setEngine(cryptoEngine.name, cryptoEngine)\n jwks = await Promise.all(\n certificates.map(async (cert) => {\n const pk = await cert.getPublicKey(undefined, cryptoEngine)\n const jwk = (await cryptoEngine.exportKey('jwk', pk)) as JWK\n return {\n jwk,\n kid: getSubjectDN(cert).DN,\n jwkThumbprint: calculateJwkThumbprint({ jwk }),\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n } satisfies ExternalJwkInfo\n })\n )\n }\n if (jwks.length === 0) {\n return Promise.reject('Empty certification chain is now allowed')\n }\n if (!issuerJWK) {\n issuerJWK = jwks[0].jwk\n }\n\n return {\n method: 'x5c',\n verificationResult,\n issuerJWK,\n jwks,\n certificates,\n x5c,\n }\n}\n\n/**\n * Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated\n * @param opts\n * @param context\n */\nexport async function resolveExternalJwkIdentifier(\n opts: ExternalIdentifierJwkOpts & {\n x5c?: ExternalIdentifierX5cOpts\n },\n context: IAgentContext<any>\n): Promise<ExternalIdentifierJwkResult> {\n if (!isExternalIdentifierJwkOpts(opts)) {\n return Promise.reject('External JWK Identifier args need to be provided')\n }\n const jwk = opts.identifier\n let x5c: ExternalIdentifierX5cResult | undefined = undefined\n if (jwk.x5c) {\n x5c = await resolveExternalX5cIdentifier({ ...opts.x5c, identifier: jwk.x5c }, context)\n }\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n return {\n method: 'jwk',\n jwk,\n jwks: [\n {\n jwk,\n jwkThumbprint,\n kid: jwk.kid,\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n },\n ],\n x5c,\n } satisfies ExternalIdentifierJwkResult\n}\n\n/**\n * Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated\n * @param opts\n * @param context\n */\nexport async function resolveExternalCoseKeyIdentifier(\n opts: ExternalIdentifierCoseKeyOpts & {\n x5c?: ExternalIdentifierX5cOpts\n },\n context: IAgentContext<any>\n): Promise<ExternalIdentifierCoseKeyResult> {\n if (!isExternalIdentifierCoseKeyOpts(opts)) {\n return Promise.reject('External Cose Key args need to be provided')\n }\n // TODO: We need to do cbor conversion here as well.\n const coseKey = opts.identifier\n let x5c: ExternalIdentifierX5cResult | undefined = undefined\n if (coseKey.x5chain) {\n x5c = await resolveExternalX5cIdentifier({ ...opts.x5c, identifier: coseKey.x5chain }, context)\n }\n const jwk = coseKeyToJwk(coseKey)\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n return {\n method: 'cose_key',\n coseKey,\n jwks: [\n {\n jwk,\n jwkThumbprint,\n kid: coseKey.kid,\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n },\n ],\n x5c,\n } satisfies ExternalIdentifierCoseKeyResult\n}\n\nexport async function resolveExternalDidIdentifier(\n opts: ExternalIdentifierDidOpts,\n context: IAgentContext<IResolver & IDIDManager>\n): Promise<ExternalIdentifierDidResult> {\n if (!isExternalIdentifierDidOpts(opts)) {\n return Promise.reject('External DID Identifier args need to be provided')\n } else if (!contextHasPlugin<IResolver & IDIDManager>(context, 'resolveDid')) {\n return Promise.reject(Error(`Cannot get external DID identifier if DID resolver plugin is not enabled!`))\n }\n const { uniresolverResolution = false, localResolution = true, resolverResolution = true } = opts\n const did = opts.identifier\n let parsed: IParsedDID\n try {\n parsed = parseDid(did)\n } catch (error: unknown) {\n // Error from did resolution spec\n return Promise.reject(error)\n }\n const didParsed = parsed\n const didResolutionResult = await getAgentResolver(context, {\n uniresolverResolution,\n localResolution,\n resolverResolution,\n }).resolve(did)\n const didDocument = didResolutionResult.didDocument ?? undefined\n const didJwks = didDocument ? didDocumentToJwks(didDocument) : undefined\n const jwks = didJwks\n ? Array.from(\n new Set(\n Array.from(\n Object.values(didJwks)\n .filter((jwks) => isDefined(jwks) && jwks.length > 0)\n .flatMap((jwks) => jwks)\n )\n .flatMap((jwk) => {\n return {\n jwk,\n jwkThumbprint: calculateJwkThumbprint({ jwk }),\n kid: jwk.kid,\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n }\n })\n .map((jwk) => JSON.stringify(jwk))\n )\n ).map((jwks) => JSON.parse(jwks))\n : []\n\n if (didResolutionResult?.didDocument) {\n // @ts-ignore // Mandatory on the original object, but we already provide it directly\n delete didResolutionResult['didDocument']\n }\n return {\n method: 'did',\n did,\n jwks,\n didJwks,\n didDocument,\n didResolutionResult,\n didParsed,\n }\n}\n","import { ErrorMessage, ExternalIdentifierOIDFEntityIdOpts, ExternalIdentifierOIDFEntityIdResult, ExternalJwkInfo, TrustedAnchor } from '../types'\nimport { IAgentContext } from '@veramo/core'\nimport { IOIDFClient } from '@sphereon/ssi-sdk.oidf-client'\nimport { contextHasPlugin } from '@sphereon/ssi-sdk.agent-config'\nimport { IJwsValidationResult, JwsPayload } from '../types/IJwtService'\n// @ts-ignore\nimport { fromString } from 'uint8arrays/from-string'\n// @ts-ignore\nimport { toString } from 'uint8arrays/to-string'\n/**\n * Resolves an OIDF Entity ID against multiple trust anchors to establish trusted relationships\n *\n * @param opts Configuration options containing the identifier to resolve and trust anchors to validate against\n * @param context Agent context that must include the OIDF client plugin and JWT verification capabilities\n *\n * @returns Promise resolving to an ExternalIdentifierOIDFEntityIdResult containing:\n * - trustedAnchors: Record mapping trust anchors to their public key hexes\n * - errorList: Optional record of errors encountered per trust anchor\n * - jwks: Array of JWK information from the trust chain\n * - trustEstablished: Boolean indicating if any trust relationships were established\n *\n * @throws Error if trust anchors are missing or JWT verification plugin is not enabled\n */\nexport async function resolveExternalOIDFEntityIdIdentifier(\n opts: ExternalIdentifierOIDFEntityIdOpts,\n context: IAgentContext<IOIDFClient>\n): Promise<ExternalIdentifierOIDFEntityIdResult> {\n let { trustAnchors, identifier } = opts\n\n if (!trustAnchors || trustAnchors.length === 0) {\n return Promise.reject(Error('ExternalIdentifierOIDFEntityIdOpts is missing the trustAnchors'))\n }\n\n if (!contextHasPlugin(context, 'jwtVerifyJwsSignature')) {\n return Promise.reject(Error('For OIDFEntityId resolving the agent needs to have the JwtService plugin enabled'))\n }\n\n const trustedAnchors: Set<TrustedAnchor> = new Set<TrustedAnchor>()\n const errorList: Record<TrustedAnchor, ErrorMessage> = {}\n const jwkInfos: Array<ExternalJwkInfo> = []\n\n let payload: JwsPayload | undefined\n for (const trustAnchor of trustAnchors) {\n const resolveResult = await context.agent.resolveTrustChain({\n entityIdentifier: identifier,\n trustAnchors: [trustAnchor],\n })\n\n if (resolveResult.error || !resolveResult.trustChain) {\n errorList[trustAnchor] = resolveResult.errorMessage ?? 'unspecified'\n } else {\n const trustChain: ReadonlyArray<string> = resolveResult.trustChain.asJsReadonlyArrayView()\n if (trustChain.length === 0) {\n errorList[trustAnchor] = 'Trust chain is empty'\n continue\n }\n\n const jwt = trustChain[0]\n const jwtVerifyResult: IJwsValidationResult = await context.agent.jwtVerifyJwsSignature({ jws: jwt })\n\n if (jwtVerifyResult.error || jwtVerifyResult.critical) {\n errorList[trustAnchor] = jwtVerifyResult.message\n continue\n }\n\n if (jwtVerifyResult.jws.signatures.length === 0) {\n errorList[trustAnchor] = 'No signature was present in the trust anchor JWS'\n continue\n }\n\n payload = JSON.parse(toString(fromString(jwtVerifyResult.jws.payload, 'base64url')))\n const signature = jwtVerifyResult.jws.signatures[0]\n if (signature.identifier.jwks.length === 0) {\n errorList[trustAnchor] = 'No JWK was present in the trust anchor signature'\n continue\n }\n\n if (jwkInfos.length === 0) {\n // We need the entity JWK only once\n jwkInfos.push(...signature.identifier.jwks)\n }\n trustedAnchors.add(trustAnchor)\n }\n }\n\n return {\n method: 'entity_id',\n trustedAnchors: Array.from(trustedAnchors),\n ...(Object.keys(errorList).length > 0 && { errorList }),\n jwks: jwkInfos,\n jwtPayload: payload,\n trustEstablished: trustedAnchors.size > 0,\n }\n}\n","import { IIdentifier } from '@veramo/core'\nimport { ManagedIdentifierDidOpts, ManagedIdentifierOptsOrResult } from '../types'\n\n/**\n * Converts legacy id opts key refs to the new ManagedIdentifierOpts\n * @param opts\n */\nexport function legacyKeyRefsToIdentifierOpts(opts: {\n idOpts?: ManagedIdentifierOptsOrResult\n iss?: string\n keyRef?: string\n didOpts?: any\n}): ManagedIdentifierOptsOrResult {\n if (!opts.idOpts) {\n console.warn(\n `Legacy idOpts being used. Support will be dropped in the future. Consider switching to the idOpts, to have support for DIDs, JWKS, x5c etc. See https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/feature/multi_identifier_support/packages/identifier-resolution`\n )\n // legacy way\n let kmsKeyRef =\n opts.keyRef ??\n opts.didOpts?.idOpts?.kmsKeyRef ??\n opts.didOpts?.kid ??\n opts.didOpts?.idOpts?.kid ??\n (typeof opts.didOpts?.idOpts?.identifier === 'object' ? (opts.didOpts.idOpts.identifier as IIdentifier).keys[0].kid : undefined)\n if (!kmsKeyRef) {\n throw Error('Key ref is needed for access token signer')\n }\n let identifier = (opts.didOpts?.identifier ?? opts.didOpts?.idOpts?.identifier) as IIdentifier | undefined\n\n return {\n kmsKeyRef: opts.keyRef ?? kmsKeyRef,\n identifier: identifier ?? kmsKeyRef,\n issuer: opts.iss,\n } satisfies ManagedIdentifierDidOpts\n } else {\n const idOpts = opts.idOpts\n if (opts.keyRef && !idOpts.kmsKeyRef) {\n // legacy way\n console.warn(\n `Legacy keyRef being used. Support will be dropped in the future. Consider switching to the idOpts, to have support for DIDs, JWKS, x5c etc. See https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/feature/multi_identifier_support/packages/identifier-resolution`\n )\n idOpts.kmsKeyRef = opts.keyRef\n }\n if (opts.iss && !idOpts.issuer) {\n // legacy way\n console.warn(\n `Legacy iss being used. Support will be dropped in the future. Consider switching to the idOpts, to have support for DIDs, JWKS, x5c etc. See https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/feature/multi_identifier_support/packages/identifier-resolution`\n )\n idOpts.issuer = opts.iss\n }\n\n return idOpts\n }\n}\n","/**\n * @internal\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\n/**\n * @public\n */\nexport * from './types'\nexport { IdentifierResolution } from './agent/IdentifierResolution'\nexport * from './functions'\n"]}
|
|
1
|
+
{"version":3,"sources":["../plugin.schema.json","../src/index.ts","../src/types/common.ts","../src/types/externalIdentifierTypes.ts","../src/types/managedIdentifierTypes.ts","../src/types/IIdentifierResolution.ts","../src/agent/IdentifierResolution.ts","../src/functions/managedIdentifierFunctions.ts","../src/functions/externalIdentifierFunctions.ts","../src/functions/externalOIDFIdentifier.ts","../src/functions/LegacySupport.ts"],"sourcesContent":["{\n \"IIdentifierResolution\": {\n \"components\": {\n \"schemas\": {\n \"ExternalIdentifierOpts\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cOpts\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"verify\": {\n \"type\": \"boolean\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"allowNoTrustAnchorsFound\": {\n \"type\": \"boolean\"\n },\n \"trustRootWhenNoAnchors\": {\n \"type\": \"boolean\"\n },\n \"allowSingleNoCAChainElement\": {\n \"type\": \"boolean\"\n },\n \"blindlyTrustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"disallowReversedChain\": {\n \"type\": \"boolean\"\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"localResolution\": {\n \"type\": \"boolean\"\n },\n \"uniresolverResolution\": {\n \"type\": \"boolean\"\n },\n \"resolverResolution\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"entity_id\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"identifier\"\n ]\n }\n ]\n },\n \"ExternalIdentifierType\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n ],\n \"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\"\n },\n \"ExternalIdentifierX5cOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"verify\": {\n \"type\": \"boolean\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"allowNoTrustAnchorsFound\": {\n \"type\": \"boolean\"\n },\n \"trustRootWhenNoAnchors\": {\n \"type\": \"boolean\"\n },\n \"allowSingleNoCAChainElement\": {\n \"type\": \"boolean\"\n },\n \"blindlyTrustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"disallowReversedChain\": {\n \"type\": \"boolean\"\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"DIDDocumentSection\": {\n \"type\": \"string\",\n \"enum\": [\n \"verificationMethod\",\n \"publicKey\",\n \"service\",\n \"authentication\",\n \"assertionMethod\",\n \"keyAgreement\",\n \"capabilityInvocation\",\n \"capabilityDelegation\"\n ],\n \"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 }\"\n },\n \"ExternalIdentifierResult\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"didDocument\": {\n \"$ref\": \"#/components/schemas/DIDDocument\"\n },\n \"didJwks\": {\n \"type\": \"object\",\n \"properties\": {\n \"verificationMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"authentication\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"assertionMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"keyAgreement\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"capabilityInvocation\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"capabilityDelegation\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n }\n },\n \"required\": [\n \"verificationMethod\",\n \"authentication\",\n \"assertionMethod\",\n \"keyAgreement\",\n \"capabilityInvocation\",\n \"capabilityDelegation\"\n ]\n },\n \"didResolutionResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"@context\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"const\": \"https://w3id.org/did-resolution/v1\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"didResolutionMetadata\": {\n \"$ref\": \"#/components/schemas/DIDResolutionMetadata\"\n },\n \"didDocumentMetadata\": {\n \"$ref\": \"#/components/schemas/DIDDocumentMetadata\"\n }\n },\n \"required\": [\n \"didResolutionMetadata\",\n \"didDocumentMetadata\"\n ]\n },\n \"didParsed\": {\n \"type\": \"object\",\n \"properties\": {\n \"did\": {\n \"type\": \"string\"\n },\n \"didUrl\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\"\n },\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"fragment\": {\n \"type\": \"string\"\n },\n \"query\": {\n \"type\": \"string\"\n },\n \"params\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"did\",\n \"didUrl\",\n \"method\",\n \"id\"\n ]\n }\n },\n \"required\": [\n \"did\",\n \"didParsed\",\n \"didResolutionResult\",\n \"jwks\",\n \"method\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuerJWK\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"verificationResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"error\": {\n \"type\": \"boolean\"\n },\n \"critical\": {\n \"type\": \"boolean\"\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"detailMessage\": {\n \"type\": \"string\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"certificateChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n }\n },\n \"trustAnchor\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"error\",\n \"critical\",\n \"message\",\n \"verificationTime\"\n ]\n },\n \"certificates\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"certificates\",\n \"issuerJWK\",\n \"jwks\",\n \"method\",\n \"x5c\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"jwk\",\n \"jwks\",\n \"method\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"trustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TrustedAnchor\"\n }\n },\n \"errorList\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/components/schemas/ErrorMessage\"\n }\n },\n \"jwtPayload\": {\n \"$ref\": \"#/components/schemas/JwsPayload\"\n },\n \"trustEstablished\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"jwks\",\n \"method\",\n \"trustEstablished\",\n \"trustedAnchors\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierMethod\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"coseKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 0\n ]\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"enum\": [\n -7,\n -47,\n -35,\n -36,\n -8,\n 4,\n 5,\n 6,\n 7,\n -37,\n -38,\n -39\n ]\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10\n ]\n }\n },\n \"baseIV\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n -1\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"additionalProperties\": {},\n \"description\": \"See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\\n\\nConversion functions are available in above library. Conversion functions are also available for TS in our\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"coseKey\",\n \"jwks\",\n \"method\"\n ]\n }\n ]\n },\n \"ExternalIdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\n \"did\",\n \"jwk\",\n \"x5c\",\n \"kid\",\n \"cose_key\",\n \"oidc-discovery\",\n \"jwks-url\",\n \"oid4vci-issuer\",\n \"entity_id\"\n ]\n },\n \"ExternalJwkInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"publicKeyHex\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"jwk\",\n \"jwkThumbprint\",\n \"publicKeyHex\"\n ]\n },\n \"DIDDocument\": {\n \"type\": \"object\",\n \"properties\": {\n \"authentication\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"assertionMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"keyAgreement\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"capabilityInvocation\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"capabilityDelegation\": {\n \"type\": \"array\",\n \"items\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n ]\n }\n },\n \"@context\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"const\": \"https://www.w3.org/ns/did/v1\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"id\": {\n \"type\": \"string\"\n },\n \"alsoKnownAs\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"controller\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"verificationMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"service\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Service\"\n }\n },\n \"publicKey\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n },\n \"deprecated\": true\n }\n },\n \"required\": [\n \"id\"\n ],\n \"description\": \"Represents a DID document.\"\n },\n \"VerificationMethod\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"controller\": {\n \"type\": \"string\"\n },\n \"publicKeyBase58\": {\n \"type\": \"string\"\n },\n \"publicKeyBase64\": {\n \"type\": \"string\"\n },\n \"publicKeyJwk\": {\n \"$ref\": \"#/components/schemas/JsonWebKey\"\n },\n \"publicKeyHex\": {\n \"type\": \"string\"\n },\n \"publicKeyMultibase\": {\n \"type\": \"string\"\n },\n \"blockchainAccountId\": {\n \"type\": \"string\"\n },\n \"ethereumAddress\": {\n \"type\": \"string\"\n },\n \"conditionOr\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"conditionAnd\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"threshold\": {\n \"type\": \"number\"\n },\n \"conditionThreshold\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n }\n },\n \"conditionWeightedThreshold\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ConditionWeightedThreshold\"\n }\n },\n \"conditionDelegated\": {\n \"type\": \"string\"\n },\n \"relationshipParent\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"relationshipChild\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"relationshipSibling\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"controller\"\n ],\n \"description\": \"Represents the properties of a Verification Method listed in a DID document.\\n\\nThis data type includes public key representations that are no longer present in the spec but are still used by several DID methods / resolvers and kept for backward compatibility.\"\n },\n \"JsonWebKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"alg\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"kty\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"description\": \"Encapsulates a JSON web key type that includes only the public properties that can be used in DID documents.\\n\\nThe private properties are intentionally omitted to discourage the use (and accidental disclosure) of private keys in DID documents.\"\n },\n \"ConditionWeightedThreshold\": {\n \"type\": \"object\",\n \"properties\": {\n \"condition\": {\n \"$ref\": \"#/components/schemas/VerificationMethod\"\n },\n \"weight\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\n \"condition\",\n \"weight\"\n ]\n },\n \"Service\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"string\"\n },\n \"serviceEndpoint\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/ServiceEndpoint\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ServiceEndpoint\"\n }\n }\n ]\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"serviceEndpoint\"\n ],\n \"description\": \"Represents a Service entry in a {@link https://www.w3.org/TR/did-core/#did-document-properties | DID document } .\"\n },\n \"ServiceEndpoint\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\"\n }\n ],\n \"description\": \"Represents an endpoint of a Service entry in a DID document.\"\n },\n \"DIDResolutionMetadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"contentType\": {\n \"type\": \"string\"\n },\n \"error\": {\n \"type\": \"string\"\n }\n },\n \"description\": \"Encapsulates the resolution metadata resulting from a {@link Resolvable.resolve } operation.\"\n },\n \"DIDDocumentMetadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"created\": {\n \"type\": \"string\"\n },\n \"updated\": {\n \"type\": \"string\"\n },\n \"deactivated\": {\n \"type\": \"boolean\"\n },\n \"versionId\": {\n \"type\": \"string\"\n },\n \"nextUpdate\": {\n \"type\": \"string\"\n },\n \"nextVersionId\": {\n \"type\": \"string\"\n },\n \"equivalentId\": {\n \"type\": \"string\"\n },\n \"canonicalId\": {\n \"type\": \"string\"\n }\n },\n \"description\": \"Represents metadata about the DID document resulting from a {@link Resolvable.resolve } operation.\"\n },\n \"ExternalIdentifierX5cResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"issuerJWK\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"verificationResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"error\": {\n \"type\": \"boolean\"\n },\n \"critical\": {\n \"type\": \"boolean\"\n },\n \"message\": {\n \"type\": \"string\"\n },\n \"detailMessage\": {\n \"type\": \"string\"\n },\n \"verificationTime\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"certificateChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n }\n },\n \"trustAnchor\": {\n \"type\": \"object\",\n \"properties\": {\n \"certificate\": {},\n \"notBefore\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"notAfter\": {\n \"type\": \"string\",\n \"format\": \"date-time\"\n },\n \"publicKeyJWK\": {},\n \"issuer\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n }\n },\n \"required\": [\n \"dn\"\n ]\n },\n \"subject\": {\n \"type\": \"object\",\n \"properties\": {\n \"dn\": {\n \"type\": \"object\",\n \"properties\": {\n \"DN\": {\n \"type\": \"string\"\n },\n \"attributes\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"DN\",\n \"attributes\"\n ]\n },\n \"subjectAlternativeNames\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"type\": \"string\"\n },\n \"type\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 6,\n 7\n ],\n \"description\": \"otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER }\"\n }\n },\n \"required\": [\n \"value\",\n \"type\"\n ]\n }\n }\n },\n \"required\": [\n \"dn\",\n \"subjectAlternativeNames\"\n ]\n }\n },\n \"required\": [\n \"notBefore\",\n \"notAfter\",\n \"issuer\",\n \"subject\"\n ]\n },\n \"client\": {\n \"type\": \"object\",\n \"properties\": {\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\",\n \"enum\": [\n \"x509_san_dns\",\n \"x509_san_uri\"\n ]\n }\n },\n \"required\": [\n \"clientId\",\n \"clientIdScheme\"\n ]\n }\n },\n \"required\": [\n \"error\",\n \"critical\",\n \"message\",\n \"verificationTime\"\n ]\n },\n \"certificates\": {\n \"type\": \"array\",\n \"items\": {}\n }\n },\n \"required\": [\n \"certificates\",\n \"issuerJWK\",\n \"jwks\",\n \"method\",\n \"x5c\"\n ]\n },\n \"TrustedAnchor\": {\n \"type\": \"string\"\n },\n \"ErrorMessage\": {\n \"type\": \"string\"\n },\n \"JwsPayload\": {\n \"type\": \"object\",\n \"additionalProperties\": {},\n \"properties\": {\n \"iss\": {\n \"type\": \"string\"\n },\n \"sub\": {\n \"type\": \"string\"\n },\n \"aud\": {\n \"anyOf\": [\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"exp\": {\n \"type\": \"number\"\n },\n \"nbf\": {\n \"type\": \"number\"\n },\n \"iat\": {\n \"type\": \"number\"\n },\n \"jti\": {\n \"type\": \"string\"\n }\n }\n },\n \"ExternalIdentifierCoseKeyOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierCoseKeyResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"coseKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 0\n ]\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"enum\": [\n -7,\n -47,\n -35,\n -36,\n -8,\n 4,\n 5,\n 6,\n 7,\n -37,\n -38,\n -39\n ]\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10\n ]\n }\n },\n \"baseIV\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n -1\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"additionalProperties\": {},\n \"description\": \"See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\\n\\nConversion functions are available in above library. Conversion functions are also available for TS in our\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"coseKey\",\n \"jwks\",\n \"method\"\n ]\n },\n \"ExternalIdentifierDidOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"localResolution\": {\n \"type\": \"boolean\"\n },\n \"uniresolverResolution\": {\n \"type\": \"boolean\"\n },\n \"resolverResolution\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierDidResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"didDocument\": {\n \"$ref\": \"#/components/schemas/DIDDocument\"\n },\n \"didJwks\": {\n \"type\": \"object\",\n \"properties\": {\n \"verificationMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"authentication\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"assertionMethod\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"keyAgreement\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"capabilityInvocation\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"capabilityDelegation\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n }\n },\n \"required\": [\n \"verificationMethod\",\n \"authentication\",\n \"assertionMethod\",\n \"keyAgreement\",\n \"capabilityInvocation\",\n \"capabilityDelegation\"\n ]\n },\n \"didResolutionResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"@context\": {\n \"anyOf\": [\n {\n \"type\": \"string\",\n \"const\": \"https://w3id.org/did-resolution/v1\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n ]\n },\n \"didResolutionMetadata\": {\n \"$ref\": \"#/components/schemas/DIDResolutionMetadata\"\n },\n \"didDocumentMetadata\": {\n \"$ref\": \"#/components/schemas/DIDDocumentMetadata\"\n }\n },\n \"required\": [\n \"didResolutionMetadata\",\n \"didDocumentMetadata\"\n ]\n },\n \"didParsed\": {\n \"type\": \"object\",\n \"properties\": {\n \"did\": {\n \"type\": \"string\"\n },\n \"didUrl\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\"\n },\n \"id\": {\n \"type\": \"string\"\n },\n \"path\": {\n \"type\": \"string\"\n },\n \"fragment\": {\n \"type\": \"string\"\n },\n \"query\": {\n \"type\": \"string\"\n },\n \"params\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"did\",\n \"didUrl\",\n \"method\",\n \"id\"\n ]\n }\n },\n \"required\": [\n \"did\",\n \"didParsed\",\n \"didResolutionResult\",\n \"jwks\",\n \"method\"\n ]\n },\n \"ExternalIdentifierJwkOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cOpts\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierJwkResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"x5c\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"required\": [\n \"jwk\",\n \"jwks\",\n \"method\"\n ]\n },\n \"ExternalIdentifierOIDFEntityIdOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"entity_id\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierType\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ExternalIdentifierOIDFEntityIdResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"entity_id\"\n },\n \"jwks\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ExternalJwkInfo\"\n }\n },\n \"trustedAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/TrustedAnchor\"\n }\n },\n \"errorList\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"$ref\": \"#/components/schemas/ErrorMessage\"\n }\n },\n \"jwtPayload\": {\n \"$ref\": \"#/components/schemas/JwsPayload\"\n },\n \"trustEstablished\": {\n \"type\": \"boolean\"\n }\n },\n \"required\": [\n \"jwks\",\n \"method\",\n \"trustEstablished\",\n \"trustedAnchors\"\n ]\n },\n \"ManagedIdentifierOptsOrResult\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"certificate\": {}\n },\n \"required\": [\n \"certificate\",\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\",\n \"x5c\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"verificationMethodSection\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"did\",\n \"identifier\",\n \"issuer\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"keys\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/TKeyType\"\n },\n \"offlineWhenNoDIDRegistered\": {\n \"type\": \"boolean\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"controllerKey\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 0\n ]\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"enum\": [\n -7,\n -47,\n -35,\n -36,\n -8,\n 4,\n 5,\n 6,\n 7,\n -37,\n -38,\n -39\n ]\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10\n ]\n }\n },\n \"baseIV\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n -1\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"additionalProperties\": {},\n \"description\": \"See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\\n\\nConversion functions are available in above library. Conversion functions are also available for TS in our\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"lazyDisabled\": {\n \"type\": \"boolean\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n }\n ]\n },\n \"ManagedIdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\n \"did\",\n \"jwk\",\n \"x5c\",\n \"kid\",\n \"key\",\n \"cose_key\",\n \"oid4vci-issuer\"\n ]\n },\n \"ManagedIdentifierOpts\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/TKeyType\"\n },\n \"offlineWhenNoDIDRegistered\": {\n \"type\": \"boolean\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"controllerKey\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 0\n ]\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"enum\": [\n -7,\n -47,\n -35,\n -36,\n -8,\n 4,\n 5,\n 6,\n 7,\n -37,\n -38,\n -39\n ]\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10\n ]\n }\n },\n \"baseIV\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n -1\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"additionalProperties\": {},\n \"description\": \"See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\\n\\nConversion functions are available in above library. Conversion functions are also available for TS in our\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n }\n ]\n },\n \"IIdentifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"did\": {\n \"type\": \"string\",\n \"description\": \"Decentralized identifier\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Optional. Identifier alias. Can be used to reference an object in an external system\"\n },\n \"provider\": {\n \"type\": \"string\",\n \"description\": \"Identifier provider name\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\",\n \"description\": \"Controller key id\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"description\": \"Array of managed keys\"\n },\n \"services\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IService\"\n },\n \"description\": \"Array of services\"\n }\n },\n \"required\": [\n \"did\",\n \"provider\",\n \"keys\",\n \"services\"\n ],\n \"description\": \"Identifier interface\"\n },\n \"IKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key ID\"\n },\n \"kms\": {\n \"type\": \"string\",\n \"description\": \"Key Management System\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/TKeyType\",\n \"description\": \"Key type\"\n },\n \"publicKeyHex\": {\n \"type\": \"string\",\n \"description\": \"Public key\"\n },\n \"privateKeyHex\": {\n \"type\": \"string\",\n \"description\": \"Optional. Private key\"\n },\n \"meta\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/KeyMetadata\"\n },\n {\n \"type\": \"null\"\n }\n ],\n \"description\": \"Optional. Key metadata. This should be used to determine which algorithms are supported.\"\n }\n },\n \"required\": [\n \"kid\",\n \"kms\",\n \"type\",\n \"publicKeyHex\"\n ],\n \"description\": \"Cryptographic key\"\n },\n \"TKeyType\": {\n \"type\": \"string\",\n \"enum\": [\n \"Ed25519\",\n \"Secp256k1\",\n \"Secp256r1\",\n \"X25519\",\n \"Bls12381G1\",\n \"Bls12381G2\",\n \"RSA\"\n ],\n \"description\": \"Cryptographic key type.\"\n },\n \"KeyMetadata\": {\n \"type\": \"object\",\n \"properties\": {\n \"algorithms\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"description\": \"This encapsulates data about a key.\\n\\nImplementations of {@link @veramo/key-manager#AbstractKeyManagementSystem | AbstractKeyManagementSystem } should populate this object, for each key, with the algorithms that can be performed using it.\\n\\nThis can also be used to add various tags to the keys under management.\"\n },\n \"IService\": {\n \"type\": \"object\",\n \"properties\": {\n \"id\": {\n \"type\": \"string\",\n \"description\": \"ID\"\n },\n \"type\": {\n \"type\": \"string\",\n \"description\": \"Service type\"\n },\n \"serviceEndpoint\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IServiceEndpoint\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IServiceEndpoint\"\n }\n }\n ],\n \"description\": \"Endpoint URL\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Optional. Description\"\n }\n },\n \"required\": [\n \"id\",\n \"type\",\n \"serviceEndpoint\"\n ],\n \"description\": \"Identifier service\"\n },\n \"IServiceEndpoint\": {\n \"anyOf\": [\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"object\"\n }\n ],\n \"description\": \"Represents a service endpoint URL or a map of URLs\"\n },\n \"ManagedIdentifierType\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n },\n {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 0\n ]\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"enum\": [\n -7,\n -47,\n -35,\n -36,\n -8,\n 4,\n 5,\n 6,\n 7,\n -37,\n -38,\n -39\n ]\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10\n ]\n }\n },\n \"baseIV\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n -1\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"additionalProperties\": {},\n \"description\": \"See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\\n\\nConversion functions are available in above library. Conversion functions are also available for TS in our\"\n }\n ],\n \"description\": \"Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\\n\\nThe functions below can be used to check the type, and they also provide the proper 'runtime' types\"\n },\n \"ManagedIdentifierResult\": {\n \"anyOf\": [\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"certificate\": {}\n },\n \"required\": [\n \"certificate\",\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\",\n \"x5c\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"verificationMethodSection\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"did\",\n \"identifier\",\n \"issuer\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"keys\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierMethod\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierType\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n }\n ]\n },\n \"ManagedIdentifierCoseKeyOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"identifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 0\n ]\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"enum\": [\n -7,\n -47,\n -35,\n -36,\n -8,\n 4,\n 5,\n 6,\n 7,\n -37,\n -38,\n -39\n ]\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10\n ]\n }\n },\n \"baseIV\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n -1\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"additionalProperties\": {},\n \"description\": \"See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\\n\\nConversion functions are available in above library. Conversion functions are also available for TS in our\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierCoseKeyResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"cose_key\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 0\n ]\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"enum\": [\n -7,\n -47,\n -35,\n -36,\n -8,\n 4,\n 5,\n 6,\n 7,\n -37,\n -38,\n -39\n ]\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10\n ]\n }\n },\n \"baseIV\": {\n \"type\": \"string\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"enum\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n -1\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"kty\"\n ],\n \"additionalProperties\": {},\n \"description\": \"See our mdl-mdoc and crypto library for more information https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform\\n\\nConversion functions are available in above library. Conversion functions are also available for TS in our\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierDidOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"identifier\": {\n \"anyOf\": [\n {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n {\n \"type\": \"string\"\n }\n ]\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/TKeyType\"\n },\n \"offlineWhenNoDIDRegistered\": {\n \"type\": \"boolean\"\n },\n \"noVerificationMethodFallback\": {\n \"type\": \"boolean\"\n },\n \"controllerKey\": {\n \"type\": \"boolean\"\n },\n \"vmRelationship\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierDidResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"did\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IIdentifier\"\n },\n \"did\": {\n \"type\": \"string\"\n },\n \"keys\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"verificationMethodSection\": {\n \"$ref\": \"#/components/schemas/DIDDocumentSection\"\n },\n \"controllerKeyId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"did\",\n \"identifier\",\n \"issuer\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"keys\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierJwkOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"identifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierJwkResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"jwk\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierKeyOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierKeyResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"key\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"$ref\": \"#/components/schemas/IKey\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierKidOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierKidResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"kid\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kid\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierOID4VCIssuerOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"identifier\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierOID4VCIssuerResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"oid4vci-issuer\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\"\n ]\n },\n \"ManagedIdentifierX5cOpts\": {\n \"type\": \"object\",\n \"properties\": {\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\n \"identifier\"\n ]\n },\n \"ManagedIdentifierX5cResult\": {\n \"type\": \"object\",\n \"properties\": {\n \"jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"type\": \"string\",\n \"enum\": [\n \"EC\",\n \"RSA\",\n \"oct\",\n \"OKP\"\n ]\n },\n \"crv\": {\n \"type\": \"string\",\n \"enum\": [\n \"P-256\",\n \"P-384\",\n \"P-521\",\n \"X25519\",\n \"X448\",\n \"EdDSA\",\n \"Ed25519\",\n \"Ed448\",\n \"secp256k1\"\n ]\n },\n \"alg\": {\n \"type\": \"string\",\n \"enum\": [\n \"RS256\",\n \"RS384\",\n \"RS512\",\n \"ES256\",\n \"ES256K\",\n \"ES384\",\n \"ES512\",\n \"EdDSA\",\n \"HS256\",\n \"HS384\",\n \"HS512\",\n \"PS256\",\n \"PS384\",\n \"PS512\",\n \"none\"\n ]\n },\n \"x\": {\n \"type\": \"string\"\n },\n \"y\": {\n \"type\": \"string\"\n },\n \"e\": {\n \"type\": \"string\"\n },\n \"n\": {\n \"type\": \"string\"\n },\n \"d\": {\n \"type\": \"string\"\n },\n \"dp\": {\n \"type\": \"string\"\n },\n \"dq\": {\n \"type\": \"string\"\n },\n \"ext\": {\n \"type\": \"boolean\"\n },\n \"k\": {\n \"type\": \"string\"\n },\n \"key_ops\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\n \"sign\",\n \"verify\",\n \"encrypt\",\n \"decrypt\",\n \"wrapKey\",\n \"unwrapKey\",\n \"deriveKey\",\n \"deriveBits\"\n ]\n }\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"oth\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"d\": {\n \"type\": \"string\"\n },\n \"r\": {\n \"type\": \"string\"\n },\n \"t\": {\n \"type\": \"string\"\n }\n }\n }\n },\n \"p\": {\n \"type\": \"string\"\n },\n \"q\": {\n \"type\": \"string\"\n },\n \"qi\": {\n \"type\": \"string\"\n },\n \"use\": {\n \"type\": \"string\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"JWK \\\"x5c\\\" (X.509 Certificate Chain) Parameter.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5t\\\" (X.509 Certificate SHA-1 Thumbprint) Parameter.\"\n },\n \"x5t#S256\": {\n \"type\": \"string\",\n \"description\": \"\\\"x5t#S256\\\" (X.509 Certificate SHA-256 Thumbprint) Parameter.\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"JWK \\\"x5u\\\" (X.509 URL) Parameter.\"\n },\n \"iv\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": {},\n \"required\": [\n \"kty\"\n ]\n },\n \"jwkThumbprint\": {\n \"type\": \"string\"\n },\n \"kmsKeyRef\": {\n \"type\": \"string\"\n },\n \"method\": {\n \"type\": \"string\",\n \"const\": \"x5c\"\n },\n \"opts\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOpts\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/IKey\"\n },\n \"kid\": {\n \"type\": \"string\"\n },\n \"issuer\": {\n \"type\": \"string\"\n },\n \"clientId\": {\n \"type\": \"string\"\n },\n \"clientIdScheme\": {\n \"type\": \"string\"\n },\n \"identifier\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"certificate\": {}\n },\n \"required\": [\n \"certificate\",\n \"identifier\",\n \"jwk\",\n \"jwkThumbprint\",\n \"key\",\n \"kmsKeyRef\",\n \"method\",\n \"opts\",\n \"x5c\"\n ]\n }\n },\n \"methods\": {\n \"identifierExternalResolve\": {\n \"description\": \"Main method for external identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierResult\"\n }\n },\n \"identifierExternalResolveByCoseKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierCoseKeyOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierCoseKeyResult\"\n }\n },\n \"identifierExternalResolveByDid\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierDidOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierDidResult\"\n }\n },\n \"identifierExternalResolveByJwk\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierJwkOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierJwkResult\"\n }\n },\n \"identifierExternalResolveByOIDFEntityId\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierOIDFEntityIdOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierOIDFEntityIdResult\"\n }\n },\n \"identifierExternalResolveByX5c\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ExternalIdentifierX5cResult\"\n }\n },\n \"identifierManagedGet\": {\n \"description\": \"Main method for managed identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOptsOrResult\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierResult\"\n }\n },\n \"identifierManagedGetByCoseKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierCoseKeyOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierCoseKeyResult\"\n }\n },\n \"identifierManagedGetByDid\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierDidOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierDidResult\"\n }\n },\n \"identifierManagedGetByJwk\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierJwkOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierJwkResult\"\n }\n },\n \"identifierManagedGetByKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKeyOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKeyResult\"\n }\n },\n \"identifierManagedGetByKid\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKidOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierKidResult\"\n }\n },\n \"identifierManagedGetByOID4VCIssuer\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOID4VCIssuerOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierOID4VCIssuerResult\"\n }\n },\n \"identifierManagedGetByX5c\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierX5cOpts\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedIdentifierX5cResult\"\n }\n }\n }\n }\n }\n}","/**\n * @internal\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\n/**\n * @public\n */\nexport * from './types'\nexport { IdentifierResolution } from './agent/IdentifierResolution'\nexport * from './functions'\n","import type { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport type { IIdentifier, IKey } from '@veramo/core'\nimport type { ExternalIdentifierType } from './externalIdentifierTypes'\nimport type { ManagedIdentifierType } from './managedIdentifierTypes'\n\nexport interface JwkInfo {\n jwk: JWK\n jwkThumbprint: string\n}\n\nexport function isDidIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is IIdentifier | string {\n return isIIdentifier(identifier) || (typeof identifier === 'string' && identifier.startsWith('did:'))\n}\n\nexport function isIIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is IIdentifier {\n return typeof identifier === 'object' && !Array.isArray(identifier) && 'did' in identifier && 'keys' in identifier\n}\n\nexport function isJwkIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is JWK {\n return typeof identifier === 'object' && !Array.isArray(identifier) && 'kty' in identifier\n}\n\nexport function isOidcDiscoveryIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('/.well-known/openid-configuration')\n}\n\nexport function isJwksUrlIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('jwks.json')\n}\n\nexport function isKidIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && !identifier.startsWith('did:') && !identifier.startsWith('http')\n}\n\nexport function isOID4VCIssuerIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('http') && identifier.endsWith('/.well-known/openid-credential-issuer')\n}\n\nexport function isKeyIdentifier(identifier: ManagedIdentifierType): identifier is IKey {\n return (\n typeof identifier === 'string' &&\n !Array.isArray(identifier) &&\n typeof identifier === 'object' &&\n `kid` in identifier &&\n 'publicKeyHex' in identifier\n )\n}\n\nexport function isCoseKeyIdentifier(identifier: ManagedIdentifierType): identifier is ICoseKeyJson {\n return typeof identifier === 'object' && `kty` in identifier && ('baseIV' in identifier || 'x5chain' in identifier) && !('x5c' in identifier)\n}\n\nexport function isOIDFEntityIdIdentifier(identifier: ManagedIdentifierType): identifier is string {\n return typeof identifier === 'string' && identifier.startsWith('https://')\n}\n\nexport function isX5cIdentifier(identifier: ManagedIdentifierType | ExternalIdentifierType): identifier is string[] {\n return Array.isArray(identifier) && identifier.length > 0 // todo: Do we want to do additional validation? We know it must be DER and thus hex for instance\n}\n","import type { DidDocumentJwks } from '@sphereon/ssi-sdk-ext.did-utils'\nimport type { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport type { X509CertificateChainValidationOpts, X509ValidationResult } from '@sphereon/ssi-sdk-ext.x509-utils'\nimport type { IParsedDID } from '@sphereon/ssi-types'\nimport type { DIDDocument, DIDDocumentSection, DIDResolutionResult } from '@veramo/core'\nimport {\n isCoseKeyIdentifier,\n isDidIdentifier,\n isOIDFEntityIdIdentifier,\n isJwkIdentifier,\n isJwksUrlIdentifier,\n isKidIdentifier,\n isOidcDiscoveryIdentifier,\n isX5cIdentifier,\n type JwkInfo,\n} from './common'\nimport type { JwsPayload } from './IJwtService'\n\n/**\n * Use whenever we need to resolve an external identifier. We can pass in kids, DIDs, and x5chains\n *\n * The functions below can be used to check the type, and they also provide the proper runtime types\n */\nexport type ExternalIdentifierType = string | string[] | JWK\n\nexport type ExternalIdentifierOptsBase = {\n method?: ExternalIdentifierMethod // If provided always takes precedences otherwise it will be inferred from the identifier\n identifier: ExternalIdentifierType\n}\n\nexport type ExternalIdentifierDidOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'did'\n identifier: string\n noVerificationMethodFallback?: boolean\n vmRelationship?: DIDDocumentSection\n localResolution?: boolean // Resolve identifiers hosted by the agent\n uniresolverResolution?: boolean // Resolve identifiers using universal resolver\n resolverResolution?: boolean // Use registered drivers\n}\n\nexport function isExternalIdentifierDidOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierDidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'did') || isDidIdentifier(identifier)\n}\n\nexport type ExternalIdentifierOpts = (\n | ExternalIdentifierJwkOpts\n | ExternalIdentifierX5cOpts\n | ExternalIdentifierDidOpts\n | ExternalIdentifierKidOpts\n | ExternalIdentifierCoseKeyOpts\n | ExternalIdentifierOIDFEntityIdOpts\n) &\n ExternalIdentifierOptsBase\n\nexport type ExternalIdentifierKidOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'kid'\n identifier: string\n}\n\nexport function isExternalIdentifierKidOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierKidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'kid') || isKidIdentifier(identifier)\n}\n\nexport type ExternalIdentifierJwkOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'jwk'\n identifier: JWK\n x5c?: ExternalIdentifierX5cOpts\n}\n\nexport function isExternalIdentifierJwkOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwkOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'jwk') || isJwkIdentifier(identifier)\n}\n\nexport type ExternalIdentifierCoseKeyOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'cose_key'\n identifier: ICoseKeyJson\n}\n\nexport function isExternalIdentifierCoseKeyOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierCoseKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'cose_key') || isCoseKeyIdentifier(identifier)\n}\n\nexport type ExternalIdentifierOidcDiscoveryOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'oidc-discovery'\n identifier: string\n}\n\nexport function isExternalIdentifierOidcDiscoveryOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwkOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'oidc-discovery') || isOidcDiscoveryIdentifier(identifier)\n}\n\nexport type ExternalIdentifierJwksUrlOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'jwks-url'\n identifier: string\n}\n\nexport function isExternalIdentifierJwksUrlOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierJwksUrlOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'oidc-discovery') || isJwksUrlIdentifier(identifier)\n}\n\nexport type ExternalIdentifierOIDFEntityIdOpts = Omit<ExternalIdentifierOptsBase, 'method'> & {\n method?: 'entity_id'\n identifier: string\n trustAnchors?: Array<string>\n}\n\nexport function isExternalIdentifierOIDFEntityIdOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierOIDFEntityIdOpts {\n const { identifier } = opts\n return (('method' in opts && opts.method === 'entity_id') || 'trustAnchors' in opts) && isOIDFEntityIdIdentifier(identifier)\n}\n\nexport type ExternalIdentifierX5cOpts = Omit<ExternalIdentifierOptsBase, 'method'> &\n X509CertificateChainValidationOpts & {\n method?: 'x5c'\n identifier: string[]\n verify?: boolean // defaults to true\n verificationTime?: Date\n trustAnchors?: string[]\n }\n\nexport function isExternalIdentifierX5cOpts(opts: ExternalIdentifierOptsBase): opts is ExternalIdentifierX5cOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'x5c') || isX5cIdentifier(identifier)\n}\n\nexport type ExternalIdentifierMethod = 'did' | 'jwk' | 'x5c' | 'kid' | 'cose_key' | 'oidc-discovery' | 'jwks-url' | 'oid4vci-issuer' | 'entity_id'\n\nexport type ExternalIdentifierResult = IExternalIdentifierResultBase &\n (\n | ExternalIdentifierDidResult\n | ExternalIdentifierX5cResult\n | ExternalIdentifierJwkResult\n | ExternalIdentifierOIDFEntityIdResult\n | ExternalIdentifierCoseKeyResult\n )\n\nexport interface IExternalIdentifierResultBase {\n method: ExternalIdentifierMethod\n jwks: Array<ExternalJwkInfo>\n}\n\nexport interface ExternalIdentifierJwkResult extends IExternalIdentifierResultBase {\n method: 'jwk'\n jwk: JWK\n x5c?: ExternalIdentifierX5cResult\n}\n\nexport interface ExternalIdentifierCoseKeyResult extends IExternalIdentifierResultBase {\n method: 'cose_key'\n coseKey: ICoseKeyJson\n x5c?: ExternalIdentifierX5cResult\n}\n\nexport interface ExternalIdentifierX5cResult extends IExternalIdentifierResultBase {\n method: 'x5c'\n x5c: string[]\n issuerJWK: JWK\n verificationResult?: X509ValidationResult\n certificates: any[] // for now since our schema generator trips on pkijs Certificate(Json) object //fixme\n}\n\nexport type TrustedAnchor = string\nexport type PublicKeyHex = string\nexport type ErrorMessage = string\n\nexport interface ExternalIdentifierOIDFEntityIdResult extends IExternalIdentifierResultBase {\n method: 'entity_id'\n trustedAnchors: Array<TrustedAnchor>\n errorList?: Record<TrustedAnchor, ErrorMessage>\n jwtPayload?: JwsPayload\n trustEstablished: boolean\n}\n\nexport interface ExternalJwkInfo extends JwkInfo {\n kid?: string\n publicKeyHex: string\n}\n\nexport interface ExternalIdentifierDidResult extends IExternalIdentifierResultBase {\n method: 'did'\n did: string\n didDocument?: DIDDocument\n didJwks?: DidDocumentJwks\n didResolutionResult: Omit<DIDResolutionResult, 'didDocument'> // we already provide that directly\n didParsed: IParsedDID\n}\n","import type { ClientIdScheme } from '@sphereon/ssi-sdk-ext.x509-utils'\nimport type { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport type { DIDDocumentSection, IIdentifier, IKey, TKeyType } from '@veramo/core'\nimport {\n isCoseKeyIdentifier,\n isDidIdentifier,\n isOID4VCIssuerIdentifier,\n isJwkIdentifier,\n isKeyIdentifier,\n isKidIdentifier,\n isX5cIdentifier,\n type JwkInfo,\n} from './common'\n\n/**\n * Use whenever we need to pass in an identifier. We can pass in kids, DIDs, IIdentifier objects and x5chains\n *\n * The functions below can be used to check the type, and they also provide the proper 'runtime' types\n */\nexport type ManagedIdentifierType = IIdentifier /*did*/ | string /*did or kid*/ | string[] /*x5c*/ | JWK | IKey | ICoseKeyJson\n\nexport type ManagedIdentifierOpts = (\n | ManagedIdentifierJwkOpts\n | ManagedIdentifierX5cOpts\n | ManagedIdentifierDidOpts\n | ManagedIdentifierKidOpts\n | ManagedIdentifierKeyOpts\n | ManagedIdentifierCoseKeyOpts\n | ManagedIdentifierOID4VCIssuerOpts\n) &\n ManagedIdentifierOptsBase\n\nexport type ManagedIdentifierOptsBase = {\n method?: ManagedIdentifierMethod // If provided always takes precedences otherwise it will be inferred from the identifier\n identifier: ManagedIdentifierType\n kmsKeyRef?: string // The key reference for the KMS system. If provided this value will be used to determine the appropriate key. Otherwise it will be inferred\n issuer?: string // can be used when a specific issuer needs to end up, for instance when signing JWTs. Will be returned or inferred if not provided\n kid?: string // can be used when a specific kid value needs to be used. For instance when signing JWTs. Will be returned or inferred if not provided\n clientId?: string\n clientIdScheme?: ClientIdScheme | 'did' | string\n}\n\nexport type ManagedIdentifierDidOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'did'\n identifier: IIdentifier | string\n keyType?: TKeyType\n offlineWhenNoDIDRegistered?: boolean\n noVerificationMethodFallback?: boolean\n controllerKey?: boolean\n vmRelationship?: DIDDocumentSection\n}\n\nexport function isManagedIdentifierDidOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierDidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'did') || isDidIdentifier(identifier)\n}\n\nexport type ManagedIdentifierKidOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'kid'\n identifier: string\n}\n\nexport function isManagedIdentifierKidOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierKidOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'kid') || isKidIdentifier(identifier)\n}\n\nexport type ManagedIdentifierKeyOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'key'\n identifier: IKey\n}\n\nexport function isManagedIdentifierKeyOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'key') || isKeyIdentifier(identifier)\n}\n\nexport type ManagedIdentifierCoseKeyOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'cose_key'\n identifier: ICoseKeyJson\n}\n\nexport function isManagedIdentifierCoseKeyOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierCoseKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'cose_key') || isCoseKeyIdentifier(identifier)\n}\n\nexport type ManagedIdentifierOID4VCIssuerOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'oid4vci-issuer'\n identifier: string\n}\n\nexport function isManagedIdentifierOID4VCIssuerOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierCoseKeyOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'oid4vci-issuer') || isOID4VCIssuerIdentifier(identifier)\n}\n\nexport type ManagedIdentifierJwkOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'jwk'\n identifier: JWK\n}\n\nexport function isManagedIdentifierJwkOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierJwkOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'jwk') || isJwkIdentifier(identifier)\n}\n\nexport type ManagedIdentifierX5cOpts = Omit<ManagedIdentifierOptsBase, 'method' | 'identifier'> & {\n method?: 'x5c'\n identifier: string[]\n}\n\nexport function isManagedIdentifierX5cOpts(opts: ManagedIdentifierOptsBase): opts is ManagedIdentifierX5cOpts {\n const { identifier } = opts\n return ('method' in opts && opts.method === 'x5c') || isX5cIdentifier(identifier)\n}\n\nexport interface ManagedJwkInfo extends JwkInfo {\n kmsKeyRef: string\n}\n\nexport interface IManagedIdentifierResultBase extends ManagedJwkInfo {\n method: ManagedIdentifierMethod\n opts: ManagedIdentifierOpts\n key: IKey\n kid?: string\n issuer?: string\n clientId?: string\n clientIdScheme?: ClientIdScheme | 'did' | string\n identifier: ManagedIdentifierType\n}\n\nexport function isManagedIdentifierCoseKeyResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierCoseKeyResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'cose_key'\n}\n\nexport function isManagedIdentifierDidResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierDidResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'did'\n}\n\nexport function isManagedIdentifierX5cResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierX5cResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'x5c'\n}\n\nexport function isManagedIdentifierJwkResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierJwkResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'jwk'\n}\n\nexport function isManagedIdentifierKidResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierKidResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'kid'\n}\n\nexport function isManagedIdentifierKeyResult(object: IManagedIdentifierResultBase): object is ManagedIdentifierKeyResult {\n return object!! && typeof object === 'object' && 'method' in object && object.method === 'key'\n}\n\nexport interface ManagedIdentifierDidResult extends IManagedIdentifierResultBase {\n method: 'did'\n identifier: IIdentifier\n did: string\n // key: IKey // The key associated with the requested did method sections. Controller key in case of no DID method section requested\n keys: Array<IKey> // If there is more than one key for the VM relationship.\n verificationMethodSection?: DIDDocumentSection\n controllerKeyId?: string\n issuer: string\n kid: string\n}\n\nexport interface ManagedIdentifierJwkResult extends IManagedIdentifierResultBase {\n identifier: JWK\n method: 'jwk'\n}\n\nexport interface ManagedIdentifierKidResult extends IManagedIdentifierResultBase {\n method: 'kid'\n identifier: string\n kid: string\n}\n\nexport interface ManagedIdentifierKeyResult extends IManagedIdentifierResultBase {\n method: 'key'\n identifier: IKey\n}\n\nexport interface ManagedIdentifierCoseKeyResult extends IManagedIdentifierResultBase {\n method: 'cose_key'\n identifier: ICoseKeyJson\n}\n\nexport interface ManagedIdentifierOID4VCIssuerResult extends IManagedIdentifierResultBase {\n method: 'oid4vci-issuer'\n identifier: string\n}\n\nexport interface ManagedIdentifierX5cResult extends IManagedIdentifierResultBase {\n method: 'x5c'\n identifier: string[]\n x5c: string[]\n certificate: any // Certificate(JSON_, but trips schema generator. Probably want to create our own DTO\n}\n\nexport type ManagedIdentifierMethod = 'did' | 'jwk' | 'x5c' | 'kid' | 'key' | 'cose_key' | 'oid4vci-issuer'\n\nexport type ManagedIdentifierResult = IManagedIdentifierResultBase &\n (\n | ManagedIdentifierX5cResult\n | ManagedIdentifierDidResult\n | ManagedIdentifierJwkResult\n | ManagedIdentifierKidResult\n | ManagedIdentifierKeyResult\n | ManagedIdentifierCoseKeyResult\n | ManagedIdentifierOID4VCIssuerResult\n )\n\nexport type ManagedIdentifierOptsOrResult = (ManagedIdentifierResult | ManagedIdentifierOpts) & {\n lazyDisabled?: boolean\n}\n","import type { IAgentContext, IDIDManager, IKeyManager, IPluginMethodMap } from '@veramo/core'\nimport type {\n ExternalIdentifierCoseKeyOpts,\n ExternalIdentifierCoseKeyResult,\n ExternalIdentifierDidOpts,\n ExternalIdentifierDidResult,\n ExternalIdentifierJwkOpts,\n ExternalIdentifierJwkResult,\n ExternalIdentifierOIDFEntityIdOpts,\n ExternalIdentifierOIDFEntityIdResult,\n ExternalIdentifierOpts,\n ExternalIdentifierResult,\n ExternalIdentifierX5cOpts,\n ExternalIdentifierX5cResult,\n} from './externalIdentifierTypes'\nimport type {\n ManagedIdentifierCoseKeyOpts,\n ManagedIdentifierCoseKeyResult,\n ManagedIdentifierDidOpts,\n ManagedIdentifierDidResult,\n ManagedIdentifierJwkOpts,\n ManagedIdentifierJwkResult,\n ManagedIdentifierKeyOpts,\n ManagedIdentifierKeyResult,\n ManagedIdentifierKidOpts,\n ManagedIdentifierKidResult,\n ManagedIdentifierOID4VCIssuerOpts,\n ManagedIdentifierOID4VCIssuerResult,\n ManagedIdentifierOptsOrResult,\n ManagedIdentifierResult,\n ManagedIdentifierX5cOpts,\n ManagedIdentifierX5cResult,\n} from './managedIdentifierTypes'\n\n// Exposing the methods here for any REST implementation\nexport const identifierResolutionContextMethods: Array<string> = [\n 'identifierManagedGet',\n 'identifierManagedGetByDid',\n 'identifierManagedGetByKid',\n 'identifierManagedGetByJwk',\n 'identifierManagedGetByX5c',\n 'identifierManagedGetByKey',\n 'identifierManagedGetByOID4VCIssuer',\n 'identifierManagedGetByCoseKey',\n 'identifierExternalResolve',\n 'identifierExternalResolveByDid',\n 'identifierExternalResolveByX5c',\n 'identifierExternalResolveByJwk',\n 'identifierExternalResolveByCoseKey',\n 'identifierExternalResolveByOIDFEntityId',\n]\n\n/**\n * @public\n */\nexport interface IIdentifierResolution extends IPluginMethodMap {\n /**\n * Main method for managed identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\n *\n * The end result of all these methods is a common baseline response that allows to use a key from the registered KMS systems. It also provides kid and iss(uer) values that can be used in a JWT/JWS for instance\n * Allows to get a managed identifier result in case identifier options are passed in, but returns the identifier directly in case results are passed in. This means resolution can have happened before, or happens in this method\n *\n * We use the opts or result type almost everywhere, as it allows for just in time resolution whenever this method is called and afterwards we have the result, so resolution doesn't have to hit the DB, or external endpoints.\n * Also use this method in the local agent, not using REST. If case the identifier needs to be resolved, you can always have the above methods using REST\n * @param args\n * @param context\n * @public\n */\n identifierManagedGet(args: ManagedIdentifierOptsOrResult, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierResult>\n\n identifierManagedGetByDid(args: ManagedIdentifierDidOpts, context: IAgentContext<IKeyManager & IDIDManager>): Promise<ManagedIdentifierDidResult>\n\n identifierManagedGetByKid(args: ManagedIdentifierKidOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierKidResult>\n\n identifierManagedGetByJwk(args: ManagedIdentifierJwkOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierJwkResult>\n\n identifierManagedGetByX5c(args: ManagedIdentifierX5cOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierX5cResult>\n\n identifierManagedGetByKey(args: ManagedIdentifierKeyOpts, context: IAgentContext<IKeyManager>): Promise<ManagedIdentifierKeyResult>\n\n identifierManagedGetByCoseKey(\n args: ManagedIdentifierCoseKeyOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierCoseKeyResult>\n\n identifierManagedGetByOID4VCIssuer(\n args: ManagedIdentifierOID4VCIssuerOpts,\n context: IAgentContext<any>\n ): Promise<ManagedIdentifierOID4VCIssuerResult>\n\n // TODO: We can create a custom managed identifier method allowing developers to register a callback function to get their implementation hooked up. Needs more investigation as it would also impact the KMS\n\n /**\n * Main method for external identifiers. We always go through this method (also the others) as we want to integrate a plugin for anomaly detection. Having a single method helps\n * @param args\n * @param context\n * @public\n */\n identifierExternalResolve(args: ExternalIdentifierOpts, context: IAgentContext<any>): Promise<ExternalIdentifierResult>\n\n identifierExternalResolveByDid(args: ExternalIdentifierDidOpts, context: IAgentContext<any>): Promise<ExternalIdentifierDidResult>\n\n identifierExternalResolveByJwk(args: ExternalIdentifierJwkOpts, context: IAgentContext<any>): Promise<ExternalIdentifierJwkResult>\n\n identifierExternalResolveByCoseKey(args: ExternalIdentifierCoseKeyOpts, context: IAgentContext<any>): Promise<ExternalIdentifierCoseKeyResult>\n\n identifierExternalResolveByX5c(args: ExternalIdentifierX5cOpts, context: IAgentContext<any>): Promise<ExternalIdentifierX5cResult>\n\n identifierExternalResolveByOIDFEntityId(\n args: ExternalIdentifierOIDFEntityIdOpts,\n context: IAgentContext<any>\n ): Promise<ExternalIdentifierOIDFEntityIdResult>\n}\n","import { globalCrypto } from '@sphereon/ssi-sdk-ext.key-utils'\nimport type { IAgentContext, IAgentPlugin, IDIDManager, IKeyManager } from '@veramo/core'\nimport type { ExternalIdentifierOIDFEntityIdOpts, ExternalIdentifierOIDFEntityIdResult } from '../types'\nimport { schema } from '../index'\nimport { resolveExternalIdentifier, ensureManagedIdentifierResult } from '../functions'\nimport type {\n ExternalIdentifierDidOpts,\n ExternalIdentifierDidResult,\n ExternalIdentifierOpts,\n ExternalIdentifierResult,\n ExternalIdentifierX5cOpts,\n ExternalIdentifierX5cResult,\n ExternalIdentifierCoseKeyOpts,\n ExternalIdentifierCoseKeyResult,\n ExternalIdentifierJwkOpts,\n ExternalIdentifierJwkResult,\n IIdentifierResolution,\n ManagedIdentifierCoseKeyOpts,\n ManagedIdentifierCoseKeyResult,\n ManagedIdentifierDidOpts,\n ManagedIdentifierDidResult,\n ManagedIdentifierJwkOpts,\n ManagedIdentifierJwkResult,\n ManagedIdentifierKidOpts,\n ManagedIdentifierKidResult,\n ManagedIdentifierResult,\n ManagedIdentifierX5cOpts,\n ManagedIdentifierX5cResult,\n ManagedIdentifierOID4VCIssuerResult,\n ManagedIdentifierKeyOpts,\n ManagedIdentifierKeyResult,\n ManagedIdentifierOptsOrResult,\n ManagedIdentifierOID4VCIssuerOpts,\n} from '../types'\nimport type { IOIDFClient } from '@sphereon/ssi-sdk.oidf-client'\n\nimport { webcrypto } from 'node:crypto'\n\n/**\n * @public\n */\nexport class IdentifierResolution implements IAgentPlugin {\n readonly _crypto: webcrypto.Crypto\n\n readonly schema = schema.IMnemonicInfoGenerator\n readonly methods: IIdentifierResolution = {\n identifierManagedGet: this.identifierManagedGet.bind(this),\n identifierManagedGetByDid: this.identifierManagedGetByDid.bind(this),\n identifierManagedGetByKid: this.identifierManagedGetByKid.bind(this),\n identifierManagedGetByJwk: this.identifierManagedGetByJwk.bind(this),\n identifierManagedGetByX5c: this.identifierManagedGetByX5c.bind(this),\n identifierManagedGetByKey: this.identifierManagedGetByKey.bind(this),\n identifierManagedGetByCoseKey: this.identifierManagedGetByCoseKey.bind(this),\n identifierManagedGetByOID4VCIssuer: this.identifierManagedGetByOID4VCIssuer.bind(this),\n\n identifierExternalResolve: this.identifierExternalResolve.bind(this),\n identifierExternalResolveByDid: this.identifierExternalResolveByDid.bind(this),\n identifierExternalResolveByX5c: this.identifierExternalResolveByX5c.bind(this),\n identifierExternalResolveByJwk: this.identifierExternalResolveByJwk.bind(this),\n identifierExternalResolveByCoseKey: this.identifierExternalResolveByCoseKey.bind(this),\n identifierExternalResolveByOIDFEntityId: this.identifierExternalResolveByOIDFEntityId.bind(this),\n\n // todo: JWKSet, oidc-discovery, oid4vci-issuer etc. Anything we already can resolve and need keys of\n }\n\n /**\n * TODO: Add a cache, as we are retrieving the same keys/info quite often\n */\n constructor(opts?: { crypto?: webcrypto.Crypto }) {\n this._crypto = globalCrypto(false, opts?.crypto)\n }\n\n /**\n * Main method for managed identifiers. We always go through this method (also the other methods below) as we want to\n * integrate a plugin for anomaly detection. Having a single method helps\n * @param args\n * @param context\n */\n private async identifierManagedGet(\n args: ManagedIdentifierOptsOrResult,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierResult> {\n return await ensureManagedIdentifierResult({ ...args, crypto: this._crypto }, context)\n }\n\n private async identifierManagedGetByDid(\n args: ManagedIdentifierDidOpts,\n context: IAgentContext<IKeyManager & IDIDManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierDidResult> {\n return (await this.identifierManagedGet({ ...args, method: 'did' }, context)) as ManagedIdentifierDidResult\n }\n\n private async identifierManagedGetByKid(\n args: ManagedIdentifierKidOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierKidResult> {\n return (await this.identifierManagedGet({ ...args, method: 'kid' }, context)) as ManagedIdentifierKidResult\n }\n\n private async identifierManagedGetByKey(\n args: ManagedIdentifierKeyOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierKeyResult> {\n return (await this.identifierManagedGet({ ...args, method: 'key' }, context)) as ManagedIdentifierKeyResult\n }\n\n private async identifierManagedGetByCoseKey(\n args: ManagedIdentifierCoseKeyOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierCoseKeyResult> {\n return (await this.identifierManagedGet({ ...args, method: 'cose_key' }, context)) as ManagedIdentifierCoseKeyResult\n }\n\n private async identifierManagedGetByOID4VCIssuer(\n args: ManagedIdentifierOID4VCIssuerOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierOID4VCIssuerResult> {\n return (await this.identifierManagedGet({ ...args, method: 'oid4vci-issuer' }, context)) as ManagedIdentifierOID4VCIssuerResult\n }\n\n private async identifierManagedGetByJwk(\n args: ManagedIdentifierJwkOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierJwkResult> {\n return (await this.identifierManagedGet({ ...args, method: 'jwk' }, context)) as ManagedIdentifierJwkResult\n }\n\n private async identifierManagedGetByX5c(\n args: ManagedIdentifierX5cOpts,\n context: IAgentContext<IKeyManager & IIdentifierResolution>\n ): Promise<ManagedIdentifierX5cResult> {\n return (await this.identifierManagedGet({ ...args, method: 'x5c' }, context)) as ManagedIdentifierX5cResult\n }\n\n private async identifierExternalResolve(\n args: ExternalIdentifierOpts,\n context: IAgentContext<IKeyManager | IOIDFClient>\n ): Promise<ExternalIdentifierResult> {\n return await resolveExternalIdentifier({ ...args, crypto: this._crypto }, context)\n }\n\n private async identifierExternalResolveByDid(args: ExternalIdentifierDidOpts, context: IAgentContext<any>): Promise<ExternalIdentifierDidResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'did' }, context)) as ExternalIdentifierDidResult\n }\n\n private async identifierExternalResolveByX5c(args: ExternalIdentifierX5cOpts, context: IAgentContext<any>): Promise<ExternalIdentifierX5cResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'x5c' }, context)) as ExternalIdentifierX5cResult\n }\n\n private async identifierExternalResolveByCoseKey(\n args: ExternalIdentifierCoseKeyOpts,\n context: IAgentContext<any>\n ): Promise<ExternalIdentifierCoseKeyResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'cose_key' }, context)) as ExternalIdentifierCoseKeyResult\n }\n\n private async identifierExternalResolveByJwk(args: ExternalIdentifierJwkOpts, context: IAgentContext<any>): Promise<ExternalIdentifierJwkResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'jwk' }, context)) as ExternalIdentifierJwkResult\n }\n\n private async identifierExternalResolveByOIDFEntityId(\n args: ExternalIdentifierOIDFEntityIdOpts,\n context: IAgentContext<any>\n ): Promise<ExternalIdentifierOIDFEntityIdResult> {\n return (await this.identifierExternalResolve({ ...args, method: 'entity_id' }, context)) as ExternalIdentifierOIDFEntityIdResult\n }\n}\n","import { getFirstKeyWithRelation } from '@sphereon/ssi-sdk-ext.did-utils'\nimport { calculateJwkThumbprint, coseKeyToJwk, globalCrypto, toJwk } from '@sphereon/ssi-sdk-ext.key-utils'\nimport { pemOrDerToX509Certificate } from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { contextHasDidManager, contextHasKeyManager } from '@sphereon/ssi-sdk.agent-config'\nimport type { ICoseKeyJson, JWK } from '@sphereon/ssi-types'\nimport type { IAgentContext, IIdentifier, IKey, IKeyManager } from '@veramo/core'\nimport { CryptoEngine, setEngine } from 'pkijs'\nimport { webcrypto } from 'node:crypto'\nimport type {\n IIdentifierResolution,\n ManagedIdentifierCoseKeyOpts,\n ManagedIdentifierCoseKeyResult,\n ManagedIdentifierDidOpts,\n ManagedIdentifierDidResult,\n ManagedIdentifierOID4VCIssuerOpts,\n ManagedIdentifierOID4VCIssuerResult,\n ManagedIdentifierJwkOpts,\n ManagedIdentifierJwkResult,\n ManagedIdentifierKeyOpts,\n ManagedIdentifierKeyResult,\n ManagedIdentifierKidOpts,\n ManagedIdentifierKidResult,\n ManagedIdentifierOptsOrResult,\n ManagedIdentifierResult,\n ManagedIdentifierX5cOpts,\n ManagedIdentifierX5cResult,\n} from '../types'\n\nimport {\n isManagedIdentifierCoseKeyOpts,\n isManagedIdentifierDidOpts,\n isManagedIdentifierDidResult,\n isManagedIdentifierOID4VCIssuerOpts,\n isManagedIdentifierJwkOpts,\n isManagedIdentifierJwkResult,\n isManagedIdentifierKeyOpts,\n isManagedIdentifierKeyResult,\n isManagedIdentifierKidOpts,\n isManagedIdentifierX5cOpts,\n} from '../types'\n\nexport async function getManagedKidIdentifier(\n opts: ManagedIdentifierKidOpts,\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierKidResult> {\n const method = 'kid'\n let key: IKey | undefined = undefined\n let issuer: string | undefined = undefined\n let kid: string | undefined = undefined\n if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get Key/JWK identifier if KeyManager plugin is not enabled!`))\n } else if (opts.identifier.startsWith('did:')) {\n const did = opts.identifier.split('#')[0]\n const didIdentifier = await getManagedDidIdentifier({ ...opts, method: 'did', identifier: did }, context)\n key = didIdentifier.key\n issuer = didIdentifier.issuer\n kid = opts?.kid ?? (key.meta?.verificationMethod?.id as string) ?? didIdentifier.kid\n }\n if (!key) {\n key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? opts.identifier })\n }\n const jwk = toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = (key.meta?.jwkThumbprint as string) ?? calculateJwkThumbprint({ jwk })\n if (!kid) {\n kid = opts.kid ?? (key.meta?.verificationMethod?.id as string) ?? key.kid ?? jwkThumbprint\n }\n if (!issuer) {\n issuer = opts.issuer ?? kid // The different identifiers should set the value. Defaults to the kid\n }\n return {\n method,\n key,\n identifier: opts.identifier,\n jwk,\n jwkThumbprint,\n kid,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n issuer,\n kmsKeyRef: key.kid,\n opts,\n } satisfies ManagedIdentifierKidResult\n}\n\nexport function isManagedIdentifierResult(\n identifier: ManagedIdentifierOptsOrResult & {\n crypto?: webcrypto.Crypto\n }\n): identifier is ManagedIdentifierResult {\n return 'key' in identifier && 'kmsKeyRef' in identifier && 'method' in identifier && 'opts' in identifier && 'jwkThumbprint' in identifier\n}\n\n/**\n * Allows to get a managed identifier result in case identifier options are passed in, but returns the identifier directly in case results are passed in. This means resolution can have happened before, or happens in this method\n * @param identifier\n * @param context\n */\nexport async function ensureManagedIdentifierResult(\n identifier: ManagedIdentifierOptsOrResult & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierResult> {\n const { lazyDisabled = false } = identifier\n return !lazyDisabled && isManagedIdentifierResult(identifier) ? identifier : await getManagedIdentifier(identifier, context)\n}\n\n/**\n * This function is just a convenience function to get a common result. The user already apparently had a key, so could have called the kid version as well\n * @param opts\n * @param _context\n */\nexport async function getManagedKeyIdentifier(opts: ManagedIdentifierKeyOpts, _context?: IAgentContext<any>): Promise<ManagedIdentifierKeyResult> {\n const method = 'key'\n const key: IKey = opts.identifier\n if (opts.kmsKeyRef && opts.kmsKeyRef !== key.kid) {\n return Promise.reject(Error(`Cannot get a managed key object by providing a key and a kmsKeyRef that are different.}`))\n }\n const jwk = toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = (key.meta?.jwkThumbprint as string) ?? calculateJwkThumbprint({ jwk })\n const kid = opts.kid ?? (key.meta?.verificationMethod?.id as string) ?? jwkThumbprint\n const issuer = opts.issuer ?? kid // The different identifiers should set the value. Defaults to the kid\n return {\n method,\n key,\n identifier: key,\n jwk,\n jwkThumbprint,\n kid,\n issuer,\n kmsKeyRef: key.kid,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierKeyResult\n}\n\n/**\n * This function is just a convenience function to get a common result. The user already apparently had a key, so could have called the kid version as well\n * @param opts\n * @param context\n */\nexport async function getManagedCoseKeyIdentifier(\n opts: ManagedIdentifierCoseKeyOpts,\n context: IAgentContext<any>\n): Promise<ManagedIdentifierCoseKeyResult> {\n const method = 'cose_key'\n const coseKey: ICoseKeyJson = opts.identifier\n if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get Cose Key identifier if KeyManager plugin is not enabled!`))\n }\n const jwk = coseKeyToJwk(coseKey)\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n const key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? jwkThumbprint })\n const kid = opts.kid ?? coseKey.kid ?? jwkThumbprint\n const issuer = opts.issuer\n return {\n method,\n key,\n identifier: opts.identifier,\n jwk,\n jwkThumbprint,\n kid,\n issuer,\n kmsKeyRef: key.kid,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierCoseKeyResult\n}\n\nexport async function getManagedDidIdentifier(opts: ManagedIdentifierDidOpts, context: IAgentContext<any>): Promise<ManagedIdentifierDidResult> {\n const method = 'did'\n if (!contextHasDidManager(context)) {\n return Promise.reject(Error(`Cannot get DID identifier if DID Manager plugin is not enabled!`))\n }\n\n let identifier: IIdentifier\n if (typeof opts.identifier === 'string') {\n identifier = await context.agent.didManagerGet({ did: opts.identifier.split('#')[0] })\n } else {\n identifier = opts.identifier\n }\n\n const did = identifier.did\n const keys = identifier?.keys // fixme: We really want to return the vmRelationship keys here actually\n const extendedKey = await getFirstKeyWithRelation(\n {\n ...opts,\n identifier,\n vmRelationship: opts.vmRelationship ?? 'verificationMethod',\n },\n context\n )\n const key = extendedKey\n const controllerKeyId = identifier.controllerKeyId\n const jwk = toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = key.meta?.jwkThumbprint ?? calculateJwkThumbprint({ jwk })\n let kid = opts.kid ?? extendedKey.meta?.verificationMethod?.id\n if (!kid.startsWith(did)) {\n // Make sure we create a fully qualified kid\n const hash = kid.startsWith('#') ? '' : '#'\n kid = `${did}${hash}${kid}`\n }\n const issuer = opts.issuer ?? did\n return {\n method,\n key,\n did,\n kmsKeyRef: key.kid,\n jwk,\n jwkThumbprint,\n controllerKeyId,\n kid,\n keys,\n issuer,\n identifier,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n }\n}\n\nexport async function getManagedJwkIdentifier(\n opts: ManagedIdentifierJwkOpts,\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierJwkResult> {\n const method = 'jwk'\n const { kid, issuer } = opts\n if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get Key/JWK identifier if KeyManager plugin is not enabled!`))\n }\n const key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? calculateJwkThumbprint({ jwk: opts.identifier }) })\n const jwk = opts.identifier ?? toJwk(key.publicKeyHex, key.type, { key })\n const jwkThumbprint = (key.meta?.jwkThumbprint as string) ?? calculateJwkThumbprint({ jwk })\n // we explicitly do not set the kid and issuer, meaning it can remain null. Normally you do not provide a kid and issuer with Jwks.\n return {\n method,\n key,\n kmsKeyRef: key.kid,\n identifier: jwk,\n jwk,\n jwkThumbprint,\n kid,\n issuer,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierJwkResult\n}\n\nexport async function getManagedX5cIdentifier(\n opts: ManagedIdentifierX5cOpts & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierX5cResult> {\n const { kid, issuer } = opts\n const method = 'x5c'\n const x5c = opts.identifier\n if (x5c.length === 0) {\n return Promise.reject(`Cannot resolve x5c when an empty x5c is passed in`)\n } else if (!contextHasKeyManager(context)) {\n return Promise.reject(Error(`Cannot get X5c identifier if KeyManager plugin is not enabled!`))\n }\n const cryptoImpl = globalCrypto(false, opts.crypto)\n const certificate = pemOrDerToX509Certificate(x5c[0])\n const cryptoEngine = new CryptoEngine({ name: 'identifier_resolver_managed', crypto: cryptoImpl })\n setEngine(cryptoEngine.name, cryptoEngine)\n const pk = await certificate.getPublicKey(undefined, cryptoEngine)\n const jwk = (await cryptoEngine.subtle.exportKey('jwk', pk)) as JWK\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n const key = await context.agent.keyManagerGet({ kid: opts.kmsKeyRef ?? jwkThumbprint })\n // we explicitly do not set the kid and issuer, meaning it can remain null. Normally you do not provide a kid and issuer with x5c.\n\n return {\n method,\n x5c,\n identifier: x5c,\n certificate,\n jwk,\n jwkThumbprint,\n key,\n kmsKeyRef: key.kid,\n kid,\n issuer,\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierX5cResult\n}\n\nexport async function getManagedOID4VCIssuerIdentifier(\n opts: ManagedIdentifierOID4VCIssuerOpts,\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierOID4VCIssuerResult> {\n const { identifier } = opts\n const method = 'oid4vci-issuer'\n // FIXME: We need to eventually determine the JWK based on the issuer. Using a dummy JWK for now\n const jwk = {\n kty: 'RSA',\n kid: 'dummy-jwk-for-vci-issuer-signing',\n use: 'sig',\n n: 'pjdss8ZaDfEH6K6U7GeW2nxDqR4IP049fk1fK0lndimbMMVBdPv_hSpm8T8EtBDxrUdi1OHZfMhUixGaut-3nQ4GG9nM249oxhCtxqqNvEXrmQRGqczyLxuh-fKn9Fg--hS9UpazHpfVAFnB5aCfXoNhPuI8oByyFKMKaOVgHNqP5NBEqabiLftZD3W_lsFCPGuzr4Vp0YS7zS2hDYScC2oOMu4rGU1LcMZf39p3153Cq7bS2Xh6Y-vw5pwzFYZdjQxDn8x8BG3fJ6j8TGLXQsbKH1218_HcUJRvMwdpbUQG5nvA2GXVqLqdwp054Lzk9_B_f1lVrmOKuHjTNHq48w',\n e: 'AQAB',\n d: 'ksDmucdMJXkFGZxiomNHnroOZxe8AmDLDGO1vhs-POa5PZM7mtUPonxwjVmthmpbZzla-kg55OFfO7YcXhg-Hm2OWTKwm73_rLh3JavaHjvBqsVKuorX3V3RYkSro6HyYIzFJ1Ek7sLxbjDRcDOj4ievSX0oN9l-JZhaDYlPlci5uJsoqro_YrE0PRRWVhtGynd-_aWgQv1YzkfZuMD-hJtDi1Im2humOWxA4eZrFs9eG-whXcOvaSwO4sSGbS99ecQZHM2TcdXeAs1PvjVgQ_dKnZlGN3lTWoWfQP55Z7Tgt8Nf1q4ZAKd-NlMe-7iqCFfsnFwXjSiaOa2CRGZn-Q',\n p: '4A5nU4ahEww7B65yuzmGeCUUi8ikWzv1C81pSyUKvKzu8CX41hp9J6oRaLGesKImYiuVQK47FhZ--wwfpRwHvSxtNU9qXb8ewo-BvadyO1eVrIk4tNV543QlSe7pQAoJGkxCia5rfznAE3InKF4JvIlchyqs0RQ8wx7lULqwnn0',\n q: 'ven83GM6SfrmO-TBHbjTk6JhP_3CMsIvmSdo4KrbQNvp4vHO3w1_0zJ3URkmkYGhz2tgPlfd7v1l2I6QkIh4Bumdj6FyFZEBpxjE4MpfdNVcNINvVj87cLyTRmIcaGxmfylY7QErP8GFA-k4UoH_eQmGKGK44TRzYj5hZYGWIC8',\n dp: 'lmmU_AG5SGxBhJqb8wxfNXDPJjf__i92BgJT2Vp4pskBbr5PGoyV0HbfUQVMnw977RONEurkR6O6gxZUeCclGt4kQlGZ-m0_XSWx13v9t9DIbheAtgVJ2mQyVDvK4m7aRYlEceFh0PsX8vYDS5o1txgPwb3oXkPTtrmbAGMUBpE',\n dq: 'mxRTU3QDyR2EnCv0Nl0TCF90oliJGAHR9HJmBe__EjuCBbwHfcT8OG3hWOv8vpzokQPRl5cQt3NckzX3fs6xlJN4Ai2Hh2zduKFVQ2p-AF2p6Yfahscjtq-GY9cB85NxLy2IXCC0PF--Sq9LOrTE9QV988SJy_yUrAjcZ5MmECk',\n qi: 'ldHXIrEmMZVaNwGzDF9WG8sHj2mOZmQpw9yrjLK9hAsmsNr5LTyqWAqJIYZSwPTYWhY4nu2O0EY9G9uYiqewXfCKw_UngrJt8Xwfq1Zruz0YY869zPN4GiE9-9rzdZB33RBw8kIOquY3MK74FMwCihYx_LiU2YTHkaoJ3ncvtvg',\n } as JWK\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n\n const key = {\n kid: 'dummy-key-for-vci-issuer-signing',\n kms: 'local',\n type: 'RSA',\n publicKeyHex: '9a3f75b2e4d8b91128fc6e9a8f6782e5a4f1cba3718e58b5d0a789d6e5f52b3a',\n } as IKey\n\n return {\n method,\n identifier,\n jwk,\n jwkThumbprint,\n key, // FIXME: We need construct a key as soon as we have the external VCI Issuer resolution\n kmsKeyRef: identifier, // FIXME: We need use kmsKeyRef as soon as we have the external VCI Issuer resolution\n issuer: identifier.replace('/.well-known/openid-credential-issuer', ''),\n clientId: opts.clientId,\n clientIdScheme: opts.clientIdScheme,\n opts,\n } satisfies ManagedIdentifierOID4VCIssuerResult\n}\n\nexport async function getManagedIdentifier(\n opts: ManagedIdentifierOptsOrResult & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IKeyManager>\n): Promise<ManagedIdentifierResult> {\n let resolutionResult: ManagedIdentifierResult\n if (isManagedIdentifierResult(opts)) {\n opts\n }\n if (isManagedIdentifierKidOpts(opts)) {\n resolutionResult = await getManagedKidIdentifier(opts, context)\n } else if (isManagedIdentifierDidOpts(opts)) {\n resolutionResult = await getManagedDidIdentifier(opts, context)\n } else if (isManagedIdentifierJwkOpts(opts)) {\n resolutionResult = await getManagedJwkIdentifier(opts, context)\n } else if (isManagedIdentifierX5cOpts(opts)) {\n resolutionResult = await getManagedX5cIdentifier(opts, context)\n } else if (isManagedIdentifierKeyOpts(opts)) {\n resolutionResult = await getManagedKeyIdentifier(opts, context)\n } else if (isManagedIdentifierCoseKeyOpts(opts)) {\n resolutionResult = await getManagedCoseKeyIdentifier(opts, context)\n } else if (isManagedIdentifierOID4VCIssuerOpts(opts)) {\n resolutionResult = await getManagedOID4VCIssuerIdentifier(opts, context)\n } else {\n return Promise.reject(Error(`Could not determine identifier method. Please provide explicitly`))\n }\n const { key } = resolutionResult\n if (\n (!key && !isManagedIdentifierOID4VCIssuerOpts(opts)) ||\n (isManagedIdentifierDidOpts(opts) && isManagedIdentifierDidResult(resolutionResult) && !resolutionResult.identifier)\n ) {\n console.log(`Cannot find identifier`, opts.identifier)\n return Promise.reject(`Cannot find identifier ${opts.identifier}`)\n }\n return resolutionResult\n}\n\nexport async function managedIdentifierToKeyResult(\n identifier: ManagedIdentifierOptsOrResult,\n context: IAgentContext<IIdentifierResolution & IKeyManager>\n): Promise<ManagedIdentifierKeyResult> {\n const resolved = await ensureManagedIdentifierResult(identifier, context)\n if (isManagedIdentifierKeyResult(resolved)) {\n return resolved\n }\n\n return {\n ...resolved,\n method: 'key',\n identifier: resolved.key,\n } satisfies ManagedIdentifierKeyResult\n}\n\nexport async function managedIdentifierToJwk(\n identifier: ManagedIdentifierOptsOrResult,\n context: IAgentContext<IIdentifierResolution & IKeyManager>\n): Promise<ManagedIdentifierJwkResult> {\n const resolved = await ensureManagedIdentifierResult(identifier, context)\n if (isManagedIdentifierJwkResult(resolved)) {\n return resolved\n }\n return {\n ...resolved,\n method: 'jwk',\n identifier: resolved.jwk,\n } satisfies ManagedIdentifierJwkResult\n}\n","import { didDocumentToJwks, getAgentResolver, jwkTtoPublicKeyHex } from '@sphereon/ssi-sdk-ext.did-utils'\nimport { calculateJwkThumbprint, coseKeyToJwk, globalCrypto } from '@sphereon/ssi-sdk-ext.key-utils'\nimport {\n getSubjectDN,\n pemOrDerToX509Certificate,\n PEMToDer,\n validateX509CertificateChain,\n type X509ValidationResult,\n} from '@sphereon/ssi-sdk-ext.x509-utils'\nimport { contextHasPlugin } from '@sphereon/ssi-sdk.agent-config'\nimport { type IParsedDID, type JWK, parseDid } from '@sphereon/ssi-types'\nimport type { IAgentContext, IDIDManager, IResolver } from '@veramo/core'\nimport { isDefined } from '@veramo/utils'\nimport { CryptoEngine, setEngine } from 'pkijs'\nimport type {\n ExternalIdentifierCoseKeyOpts,\n ExternalIdentifierCoseKeyResult,\n ExternalIdentifierDidOpts,\n ExternalIdentifierDidResult,\n ExternalIdentifierJwkOpts,\n ExternalIdentifierJwkResult,\n ExternalIdentifierMethod,\n ExternalIdentifierOpts,\n ExternalIdentifierResult,\n ExternalIdentifierX5cOpts,\n ExternalIdentifierX5cResult,\n ExternalJwkInfo\n} from '../types'\nimport {\n isExternalIdentifierCoseKeyOpts,\n isExternalIdentifierDidOpts,\n isExternalIdentifierJwkOpts,\n isExternalIdentifierJwksUrlOpts,\n isExternalIdentifierKidOpts,\n isExternalIdentifierOidcDiscoveryOpts,\n isExternalIdentifierOIDFEntityIdOpts,\n isExternalIdentifierX5cOpts,\n} from '../types'\nimport { resolveExternalOIDFEntityIdIdentifier } from '.'\n\nimport { webcrypto } from 'node:crypto'\nexport async function resolveExternalIdentifier(\n opts: ExternalIdentifierOpts & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<any>\n): Promise<ExternalIdentifierResult> {\n let method: ExternalIdentifierMethod | undefined\n if (isExternalIdentifierDidOpts(opts)) {\n return resolveExternalDidIdentifier(opts, context)\n } else if (isExternalIdentifierX5cOpts(opts)) {\n return resolveExternalX5cIdentifier(opts, context)\n } else if (isExternalIdentifierJwkOpts(opts)) {\n return resolveExternalJwkIdentifier(opts, context)\n } else if (isExternalIdentifierCoseKeyOpts(opts)) {\n return resolveExternalCoseKeyIdentifier(opts, context)\n } else if (isExternalIdentifierOIDFEntityIdOpts(opts)) {\n return resolveExternalOIDFEntityIdIdentifier(opts, context)\n } else if (isExternalIdentifierKidOpts(opts)) {\n method = 'kid'\n } else if (isExternalIdentifierJwksUrlOpts(opts)) {\n method = 'jwks-url'\n } else if (isExternalIdentifierOidcDiscoveryOpts(opts)) {\n method = 'oidc-discovery'\n }\n throw Error(`External resolution method ${method} is not yet implemented`)\n}\n\nexport async function resolveExternalX5cIdentifier(\n opts: ExternalIdentifierX5cOpts & {\n crypto?: webcrypto.Crypto\n },\n context: IAgentContext<IResolver & IDIDManager>\n): Promise<ExternalIdentifierX5cResult> {\n if (!isExternalIdentifierX5cOpts(opts)) {\n return Promise.reject('External x5c Identifier args need to be provided')\n }\n const verify = opts.verify ?? true\n const x5c = opts.identifier.map((derOrPem) => (derOrPem.includes('CERTIFICATE') ? PEMToDer(derOrPem) : derOrPem))\n if (x5c.length === 0) {\n return Promise.reject('Empty certification chain is not allowed')\n }\n const certificates = x5c.map(pemOrDerToX509Certificate)\n\n let verificationResult: X509ValidationResult | undefined\n let issuerJWK: JWK | undefined\n let jwks: ExternalJwkInfo[] = []\n\n if (verify) {\n // We use the agent plugin if it is available as that is more powerful, but revert to the function otherwise\n if (contextHasPlugin(context, 'verifyCertificateChain')) {\n verificationResult = (await context.agent.verifyCertificateChain({\n chain: opts.identifier,\n trustAnchors: opts.trustAnchors ?? [],\n verificationTime: opts.verificationTime,\n })) as X509ValidationResult // We need to cast, as we know this is the value and we do not want to rely on the x509 plugin perse\n } else {\n verificationResult = await validateX509CertificateChain({\n chain: opts.identifier,\n trustAnchors: opts.trustAnchors ?? [],\n verificationTime: opts.verificationTime,\n opts,\n })\n }\n if (verificationResult.certificateChain) {\n jwks = verificationResult.certificateChain.map((cert) => {\n return {\n jwk: cert.publicKeyJWK,\n kid: cert.subject.dn.DN,\n jwkThumbprint: calculateJwkThumbprint({ jwk: cert.publicKeyJWK }),\n publicKeyHex: jwkTtoPublicKeyHex(cert.publicKeyJWK),\n } satisfies ExternalJwkInfo\n })\n }\n }\n if (!jwks || jwks.length === 0) {\n const cryptoEngine = new CryptoEngine({\n name: 'identifier_resolver_external',\n crypto: globalCrypto(false, opts.crypto),\n })\n setEngine(cryptoEngine.name, cryptoEngine)\n jwks = await Promise.all(\n certificates.map(async (cert) => {\n const pk = await cert.getPublicKey(undefined, cryptoEngine)\n const jwk = (await cryptoEngine.exportKey('jwk', pk)) as JWK\n return {\n jwk,\n kid: getSubjectDN(cert).DN,\n jwkThumbprint: calculateJwkThumbprint({ jwk }),\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n } satisfies ExternalJwkInfo\n })\n )\n }\n if (jwks.length === 0) {\n return Promise.reject('Empty certification chain is now allowed')\n }\n if (!issuerJWK) {\n issuerJWK = jwks[0].jwk\n }\n\n return {\n method: 'x5c',\n verificationResult,\n issuerJWK,\n jwks,\n certificates,\n x5c,\n }\n}\n\n/**\n * Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated\n * @param opts\n * @param context\n */\nexport async function resolveExternalJwkIdentifier(\n opts: ExternalIdentifierJwkOpts & {\n x5c?: ExternalIdentifierX5cOpts\n },\n context: IAgentContext<any>\n): Promise<ExternalIdentifierJwkResult> {\n if (!isExternalIdentifierJwkOpts(opts)) {\n return Promise.reject('External JWK Identifier args need to be provided')\n }\n const jwk = opts.identifier\n let x5c: ExternalIdentifierX5cResult | undefined = undefined\n if (jwk.x5c) {\n x5c = await resolveExternalX5cIdentifier({ ...opts.x5c, identifier: jwk.x5c }, context)\n }\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n return {\n method: 'jwk',\n jwk,\n jwks: [\n {\n jwk,\n jwkThumbprint,\n kid: jwk.kid,\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n },\n ],\n x5c,\n } satisfies ExternalIdentifierJwkResult\n}\n\n/**\n * Resolves a JWK. Normally this is just returning the JWK, but in case the JWK contains a x5c the chain is validated\n * @param opts\n * @param context\n */\nexport async function resolveExternalCoseKeyIdentifier(\n opts: ExternalIdentifierCoseKeyOpts & {\n x5c?: ExternalIdentifierX5cOpts\n },\n context: IAgentContext<any>\n): Promise<ExternalIdentifierCoseKeyResult> {\n if (!isExternalIdentifierCoseKeyOpts(opts)) {\n return Promise.reject('External Cose Key args need to be provided')\n }\n // TODO: We need to do cbor conversion here as well.\n const coseKey = opts.identifier\n let x5c: ExternalIdentifierX5cResult | undefined = undefined\n if (coseKey.x5chain) {\n x5c = await resolveExternalX5cIdentifier({ ...opts.x5c, identifier: coseKey.x5chain }, context)\n }\n const jwk = coseKeyToJwk(coseKey)\n const jwkThumbprint = calculateJwkThumbprint({ jwk })\n return {\n method: 'cose_key',\n coseKey,\n jwks: [\n {\n jwk,\n jwkThumbprint,\n kid: coseKey.kid,\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n },\n ],\n x5c,\n } satisfies ExternalIdentifierCoseKeyResult\n}\n\nexport async function resolveExternalDidIdentifier(\n opts: ExternalIdentifierDidOpts,\n context: IAgentContext<IResolver & IDIDManager>\n): Promise<ExternalIdentifierDidResult> {\n if (!isExternalIdentifierDidOpts(opts)) {\n return Promise.reject('External DID Identifier args need to be provided')\n } else if (!contextHasPlugin<IResolver & IDIDManager>(context, 'resolveDid')) {\n return Promise.reject(Error(`Cannot get external DID identifier if DID resolver plugin is not enabled!`))\n }\n const { uniresolverResolution = false, localResolution = true, resolverResolution = true } = opts\n const did = opts.identifier\n let parsed: IParsedDID\n try {\n parsed = parseDid(did)\n } catch (error: unknown) {\n // Error from did resolution spec\n return Promise.reject(error)\n }\n const didParsed = parsed\n const didResolutionResult = await getAgentResolver(context, {\n uniresolverResolution,\n localResolution,\n resolverResolution,\n }).resolve(did)\n const didDocument = didResolutionResult.didDocument ?? undefined\n const didJwks = didDocument ? didDocumentToJwks(didDocument) : undefined\n const jwks = didJwks\n ? Array.from(\n new Set(\n Array.from(\n Object.values(didJwks)\n .filter((jwks) => isDefined(jwks) && jwks.length > 0)\n .flatMap((jwks) => jwks)\n )\n .flatMap((jwk) => {\n return {\n jwk,\n jwkThumbprint: calculateJwkThumbprint({ jwk }),\n kid: jwk.kid,\n publicKeyHex: jwkTtoPublicKeyHex(jwk),\n }\n })\n .map((jwk) => JSON.stringify(jwk))\n )\n ).map((jwks) => JSON.parse(jwks))\n : []\n\n if (didResolutionResult?.didDocument) {\n // @ts-ignore // Mandatory on the original object, but we already provide it directly\n delete didResolutionResult['didDocument']\n }\n return {\n method: 'did',\n did,\n jwks,\n didJwks,\n didDocument,\n didResolutionResult,\n didParsed,\n }\n}\n","import type { ErrorMessage, ExternalIdentifierOIDFEntityIdOpts, ExternalIdentifierOIDFEntityIdResult, ExternalJwkInfo, TrustedAnchor } from '../types'\nimport type { IAgentContext } from '@veramo/core'\nimport type { IOIDFClient } from '@sphereon/ssi-sdk.oidf-client'\nimport { contextHasPlugin } from '@sphereon/ssi-sdk.agent-config'\nimport type { IJwsValidationResult, JwsPayload } from '../types/IJwtService'\n// @ts-ignore\nimport * as u8a from 'uint8arrays'\nconst { fromString, toString } = u8a\n/**\n * Resolves an OIDF Entity ID against multiple trust anchors to establish trusted relationships\n *\n * @param opts Configuration options containing the identifier to resolve and trust anchors to validate against\n * @param context Agent context that must include the OIDF client plugin and JWT verification capabilities\n *\n * @returns Promise resolving to an ExternalIdentifierOIDFEntityIdResult containing:\n * - trustedAnchors: Record mapping trust anchors to their public key hexes\n * - errorList: Optional record of errors encountered per trust anchor\n * - jwks: Array of JWK information from the trust chain\n * - trustEstablished: Boolean indicating if any trust relationships were established\n *\n * @throws Error if trust anchors are missing or JWT verification plugin is not enabled\n */\nexport async function resolveExternalOIDFEntityIdIdentifier(\n opts: ExternalIdentifierOIDFEntityIdOpts,\n context: IAgentContext<IOIDFClient>\n): Promise<ExternalIdentifierOIDFEntityIdResult> {\n let { trustAnchors, identifier } = opts\n\n if (!trustAnchors || trustAnchors.length === 0) {\n return Promise.reject(Error('ExternalIdentifierOIDFEntityIdOpts is missing the trustAnchors'))\n }\n\n if (!contextHasPlugin(context, 'jwtVerifyJwsSignature')) {\n return Promise.reject(Error('For OIDFEntityId resolving the agent needs to have the JwtService plugin enabled'))\n }\n\n const trustedAnchors: Set<TrustedAnchor> = new Set<TrustedAnchor>()\n const errorList: Record<TrustedAnchor, ErrorMessage> = {}\n const jwkInfos: Array<ExternalJwkInfo> = []\n\n let payload: JwsPayload | undefined\n for (const trustAnchor of trustAnchors) {\n const resolveResult = await context.agent.resolveTrustChain({\n entityIdentifier: identifier,\n trustAnchors: [trustAnchor],\n })\n\n if (resolveResult.errorMessage || !resolveResult.trustChain) {\n errorList[trustAnchor] = resolveResult.errorMessage ?? 'unspecified'\n } else {\n const trustChain = resolveResult.trustChain\n if (trustChain.length === 0) {\n errorList[trustAnchor] = 'Trust chain is empty'\n continue\n }\n\n const jwt = trustChain[0]\n const jwtVerifyResult: IJwsValidationResult = await context.agent.jwtVerifyJwsSignature({ jws: jwt })\n\n if (jwtVerifyResult.error || jwtVerifyResult.critical) {\n errorList[trustAnchor] = jwtVerifyResult.message\n continue\n }\n\n if (jwtVerifyResult.jws.signatures.length === 0) {\n errorList[trustAnchor] = 'No signature was present in the trust anchor JWS'\n continue\n }\n\n payload = JSON.parse(toString(fromString(jwtVerifyResult.jws.payload, 'base64url')))\n const signature = jwtVerifyResult.jws.signatures[0]\n if (signature.identifier.jwks.length === 0) {\n errorList[trustAnchor] = 'No JWK was present in the trust anchor signature'\n continue\n }\n\n if (jwkInfos.length === 0) {\n // We need the entity JWK only once\n jwkInfos.push(...signature.identifier.jwks)\n }\n trustedAnchors.add(trustAnchor)\n }\n }\n\n return {\n method: 'entity_id',\n trustedAnchors: Array.from(trustedAnchors),\n ...(Object.keys(errorList).length > 0 && { errorList }),\n jwks: jwkInfos,\n jwtPayload: payload,\n trustEstablished: trustedAnchors.size > 0,\n }\n}\n","import type { IIdentifier } from '@veramo/core'\nimport type { ManagedIdentifierDidOpts, ManagedIdentifierOptsOrResult } from '../types'\n\n/**\n * Converts legacy id opts key refs to the new ManagedIdentifierOpts\n * @param opts\n */\nexport function legacyKeyRefsToIdentifierOpts(opts: {\n idOpts?: ManagedIdentifierOptsOrResult\n iss?: string\n keyRef?: string\n didOpts?: any\n}): ManagedIdentifierOptsOrResult {\n if (!opts.idOpts) {\n console.warn(\n `Legacy idOpts being used. Support will be dropped in the future. Consider switching to the idOpts, to have support for DIDs, JWKS, x5c etc. See https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/feature/multi_identifier_support/packages/identifier-resolution`\n )\n // legacy way\n let kmsKeyRef =\n opts.keyRef ??\n opts.didOpts?.idOpts?.kmsKeyRef ??\n opts.didOpts?.kid ??\n opts.didOpts?.idOpts?.kid ??\n (typeof opts.didOpts?.idOpts?.identifier === 'object' ? (opts.didOpts.idOpts.identifier as IIdentifier).keys[0].kid : undefined)\n if (!kmsKeyRef) {\n throw Error('Key ref is needed for access token signer')\n }\n let identifier = (opts.didOpts?.identifier ?? opts.didOpts?.idOpts?.identifier) as IIdentifier | undefined\n\n return {\n kmsKeyRef: opts.keyRef ?? kmsKeyRef,\n identifier: identifier ?? kmsKeyRef,\n issuer: opts.iss,\n } satisfies ManagedIdentifierDidOpts\n } else {\n const idOpts = opts.idOpts\n if (opts.keyRef && !idOpts.kmsKeyRef) {\n // legacy way\n console.warn(\n `Legacy keyRef being used. Support will be dropped in the future. Consider switching to the idOpts, to have support for DIDs, JWKS, x5c etc. See https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/feature/multi_identifier_support/packages/identifier-resolution`\n )\n idOpts.kmsKeyRef = opts.keyRef\n }\n if (opts.iss && !idOpts.issuer) {\n // legacy way\n console.warn(\n `Legacy iss being used. Support will be dropped in the future. Consider switching to the idOpts, to have support for DIDs, JWKS, x5c etc. See https://github.com/Sphereon-Opensource/SSI-SDK-crypto-extensions/tree/feature/multi_identifier_support/packages/identifier-resolution`\n )\n idOpts.issuer = opts.iss\n }\n\n return idOpts\n }\n}\n"],"mappings":"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","names":["module","isDidIdentifier","identifier","isIIdentifier","startsWith","Array","isArray","isJwkIdentifier","isOidcDiscoveryIdentifier","endsWith","isJwksUrlIdentifier","isKidIdentifier","isOID4VCIssuerIdentifier","isKeyIdentifier","isCoseKeyIdentifier","isOIDFEntityIdIdentifier","isX5cIdentifier","length","isExternalIdentifierDidOpts","opts","identifier","method","isDidIdentifier","isExternalIdentifierKidOpts","isKidIdentifier","isExternalIdentifierJwkOpts","isJwkIdentifier","isExternalIdentifierCoseKeyOpts","isCoseKeyIdentifier","isExternalIdentifierOidcDiscoveryOpts","isOidcDiscoveryIdentifier","isExternalIdentifierJwksUrlOpts","isJwksUrlIdentifier","isExternalIdentifierOIDFEntityIdOpts","isOIDFEntityIdIdentifier","isExternalIdentifierX5cOpts","isX5cIdentifier","isManagedIdentifierDidOpts","opts","identifier","method","isDidIdentifier","isManagedIdentifierKidOpts","isKidIdentifier","isManagedIdentifierKeyOpts","isKeyIdentifier","isManagedIdentifierCoseKeyOpts","isCoseKeyIdentifier","isManagedIdentifierOID4VCIssuerOpts","isOID4VCIssuerIdentifier","isManagedIdentifierJwkOpts","isJwkIdentifier","isManagedIdentifierX5cOpts","isX5cIdentifier","isManagedIdentifierCoseKeyResult","object","isManagedIdentifierDidResult","isManagedIdentifierX5cResult","isManagedIdentifierJwkResult","isManagedIdentifierKidResult","isManagedIdentifierKeyResult","identifierResolutionContextMethods","import_ssi_sdk_ext","import_ssi_sdk_ext","getManagedKidIdentifier","opts","context","method","key","undefined","issuer","kid","contextHasKeyManager","Promise","reject","Error","identifier","startsWith","did","split","didIdentifier","getManagedDidIdentifier","meta","verificationMethod","id","agent","keyManagerGet","kmsKeyRef","jwk","toJwk","publicKeyHex","type","jwkThumbprint","calculateJwkThumbprint","clientId","clientIdScheme","isManagedIdentifierResult","ensureManagedIdentifierResult","lazyDisabled","getManagedIdentifier","getManagedKeyIdentifier","_context","getManagedCoseKeyIdentifier","coseKey","coseKeyToJwk","contextHasDidManager","didManagerGet","keys","extendedKey","getFirstKeyWithRelation","vmRelationship","controllerKeyId","hash","getManagedJwkIdentifier","getManagedX5cIdentifier","x5c","length","cryptoImpl","globalCrypto","crypto","certificate","pemOrDerToX509Certificate","cryptoEngine","CryptoEngine","name","setEngine","pk","getPublicKey","subtle","exportKey","getManagedOID4VCIssuerIdentifier","kty","use","n","e","d","p","q","dp","dq","qi","kms","replace","resolutionResult","isManagedIdentifierKidOpts","isManagedIdentifierDidOpts","isManagedIdentifierJwkOpts","isManagedIdentifierX5cOpts","isManagedIdentifierKeyOpts","isManagedIdentifierCoseKeyOpts","isManagedIdentifierOID4VCIssuerOpts","isManagedIdentifierDidResult","console","log","managedIdentifierToKeyResult","resolved","isManagedIdentifierKeyResult","managedIdentifierToJwk","isManagedIdentifierJwkResult","import_ssi_sdk_ext","import_ssi_sdk","import_pkijs","resolveExternalIdentifier","opts","context","method","isExternalIdentifierDidOpts","resolveExternalDidIdentifier","isExternalIdentifierX5cOpts","resolveExternalX5cIdentifier","isExternalIdentifierJwkOpts","resolveExternalJwkIdentifier","isExternalIdentifierCoseKeyOpts","resolveExternalCoseKeyIdentifier","isExternalIdentifierOIDFEntityIdOpts","resolveExternalOIDFEntityIdIdentifier","isExternalIdentifierKidOpts","isExternalIdentifierJwksUrlOpts","isExternalIdentifierOidcDiscoveryOpts","Error","Promise","reject","verify","x5c","identifier","map","derOrPem","includes","PEMToDer","length","certificates","pemOrDerToX509Certificate","verificationResult","issuerJWK","jwks","contextHasPlugin","agent","verifyCertificateChain","chain","trustAnchors","verificationTime","validateX509CertificateChain","certificateChain","cert","jwk","publicKeyJWK","kid","subject","dn","DN","jwkThumbprint","calculateJwkThumbprint","publicKeyHex","jwkTtoPublicKeyHex","cryptoEngine","CryptoEngine","name","crypto","globalCrypto","setEngine","all","pk","getPublicKey","undefined","exportKey","getSubjectDN","coseKey","x5chain","coseKeyToJwk","uniresolverResolution","localResolution","resolverResolution","did","parsed","parseDid","error","didParsed","didResolutionResult","getAgentResolver","resolve","didDocument","didJwks","didDocumentToJwks","Array","from","Set","Object","values","filter","isDefined","flatMap","JSON","stringify","parse","import_ssi_sdk","fromString","toString","u8a","resolveExternalOIDFEntityIdIdentifier","opts","context","trustAnchors","identifier","length","Promise","reject","Error","contextHasPlugin","trustedAnchors","Set","errorList","jwkInfos","payload","trustAnchor","resolveResult","agent","resolveTrustChain","entityIdentifier","errorMessage","trustChain","jwt","jwtVerifyResult","jwtVerifyJwsSignature","jws","error","critical","message","signatures","JSON","parse","signature","jwks","push","add","method","Array","from","Object","keys","jwtPayload","trustEstablished","size","legacyKeyRefsToIdentifierOpts","opts","idOpts","console","warn","kmsKeyRef","keyRef","didOpts","kid","identifier","keys","undefined","Error","issuer","iss","IdentifierResolution","_crypto","schema","IMnemonicInfoGenerator","methods","identifierManagedGet","bind","identifierManagedGetByDid","identifierManagedGetByKid","identifierManagedGetByJwk","identifierManagedGetByX5c","identifierManagedGetByKey","identifierManagedGetByCoseKey","identifierManagedGetByOID4VCIssuer","identifierExternalResolve","identifierExternalResolveByDid","identifierExternalResolveByX5c","identifierExternalResolveByJwk","identifierExternalResolveByCoseKey","identifierExternalResolveByOIDFEntityId","constructor","opts","globalCrypto","crypto","args","context","ensureManagedIdentifierResult","method","resolveExternalIdentifier","schema","require"]}
|