UNPKG

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

Version:

1 lines 623 kB
{"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\