@sphereon/ssi-sdk.kms-rest-client 0.34.1-feature.IDK.11.49 → 0.34.1-feature.IDK.11.50

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.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../plugin.schema.json","../src/agent/KmsRestClient.ts","../src/models/CoseKeyType.ts","../src/models/CoseKey.ts","../src/models/CoseKeyPair.ts","../src/models/KeyProviderType.ts","../src/models/KeyType.ts","../src/models/KeyVisibility.ts","../src/models/SignatureAlgorithm.ts","../src/models/KeyEncoding.ts","../src/models/Curve.ts","../src/models/KeyOperations.ts","../src/models/JwkUse.ts","../src/models/JwkKeyType.ts","../src/models/Jwk.ts","../src/models/KeyInfo.ts","../src/models/CreateRawSignature.ts","../src/models/CreateRawSignatureResponse.ts","../src/models/GenerateKey.ts","../src/models/GenerateKeyGlobal.ts","../src/models/JoseKeyPair.ts","../src/models/ManagedKeyPair.ts","../src/models/ManagedKeyInfo.ts","../src/models/IdentifierMethod.ts","../src/models/KeyProvider.ts","../src/models/KeyProviderResponse.ts","../src/models/ListKeyProvidersResponse.ts","../src/models/ListKeysResponse.ts","../src/models/Resolver.ts","../src/models/ListResolversResponse.ts","../src/models/ResolvePublicKey.ts","../src/models/ResolvedKeyInfo.ts","../src/models/StoreKey.ts","../src/models/VerifyRawSignature.ts","../src/models/VerifyRawSignatureResponse.ts","../src/index.ts"],"sourcesContent":["{\n \"IKmsRestClient\": {\n \"components\": {\n \"schemas\": {\n \"KmsCreateRawSignatureArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"input\", \"keyInfo\"]\n },\n \"KeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"additionalProperties\": false,\n \"description\": \"Information about a cryptographic key, providing metadata and configuration details necessary for cryptographic operations.\"\n },\n \"Jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/JwkKeyType\"\n },\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier used to uniquely identify the key.\"\n },\n \"alg\": {\n \"type\": \"string\",\n \"description\": \"The algorithm intended for use with the key (JWA algorithm name).\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOps\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n },\n \"description\": \"The allowed cryptographic operations for the key.\"\n },\n \"crv\": {\n \"$ref\": \"#/components/schemas/Curve\"\n },\n \"x\": {\n \"type\": \"string\",\n \"description\": \"The x coordinate for elliptic curve keys (base64url-encoded).\"\n },\n \"y\": {\n \"type\": \"string\",\n \"description\": \"The y coordinate for elliptic curve keys (base64url-encoded).\"\n },\n \"d\": {\n \"type\": \"string\",\n \"description\": \"The private key parameter (base64url-encoded).\"\n },\n \"n\": {\n \"type\": \"string\",\n \"description\": \"The modulus value for RSA keys (base64url-encoded).\"\n },\n \"e\": {\n \"type\": \"string\",\n \"description\": \"The public exponent for RSA keys (base64url-encoded).\"\n },\n \"p\": {\n \"type\": \"string\",\n \"description\": \"The first prime factor for RSA private keys (base64url-encoded).\"\n },\n \"q\": {\n \"type\": \"string\",\n \"description\": \"The second prime factor for RSA private keys (base64url-encoded).\"\n },\n \"dp\": {\n \"type\": \"string\",\n \"description\": \"The first factor CRT exponent for RSA private keys (base64url-encoded).\"\n },\n \"dq\": {\n \"type\": \"string\",\n \"description\": \"The second factor CRT exponent for RSA private keys (base64url-encoded).\"\n },\n \"qi\": {\n \"type\": \"string\",\n \"description\": \"The first CRT coefficient for RSA private keys (base64url-encoded).\"\n },\n \"k\": {\n \"type\": \"string\",\n \"description\": \"The symmetric key value (base64url-encoded).\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"X.509 certificate SHA-1 thumbprint (base64url-encoded).\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"URL pointing to X.509 certificate or certificate chain.\"\n },\n \"x5tS256\": {\n \"type\": \"string\",\n \"description\": \"X.509 certificate SHA-256 thumbprint (base64url-encoded).\"\n }\n },\n \"required\": [\"kty\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a JSON Web Key (JWK) as defined by the JSON Web Key specification.\"\n },\n \"JwkKeyType\": {\n \"type\": \"string\",\n \"enum\": [\"EC\", \"RSA\", \"OKP\", \"oct\"],\n \"description\": \"JSON Web Key (JWK) key type parameter identifying the cryptographic algorithm family.\"\n },\n \"JwkUse\": {\n \"type\": \"string\",\n \"enum\": [\"sig\", \"enc\"],\n \"description\": \"Intended use of the key (signing or encryption).\"\n },\n \"KeyOperations\": {\n \"type\": \"string\",\n \"enum\": [\"sign\", \"verify\", \"encrypt\", \"decrypt\", \"wrapKey\", \"unwrapKey\", \"deriveKey\", \"deriveBits\"],\n \"description\": \"Specific operations the key is intended for.\"\n },\n \"Curve\": {\n \"type\": \"string\",\n \"enum\": [\"P-256\", \"P-384\", \"P-521\", \"secp256k1\", \"Ed25519\", \"Ed448\", \"X25519\", \"X448\"],\n \"description\": \"Elliptic curve identifier.\"\n },\n \"SignatureAlgorithm\": {\n \"type\": \"string\",\n \"enum\": [\n \"ED25519\",\n \"ECDSA_SHA256\",\n \"ECDSA_SHA384\",\n \"ECDSA_SHA512\",\n \"ES256K\",\n \"ECKA_DH_SHA256\",\n \"HMAC_SHA256\",\n \"HMAC_SHA384\",\n \"HMAC_SHA512\",\n \"RSA_SSA_PSS_SHA256_MGF1\",\n \"RSA_SSA_PSS_SHA384_MGF1\",\n \"RSA_SSA_PSS_SHA512_MGF1\"\n ],\n \"description\": \"Cryptographic signature algorithm identifier.\"\n },\n \"KeyVisibility\": {\n \"type\": \"string\",\n \"enum\": [\"PUBLIC\", \"PRIVATE\"],\n \"description\": \"Indicates the visibility status of a cryptographic key.\"\n },\n \"KeyType\": {\n \"type\": \"string\",\n \"enum\": [\"OKP\", \"EC\", \"RSA\"],\n \"description\": \"Cryptographic key type identifier.\"\n },\n \"KeyEncoding\": {\n \"type\": \"string\",\n \"enum\": [\"COSE\", \"JOSE\"],\n \"description\": \"The encoding format of the cryptographic key.\"\n },\n \"CreateRawSignatureResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"signature\": {\n \"type\": \"string\",\n \"description\": \"The created signature encoded as a base64 string.\"\n }\n },\n \"required\": [\"signature\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the created signature.\"\n },\n \"KmsDeleteKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"KmsGenerateKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Alias for the generated key.\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOperations\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n }\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"Optional provider ID. If not specified, the default provider will be used.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n }\n },\n \"ManagedKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier, may be null.\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"Key Management System identifier.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Reference to the key in the KMS.\"\n },\n \"cose\": {\n \"$ref\": \"#/components/schemas/CoseKeyPair\"\n },\n \"jose\": {\n \"$ref\": \"#/components/schemas/JoseKeyPair\"\n }\n },\n \"required\": [\"providerId\", \"alias\", \"cose\", \"jose\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a key pair used by a crypto provider, encapsulating both JOSE and COSE key pairs.\"\n },\n \"CoseKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"privateCoseKey\": {\n \"$ref\": \"#/components/schemas/CoseKey\"\n },\n \"publicCoseKey\": {\n \"$ref\": \"#/components/schemas/CoseKey\"\n }\n },\n \"required\": [\"publicCoseKey\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a cryptographic key pair for COSE (CBOR Object Signing and Encryption) operations.\"\n },\n \"CoseKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/CoseKeyType\"\n },\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier (base64url-encoded byte string).\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"description\": \"The COSE algorithm identifier (e.g., -7=ES256, -35=ES384, -36=ES512, -8=EdDSA).\"\n },\n \"keyOps\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n },\n \"description\": \"The allowed COSE key operations (1=sign, 2=verify, 3=encrypt, 4=decrypt, etc.).\"\n },\n \"baseIV\": {\n \"type\": \"string\",\n \"description\": \"Base initialization vector (base64url-encoded).\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"description\": \"The COSE curve identifier (1=P-256, 2=P-384, 3=P-521, 8=secp256k1, 6=Ed25519, etc.).\"\n },\n \"x\": {\n \"type\": \"string\",\n \"description\": \"The x coordinate (base64url-encoded byte string).\"\n },\n \"y\": {\n \"type\": \"string\",\n \"description\": \"The y coordinate (base64url-encoded byte string).\"\n },\n \"d\": {\n \"type\": \"string\",\n \"description\": \"The private key parameter (base64url-encoded byte string).\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded certificates.\"\n }\n },\n \"required\": [\"kty\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a COSE (CBOR Object Signing and Encryption) key in JSON format.\"\n },\n \"CoseKeyType\": {\n \"type\": \"number\",\n \"enum\": [1, 2, 3, 4],\n \"description\": \"COSE key type parameter. 1=OKP (Octet Key Pair), 2=EC2 (Elliptic Curve), 3=RSA, 4=Symmetric.\"\n },\n \"JoseKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"privateJwk\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"publicJwk\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n }\n },\n \"required\": [\"publicJwk\"],\n \"additionalProperties\": false,\n \"description\": \"Data class representing a cryptographic key pair used with JOSE (JSON Object Signing and Encryption).\"\n },\n \"KmsGetKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"ManagedKeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"required\": [\"key\", \"alias\", \"providerId\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a managed cryptographic key information that is guaranteed to be present and resolved, part of a KMS providing concrete access to the key.\"\n },\n \"KmsGetKeyProviderArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"KeyProviderResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The unique identifier assigned to the Key Provider instance upon creation.\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/KeyProviderType\"\n }\n },\n \"required\": [\"providerId\", \"type\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KeyProviderType\": {\n \"type\": \"string\",\n \"enum\": [\"SOFTWARE\", \"AZURE_KEYVAULT\", \"AWS_KMS\"],\n \"description\": \"The type of Key Provider. Determines the required configuration settings. - AZURE_KEYVAULT: Microsoft Azure Key Vault or Managed HSM. - AWS_KMS: Amazon Web Services Key Management Service.\"\n },\n \"kmsGetResolverArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"resolverId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"resolverId\"],\n \"additionalProperties\": false\n },\n \"Resolver\": {\n \"type\": \"object\",\n \"properties\": {\n \"resolverId\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the resolver.\"\n },\n \"supportedIdentifierMethods\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IdentifierMethod\"\n },\n \"description\": \"List of identifier methods supported by this resolver.\"\n },\n \"supportedKeyTypes\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"description\": \"List of key types supported by this resolver.\"\n }\n },\n \"required\": [\"resolverId\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a key resolver configuration.\"\n },\n \"IdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\"JWK\", \"KID\", \"COSE_KEY\", \"X5C\", \"DID\"],\n \"description\": \"Method used to identify cryptographic keys.\"\n },\n \"KmsIsValidRawSignatureArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"signature\": {\n \"type\": \"string\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"input\", \"keyInfo\", \"signature\"]\n },\n \"VerifyRawSignatureResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"isValid\": {\n \"type\": \"boolean\",\n \"description\": \"Indicates whether the signature is valid or not.\"\n }\n },\n \"required\": [\"isValid\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of the signature verification.\"\n },\n \"KmsListKeyProvidersArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListKeyProvidersResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"providers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyProvider\"\n }\n }\n },\n \"required\": [\"providers\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KeyProvider\": {\n \"type\": \"object\",\n \"properties\": {\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The unique identifier assigned to the Key Provider instance upon creation.\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/KeyProviderType\"\n }\n },\n \"required\": [\"providerId\", \"type\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KmsListKeysArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListKeysResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyInfos\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n }\n },\n \"required\": [\"keyInfos\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing all the managed keys.\"\n },\n \"KmsListResolversArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListResolversResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"resolvers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Resolver\"\n }\n }\n },\n \"required\": [\"resolvers\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing all the resolvers.\"\n },\n \"KmsProviderDeleteKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\", \"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsProviderGenerateKey\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Alias for the generated key.\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOperations\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n }\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"]\n },\n \"KmsProviderGetKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\", \"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsProviderListKeysArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"],\n \"additionalProperties\": false\n },\n \"KmsProviderStoreKey\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n },\n \"certChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"keyInfo\", \"providerId\"]\n },\n \"ResolvedKeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"required\": [\"key\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a resolved cryptographic key information where the key is guaranteed to be present and resolved, providing concrete access to the key.\"\n },\n \"KmsResolveKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"identifierMethod\": {\n \"$ref\": \"#/components/schemas/IdentifierMethod\"\n },\n \"trustedCerts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"Optional array of trusted certificates (base64-encoded) that may be used in the resolution process.\"\n },\n \"verifyX509CertificateChain\": {\n \"type\": \"boolean\",\n \"description\": \"Optional boolean indicating whether the X.509 certificate chain should be verified.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"resolverId\": {\n \"$ref\": \"#/components/schemas/String\"\n }\n },\n \"required\": [\"keyInfo\", \"resolverId\"]\n },\n \"String\": {\n \"type\": \"object\",\n \"properties\": {\n \"length\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\"length\"],\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n },\n \"KmsStoreKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n },\n \"certChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"keyInfo\"]\n }\n },\n \"methods\": {\n \"kmsCreateRawSignature\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsCreateRawSignatureArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/CreateRawSignatureResponse\"\n }\n },\n \"kmsDeleteKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsDeleteKeyArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"kmsGenerateKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsGenerateKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyPair\"\n }\n },\n \"kmsGetKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsGetKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"kmsGetKeyProvider\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsGetKeyProviderArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/KeyProviderResponse\"\n }\n },\n \"kmsGetResolver\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/kmsGetResolverArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/Resolver\"\n }\n },\n \"kmsIsValidRawSignature\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsIsValidRawSignatureArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/VerifyRawSignatureResponse\"\n }\n },\n \"kmsListKeyProviders\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsListKeyProvidersArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeyProvidersResponse\"\n }\n },\n \"kmsListKeys\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsListKeysArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeysResponse\"\n }\n },\n \"kmsListResolvers\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsListResolversArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListResolversResponse\"\n }\n },\n \"kmsProviderDeleteKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderDeleteKeyArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"kmsProviderGenerateKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderGenerateKey\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyPair\"\n }\n },\n \"kmsProviderGetKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderGetKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"kmsProviderListKeys\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderListKeysArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeysResponse\"\n }\n },\n \"kmsProviderStoreKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderStoreKey\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"kmsResolveKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsResolveKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n }\n },\n \"kmsStoreKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsStoreKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n }\n }\n }\n }\n}\n","import { IAgentPlugin } from '@veramo/core'\nimport { Loggers } from '@sphereon/ssi-types'\nimport { fetch } from 'cross-fetch'\nimport type {\n kmsGetResolverArgs,\n KmsListResolversArgs,\n IKmsRestClient,\n KmsResolveKeyArgs,\n KmsCreateRawSignatureArgs,\n KmsGetKeyArgs,\n KmsListKeysArgs,\n KmsStoreKeyArgs,\n KmsGenerateKeyArgs,\n KmsDeleteKeyArgs,\n KmsGetKeyProviderArgs,\n KmsListKeyProvidersArgs,\n KmsProviderListKeysArgs,\n KmsProviderStoreKey,\n KmsProviderGenerateKey,\n KmsProviderGetKeyArgs,\n KmsProviderDeleteKeyArgs,\n RestClientAuthenticationOpts,\n KmsRestClientArgs,\n KmsIsValidRawSignatureArgs,\n} from '../types/IKmsRestClient'\nimport type {\n CreateRawSignature,\n CreateRawSignatureResponse,\n GenerateKey,\n GenerateKeyGlobal,\n ListKeyProvidersResponse,\n ListKeysResponse,\n ListResolversResponse,\n ManagedKeyInfo,\n ManagedKeyPair,\n ResolvedKeyInfo,\n ResolvePublicKey,\n Resolver,\n VerifyRawSignatureResponse,\n StoreKey,\n VerifyRawSignature,\n KeyProviderResponse,\n} from '../models'\nimport {\n CreateRawSignatureToJSONTyped,\n CreateRawSignatureResponseFromJSONTyped,\n GenerateKeyGlobalToJSONTyped,\n GenerateKeyToJSONTyped,\n ListKeyProvidersResponseFromJSONTyped,\n ListKeysResponseFromJSONTyped,\n ListResolversResponseFromJSONTyped,\n ManagedKeyInfoFromJSONTyped,\n ManagedKeyPairFromJSONTyped,\n ResolvePublicKeyToJSONTyped,\n ResolvedKeyInfoFromJSONTyped,\n ResolverFromJSONTyped,\n VerifyRawSignatureResponseFromJSONTyped,\n StoreKeyToJSONTyped,\n VerifyRawSignatureToJSONTyped,\n KeyProviderResponseFromJSONTyped,\n} from '../models'\n\nconst logger = Loggers.DEFAULT.get('sphereon:ssi-sdk:kms:rest-client')\n\n/**\n * {@inheritDoc IKmsRestClient}\n */\nexport class KmsRestClient implements IAgentPlugin {\n readonly methods: IKmsRestClient = {\n kmsGetKey: this.kmsGetKey.bind(this),\n kmsListKeys: this.kmsListKeys.bind(this),\n kmsStoreKey: this.kmsStoreKey.bind(this),\n kmsGenerateKey: this.kmsGenerateKey.bind(this),\n kmsDeleteKey: this.kmsDeleteKey.bind(this),\n\n kmsGetKeyProvider: this.kmsGetKeyProvider.bind(this),\n kmsListKeyProviders: this.kmsListKeyProviders.bind(this),\n kmsProviderListKeys: this.kmsProviderListKeys.bind(this),\n kmsProviderStoreKey: this.kmsProviderStoreKey.bind(this),\n kmsProviderGenerateKey: this.kmsProviderGenerateKey.bind(this),\n kmsProviderGetKey: this.kmsProviderGetKey.bind(this),\n kmsProviderDeleteKey: this.kmsProviderDeleteKey.bind(this),\n\n kmsGetResolver: this.kmsGetResolver.bind(this),\n kmsListResolvers: this.kmsListResolvers.bind(this),\n kmsResolveKey: this.kmsResolveKey.bind(this),\n\n kmsCreateRawSignature: this.kmsCreateRawSignature.bind(this),\n kmsIsValidRawSignature: this.kmsIsValidRawSignature.bind(this),\n }\n\n private readonly agentBaseUrl?: string\n private readonly authOpts?: RestClientAuthenticationOpts\n\n constructor(args?: KmsRestClientArgs) {\n if (args?.baseUrl) {\n this.agentBaseUrl = args.baseUrl\n }\n this.authOpts = args?.authentication\n }\n\n private static urlWithBase(path: string, baseUrl: string): string {\n return `${baseUrl}${path.startsWith('/') ? path : `/${path}`}`\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetResolver} */\n private async kmsGetResolver(args: kmsGetResolverArgs): Promise<Resolver> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/resolvers/${args.resolverId}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get resolver response: ${response}`)\n\n try {\n return ResolverFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListResolvers} */\n private async kmsListResolvers(args: KmsListResolversArgs): Promise<ListResolversResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase('/resolvers', baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list resolvers response: ${response}`)\n\n try {\n return ListResolversResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsResolveKey} */\n private async kmsResolveKey(args: KmsResolveKeyArgs): Promise<ResolvedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/resolvers/${args.resolverId}/resolve`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n identifierMethod: args.identifierMethod,\n trustedCerts: args.trustedCerts,\n verifyX509CertificateChain: args.verifyX509CertificateChain,\n } satisfies ResolvePublicKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(ResolvePublicKeyToJSONTyped(body)),\n })\n logger.debug(`resolve key response: ${response}`)\n\n try {\n return ResolvedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsCreateRawSignature} */\n private async kmsCreateRawSignature(args: KmsCreateRawSignatureArgs): Promise<CreateRawSignatureResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/signatures/raw`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n input: args.input,\n } satisfies CreateRawSignature\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(CreateRawSignatureToJSONTyped(body)),\n })\n logger.debug(`create raw signature response: ${response}`)\n\n try {\n return CreateRawSignatureResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsIsValidRawSignature} */\n private async kmsIsValidRawSignature(args: KmsIsValidRawSignatureArgs): Promise<VerifyRawSignatureResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/signatures/raw/verify`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n signature: args.signature,\n input: args.input,\n } satisfies VerifyRawSignature\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(VerifyRawSignatureToJSONTyped(body)),\n })\n logger.debug(`verify raw signature response: ${response}`)\n\n try {\n return VerifyRawSignatureResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetKey} */\n private async kmsGetKey(args: KmsGetKeyArgs): Promise<ManagedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get key response: ${response}`)\n\n try {\n return ManagedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListKeys} */\n private async kmsListKeys(args: KmsListKeysArgs): Promise<ListKeysResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = this.addSearchParams(KmsRestClient.urlWithBase('/keys', baseUrl), { ...(args.providerId && { providerId: args.providerId }) })\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list keys response: ${response}`)\n\n try {\n const xx = await response.json()\n return ListKeysResponseFromJSONTyped(xx, false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsStoreKey} */\n private async kmsStoreKey(args: KmsStoreKeyArgs): Promise<ManagedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n certChain: args.certChain,\n } satisfies StoreKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(StoreKeyToJSONTyped(body)),\n })\n logger.debug(`store key response: ${response}`)\n\n try {\n return ManagedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGenerateKey} */\n private async kmsGenerateKey(args: KmsGenerateKeyArgs): Promise<ManagedKeyPair> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/generate`, baseUrl)\n\n const body = {\n alg: args.alg,\n keyOperations: args.keyOperations,\n providerId: args.providerId,\n use: args.use,\n } satisfies GenerateKeyGlobal\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(GenerateKeyGlobalToJSONTyped(body)),\n })\n logger.debug(`generate key response: ${response}`)\n\n try {\n return ManagedKeyPairFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsDeleteKey} */\n private async kmsDeleteKey(args: KmsDeleteKeyArgs): Promise<boolean> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/${args.aliasOrKid}`, baseUrl)\n\n await fetch(url, {\n method: 'DELETE',\n })\n\n return true\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetKeyProvider} */\n private async kmsGetKeyProvider(args: KmsGetKeyProviderArgs): Promise<KeyProviderResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get provider response: ${response}`)\n\n try {\n return KeyProviderResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListKeyProviders} */\n private async kmsListKeyProviders(args: KmsListKeyProvidersArgs): Promise<ListKeyProvidersResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase('/providers', baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list providers response: ${response}`)\n\n try {\n return ListKeyProvidersResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderListKeys} */\n private async kmsProviderListKeys(args: KmsProviderListKeysArgs): Promise<ListKeysResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list provider keys response: ${response}`)\n\n try {\n return ListKeysResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderStoreKey} */\n private async kmsProviderStoreKey(args: KmsProviderStoreKey): Promise<ManagedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n certChain: args.certChain,\n } satisfies StoreKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(StoreKeyToJSONTyped(body)),\n })\n logger.debug(`provider store key response: ${response}`)\n\n try {\n return ManagedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderGenerateKey} */\n private async kmsProviderGenerateKey(args: KmsProviderGenerateKey): Promise<ManagedKeyPair> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys/generate`, baseUrl)\n\n const body = {\n alg: args.alg,\n keyOperations: args.keyOperations,\n use: args.use,\n } satisfies GenerateKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(GenerateKeyToJSONTyped(body)),\n })\n logger.debug(`provider generate key response: ${response}`)\n\n try {\n return ManagedKeyPairFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderGetKey} */\n private async kmsProviderGetKey(args: KmsProviderGetKeyArgs): Promise<ManagedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get provider key response: ${response}`)\n\n try {\n return ManagedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderDeleteKey} */\n private async kmsProviderDeleteKey(args: KmsProviderDeleteKeyArgs): Promise<boolean> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`providers/${args.providerId}/keys/${args.aliasOrKid}`, baseUrl)\n\n await fetch(url, {\n method: 'DELETE',\n })\n\n return true\n }\n\n private assertedAgentBaseUrl(baseUrl?: string): string {\n if (baseUrl) {\n return baseUrl\n } else if (this.agentBaseUrl) {\n return this.agentBaseUrl\n }\n throw new Error('No base url has been provided')\n }\n\n private async createHeaders(existing?: Record<string, any>): Promise<HeadersInit> {\n const headers: HeadersInit = {\n ...existing,\n Accept: 'application/json',\n }\n if (this.authOpts?.enabled === true) {\n if (!this.authOpts.bearerToken) {\n throw Error(`Cannot have authentication enabled, whilst not enabling static bearer tokens at this point`)\n }\n headers.Authorization = `Bearer ${\n typeof this.authOpts.bearerToken === 'string' ? this.authOpts.bearerToken : await this.authOpts.bearerToken()\n }`\n }\n return headers\n }\n\n private addSearchParams(baseUrl: string, params: Record<string, string | number | boolean>): URL {\n const url = new URL(baseUrl)\n\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.set(key, String(value))\n }\n\n return url\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * COSE key type parameter. 1=OKP (Octet Key Pair), 2=EC2 (Elliptic Curve), 3=RSA, 4=Symmetric.\n * @export\n */\nexport const CoseKeyType = {\n NUMBER_1: 1,\n NUMBER_2: 2,\n NUMBER_3: 3,\n NUMBER_4: 4,\n} as const\nexport type CoseKeyType = (typeof CoseKeyType)[keyof typeof CoseKeyType]\n\nexport function instanceOfCoseKeyType(value: any): boolean {\n for (const key in CoseKeyType) {\n if (Object.prototype.hasOwnProperty.call(CoseKeyType, key)) {\n if (CoseKeyType[key as keyof typeof CoseKeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CoseKeyTypeFromJSON(json: any): CoseKeyType {\n return CoseKeyTypeFromJSONTyped(json, false)\n}\n\nexport function CoseKeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKeyType {\n return json as CoseKeyType\n}\n\nexport function CoseKeyTypeToJSON(value?: CoseKeyType | null): any {\n return value as any\n}\n\nexport function CoseKeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): CoseKeyType {\n return value as CoseKeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { CoseKeyType } from './CoseKeyType'\nimport { CoseKeyTypeFromJSON, CoseKeyTypeToJSON } from './CoseKeyType'\n\n/**\n * Represents a COSE (CBOR Object Signing and Encryption) key in JSON format.\n * @export\n * @interface CoseKey\n */\nexport interface CoseKey {\n /**\n *\n * @type {CoseKeyType}\n * @memberof CoseKey\n */\n kty: CoseKeyType\n /**\n * Key identifier (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n kid?: string\n /**\n * The COSE algorithm identifier (e.g., -7=ES256, -35=ES384, -36=ES512, -8=EdDSA).\n * @type {number}\n * @memberof CoseKey\n */\n alg?: number\n /**\n * The allowed COSE key operations (1=sign, 2=verify, 3=encrypt, 4=decrypt, etc.).\n * @type {Array<number>}\n * @memberof CoseKey\n */\n keyOps?: Array<number>\n /**\n * Base initialization vector (base64url-encoded).\n * @type {string}\n * @memberof CoseKey\n */\n baseIV?: string\n /**\n * The COSE curve identifier (1=P-256, 2=P-384, 3=P-521, 8=secp256k1, 6=Ed25519, etc.).\n * @type {number}\n * @memberof CoseKey\n */\n crv?: number\n /**\n * The x coordinate (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n x?: string\n /**\n * The y coordinate (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n y?: string\n /**\n * The private key parameter (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n d?: string\n /**\n * X.509 certificate chain as base64-encoded certificates.\n * @type {Array<string>}\n * @memberof CoseKey\n */\n x5chain?: Array<string>\n}\n\n/**\n * Check if a given object implements the CoseKey interface.\n */\nexport function instanceOfCoseKey(value: object): value is CoseKey {\n if (!('kty' in value) || value['kty'] === undefined) return false\n return true\n}\n\nexport function CoseKeyFromJSON(json: any): CoseKey {\n return CoseKeyFromJSONTyped(json, false)\n}\n\nexport function CoseKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKey {\n if (json == null) {\n return json\n }\n return {\n kty: CoseKeyTypeFromJSON(json['kty']),\n kid: json['kid'] == null ? undefined : json['kid'],\n alg: json['alg'] == null ? undefined : json['alg'],\n keyOps: json['key_ops'] == null ? undefined : json['key_ops'],\n baseIV: json['baseIV'] == null ? undefined : json['baseIV'],\n crv: json['crv'] == null ? undefined : json['crv'],\n x: json['x'] == null ? undefined : json['x'],\n y: json['y'] == null ? undefined : json['y'],\n d: json['d'] == null ? undefined : json['d'],\n x5chain: json['x5chain'] == null ? undefined : json['x5chain'],\n }\n}\n\nexport function CoseKeyToJSON(json: any): CoseKey {\n return CoseKeyToJSONTyped(json, false)\n}\n\nexport function CoseKeyToJSONTyped(value?: CoseKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kty: CoseKeyTypeToJSON(value['kty']),\n kid: value['kid'],\n alg: value['alg'],\n key_ops: value['keyOps'],\n baseIV: value['baseIV'],\n crv: value['crv'],\n x: value['x'],\n y: value['y'],\n d: value['d'],\n x5chain: value['x5chain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { CoseKey } from './CoseKey'\nimport { CoseKeyFromJSON, CoseKeyToJSON } from './CoseKey'\n\n/**\n * Represents a cryptographic key pair for COSE (CBOR Object Signing and Encryption) operations.\n * @export\n * @interface CoseKeyPair\n */\nexport interface CoseKeyPair {\n /**\n *\n * @type {CoseKey}\n * @memberof CoseKeyPair\n */\n privateCoseKey?: CoseKey\n /**\n *\n * @type {CoseKey}\n * @memberof CoseKeyPair\n */\n publicCoseKey: CoseKey\n}\n\n/**\n * Check if a given object implements the CoseKeyPair interface.\n */\nexport function instanceOfCoseKeyPair(value: object): value is CoseKeyPair {\n if (!('publicCoseKey' in value) || value['publicCoseKey'] === undefined) return false\n return true\n}\n\nexport function CoseKeyPairFromJSON(json: any): CoseKeyPair {\n return CoseKeyPairFromJSONTyped(json, false)\n}\n\nexport function CoseKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKeyPair {\n if (json == null) {\n return json\n }\n return {\n privateCoseKey: json['privateCoseKey'] == null ? undefined : CoseKeyFromJSON(json['privateCoseKey']),\n publicCoseKey: CoseKeyFromJSON(json['publicCoseKey']),\n }\n}\n\nexport function CoseKeyPairToJSON(json: any): CoseKeyPair {\n return CoseKeyPairToJSONTyped(json, false)\n}\n\nexport function CoseKeyPairToJSONTyped(value?: CoseKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n privateCoseKey: CoseKeyToJSON(value['privateCoseKey']),\n publicCoseKey: CoseKeyToJSON(value['publicCoseKey']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The type of Key Provider. Determines the required configuration settings. - AZURE_KEYVAULT: Microsoft Azure Key Vault or Managed HSM. - AWS_KMS: Amazon Web Services Key Management Service.\n * @export\n */\nexport const KeyProviderType = {\n Software: 'SOFTWARE',\n AzureKeyvault: 'AZURE_KEYVAULT',\n AwsKms: 'AWS_KMS',\n} as const\nexport type KeyProviderType = (typeof KeyProviderType)[keyof typeof KeyProviderType]\n\nexport function instanceOfKeyProviderType(value: any): boolean {\n for (const key in KeyProviderType) {\n if (Object.prototype.hasOwnProperty.call(KeyProviderType, key)) {\n if (KeyProviderType[key as keyof typeof KeyProviderType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyProviderTypeFromJSON(json: any): KeyProviderType {\n return KeyProviderTypeFromJSONTyped(json, false)\n}\n\nexport function KeyProviderTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProviderType {\n return json as KeyProviderType\n}\n\nexport function KeyProviderTypeToJSON(value?: KeyProviderType | null): any {\n return value as any\n}\n\nexport function KeyProviderTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyProviderType {\n return value as KeyProviderType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic key type identifier.\n * @export\n */\nexport const KeyType = {\n Okp: 'OKP',\n Ec: 'EC',\n Rsa: 'RSA',\n} as const\nexport type KeyType = (typeof KeyType)[keyof typeof KeyType]\n\nexport function instanceOfKeyType(value: any): boolean {\n for (const key in KeyType) {\n if (Object.prototype.hasOwnProperty.call(KeyType, key)) {\n if (KeyType[key as keyof typeof KeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyTypeFromJSON(json: any): KeyType {\n return KeyTypeFromJSONTyped(json, false)\n}\n\nexport function KeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyType {\n return json as KeyType\n}\n\nexport function KeyTypeToJSON(value?: KeyType | null): any {\n return value as any\n}\n\nexport function KeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyType {\n return value as KeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Indicates the visibility status of a cryptographic key.\n * @export\n */\nexport const KeyVisibility = {\n Public: 'PUBLIC',\n Private: 'PRIVATE',\n} as const\nexport type KeyVisibility = (typeof KeyVisibility)[keyof typeof KeyVisibility]\n\nexport function instanceOfKeyVisibility(value: any): boolean {\n for (const key in KeyVisibility) {\n if (Object.prototype.hasOwnProperty.call(KeyVisibility, key)) {\n if (KeyVisibility[key as keyof typeof KeyVisibility] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyVisibilityFromJSON(json: any): KeyVisibility {\n return KeyVisibilityFromJSONTyped(json, false)\n}\n\nexport function KeyVisibilityFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyVisibility {\n return json as KeyVisibility\n}\n\nexport function KeyVisibilityToJSON(value?: KeyVisibility | null): any {\n return value as any\n}\n\nexport function KeyVisibilityToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyVisibility {\n return value as KeyVisibility\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic signature algorithm identifier.\n * @export\n */\nexport const SignatureAlgorithm = {\n Ed25519: 'ED25519',\n EcdsaSha256: 'ECDSA_SHA256',\n EcdsaSha384: 'ECDSA_SHA384',\n EcdsaSha512: 'ECDSA_SHA512',\n Es256K: 'ES256K',\n EckaDhSha256: 'ECKA_DH_SHA256',\n HmacSha256: 'HMAC_SHA256',\n HmacSha384: 'HMAC_SHA384',\n HmacSha512: 'HMAC_SHA512',\n RsaSsaPssSha256Mgf1: 'RSA_SSA_PSS_SHA256_MGF1',\n RsaSsaPssSha384Mgf1: 'RSA_SSA_PSS_SHA384_MGF1',\n RsaSsaPssSha512Mgf1: 'RSA_SSA_PSS_SHA512_MGF1',\n} as const\nexport type SignatureAlgorithm = (typeof SignatureAlgorithm)[keyof typeof SignatureAlgorithm]\n\nexport function instanceOfSignatureAlgorithm(value: any): boolean {\n for (const key in SignatureAlgorithm) {\n if (Object.prototype.hasOwnProperty.call(SignatureAlgorithm, key)) {\n if (SignatureAlgorithm[key as keyof typeof SignatureAlgorithm] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function SignatureAlgorithmFromJSON(json: any): SignatureAlgorithm {\n return SignatureAlgorithmFromJSONTyped(json, false)\n}\n\nexport function SignatureAlgorithmFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignatureAlgorithm {\n return json as SignatureAlgorithm\n}\n\nexport function SignatureAlgorithmToJSON(value?: SignatureAlgorithm | null): any {\n return value as any\n}\n\nexport function SignatureAlgorithmToJSONTyped(value: any, ignoreDiscriminator: boolean): SignatureAlgorithm {\n return value as SignatureAlgorithm\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The encoding format of the cryptographic key.\n * @export\n */\nexport const KeyEncoding = {\n Cose: 'COSE',\n Jose: 'JOSE',\n} as const\nexport type KeyEncoding = (typeof KeyEncoding)[keyof typeof KeyEncoding]\n\nexport function instanceOfKeyEncoding(value: any): boolean {\n for (const key in KeyEncoding) {\n if (Object.prototype.hasOwnProperty.call(KeyEncoding, key)) {\n if (KeyEncoding[key as keyof typeof KeyEncoding] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyEncodingFromJSON(json: any): KeyEncoding {\n return KeyEncodingFromJSONTyped(json, false)\n}\n\nexport function KeyEncodingFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyEncoding {\n return json as KeyEncoding\n}\n\nexport function KeyEncodingToJSON(value?: KeyEncoding | null): any {\n return value as any\n}\n\nexport function KeyEncodingToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyEncoding {\n return value as KeyEncoding\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Elliptic curve identifier.\n * @export\n */\nexport const Curve = {\n P256: 'P-256',\n P384: 'P-384',\n P521: 'P-521',\n Secp256k1: 'secp256k1',\n Ed25519: 'Ed25519',\n Ed448: 'Ed448',\n X25519: 'X25519',\n X448: 'X448',\n} as const\nexport type Curve = (typeof Curve)[keyof typeof Curve]\n\nexport function instanceOfCurve(value: any): boolean {\n for (const key in Curve) {\n if (Object.prototype.hasOwnProperty.call(Curve, key)) {\n if (Curve[key as keyof typeof Curve] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CurveFromJSON(json: any): Curve {\n return CurveFromJSONTyped(json, false)\n}\n\nexport function CurveFromJSONTyped(json: any, ignoreDiscriminator: boolean): Curve {\n return json as Curve\n}\n\nexport function CurveToJSON(value?: Curve | null): any {\n return value as any\n}\n\nexport function CurveToJSONTyped(value: any, ignoreDiscriminator: boolean): Curve {\n return value as Curve\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Specific operations the key is intended for.\n * @export\n */\nexport const KeyOperations = {\n Sign: 'sign',\n Verify: 'verify',\n Encrypt: 'encrypt',\n Decrypt: 'decrypt',\n WrapKey: 'wrapKey',\n UnwrapKey: 'unwrapKey',\n DeriveKey: 'deriveKey',\n DeriveBits: 'deriveBits',\n} as const\nexport type KeyOperations = (typeof KeyOperations)[keyof typeof KeyOperations]\n\nexport function instanceOfKeyOperations(value: any): boolean {\n for (const key in KeyOperations) {\n if (Object.prototype.hasOwnProperty.call(KeyOperations, key)) {\n if (KeyOperations[key as keyof typeof KeyOperations] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyOperationsFromJSON(json: any): KeyOperations {\n return KeyOperationsFromJSONTyped(json, false)\n}\n\nexport function KeyOperationsFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyOperations {\n return json as KeyOperations\n}\n\nexport function KeyOperationsToJSON(value?: KeyOperations | null): any {\n return value as any\n}\n\nexport function KeyOperationsToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyOperations {\n return value as KeyOperations\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Intended use of the key (signing or encryption).\n * @export\n */\nexport const JwkUse = {\n Sig: 'sig',\n Enc: 'enc',\n} as const\nexport type JwkUse = (typeof JwkUse)[keyof typeof JwkUse]\n\nexport function instanceOfJwkUse(value: any): boolean {\n for (const key in JwkUse) {\n if (Object.prototype.hasOwnProperty.call(JwkUse, key)) {\n if (JwkUse[key as keyof typeof JwkUse] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function JwkUseFromJSON(json: any): JwkUse {\n return JwkUseFromJSONTyped(json, false)\n}\n\nexport function JwkUseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JwkUse {\n return json as JwkUse\n}\n\nexport function JwkUseToJSON(value?: JwkUse | null): any {\n return value as any\n}\n\nexport function JwkUseToJSONTyped(value: any, ignoreDiscriminator: boolean): JwkUse {\n return value as JwkUse\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * JSON Web Key (JWK) key type parameter identifying the cryptographic algorithm family.\n * @export\n */\nexport const JwkKeyType = {\n Ec: 'EC',\n Rsa: 'RSA',\n Okp: 'OKP',\n Oct: 'oct',\n} as const\nexport type JwkKeyType = (typeof JwkKeyType)[keyof typeof JwkKeyType]\n\nexport function instanceOfJwkKeyType(value: any): boolean {\n for (const key in JwkKeyType) {\n if (Object.prototype.hasOwnProperty.call(JwkKeyType, key)) {\n if (JwkKeyType[key as keyof typeof JwkKeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function JwkKeyTypeFromJSON(json: any): JwkKeyType {\n return JwkKeyTypeFromJSONTyped(json, false)\n}\n\nexport function JwkKeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): JwkKeyType {\n return json as JwkKeyType\n}\n\nexport function JwkKeyTypeToJSON(value?: JwkKeyType | null): any {\n return value as any\n}\n\nexport function JwkKeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): JwkKeyType {\n return value as JwkKeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Curve } from './Curve'\nimport { CurveFromJSON, CurveToJSON } from './Curve'\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\nimport type { JwkKeyType } from './JwkKeyType'\nimport { JwkKeyTypeFromJSON, JwkKeyTypeToJSON } from './JwkKeyType'\n\n/**\n * Represents a JSON Web Key (JWK) as defined by the JSON Web Key specification.\n * @export\n * @interface Jwk\n */\nexport interface Jwk {\n /**\n *\n * @type {JwkKeyType}\n * @memberof Jwk\n */\n kty: JwkKeyType\n /**\n * Key identifier used to uniquely identify the key.\n * @type {string}\n * @memberof Jwk\n */\n kid?: string\n /**\n * The algorithm intended for use with the key (JWA algorithm name).\n * @type {string}\n * @memberof Jwk\n */\n alg?: string\n /**\n *\n * @type {JwkUse}\n * @memberof Jwk\n */\n use?: JwkUse\n /**\n * The allowed cryptographic operations for the key.\n * @type {Array<KeyOperations>}\n * @memberof Jwk\n */\n keyOps?: Array<KeyOperations>\n /**\n *\n * @type {Curve}\n * @memberof Jwk\n */\n crv?: Curve\n /**\n * The x coordinate for elliptic curve keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x?: string\n /**\n * The y coordinate for elliptic curve keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n y?: string\n /**\n * The private key parameter (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n d?: string\n /**\n * The modulus value for RSA keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n n?: string\n /**\n * The public exponent for RSA keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n e?: string\n /**\n * The first prime factor for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n p?: string\n /**\n * The second prime factor for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n q?: string\n /**\n * The first factor CRT exponent for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n dp?: string\n /**\n * The second factor CRT exponent for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n dq?: string\n /**\n * The first CRT coefficient for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n qi?: string\n /**\n * The symmetric key value (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n k?: string\n /**\n * X.509 certificate chain as base64-encoded DER certificates.\n * @type {Array<string>}\n * @memberof Jwk\n */\n x5c?: Array<string>\n /**\n * X.509 certificate SHA-1 thumbprint (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x5t?: string\n /**\n * URL pointing to X.509 certificate or certificate chain.\n * @type {string}\n * @memberof Jwk\n */\n x5u?: string\n /**\n * X.509 certificate SHA-256 thumbprint (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x5tS256?: string\n}\n\n/**\n * Check if a given object implements the Jwk interface.\n */\nexport function instanceOfJwk(value: object): value is Jwk {\n if (!('kty' in value) || value['kty'] === undefined) return false\n return true\n}\n\nexport function JwkFromJSON(json: any): Jwk {\n return JwkFromJSONTyped(json, false)\n}\n\nexport function JwkFromJSONTyped(json: any, ignoreDiscriminator: boolean): Jwk {\n if (json == null) {\n return json\n }\n return {\n kty: JwkKeyTypeFromJSON(json['kty']),\n kid: json['kid'] == null ? undefined : json['kid'],\n alg: json['alg'] == null ? undefined : json['alg'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOps: json['key_ops'] == null ? undefined : (json['key_ops'] as Array<any>).map(KeyOperationsFromJSON),\n crv: json['crv'] == null ? undefined : CurveFromJSON(json['crv']),\n x: json['x'] == null ? undefined : json['x'],\n y: json['y'] == null ? undefined : json['y'],\n d: json['d'] == null ? undefined : json['d'],\n n: json['n'] == null ? undefined : json['n'],\n e: json['e'] == null ? undefined : json['e'],\n p: json['p'] == null ? undefined : json['p'],\n q: json['q'] == null ? undefined : json['q'],\n dp: json['dp'] == null ? undefined : json['dp'],\n dq: json['dq'] == null ? undefined : json['dq'],\n qi: json['qi'] == null ? undefined : json['qi'],\n k: json['k'] == null ? undefined : json['k'],\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n x5t: json['x5t'] == null ? undefined : json['x5t'],\n x5u: json['x5u'] == null ? undefined : json['x5u'],\n x5tS256: json['x5t#S256'] == null ? undefined : json['x5t#S256'],\n }\n}\n\nexport function JwkToJSON(json: any): Jwk {\n return JwkToJSONTyped(json, false)\n}\n\nexport function JwkToJSONTyped(value?: Jwk | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kty: JwkKeyTypeToJSON(value['kty']),\n kid: value['kid'],\n alg: value['alg'],\n use: JwkUseToJSON(value['use']),\n key_ops: value['keyOps'] == null ? undefined : (value['keyOps'] as Array<any>).map(KeyOperationsToJSON),\n crv: CurveToJSON(value['crv']),\n x: value['x'],\n y: value['y'],\n d: value['d'],\n n: value['n'],\n e: value['e'],\n p: value['p'],\n q: value['q'],\n dp: value['dp'],\n dq: value['dq'],\n qi: value['qi'],\n k: value['k'],\n x5c: value['x5c'],\n x5t: value['x5t'],\n x5u: value['x5u'],\n 'x5t#S256': value['x5tS256'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Information about a cryptographic key, providing metadata and configuration details necessary for cryptographic operations.\n * @export\n * @interface KeyInfo\n */\nexport interface KeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof KeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof KeyInfo\n */\n key?: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof KeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof KeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof KeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof KeyInfo\n */\n alias?: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof KeyInfo\n */\n providerId?: string\n /**\n *\n * @type {KeyType}\n * @memberof KeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof KeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof KeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the KeyInfo interface.\n */\nexport function instanceOfKeyInfo(value: object): value is KeyInfo {\n return true\n}\n\nexport function KeyInfoFromJSON(json: any): KeyInfo {\n return KeyInfoFromJSONTyped(json, false)\n}\n\nexport function KeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: json['key'] == null ? undefined : JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'] == null ? undefined : json['alias'],\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function KeyInfoToJSON(json: any): KeyInfo {\n return KeyInfoToJSONTyped(json, false)\n}\n\nexport function KeyInfoToJSONTyped(value?: KeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\n\n/**\n * Request body for creating a raw signature.\n * @export\n * @interface CreateRawSignature\n */\nexport interface CreateRawSignature {\n /**\n *\n * @type {KeyInfo}\n * @memberof CreateRawSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {string}\n * @memberof CreateRawSignature\n */\n input: string\n}\n\n/**\n * Check if a given object implements the CreateRawSignature interface.\n */\nexport function instanceOfCreateRawSignature(value: object): value is CreateRawSignature {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n if (!('input' in value) || value['input'] === undefined) return false\n return true\n}\n\nexport function CreateRawSignatureFromJSON(json: any): CreateRawSignature {\n return CreateRawSignatureFromJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateRawSignature {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n input: json['input'],\n }\n}\n\nexport function CreateRawSignatureToJSON(json: any): CreateRawSignature {\n return CreateRawSignatureToJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureToJSONTyped(value?: CreateRawSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n input: value['input'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Response body containing the created signature.\n * @export\n * @interface CreateRawSignatureResponse\n */\nexport interface CreateRawSignatureResponse {\n /**\n * The created signature encoded as a base64 string.\n * @type {string}\n * @memberof CreateRawSignatureResponse\n */\n signature: string\n}\n\n/**\n * Check if a given object implements the CreateRawSignatureResponse interface.\n */\nexport function instanceOfCreateRawSignatureResponse(value: object): value is CreateRawSignatureResponse {\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function CreateRawSignatureResponseFromJSON(json: any): CreateRawSignatureResponse {\n return CreateRawSignatureResponseFromJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateRawSignatureResponse {\n if (json == null) {\n return json\n }\n return {\n signature: json['signature'],\n }\n}\n\nexport function CreateRawSignatureResponseToJSON(json: any): CreateRawSignatureResponse {\n return CreateRawSignatureResponseToJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureResponseToJSONTyped(value?: CreateRawSignatureResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signature: value['signature'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\n\n/**\n * Parameters for key generation.\n * @export\n * @interface GenerateKey\n */\nexport interface GenerateKey {\n /**\n * Alias for the generated key.\n * @type {string}\n * @memberof GenerateKey\n */\n alias?: string\n /**\n *\n * @type {JwkUse}\n * @memberof GenerateKey\n */\n use?: JwkUse\n /**\n *\n * @type {Array<KeyOperations>}\n * @memberof GenerateKey\n */\n keyOperations?: Array<KeyOperations>\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof GenerateKey\n */\n alg?: SignatureAlgorithm\n}\n\n/**\n * Check if a given object implements the GenerateKey interface.\n */\nexport function instanceOfGenerateKey(value: object): value is GenerateKey {\n return true\n}\n\nexport function GenerateKeyFromJSON(json: any): GenerateKey {\n return GenerateKeyFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKey {\n if (json == null) {\n return json\n }\n return {\n alias: json['alias'] == null ? undefined : json['alias'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n alg: json['alg'] == null ? undefined : SignatureAlgorithmFromJSON(json['alg']),\n }\n}\n\nexport function GenerateKeyToJSON(json: any): GenerateKey {\n return GenerateKeyToJSONTyped(json, false)\n}\n\nexport function GenerateKeyToJSONTyped(value?: GenerateKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n alias: value['alias'],\n use: JwkUseToJSON(value['use']),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n alg: SignatureAlgorithmToJSON(value['alg']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\n\n/**\n * Parameters for global key generation with optional provider specification.\n * @export\n * @interface GenerateKeyGlobal\n */\nexport interface GenerateKeyGlobal {\n /**\n * Alias for the generated key.\n * @type {string}\n * @memberof GenerateKeyGlobal\n */\n alias?: string\n /**\n *\n * @type {JwkUse}\n * @memberof GenerateKeyGlobal\n */\n use?: JwkUse\n /**\n *\n * @type {Array<KeyOperations>}\n * @memberof GenerateKeyGlobal\n */\n keyOperations?: Array<KeyOperations>\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof GenerateKeyGlobal\n */\n alg?: SignatureAlgorithm\n /**\n * Optional provider ID. If not specified, the default provider will be used.\n * @type {string}\n * @memberof GenerateKeyGlobal\n */\n providerId?: string\n}\n\n/**\n * Check if a given object implements the GenerateKeyGlobal interface.\n */\nexport function instanceOfGenerateKeyGlobal(value: object): value is GenerateKeyGlobal {\n return true\n}\n\nexport function GenerateKeyGlobalFromJSON(json: any): GenerateKeyGlobal {\n return GenerateKeyGlobalFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyGlobalFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKeyGlobal {\n if (json == null) {\n return json\n }\n return {\n alias: json['alias'] == null ? undefined : json['alias'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n alg: json['alg'] == null ? undefined : SignatureAlgorithmFromJSON(json['alg']),\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n }\n}\n\nexport function GenerateKeyGlobalToJSON(json: any): GenerateKeyGlobal {\n return GenerateKeyGlobalToJSONTyped(json, false)\n}\n\nexport function GenerateKeyGlobalToJSONTyped(value?: GenerateKeyGlobal | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n alias: value['alias'],\n use: JwkUseToJSON(value['use']),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n alg: SignatureAlgorithmToJSON(value['alg']),\n providerId: value['providerId'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Data class representing a cryptographic key pair used with JOSE (JSON Object Signing and Encryption).\n * @export\n * @interface JoseKeyPair\n */\nexport interface JoseKeyPair {\n /**\n *\n * @type {Jwk}\n * @memberof JoseKeyPair\n */\n privateJwk?: Jwk\n /**\n *\n * @type {Jwk}\n * @memberof JoseKeyPair\n */\n publicJwk: Jwk\n}\n\n/**\n * Check if a given object implements the JoseKeyPair interface.\n */\nexport function instanceOfJoseKeyPair(value: object): value is JoseKeyPair {\n if (!('publicJwk' in value) || value['publicJwk'] === undefined) return false\n return true\n}\n\nexport function JoseKeyPairFromJSON(json: any): JoseKeyPair {\n return JoseKeyPairFromJSONTyped(json, false)\n}\n\nexport function JoseKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): JoseKeyPair {\n if (json == null) {\n return json\n }\n return {\n privateJwk: json['privateJwk'] == null ? undefined : JwkFromJSON(json['privateJwk']),\n publicJwk: JwkFromJSON(json['publicJwk']),\n }\n}\n\nexport function JoseKeyPairToJSON(json: any): JoseKeyPair {\n return JoseKeyPairToJSONTyped(json, false)\n}\n\nexport function JoseKeyPairToJSONTyped(value?: JoseKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n privateJwk: JwkToJSON(value['privateJwk']),\n publicJwk: JwkToJSON(value['publicJwk']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { JoseKeyPair } from './JoseKeyPair'\nimport { JoseKeyPairFromJSON, JoseKeyPairToJSON } from './JoseKeyPair'\nimport type { CoseKeyPair } from './CoseKeyPair'\nimport { CoseKeyPairFromJSON, CoseKeyPairToJSON } from './CoseKeyPair'\n\n/**\n * Represents a key pair used by a crypto provider, encapsulating both JOSE and COSE key pairs.\n * @export\n * @interface ManagedKeyPair\n */\nexport interface ManagedKeyPair {\n /**\n * Key identifier, may be null.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n kid?: string\n /**\n * Key Management System identifier.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n providerId: string\n /**\n * Reference to the key in the KMS.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n alias: string\n /**\n *\n * @type {CoseKeyPair}\n * @memberof ManagedKeyPair\n */\n cose: CoseKeyPair\n /**\n *\n * @type {JoseKeyPair}\n * @memberof ManagedKeyPair\n */\n jose: JoseKeyPair\n}\n\n/**\n * Check if a given object implements the ManagedKeyPair interface.\n */\nexport function instanceOfManagedKeyPair(value: object): value is ManagedKeyPair {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('alias' in value) || value['alias'] === undefined) return false\n if (!('cose' in value) || value['cose'] === undefined) return false\n if (!('jose' in value) || value['jose'] === undefined) return false\n return true\n}\n\nexport function ManagedKeyPairFromJSON(json: any): ManagedKeyPair {\n return ManagedKeyPairFromJSONTyped(json, false)\n}\n\nexport function ManagedKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): ManagedKeyPair {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n providerId: json['providerId'],\n alias: json['alias'],\n cose: CoseKeyPairFromJSON(json['cose']),\n jose: JoseKeyPairFromJSON(json['jose']),\n }\n}\n\nexport function ManagedKeyPairToJSON(json: any): ManagedKeyPair {\n return ManagedKeyPairToJSONTyped(json, false)\n}\n\nexport function ManagedKeyPairToJSONTyped(value?: ManagedKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n providerId: value['providerId'],\n alias: value['alias'],\n cose: CoseKeyPairToJSON(value['cose']),\n jose: JoseKeyPairToJSON(value['jose']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Represents a managed cryptographic key information that is guaranteed to be present and resolved, part of a KMS providing concrete access to the key.\n * @export\n * @interface ManagedKeyInfo\n */\nexport interface ManagedKeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof ManagedKeyInfo\n */\n key: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof ManagedKeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof ManagedKeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof ManagedKeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n alias: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n providerId: string\n /**\n *\n * @type {KeyType}\n * @memberof ManagedKeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof ManagedKeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof ManagedKeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the ManagedKeyInfo interface.\n */\nexport function instanceOfManagedKeyInfo(value: object): value is ManagedKeyInfo {\n if (!('key' in value) || value['key'] === undefined) return false\n if (!('alias' in value) || value['alias'] === undefined) return false\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n return true\n}\n\nexport function ManagedKeyInfoFromJSON(json: any): ManagedKeyInfo {\n return ManagedKeyInfoFromJSONTyped(json, false)\n}\n\nexport function ManagedKeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ManagedKeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'],\n providerId: json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function ManagedKeyInfoToJSON(json: any): ManagedKeyInfo {\n return ManagedKeyInfoToJSONTyped(json, false)\n}\n\nexport function ManagedKeyInfoToJSONTyped(value?: ManagedKeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Method used to identify cryptographic keys.\n * @export\n */\nexport const IdentifierMethod = {\n Jwk: 'JWK',\n Kid: 'KID',\n CoseKey: 'COSE_KEY',\n X5C: 'X5C',\n Did: 'DID',\n} as const\nexport type IdentifierMethod = (typeof IdentifierMethod)[keyof typeof IdentifierMethod]\n\nexport function instanceOfIdentifierMethod(value: any): boolean {\n for (const key in IdentifierMethod) {\n if (Object.prototype.hasOwnProperty.call(IdentifierMethod, key)) {\n if (IdentifierMethod[key as keyof typeof IdentifierMethod] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function IdentifierMethodFromJSON(json: any): IdentifierMethod {\n return IdentifierMethodFromJSONTyped(json, false)\n}\n\nexport function IdentifierMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): IdentifierMethod {\n return json as IdentifierMethod\n}\n\nexport function IdentifierMethodToJSON(value?: IdentifierMethod | null): any {\n return value as any\n}\n\nexport function IdentifierMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): IdentifierMethod {\n return value as IdentifierMethod\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface KeyProvider\n */\nexport interface KeyProvider {\n /**\n * The unique identifier assigned to the Key Provider instance upon creation.\n * @type {string}\n * @memberof KeyProvider\n */\n providerId: string\n /**\n *\n * @type {KeyProviderType}\n * @memberof KeyProvider\n */\n type: KeyProviderType\n}\n\n/**\n * Check if a given object implements the KeyProvider interface.\n */\nexport function instanceOfKeyProvider(value: object): value is KeyProvider {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function KeyProviderFromJSON(json: any): KeyProvider {\n return KeyProviderFromJSONTyped(json, false)\n}\n\nexport function KeyProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProvider {\n if (json == null) {\n return json\n }\n return {\n providerId: json['providerId'],\n type: KeyProviderTypeFromJSON(json['type']),\n }\n}\n\nexport function KeyProviderToJSON(json: any): KeyProvider {\n return KeyProviderToJSONTyped(json, false)\n}\n\nexport function KeyProviderToJSONTyped(value?: KeyProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providerId: value['providerId'],\n type: KeyProviderTypeToJSON(value['type']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface KeyProviderResponse\n */\nexport interface KeyProviderResponse {\n /**\n * The unique identifier assigned to the Key Provider instance upon creation.\n * @type {string}\n * @memberof KeyProviderResponse\n */\n providerId: string\n /**\n *\n * @type {KeyProviderType}\n * @memberof KeyProviderResponse\n */\n type: KeyProviderType\n}\n\n/**\n * Check if a given object implements the KeyProviderResponse interface.\n */\nexport function instanceOfKeyProviderResponse(value: object): value is KeyProviderResponse {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function KeyProviderResponseFromJSON(json: any): KeyProviderResponse {\n return KeyProviderResponseFromJSONTyped(json, false)\n}\n\nexport function KeyProviderResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProviderResponse {\n if (json == null) {\n return json\n }\n return {\n providerId: json['providerId'],\n type: KeyProviderTypeFromJSON(json['type']),\n }\n}\n\nexport function KeyProviderResponseToJSON(json: any): KeyProviderResponse {\n return KeyProviderResponseToJSONTyped(json, false)\n}\n\nexport function KeyProviderResponseToJSONTyped(value?: KeyProviderResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providerId: value['providerId'],\n type: KeyProviderTypeToJSON(value['type']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProvider } from './KeyProvider'\nimport { KeyProviderFromJSON, KeyProviderToJSON } from './KeyProvider'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface ListKeyProvidersResponse\n */\nexport interface ListKeyProvidersResponse {\n /**\n *\n * @type {Array<KeyProvider>}\n * @memberof ListKeyProvidersResponse\n */\n providers: Array<KeyProvider>\n}\n\n/**\n * Check if a given object implements the ListKeyProvidersResponse interface.\n */\nexport function instanceOfListKeyProvidersResponse(value: object): value is ListKeyProvidersResponse {\n if (!('providers' in value) || value['providers'] === undefined) return false\n return true\n}\n\nexport function ListKeyProvidersResponseFromJSON(json: any): ListKeyProvidersResponse {\n return ListKeyProvidersResponseFromJSONTyped(json, false)\n}\n\nexport function ListKeyProvidersResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListKeyProvidersResponse {\n if (json == null) {\n return json\n }\n return {\n providers: (json['providers'] as Array<any>).map(KeyProviderFromJSON),\n }\n}\n\nexport function ListKeyProvidersResponseToJSON(json: any): ListKeyProvidersResponse {\n return ListKeyProvidersResponseToJSONTyped(json, false)\n}\n\nexport function ListKeyProvidersResponseToJSONTyped(value?: ListKeyProvidersResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providers: (value['providers'] as Array<any>).map(KeyProviderToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyInfo } from './ManagedKeyInfo'\nimport { ManagedKeyInfoFromJSON, ManagedKeyInfoToJSON } from './ManagedKeyInfo'\n\n/**\n * Response body containing all the managed keys.\n * @export\n * @interface ListKeysResponse\n */\nexport interface ListKeysResponse {\n /**\n *\n * @type {Array<ManagedKeyInfo>}\n * @memberof ListKeysResponse\n */\n keyInfos: Array<ManagedKeyInfo>\n}\n\n/**\n * Check if a given object implements the ListKeysResponse interface.\n */\nexport function instanceOfListKeysResponse(value: object): value is ListKeysResponse {\n if (!('keyInfos' in value) || value['keyInfos'] === undefined) return false\n return true\n}\n\nexport function ListKeysResponseFromJSON(json: any): ListKeysResponse {\n return ListKeysResponseFromJSONTyped(json, false)\n}\n\nexport function ListKeysResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListKeysResponse {\n if (json == null) {\n return json\n }\n return {\n keyInfos: (json['keyInfos'] as Array<any>).map(ManagedKeyInfoFromJSON),\n }\n}\n\nexport function ListKeysResponseToJSON(json: any): ListKeysResponse {\n return ListKeysResponseToJSONTyped(json, false)\n}\n\nexport function ListKeysResponseToJSONTyped(value?: ListKeysResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfos: (value['keyInfos'] as Array<any>).map(ManagedKeyInfoToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Represents a key resolver configuration.\n * @export\n * @interface Resolver\n */\nexport interface Resolver {\n /**\n * Unique identifier for the resolver.\n * @type {string}\n * @memberof Resolver\n */\n resolverId: string\n /**\n * List of identifier methods supported by this resolver.\n * @type {Array<IdentifierMethod>}\n * @memberof Resolver\n */\n supportedIdentifierMethods?: Array<IdentifierMethod>\n /**\n * List of key types supported by this resolver.\n * @type {Array<KeyType>}\n * @memberof Resolver\n */\n supportedKeyTypes?: Array<KeyType>\n}\n\n/**\n * Check if a given object implements the Resolver interface.\n */\nexport function instanceOfResolver(value: object): value is Resolver {\n if (!('resolverId' in value) || value['resolverId'] === undefined) return false\n return true\n}\n\nexport function ResolverFromJSON(json: any): Resolver {\n return ResolverFromJSONTyped(json, false)\n}\n\nexport function ResolverFromJSONTyped(json: any, ignoreDiscriminator: boolean): Resolver {\n if (json == null) {\n return json\n }\n return {\n resolverId: json['resolverId'],\n supportedIdentifierMethods:\n json['supportedIdentifierMethods'] == null ? undefined : (json['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodFromJSON),\n supportedKeyTypes: json['supportedKeyTypes'] == null ? undefined : (json['supportedKeyTypes'] as Array<any>).map(KeyTypeFromJSON),\n }\n}\n\nexport function ResolverToJSON(json: any): Resolver {\n return ResolverToJSONTyped(json, false)\n}\n\nexport function ResolverToJSONTyped(value?: Resolver | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolverId: value['resolverId'],\n supportedIdentifierMethods:\n value['supportedIdentifierMethods'] == null ? undefined : (value['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodToJSON),\n supportedKeyTypes: value['supportedKeyTypes'] == null ? undefined : (value['supportedKeyTypes'] as Array<any>).map(KeyTypeToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Resolver } from './Resolver'\nimport { ResolverFromJSON, ResolverToJSON } from './Resolver'\n\n/**\n * Response body containing all the resolvers.\n * @export\n * @interface ListResolversResponse\n */\nexport interface ListResolversResponse {\n /**\n *\n * @type {Array<Resolver>}\n * @memberof ListResolversResponse\n */\n resolvers: Array<Resolver>\n}\n\n/**\n * Check if a given object implements the ListResolversResponse interface.\n */\nexport function instanceOfListResolversResponse(value: object): value is ListResolversResponse {\n if (!('resolvers' in value) || value['resolvers'] === undefined) return false\n return true\n}\n\nexport function ListResolversResponseFromJSON(json: any): ListResolversResponse {\n return ListResolversResponseFromJSONTyped(json, false)\n}\n\nexport function ListResolversResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListResolversResponse {\n if (json == null) {\n return json\n }\n return {\n resolvers: (json['resolvers'] as Array<any>).map(ResolverFromJSON),\n }\n}\n\nexport function ListResolversResponseToJSON(json: any): ListResolversResponse {\n return ListResolversResponseToJSONTyped(json, false)\n}\n\nexport function ListResolversResponseToJSONTyped(value?: ListResolversResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolvers: (value['resolvers'] as Array<any>).map(ResolverToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Request body for resolving a public key.\n * @export\n * @interface ResolvePublicKey\n */\nexport interface ResolvePublicKey {\n /**\n *\n * @type {KeyInfo}\n * @memberof ResolvePublicKey\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {IdentifierMethod}\n * @memberof ResolvePublicKey\n */\n identifierMethod?: IdentifierMethod\n /**\n * Optional array of trusted certificates (base64-encoded) that may be used in the resolution process.\n * @type {Array<string>}\n * @memberof ResolvePublicKey\n */\n trustedCerts?: Array<string>\n /**\n * Optional boolean indicating whether the X.509 certificate chain should be verified.\n * @type {boolean}\n * @memberof ResolvePublicKey\n */\n verifyX509CertificateChain?: boolean\n}\n\n/**\n * Check if a given object implements the ResolvePublicKey interface.\n */\nexport function instanceOfResolvePublicKey(value: object): value is ResolvePublicKey {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function ResolvePublicKeyFromJSON(json: any): ResolvePublicKey {\n return ResolvePublicKeyFromJSONTyped(json, false)\n}\n\nexport function ResolvePublicKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResolvePublicKey {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n identifierMethod: json['identifierMethod'] == null ? undefined : IdentifierMethodFromJSON(json['identifierMethod']),\n trustedCerts: json['trustedCerts'] == null ? undefined : json['trustedCerts'],\n verifyX509CertificateChain: json['verifyX509CertificateChain'] == null ? undefined : json['verifyX509CertificateChain'],\n }\n}\n\nexport function ResolvePublicKeyToJSON(json: any): ResolvePublicKey {\n return ResolvePublicKeyToJSONTyped(json, false)\n}\n\nexport function ResolvePublicKeyToJSONTyped(value?: ResolvePublicKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n identifierMethod: IdentifierMethodToJSON(value['identifierMethod']),\n trustedCerts: value['trustedCerts'],\n verifyX509CertificateChain: value['verifyX509CertificateChain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Represents a resolved cryptographic key information where the key is guaranteed to be present and resolved, providing concrete access to the key.\n * @export\n * @interface ResolvedKeyInfo\n */\nexport interface ResolvedKeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof ResolvedKeyInfo\n */\n key: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof ResolvedKeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof ResolvedKeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof ResolvedKeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n alias?: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n providerId?: string\n /**\n *\n * @type {KeyType}\n * @memberof ResolvedKeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof ResolvedKeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof ResolvedKeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the ResolvedKeyInfo interface.\n */\nexport function instanceOfResolvedKeyInfo(value: object): value is ResolvedKeyInfo {\n if (!('key' in value) || value['key'] === undefined) return false\n return true\n}\n\nexport function ResolvedKeyInfoFromJSON(json: any): ResolvedKeyInfo {\n return ResolvedKeyInfoFromJSONTyped(json, false)\n}\n\nexport function ResolvedKeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResolvedKeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'] == null ? undefined : json['alias'],\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function ResolvedKeyInfoToJSON(json: any): ResolvedKeyInfo {\n return ResolvedKeyInfoToJSONTyped(json, false)\n}\n\nexport function ResolvedKeyInfoToJSONTyped(value?: ResolvedKeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ResolvedKeyInfo } from './ResolvedKeyInfo'\nimport { ResolvedKeyInfoFromJSON, ResolvedKeyInfoToJSON } from './ResolvedKeyInfo'\n\n/**\n * Request body for storing a key.\n * @export\n * @interface StoreKey\n */\nexport interface StoreKey {\n /**\n *\n * @type {ResolvedKeyInfo}\n * @memberof StoreKey\n */\n keyInfo: ResolvedKeyInfo\n /**\n * X.509 certificate chain as base64-encoded DER certificates.\n * @type {Array<string>}\n * @memberof StoreKey\n */\n certChain?: Array<string>\n}\n\n/**\n * Check if a given object implements the StoreKey interface.\n */\nexport function instanceOfStoreKey(value: object): value is StoreKey {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function StoreKeyFromJSON(json: any): StoreKey {\n return StoreKeyFromJSONTyped(json, false)\n}\n\nexport function StoreKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoreKey {\n if (json == null) {\n return json\n }\n return {\n keyInfo: ResolvedKeyInfoFromJSON(json['keyInfo']),\n certChain: json['certChain'] == null ? undefined : json['certChain'],\n }\n}\n\nexport function StoreKeyToJSON(json: any): StoreKey {\n return StoreKeyToJSONTyped(json, false)\n}\n\nexport function StoreKeyToJSONTyped(value?: StoreKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: ResolvedKeyInfoToJSON(value['keyInfo']),\n certChain: value['certChain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\n\n/**\n * Request body for verifying a raw signature.\n * @export\n * @interface VerifyRawSignature\n */\nexport interface VerifyRawSignature {\n /**\n *\n * @type {KeyInfo}\n * @memberof VerifyRawSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {string}\n * @memberof VerifyRawSignature\n */\n input: string\n /**\n *\n * @type {string}\n * @memberof VerifyRawSignature\n */\n signature: string\n}\n\n/**\n * Check if a given object implements the VerifyRawSignature interface.\n */\nexport function instanceOfVerifyRawSignature(value: object): value is VerifyRawSignature {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n if (!('input' in value) || value['input'] === undefined) return false\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function VerifyRawSignatureFromJSON(json: any): VerifyRawSignature {\n return VerifyRawSignatureFromJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifyRawSignature {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n input: json['input'],\n signature: json['signature'],\n }\n}\n\nexport function VerifyRawSignatureToJSON(json: any): VerifyRawSignature {\n return VerifyRawSignatureToJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureToJSONTyped(value?: VerifyRawSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n input: value['input'],\n signature: value['signature'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Response body containing the details of the signature verification.\n * @export\n * @interface VerifyRawSignatureResponse\n */\nexport interface VerifyRawSignatureResponse {\n /**\n * Indicates whether the signature is valid or not.\n * @type {boolean}\n * @memberof VerifyRawSignatureResponse\n */\n isValid: boolean\n}\n\n/**\n * Check if a given object implements the VerifyRawSignatureResponse interface.\n */\nexport function instanceOfVerifyRawSignatureResponse(value: object): value is VerifyRawSignatureResponse {\n if (!('isValid' in value) || value['isValid'] === undefined) return false\n return true\n}\n\nexport function VerifyRawSignatureResponseFromJSON(json: any): VerifyRawSignatureResponse {\n return VerifyRawSignatureResponseFromJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifyRawSignatureResponse {\n if (json == null) {\n return json\n }\n return {\n isValid: json['isValid'],\n }\n}\n\nexport function VerifyRawSignatureResponseToJSON(json: any): VerifyRawSignatureResponse {\n return VerifyRawSignatureResponseToJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureResponseToJSONTyped(value?: VerifyRawSignatureResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n isValid: value['isValid'],\n }\n}\n","/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\nexport { KmsRestClient } from './agent/KmsRestClient'\nexport type * from './types/IKmsRestClient'\n"],"mappings":"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","names":["Loggers","fetch","CoseKeyTypeFromJSON","json","CoseKeyTypeFromJSONTyped","ignoreDiscriminator","CoseKeyFromJSON","json","CoseKeyFromJSONTyped","ignoreDiscriminator","kty","CoseKeyTypeFromJSON","kid","undefined","alg","keyOps","baseIV","crv","x","y","d","x5chain","CoseKeyPairFromJSON","json","CoseKeyPairFromJSONTyped","ignoreDiscriminator","privateCoseKey","undefined","CoseKeyFromJSON","publicCoseKey","KeyProviderTypeFromJSON","json","KeyProviderTypeFromJSONTyped","ignoreDiscriminator","KeyTypeFromJSON","json","KeyTypeFromJSONTyped","ignoreDiscriminator","KeyTypeToJSON","value","KeyVisibilityFromJSON","json","KeyVisibilityFromJSONTyped","ignoreDiscriminator","KeyVisibilityToJSON","value","SignatureAlgorithmFromJSON","json","SignatureAlgorithmFromJSONTyped","ignoreDiscriminator","SignatureAlgorithmToJSON","value","KeyEncodingFromJSON","json","KeyEncodingFromJSONTyped","ignoreDiscriminator","KeyEncodingToJSON","value","CurveFromJSON","json","CurveFromJSONTyped","ignoreDiscriminator","CurveToJSON","value","KeyOperationsFromJSON","json","KeyOperationsFromJSONTyped","ignoreDiscriminator","KeyOperationsToJSON","value","JwkUseFromJSON","json","JwkUseFromJSONTyped","ignoreDiscriminator","JwkUseToJSON","value","JwkKeyTypeFromJSON","json","JwkKeyTypeFromJSONTyped","ignoreDiscriminator","JwkKeyTypeToJSON","value","JwkFromJSON","json","JwkFromJSONTyped","ignoreDiscriminator","kty","JwkKeyTypeFromJSON","kid","undefined","alg","use","JwkUseFromJSON","keyOps","map","KeyOperationsFromJSON","crv","CurveFromJSON","x","y","d","n","e","p","q","dp","dq","qi","k","x5c","x5t","x5u","x5tS256","JwkToJSON","JwkToJSONTyped","value","JwkKeyTypeToJSON","JwkUseToJSON","key_ops","KeyOperationsToJSON","CurveToJSON","KeyInfoToJSON","json","KeyInfoToJSONTyped","value","ignoreDiscriminator","kid","key","JwkToJSON","signatureAlgorithm","SignatureAlgorithmToJSON","keyVisibility","KeyVisibilityToJSON","x5c","alias","providerId","keyType","KeyTypeToJSON","keyEncoding","KeyEncodingToJSON","opts","CreateRawSignatureToJSONTyped","value","ignoreDiscriminator","keyInfo","KeyInfoToJSON","input","CreateRawSignatureResponseFromJSONTyped","json","ignoreDiscriminator","signature","GenerateKeyToJSONTyped","value","ignoreDiscriminator","alias","use","JwkUseToJSON","keyOperations","undefined","map","KeyOperationsToJSON","alg","SignatureAlgorithmToJSON","GenerateKeyGlobalToJSONTyped","value","ignoreDiscriminator","alias","use","JwkUseToJSON","keyOperations","undefined","map","KeyOperationsToJSON","alg","SignatureAlgorithmToJSON","providerId","JoseKeyPairFromJSON","json","JoseKeyPairFromJSONTyped","ignoreDiscriminator","privateJwk","undefined","JwkFromJSON","publicJwk","ManagedKeyPairFromJSONTyped","json","ignoreDiscriminator","kid","undefined","providerId","alias","cose","CoseKeyPairFromJSON","jose","JoseKeyPairFromJSON","ManagedKeyInfoFromJSON","json","ManagedKeyInfoFromJSONTyped","ignoreDiscriminator","kid","undefined","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","IdentifierMethodFromJSON","json","IdentifierMethodFromJSONTyped","ignoreDiscriminator","IdentifierMethodToJSON","value","KeyProviderFromJSON","json","KeyProviderFromJSONTyped","ignoreDiscriminator","providerId","type","KeyProviderTypeFromJSON","KeyProviderResponseFromJSONTyped","json","ignoreDiscriminator","providerId","type","KeyProviderTypeFromJSON","ListKeyProvidersResponseFromJSONTyped","json","ignoreDiscriminator","providers","map","KeyProviderFromJSON","ListKeysResponseFromJSONTyped","json","ignoreDiscriminator","keyInfos","map","ManagedKeyInfoFromJSON","ResolverFromJSON","json","ResolverFromJSONTyped","ignoreDiscriminator","resolverId","supportedIdentifierMethods","undefined","map","IdentifierMethodFromJSON","supportedKeyTypes","KeyTypeFromJSON","ListResolversResponseFromJSONTyped","json","ignoreDiscriminator","resolvers","map","ResolverFromJSON","ResolvePublicKeyToJSONTyped","value","ignoreDiscriminator","keyInfo","KeyInfoToJSON","identifierMethod","IdentifierMethodToJSON","trustedCerts","verifyX509CertificateChain","ResolvedKeyInfoFromJSONTyped","json","ignoreDiscriminator","kid","undefined","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","ResolvedKeyInfoToJSON","ResolvedKeyInfoToJSONTyped","value","JwkToJSON","SignatureAlgorithmToJSON","KeyVisibilityToJSON","KeyTypeToJSON","KeyEncodingToJSON","StoreKeyToJSONTyped","value","ignoreDiscriminator","keyInfo","ResolvedKeyInfoToJSON","certChain","VerifyRawSignatureToJSONTyped","value","ignoreDiscriminator","keyInfo","KeyInfoToJSON","input","signature","VerifyRawSignatureResponseFromJSONTyped","json","ignoreDiscriminator","isValid","logger","Loggers","DEFAULT","get","KmsRestClient","methods","kmsGetKey","bind","kmsListKeys","kmsStoreKey","kmsGenerateKey","kmsDeleteKey","kmsGetKeyProvider","kmsListKeyProviders","kmsProviderListKeys","kmsProviderStoreKey","kmsProviderGenerateKey","kmsProviderGetKey","kmsProviderDeleteKey","kmsGetResolver","kmsListResolvers","kmsResolveKey","kmsCreateRawSignature","kmsIsValidRawSignature","agentBaseUrl","authOpts","args","baseUrl","authentication","urlWithBase","path","startsWith","assertedAgentBaseUrl","url","resolverId","response","fetch","method","debug","ResolverFromJSONTyped","json","error","Promise","reject","Error","ListResolversResponseFromJSONTyped","body","keyInfo","identifierMethod","trustedCerts","verifyX509CertificateChain","headers","createHeaders","JSON","stringify","ResolvePublicKeyToJSONTyped","ResolvedKeyInfoFromJSONTyped","input","CreateRawSignatureToJSONTyped","CreateRawSignatureResponseFromJSONTyped","signature","VerifyRawSignatureToJSONTyped","VerifyRawSignatureResponseFromJSONTyped","aliasOrKid","ManagedKeyInfoFromJSONTyped","addSearchParams","providerId","xx","ListKeysResponseFromJSONTyped","certChain","StoreKeyToJSONTyped","alg","keyOperations","use","GenerateKeyGlobalToJSONTyped","ManagedKeyPairFromJSONTyped","KeyProviderResponseFromJSONTyped","ListKeyProvidersResponseFromJSONTyped","GenerateKeyToJSONTyped","existing","Accept","enabled","bearerToken","Authorization","params","URL","key","value","Object","entries","searchParams","set","String","schema","require"]}
1
+ {"version":3,"sources":["../plugin.schema.json","../src/agent/KmsRestClient.ts","../src/models/CoseKeyType.ts","../src/models/CoseKey.ts","../src/models/CoseKeyPair.ts","../src/models/KeyProviderType.ts","../src/models/KeyType.ts","../src/models/KeyVisibility.ts","../src/models/SignatureAlgorithm.ts","../src/models/KeyEncoding.ts","../src/models/Curve.ts","../src/models/KeyOperations.ts","../src/models/JwkUse.ts","../src/models/JwkKeyType.ts","../src/models/Jwk.ts","../src/models/KeyInfo.ts","../src/models/CreateRawSignature.ts","../src/models/CreateRawSignatureResponse.ts","../src/models/GenerateKey.ts","../src/models/GenerateKeyGlobal.ts","../src/models/JoseKeyPair.ts","../src/models/ManagedKeyPair.ts","../src/models/ManagedKeyInfo.ts","../src/models/IdentifierMethod.ts","../src/models/KeyProvider.ts","../src/models/KeyProviderResponse.ts","../src/models/ListKeyProvidersResponse.ts","../src/models/ListKeysResponse.ts","../src/models/Resolver.ts","../src/models/ListResolversResponse.ts","../src/models/ResolvePublicKey.ts","../src/models/ResolvedKeyInfo.ts","../src/models/StoreKey.ts","../src/models/VerifyRawSignature.ts","../src/models/VerifyRawSignatureResponse.ts"],"sourcesContent":["{\n \"IKmsRestClient\": {\n \"components\": {\n \"schemas\": {\n \"KmsCreateRawSignatureArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"input\", \"keyInfo\"]\n },\n \"KeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"additionalProperties\": false,\n \"description\": \"Information about a cryptographic key, providing metadata and configuration details necessary for cryptographic operations.\"\n },\n \"Jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/JwkKeyType\"\n },\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier used to uniquely identify the key.\"\n },\n \"alg\": {\n \"type\": \"string\",\n \"description\": \"The algorithm intended for use with the key (JWA algorithm name).\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOps\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n },\n \"description\": \"The allowed cryptographic operations for the key.\"\n },\n \"crv\": {\n \"$ref\": \"#/components/schemas/Curve\"\n },\n \"x\": {\n \"type\": \"string\",\n \"description\": \"The x coordinate for elliptic curve keys (base64url-encoded).\"\n },\n \"y\": {\n \"type\": \"string\",\n \"description\": \"The y coordinate for elliptic curve keys (base64url-encoded).\"\n },\n \"d\": {\n \"type\": \"string\",\n \"description\": \"The private key parameter (base64url-encoded).\"\n },\n \"n\": {\n \"type\": \"string\",\n \"description\": \"The modulus value for RSA keys (base64url-encoded).\"\n },\n \"e\": {\n \"type\": \"string\",\n \"description\": \"The public exponent for RSA keys (base64url-encoded).\"\n },\n \"p\": {\n \"type\": \"string\",\n \"description\": \"The first prime factor for RSA private keys (base64url-encoded).\"\n },\n \"q\": {\n \"type\": \"string\",\n \"description\": \"The second prime factor for RSA private keys (base64url-encoded).\"\n },\n \"dp\": {\n \"type\": \"string\",\n \"description\": \"The first factor CRT exponent for RSA private keys (base64url-encoded).\"\n },\n \"dq\": {\n \"type\": \"string\",\n \"description\": \"The second factor CRT exponent for RSA private keys (base64url-encoded).\"\n },\n \"qi\": {\n \"type\": \"string\",\n \"description\": \"The first CRT coefficient for RSA private keys (base64url-encoded).\"\n },\n \"k\": {\n \"type\": \"string\",\n \"description\": \"The symmetric key value (base64url-encoded).\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"X.509 certificate SHA-1 thumbprint (base64url-encoded).\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"URL pointing to X.509 certificate or certificate chain.\"\n },\n \"x5tS256\": {\n \"type\": \"string\",\n \"description\": \"X.509 certificate SHA-256 thumbprint (base64url-encoded).\"\n }\n },\n \"required\": [\"kty\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a JSON Web Key (JWK) as defined by the JSON Web Key specification.\"\n },\n \"JwkKeyType\": {\n \"type\": \"string\",\n \"enum\": [\"EC\", \"RSA\", \"OKP\", \"oct\"],\n \"description\": \"JSON Web Key (JWK) key type parameter identifying the cryptographic algorithm family.\"\n },\n \"JwkUse\": {\n \"type\": \"string\",\n \"enum\": [\"sig\", \"enc\"],\n \"description\": \"Intended use of the key (signing or encryption).\"\n },\n \"KeyOperations\": {\n \"type\": \"string\",\n \"enum\": [\"sign\", \"verify\", \"encrypt\", \"decrypt\", \"wrapKey\", \"unwrapKey\", \"deriveKey\", \"deriveBits\"],\n \"description\": \"Specific operations the key is intended for.\"\n },\n \"Curve\": {\n \"type\": \"string\",\n \"enum\": [\"P-256\", \"P-384\", \"P-521\", \"secp256k1\", \"Ed25519\", \"Ed448\", \"X25519\", \"X448\"],\n \"description\": \"Elliptic curve identifier.\"\n },\n \"SignatureAlgorithm\": {\n \"type\": \"string\",\n \"enum\": [\n \"ED25519\",\n \"ECDSA_SHA256\",\n \"ECDSA_SHA384\",\n \"ECDSA_SHA512\",\n \"ES256K\",\n \"ECKA_DH_SHA256\",\n \"HMAC_SHA256\",\n \"HMAC_SHA384\",\n \"HMAC_SHA512\",\n \"RSA_SSA_PSS_SHA256_MGF1\",\n \"RSA_SSA_PSS_SHA384_MGF1\",\n \"RSA_SSA_PSS_SHA512_MGF1\"\n ],\n \"description\": \"Cryptographic signature algorithm identifier.\"\n },\n \"KeyVisibility\": {\n \"type\": \"string\",\n \"enum\": [\"PUBLIC\", \"PRIVATE\"],\n \"description\": \"Indicates the visibility status of a cryptographic key.\"\n },\n \"KeyType\": {\n \"type\": \"string\",\n \"enum\": [\"OKP\", \"EC\", \"RSA\"],\n \"description\": \"Cryptographic key type identifier.\"\n },\n \"KeyEncoding\": {\n \"type\": \"string\",\n \"enum\": [\"COSE\", \"JOSE\"],\n \"description\": \"The encoding format of the cryptographic key.\"\n },\n \"CreateRawSignatureResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"signature\": {\n \"type\": \"string\",\n \"description\": \"The created signature encoded as a base64 string.\"\n }\n },\n \"required\": [\"signature\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the created signature.\"\n },\n \"KmsDeleteKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"KmsGenerateKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Alias for the generated key.\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOperations\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n }\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"Optional provider ID. If not specified, the default provider will be used.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n }\n },\n \"ManagedKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier, may be null.\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"Key Management System identifier.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Reference to the key in the KMS.\"\n },\n \"cose\": {\n \"$ref\": \"#/components/schemas/CoseKeyPair\"\n },\n \"jose\": {\n \"$ref\": \"#/components/schemas/JoseKeyPair\"\n }\n },\n \"required\": [\"providerId\", \"alias\", \"cose\", \"jose\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a key pair used by a crypto provider, encapsulating both JOSE and COSE key pairs.\"\n },\n \"CoseKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"privateCoseKey\": {\n \"$ref\": \"#/components/schemas/CoseKey\"\n },\n \"publicCoseKey\": {\n \"$ref\": \"#/components/schemas/CoseKey\"\n }\n },\n \"required\": [\"publicCoseKey\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a cryptographic key pair for COSE (CBOR Object Signing and Encryption) operations.\"\n },\n \"CoseKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/CoseKeyType\"\n },\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier (base64url-encoded byte string).\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"description\": \"The COSE algorithm identifier (e.g., -7=ES256, -35=ES384, -36=ES512, -8=EdDSA).\"\n },\n \"keyOps\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n },\n \"description\": \"The allowed COSE key operations (1=sign, 2=verify, 3=encrypt, 4=decrypt, etc.).\"\n },\n \"baseIV\": {\n \"type\": \"string\",\n \"description\": \"Base initialization vector (base64url-encoded).\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"description\": \"The COSE curve identifier (1=P-256, 2=P-384, 3=P-521, 8=secp256k1, 6=Ed25519, etc.).\"\n },\n \"x\": {\n \"type\": \"string\",\n \"description\": \"The x coordinate (base64url-encoded byte string).\"\n },\n \"y\": {\n \"type\": \"string\",\n \"description\": \"The y coordinate (base64url-encoded byte string).\"\n },\n \"d\": {\n \"type\": \"string\",\n \"description\": \"The private key parameter (base64url-encoded byte string).\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded certificates.\"\n }\n },\n \"required\": [\"kty\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a COSE (CBOR Object Signing and Encryption) key in JSON format.\"\n },\n \"CoseKeyType\": {\n \"type\": \"number\",\n \"enum\": [1, 2, 3, 4],\n \"description\": \"COSE key type parameter. 1=OKP (Octet Key Pair), 2=EC2 (Elliptic Curve), 3=RSA, 4=Symmetric.\"\n },\n \"JoseKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"privateJwk\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"publicJwk\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n }\n },\n \"required\": [\"publicJwk\"],\n \"additionalProperties\": false,\n \"description\": \"Data class representing a cryptographic key pair used with JOSE (JSON Object Signing and Encryption).\"\n },\n \"KmsGetKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"ManagedKeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"required\": [\"key\", \"alias\", \"providerId\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a managed cryptographic key information that is guaranteed to be present and resolved, part of a KMS providing concrete access to the key.\"\n },\n \"KmsGetKeyProviderArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"KeyProviderResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The unique identifier assigned to the Key Provider instance upon creation.\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/KeyProviderType\"\n }\n },\n \"required\": [\"providerId\", \"type\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KeyProviderType\": {\n \"type\": \"string\",\n \"enum\": [\"SOFTWARE\", \"AZURE_KEYVAULT\", \"AWS_KMS\"],\n \"description\": \"The type of Key Provider. Determines the required configuration settings. - AZURE_KEYVAULT: Microsoft Azure Key Vault or Managed HSM. - AWS_KMS: Amazon Web Services Key Management Service.\"\n },\n \"kmsGetResolverArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"resolverId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"resolverId\"],\n \"additionalProperties\": false\n },\n \"Resolver\": {\n \"type\": \"object\",\n \"properties\": {\n \"resolverId\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the resolver.\"\n },\n \"supportedIdentifierMethods\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IdentifierMethod\"\n },\n \"description\": \"List of identifier methods supported by this resolver.\"\n },\n \"supportedKeyTypes\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"description\": \"List of key types supported by this resolver.\"\n }\n },\n \"required\": [\"resolverId\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a key resolver configuration.\"\n },\n \"IdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\"JWK\", \"KID\", \"COSE_KEY\", \"X5C\", \"DID\"],\n \"description\": \"Method used to identify cryptographic keys.\"\n },\n \"KmsIsValidRawSignatureArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"signature\": {\n \"type\": \"string\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"input\", \"keyInfo\", \"signature\"]\n },\n \"VerifyRawSignatureResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"isValid\": {\n \"type\": \"boolean\",\n \"description\": \"Indicates whether the signature is valid or not.\"\n }\n },\n \"required\": [\"isValid\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of the signature verification.\"\n },\n \"KmsListKeyProvidersArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListKeyProvidersResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"providers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyProvider\"\n }\n }\n },\n \"required\": [\"providers\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KeyProvider\": {\n \"type\": \"object\",\n \"properties\": {\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The unique identifier assigned to the Key Provider instance upon creation.\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/KeyProviderType\"\n }\n },\n \"required\": [\"providerId\", \"type\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KmsListKeysArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListKeysResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyInfos\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n }\n },\n \"required\": [\"keyInfos\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing all the managed keys.\"\n },\n \"KmsListResolversArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListResolversResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"resolvers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Resolver\"\n }\n }\n },\n \"required\": [\"resolvers\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing all the resolvers.\"\n },\n \"KmsProviderDeleteKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\", \"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsProviderGenerateKey\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Alias for the generated key.\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOperations\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n }\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"]\n },\n \"KmsProviderGetKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\", \"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsProviderListKeysArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"],\n \"additionalProperties\": false\n },\n \"KmsProviderStoreKey\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n },\n \"certChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"keyInfo\", \"providerId\"]\n },\n \"ResolvedKeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"required\": [\"key\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a resolved cryptographic key information where the key is guaranteed to be present and resolved, providing concrete access to the key.\"\n },\n \"KmsResolveKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"identifierMethod\": {\n \"$ref\": \"#/components/schemas/IdentifierMethod\"\n },\n \"trustedCerts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"Optional array of trusted certificates (base64-encoded) that may be used in the resolution process.\"\n },\n \"verifyX509CertificateChain\": {\n \"type\": \"boolean\",\n \"description\": \"Optional boolean indicating whether the X.509 certificate chain should be verified.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"resolverId\": {\n \"$ref\": \"#/components/schemas/String\"\n }\n },\n \"required\": [\"keyInfo\", \"resolverId\"]\n },\n \"String\": {\n \"type\": \"object\",\n \"properties\": {\n \"length\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\"length\"],\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n },\n \"KmsStoreKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n },\n \"certChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"keyInfo\"]\n }\n },\n \"methods\": {\n \"kmsCreateRawSignature\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsCreateRawSignatureArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/CreateRawSignatureResponse\"\n }\n },\n \"kmsDeleteKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsDeleteKeyArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"kmsGenerateKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsGenerateKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyPair\"\n }\n },\n \"kmsGetKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsGetKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"kmsGetKeyProvider\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsGetKeyProviderArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/KeyProviderResponse\"\n }\n },\n \"kmsGetResolver\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/kmsGetResolverArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/Resolver\"\n }\n },\n \"kmsIsValidRawSignature\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsIsValidRawSignatureArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/VerifyRawSignatureResponse\"\n }\n },\n \"kmsListKeyProviders\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsListKeyProvidersArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeyProvidersResponse\"\n }\n },\n \"kmsListKeys\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsListKeysArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeysResponse\"\n }\n },\n \"kmsListResolvers\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsListResolversArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListResolversResponse\"\n }\n },\n \"kmsProviderDeleteKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderDeleteKeyArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"kmsProviderGenerateKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderGenerateKey\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyPair\"\n }\n },\n \"kmsProviderGetKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderGetKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"kmsProviderListKeys\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderListKeysArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeysResponse\"\n }\n },\n \"kmsProviderStoreKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsProviderStoreKey\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"kmsResolveKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsResolveKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n }\n },\n \"kmsStoreKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsStoreKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n }\n }\n }\n }\n}\n","import { IAgentPlugin } from '@veramo/core'\nimport { Loggers } from '@sphereon/ssi-types'\nimport { fetch } from 'cross-fetch'\nimport type {\n kmsGetResolverArgs,\n KmsListResolversArgs,\n IKmsRestClient,\n KmsResolveKeyArgs,\n KmsCreateRawSignatureArgs,\n KmsGetKeyArgs,\n KmsListKeysArgs,\n KmsStoreKeyArgs,\n KmsGenerateKeyArgs,\n KmsDeleteKeyArgs,\n KmsGetKeyProviderArgs,\n KmsListKeyProvidersArgs,\n KmsProviderListKeysArgs,\n KmsProviderStoreKey,\n KmsProviderGenerateKey,\n KmsProviderGetKeyArgs,\n KmsProviderDeleteKeyArgs,\n RestClientAuthenticationOpts,\n KmsRestClientArgs,\n KmsIsValidRawSignatureArgs,\n} from '../types/IKmsRestClient'\nimport type {\n CreateRawSignature,\n CreateRawSignatureResponse,\n GenerateKey,\n GenerateKeyGlobal,\n ListKeyProvidersResponse,\n ListKeysResponse,\n ListResolversResponse,\n ManagedKeyInfo,\n ManagedKeyPair,\n ResolvedKeyInfo,\n ResolvePublicKey,\n Resolver,\n VerifyRawSignatureResponse,\n StoreKey,\n VerifyRawSignature,\n KeyProviderResponse,\n} from '../models'\nimport {\n CreateRawSignatureResponseFromJSONTyped,\n CreateRawSignatureToJSONTyped,\n GenerateKeyGlobalToJSONTyped,\n GenerateKeyToJSONTyped,\n KeyProviderResponseFromJSONTyped,\n ListKeyProvidersResponseFromJSONTyped,\n ListKeysResponseFromJSONTyped,\n ListResolversResponseFromJSONTyped,\n ManagedKeyInfoFromJSONTyped,\n ManagedKeyPairFromJSONTyped,\n ResolvePublicKeyToJSONTyped,\n ResolvedKeyInfoFromJSONTyped,\n ResolverFromJSONTyped,\n StoreKeyToJSONTyped,\n VerifyRawSignatureResponseFromJSONTyped,\n VerifyRawSignatureToJSONTyped\n} from '../models'\n\nconst logger = Loggers.DEFAULT.get('sphereon:ssi-sdk:kms:rest-client')\n\n/**\n * {@inheritDoc IKmsRestClient}\n */\nexport class KmsRestClient implements IAgentPlugin {\n readonly methods: IKmsRestClient = {\n kmsGetKey: this.kmsGetKey.bind(this),\n kmsListKeys: this.kmsListKeys.bind(this),\n kmsStoreKey: this.kmsStoreKey.bind(this),\n kmsGenerateKey: this.kmsGenerateKey.bind(this),\n kmsDeleteKey: this.kmsDeleteKey.bind(this),\n\n kmsGetKeyProvider: this.kmsGetKeyProvider.bind(this),\n kmsListKeyProviders: this.kmsListKeyProviders.bind(this),\n kmsProviderListKeys: this.kmsProviderListKeys.bind(this),\n kmsProviderStoreKey: this.kmsProviderStoreKey.bind(this),\n kmsProviderGenerateKey: this.kmsProviderGenerateKey.bind(this),\n kmsProviderGetKey: this.kmsProviderGetKey.bind(this),\n kmsProviderDeleteKey: this.kmsProviderDeleteKey.bind(this),\n\n kmsGetResolver: this.kmsGetResolver.bind(this),\n kmsListResolvers: this.kmsListResolvers.bind(this),\n kmsResolveKey: this.kmsResolveKey.bind(this),\n\n kmsCreateRawSignature: this.kmsCreateRawSignature.bind(this),\n kmsIsValidRawSignature: this.kmsIsValidRawSignature.bind(this),\n }\n\n private readonly agentBaseUrl?: string\n private readonly authOpts?: RestClientAuthenticationOpts\n\n constructor(args?: KmsRestClientArgs) {\n if (args?.baseUrl) {\n this.agentBaseUrl = args.baseUrl\n }\n this.authOpts = args?.authentication\n }\n\n private static urlWithBase(path: string, baseUrl: string): string {\n return `${baseUrl}${path.startsWith('/') ? path : `/${path}`}`\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetResolver} */\n private async kmsGetResolver(args: kmsGetResolverArgs): Promise<Resolver> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/resolvers/${args.resolverId}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get resolver response: ${response}`)\n\n try {\n return ResolverFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListResolvers} */\n private async kmsListResolvers(args: KmsListResolversArgs): Promise<ListResolversResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase('/resolvers', baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list resolvers response: ${response}`)\n\n try {\n return ListResolversResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsResolveKey} */\n private async kmsResolveKey(args: KmsResolveKeyArgs): Promise<ResolvedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/resolvers/${args.resolverId}/resolve`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n identifierMethod: args.identifierMethod,\n trustedCerts: args.trustedCerts,\n verifyX509CertificateChain: args.verifyX509CertificateChain,\n } satisfies ResolvePublicKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(ResolvePublicKeyToJSONTyped(body)),\n })\n logger.debug(`resolve key response: ${response}`)\n\n try {\n return ResolvedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsCreateRawSignature} */\n private async kmsCreateRawSignature(args: KmsCreateRawSignatureArgs): Promise<CreateRawSignatureResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/signatures/raw`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n input: args.input,\n } satisfies CreateRawSignature\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(CreateRawSignatureToJSONTyped(body)),\n })\n logger.debug(`create raw signature response: ${response}`)\n\n try {\n return CreateRawSignatureResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsIsValidRawSignature} */\n private async kmsIsValidRawSignature(args: KmsIsValidRawSignatureArgs): Promise<VerifyRawSignatureResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/signatures/raw/verify`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n signature: args.signature,\n input: args.input,\n } satisfies VerifyRawSignature\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(VerifyRawSignatureToJSONTyped(body)),\n })\n logger.debug(`verify raw signature response: ${response}`)\n\n try {\n return VerifyRawSignatureResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetKey} */\n private async kmsGetKey(args: KmsGetKeyArgs): Promise<ManagedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get key response: ${response}`)\n\n try {\n return ManagedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListKeys} */\n private async kmsListKeys(args: KmsListKeysArgs): Promise<ListKeysResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = this.addSearchParams(KmsRestClient.urlWithBase('/keys', baseUrl), { ...(args.providerId && { providerId: args.providerId }) })\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list keys response: ${response}`)\n\n try {\n const xx = await response.json()\n return ListKeysResponseFromJSONTyped(xx, false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsStoreKey} */\n private async kmsStoreKey(args: KmsStoreKeyArgs): Promise<ManagedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n certChain: args.certChain,\n } satisfies StoreKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(StoreKeyToJSONTyped(body)),\n })\n logger.debug(`store key response: ${response}`)\n\n try {\n return ManagedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGenerateKey} */\n private async kmsGenerateKey(args: KmsGenerateKeyArgs): Promise<ManagedKeyPair> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/generate`, baseUrl)\n\n const body = {\n alg: args.alg,\n keyOperations: args.keyOperations,\n providerId: args.providerId,\n use: args.use,\n } satisfies GenerateKeyGlobal\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(GenerateKeyGlobalToJSONTyped(body)),\n })\n logger.debug(`generate key response: ${response}`)\n\n try {\n return ManagedKeyPairFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsDeleteKey} */\n private async kmsDeleteKey(args: KmsDeleteKeyArgs): Promise<boolean> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/${args.aliasOrKid}`, baseUrl)\n\n await fetch(url, {\n method: 'DELETE',\n })\n\n return true\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetKeyProvider} */\n private async kmsGetKeyProvider(args: KmsGetKeyProviderArgs): Promise<KeyProviderResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get provider response: ${response}`)\n\n try {\n return KeyProviderResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListKeyProviders} */\n private async kmsListKeyProviders(args: KmsListKeyProvidersArgs): Promise<ListKeyProvidersResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase('/providers', baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list providers response: ${response}`)\n\n try {\n return ListKeyProvidersResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderListKeys} */\n private async kmsProviderListKeys(args: KmsProviderListKeysArgs): Promise<ListKeysResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list provider keys response: ${response}`)\n\n try {\n return ListKeysResponseFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderStoreKey} */\n private async kmsProviderStoreKey(args: KmsProviderStoreKey): Promise<ManagedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n certChain: args.certChain,\n } satisfies StoreKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(StoreKeyToJSONTyped(body)),\n })\n logger.debug(`provider store key response: ${response}`)\n\n try {\n return ManagedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderGenerateKey} */\n private async kmsProviderGenerateKey(args: KmsProviderGenerateKey): Promise<ManagedKeyPair> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys/generate`, baseUrl)\n\n const body = {\n alg: args.alg,\n keyOperations: args.keyOperations,\n use: args.use,\n } satisfies GenerateKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(GenerateKeyToJSONTyped(body)),\n })\n logger.debug(`provider generate key response: ${response}`)\n\n try {\n return ManagedKeyPairFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderGetKey} */\n private async kmsProviderGetKey(args: KmsProviderGetKeyArgs): Promise<ManagedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get provider key response: ${response}`)\n\n try {\n return ManagedKeyInfoFromJSONTyped(await response.json(), false)\n } catch (error) {\n return Promise.reject(Error(`request to ${url} returned ${error}`))\n }\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderDeleteKey} */\n private async kmsProviderDeleteKey(args: KmsProviderDeleteKeyArgs): Promise<boolean> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`providers/${args.providerId}/keys/${args.aliasOrKid}`, baseUrl)\n\n await fetch(url, {\n method: 'DELETE',\n })\n\n return true\n }\n\n private assertedAgentBaseUrl(baseUrl?: string): string {\n if (baseUrl) {\n return baseUrl\n } else if (this.agentBaseUrl) {\n return this.agentBaseUrl\n }\n throw new Error('No base url has been provided')\n }\n\n private async createHeaders(existing?: Record<string, any>): Promise<HeadersInit> {\n const headers: HeadersInit = {\n ...existing,\n Accept: 'application/json',\n }\n if (this.authOpts?.enabled === true) {\n if (!this.authOpts.bearerToken) {\n throw Error(`Cannot have authentication enabled, whilst not enabling static bearer tokens at this point`)\n }\n headers.Authorization = `Bearer ${\n typeof this.authOpts.bearerToken === 'string' ? this.authOpts.bearerToken : await this.authOpts.bearerToken()\n }`\n }\n return headers\n }\n\n private addSearchParams(baseUrl: string, params: Record<string, string | number | boolean>): URL {\n const url = new URL(baseUrl)\n\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.set(key, String(value))\n }\n\n return url\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * COSE key type parameter. 1=OKP (Octet Key Pair), 2=EC2 (Elliptic Curve), 3=RSA, 4=Symmetric.\n * @export\n */\nexport const CoseKeyType = {\n NUMBER_1: 1,\n NUMBER_2: 2,\n NUMBER_3: 3,\n NUMBER_4: 4,\n} as const\nexport type CoseKeyType = (typeof CoseKeyType)[keyof typeof CoseKeyType]\n\nexport function instanceOfCoseKeyType(value: any): boolean {\n for (const key in CoseKeyType) {\n if (Object.prototype.hasOwnProperty.call(CoseKeyType, key)) {\n if (CoseKeyType[key as keyof typeof CoseKeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CoseKeyTypeFromJSON(json: any): CoseKeyType {\n return CoseKeyTypeFromJSONTyped(json, false)\n}\n\nexport function CoseKeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKeyType {\n return json as CoseKeyType\n}\n\nexport function CoseKeyTypeToJSON(value?: CoseKeyType | null): any {\n return value as any\n}\n\nexport function CoseKeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): CoseKeyType {\n return value as CoseKeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { CoseKeyType } from './CoseKeyType'\nimport { CoseKeyTypeFromJSON, CoseKeyTypeToJSON } from './CoseKeyType'\n\n/**\n * Represents a COSE (CBOR Object Signing and Encryption) key in JSON format.\n * @export\n * @interface CoseKey\n */\nexport interface CoseKey {\n /**\n *\n * @type {CoseKeyType}\n * @memberof CoseKey\n */\n kty: CoseKeyType\n /**\n * Key identifier (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n kid?: string\n /**\n * The COSE algorithm identifier (e.g., -7=ES256, -35=ES384, -36=ES512, -8=EdDSA).\n * @type {number}\n * @memberof CoseKey\n */\n alg?: number\n /**\n * The allowed COSE key operations (1=sign, 2=verify, 3=encrypt, 4=decrypt, etc.).\n * @type {Array<number>}\n * @memberof CoseKey\n */\n keyOps?: Array<number>\n /**\n * Base initialization vector (base64url-encoded).\n * @type {string}\n * @memberof CoseKey\n */\n baseIV?: string\n /**\n * The COSE curve identifier (1=P-256, 2=P-384, 3=P-521, 8=secp256k1, 6=Ed25519, etc.).\n * @type {number}\n * @memberof CoseKey\n */\n crv?: number\n /**\n * The x coordinate (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n x?: string\n /**\n * The y coordinate (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n y?: string\n /**\n * The private key parameter (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n d?: string\n /**\n * X.509 certificate chain as base64-encoded certificates.\n * @type {Array<string>}\n * @memberof CoseKey\n */\n x5chain?: Array<string>\n}\n\n/**\n * Check if a given object implements the CoseKey interface.\n */\nexport function instanceOfCoseKey(value: object): value is CoseKey {\n if (!('kty' in value) || value['kty'] === undefined) return false\n return true\n}\n\nexport function CoseKeyFromJSON(json: any): CoseKey {\n return CoseKeyFromJSONTyped(json, false)\n}\n\nexport function CoseKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKey {\n if (json == null) {\n return json\n }\n return {\n kty: CoseKeyTypeFromJSON(json['kty']),\n kid: json['kid'] == null ? undefined : json['kid'],\n alg: json['alg'] == null ? undefined : json['alg'],\n keyOps: json['key_ops'] == null ? undefined : json['key_ops'],\n baseIV: json['baseIV'] == null ? undefined : json['baseIV'],\n crv: json['crv'] == null ? undefined : json['crv'],\n x: json['x'] == null ? undefined : json['x'],\n y: json['y'] == null ? undefined : json['y'],\n d: json['d'] == null ? undefined : json['d'],\n x5chain: json['x5chain'] == null ? undefined : json['x5chain'],\n }\n}\n\nexport function CoseKeyToJSON(json: any): CoseKey {\n return CoseKeyToJSONTyped(json, false)\n}\n\nexport function CoseKeyToJSONTyped(value?: CoseKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kty: CoseKeyTypeToJSON(value['kty']),\n kid: value['kid'],\n alg: value['alg'],\n key_ops: value['keyOps'],\n baseIV: value['baseIV'],\n crv: value['crv'],\n x: value['x'],\n y: value['y'],\n d: value['d'],\n x5chain: value['x5chain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { CoseKey } from './CoseKey'\nimport { CoseKeyFromJSON, CoseKeyToJSON } from './CoseKey'\n\n/**\n * Represents a cryptographic key pair for COSE (CBOR Object Signing and Encryption) operations.\n * @export\n * @interface CoseKeyPair\n */\nexport interface CoseKeyPair {\n /**\n *\n * @type {CoseKey}\n * @memberof CoseKeyPair\n */\n privateCoseKey?: CoseKey\n /**\n *\n * @type {CoseKey}\n * @memberof CoseKeyPair\n */\n publicCoseKey: CoseKey\n}\n\n/**\n * Check if a given object implements the CoseKeyPair interface.\n */\nexport function instanceOfCoseKeyPair(value: object): value is CoseKeyPair {\n if (!('publicCoseKey' in value) || value['publicCoseKey'] === undefined) return false\n return true\n}\n\nexport function CoseKeyPairFromJSON(json: any): CoseKeyPair {\n return CoseKeyPairFromJSONTyped(json, false)\n}\n\nexport function CoseKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKeyPair {\n if (json == null) {\n return json\n }\n return {\n privateCoseKey: json['privateCoseKey'] == null ? undefined : CoseKeyFromJSON(json['privateCoseKey']),\n publicCoseKey: CoseKeyFromJSON(json['publicCoseKey']),\n }\n}\n\nexport function CoseKeyPairToJSON(json: any): CoseKeyPair {\n return CoseKeyPairToJSONTyped(json, false)\n}\n\nexport function CoseKeyPairToJSONTyped(value?: CoseKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n privateCoseKey: CoseKeyToJSON(value['privateCoseKey']),\n publicCoseKey: CoseKeyToJSON(value['publicCoseKey']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The type of Key Provider. Determines the required configuration settings. - AZURE_KEYVAULT: Microsoft Azure Key Vault or Managed HSM. - AWS_KMS: Amazon Web Services Key Management Service.\n * @export\n */\nexport const KeyProviderType = {\n Software: 'SOFTWARE',\n AzureKeyvault: 'AZURE_KEYVAULT',\n AwsKms: 'AWS_KMS',\n} as const\nexport type KeyProviderType = (typeof KeyProviderType)[keyof typeof KeyProviderType]\n\nexport function instanceOfKeyProviderType(value: any): boolean {\n for (const key in KeyProviderType) {\n if (Object.prototype.hasOwnProperty.call(KeyProviderType, key)) {\n if (KeyProviderType[key as keyof typeof KeyProviderType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyProviderTypeFromJSON(json: any): KeyProviderType {\n return KeyProviderTypeFromJSONTyped(json, false)\n}\n\nexport function KeyProviderTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProviderType {\n return json as KeyProviderType\n}\n\nexport function KeyProviderTypeToJSON(value?: KeyProviderType | null): any {\n return value as any\n}\n\nexport function KeyProviderTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyProviderType {\n return value as KeyProviderType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic key type identifier.\n * @export\n */\nexport const KeyType = {\n Okp: 'OKP',\n Ec: 'EC',\n Rsa: 'RSA',\n} as const\nexport type KeyType = (typeof KeyType)[keyof typeof KeyType]\n\nexport function instanceOfKeyType(value: any): boolean {\n for (const key in KeyType) {\n if (Object.prototype.hasOwnProperty.call(KeyType, key)) {\n if (KeyType[key as keyof typeof KeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyTypeFromJSON(json: any): KeyType {\n return KeyTypeFromJSONTyped(json, false)\n}\n\nexport function KeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyType {\n return json as KeyType\n}\n\nexport function KeyTypeToJSON(value?: KeyType | null): any {\n return value as any\n}\n\nexport function KeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyType {\n return value as KeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Indicates the visibility status of a cryptographic key.\n * @export\n */\nexport const KeyVisibility = {\n Public: 'PUBLIC',\n Private: 'PRIVATE',\n} as const\nexport type KeyVisibility = (typeof KeyVisibility)[keyof typeof KeyVisibility]\n\nexport function instanceOfKeyVisibility(value: any): boolean {\n for (const key in KeyVisibility) {\n if (Object.prototype.hasOwnProperty.call(KeyVisibility, key)) {\n if (KeyVisibility[key as keyof typeof KeyVisibility] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyVisibilityFromJSON(json: any): KeyVisibility {\n return KeyVisibilityFromJSONTyped(json, false)\n}\n\nexport function KeyVisibilityFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyVisibility {\n return json as KeyVisibility\n}\n\nexport function KeyVisibilityToJSON(value?: KeyVisibility | null): any {\n return value as any\n}\n\nexport function KeyVisibilityToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyVisibility {\n return value as KeyVisibility\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic signature algorithm identifier.\n * @export\n */\nexport const SignatureAlgorithm = {\n Ed25519: 'ED25519',\n EcdsaSha256: 'ECDSA_SHA256',\n EcdsaSha384: 'ECDSA_SHA384',\n EcdsaSha512: 'ECDSA_SHA512',\n Es256K: 'ES256K',\n EckaDhSha256: 'ECKA_DH_SHA256',\n HmacSha256: 'HMAC_SHA256',\n HmacSha384: 'HMAC_SHA384',\n HmacSha512: 'HMAC_SHA512',\n RsaSsaPssSha256Mgf1: 'RSA_SSA_PSS_SHA256_MGF1',\n RsaSsaPssSha384Mgf1: 'RSA_SSA_PSS_SHA384_MGF1',\n RsaSsaPssSha512Mgf1: 'RSA_SSA_PSS_SHA512_MGF1',\n} as const\nexport type SignatureAlgorithm = (typeof SignatureAlgorithm)[keyof typeof SignatureAlgorithm]\n\nexport function instanceOfSignatureAlgorithm(value: any): boolean {\n for (const key in SignatureAlgorithm) {\n if (Object.prototype.hasOwnProperty.call(SignatureAlgorithm, key)) {\n if (SignatureAlgorithm[key as keyof typeof SignatureAlgorithm] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function SignatureAlgorithmFromJSON(json: any): SignatureAlgorithm {\n return SignatureAlgorithmFromJSONTyped(json, false)\n}\n\nexport function SignatureAlgorithmFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignatureAlgorithm {\n return json as SignatureAlgorithm\n}\n\nexport function SignatureAlgorithmToJSON(value?: SignatureAlgorithm | null): any {\n return value as any\n}\n\nexport function SignatureAlgorithmToJSONTyped(value: any, ignoreDiscriminator: boolean): SignatureAlgorithm {\n return value as SignatureAlgorithm\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The encoding format of the cryptographic key.\n * @export\n */\nexport const KeyEncoding = {\n Cose: 'COSE',\n Jose: 'JOSE',\n} as const\nexport type KeyEncoding = (typeof KeyEncoding)[keyof typeof KeyEncoding]\n\nexport function instanceOfKeyEncoding(value: any): boolean {\n for (const key in KeyEncoding) {\n if (Object.prototype.hasOwnProperty.call(KeyEncoding, key)) {\n if (KeyEncoding[key as keyof typeof KeyEncoding] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyEncodingFromJSON(json: any): KeyEncoding {\n return KeyEncodingFromJSONTyped(json, false)\n}\n\nexport function KeyEncodingFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyEncoding {\n return json as KeyEncoding\n}\n\nexport function KeyEncodingToJSON(value?: KeyEncoding | null): any {\n return value as any\n}\n\nexport function KeyEncodingToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyEncoding {\n return value as KeyEncoding\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Elliptic curve identifier.\n * @export\n */\nexport const Curve = {\n P256: 'P-256',\n P384: 'P-384',\n P521: 'P-521',\n Secp256k1: 'secp256k1',\n Ed25519: 'Ed25519',\n Ed448: 'Ed448',\n X25519: 'X25519',\n X448: 'X448',\n} as const\nexport type Curve = (typeof Curve)[keyof typeof Curve]\n\nexport function instanceOfCurve(value: any): boolean {\n for (const key in Curve) {\n if (Object.prototype.hasOwnProperty.call(Curve, key)) {\n if (Curve[key as keyof typeof Curve] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CurveFromJSON(json: any): Curve {\n return CurveFromJSONTyped(json, false)\n}\n\nexport function CurveFromJSONTyped(json: any, ignoreDiscriminator: boolean): Curve {\n return json as Curve\n}\n\nexport function CurveToJSON(value?: Curve | null): any {\n return value as any\n}\n\nexport function CurveToJSONTyped(value: any, ignoreDiscriminator: boolean): Curve {\n return value as Curve\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Specific operations the key is intended for.\n * @export\n */\nexport const KeyOperations = {\n Sign: 'sign',\n Verify: 'verify',\n Encrypt: 'encrypt',\n Decrypt: 'decrypt',\n WrapKey: 'wrapKey',\n UnwrapKey: 'unwrapKey',\n DeriveKey: 'deriveKey',\n DeriveBits: 'deriveBits',\n} as const\nexport type KeyOperations = (typeof KeyOperations)[keyof typeof KeyOperations]\n\nexport function instanceOfKeyOperations(value: any): boolean {\n for (const key in KeyOperations) {\n if (Object.prototype.hasOwnProperty.call(KeyOperations, key)) {\n if (KeyOperations[key as keyof typeof KeyOperations] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyOperationsFromJSON(json: any): KeyOperations {\n return KeyOperationsFromJSONTyped(json, false)\n}\n\nexport function KeyOperationsFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyOperations {\n return json as KeyOperations\n}\n\nexport function KeyOperationsToJSON(value?: KeyOperations | null): any {\n return value as any\n}\n\nexport function KeyOperationsToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyOperations {\n return value as KeyOperations\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Intended use of the key (signing or encryption).\n * @export\n */\nexport const JwkUse = {\n Sig: 'sig',\n Enc: 'enc',\n} as const\nexport type JwkUse = (typeof JwkUse)[keyof typeof JwkUse]\n\nexport function instanceOfJwkUse(value: any): boolean {\n for (const key in JwkUse) {\n if (Object.prototype.hasOwnProperty.call(JwkUse, key)) {\n if (JwkUse[key as keyof typeof JwkUse] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function JwkUseFromJSON(json: any): JwkUse {\n return JwkUseFromJSONTyped(json, false)\n}\n\nexport function JwkUseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JwkUse {\n return json as JwkUse\n}\n\nexport function JwkUseToJSON(value?: JwkUse | null): any {\n return value as any\n}\n\nexport function JwkUseToJSONTyped(value: any, ignoreDiscriminator: boolean): JwkUse {\n return value as JwkUse\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * JSON Web Key (JWK) key type parameter identifying the cryptographic algorithm family.\n * @export\n */\nexport const JwkKeyType = {\n Ec: 'EC',\n Rsa: 'RSA',\n Okp: 'OKP',\n Oct: 'oct',\n} as const\nexport type JwkKeyType = (typeof JwkKeyType)[keyof typeof JwkKeyType]\n\nexport function instanceOfJwkKeyType(value: any): boolean {\n for (const key in JwkKeyType) {\n if (Object.prototype.hasOwnProperty.call(JwkKeyType, key)) {\n if (JwkKeyType[key as keyof typeof JwkKeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function JwkKeyTypeFromJSON(json: any): JwkKeyType {\n return JwkKeyTypeFromJSONTyped(json, false)\n}\n\nexport function JwkKeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): JwkKeyType {\n return json as JwkKeyType\n}\n\nexport function JwkKeyTypeToJSON(value?: JwkKeyType | null): any {\n return value as any\n}\n\nexport function JwkKeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): JwkKeyType {\n return value as JwkKeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Curve } from './Curve'\nimport { CurveFromJSON, CurveToJSON } from './Curve'\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\nimport type { JwkKeyType } from './JwkKeyType'\nimport { JwkKeyTypeFromJSON, JwkKeyTypeToJSON } from './JwkKeyType'\n\n/**\n * Represents a JSON Web Key (JWK) as defined by the JSON Web Key specification.\n * @export\n * @interface Jwk\n */\nexport interface Jwk {\n /**\n *\n * @type {JwkKeyType}\n * @memberof Jwk\n */\n kty: JwkKeyType\n /**\n * Key identifier used to uniquely identify the key.\n * @type {string}\n * @memberof Jwk\n */\n kid?: string\n /**\n * The algorithm intended for use with the key (JWA algorithm name).\n * @type {string}\n * @memberof Jwk\n */\n alg?: string\n /**\n *\n * @type {JwkUse}\n * @memberof Jwk\n */\n use?: JwkUse\n /**\n * The allowed cryptographic operations for the key.\n * @type {Array<KeyOperations>}\n * @memberof Jwk\n */\n keyOps?: Array<KeyOperations>\n /**\n *\n * @type {Curve}\n * @memberof Jwk\n */\n crv?: Curve\n /**\n * The x coordinate for elliptic curve keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x?: string\n /**\n * The y coordinate for elliptic curve keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n y?: string\n /**\n * The private key parameter (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n d?: string\n /**\n * The modulus value for RSA keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n n?: string\n /**\n * The public exponent for RSA keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n e?: string\n /**\n * The first prime factor for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n p?: string\n /**\n * The second prime factor for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n q?: string\n /**\n * The first factor CRT exponent for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n dp?: string\n /**\n * The second factor CRT exponent for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n dq?: string\n /**\n * The first CRT coefficient for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n qi?: string\n /**\n * The symmetric key value (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n k?: string\n /**\n * X.509 certificate chain as base64-encoded DER certificates.\n * @type {Array<string>}\n * @memberof Jwk\n */\n x5c?: Array<string>\n /**\n * X.509 certificate SHA-1 thumbprint (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x5t?: string\n /**\n * URL pointing to X.509 certificate or certificate chain.\n * @type {string}\n * @memberof Jwk\n */\n x5u?: string\n /**\n * X.509 certificate SHA-256 thumbprint (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x5tS256?: string\n}\n\n/**\n * Check if a given object implements the Jwk interface.\n */\nexport function instanceOfJwk(value: object): value is Jwk {\n if (!('kty' in value) || value['kty'] === undefined) return false\n return true\n}\n\nexport function JwkFromJSON(json: any): Jwk {\n return JwkFromJSONTyped(json, false)\n}\n\nexport function JwkFromJSONTyped(json: any, ignoreDiscriminator: boolean): Jwk {\n if (json == null) {\n return json\n }\n return {\n kty: JwkKeyTypeFromJSON(json['kty']),\n kid: json['kid'] == null ? undefined : json['kid'],\n alg: json['alg'] == null ? undefined : json['alg'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOps: json['key_ops'] == null ? undefined : (json['key_ops'] as Array<any>).map(KeyOperationsFromJSON),\n crv: json['crv'] == null ? undefined : CurveFromJSON(json['crv']),\n x: json['x'] == null ? undefined : json['x'],\n y: json['y'] == null ? undefined : json['y'],\n d: json['d'] == null ? undefined : json['d'],\n n: json['n'] == null ? undefined : json['n'],\n e: json['e'] == null ? undefined : json['e'],\n p: json['p'] == null ? undefined : json['p'],\n q: json['q'] == null ? undefined : json['q'],\n dp: json['dp'] == null ? undefined : json['dp'],\n dq: json['dq'] == null ? undefined : json['dq'],\n qi: json['qi'] == null ? undefined : json['qi'],\n k: json['k'] == null ? undefined : json['k'],\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n x5t: json['x5t'] == null ? undefined : json['x5t'],\n x5u: json['x5u'] == null ? undefined : json['x5u'],\n x5tS256: json['x5t#S256'] == null ? undefined : json['x5t#S256'],\n }\n}\n\nexport function JwkToJSON(json: any): Jwk {\n return JwkToJSONTyped(json, false)\n}\n\nexport function JwkToJSONTyped(value?: Jwk | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kty: JwkKeyTypeToJSON(value['kty']),\n kid: value['kid'],\n alg: value['alg'],\n use: JwkUseToJSON(value['use']),\n key_ops: value['keyOps'] == null ? undefined : (value['keyOps'] as Array<any>).map(KeyOperationsToJSON),\n crv: CurveToJSON(value['crv']),\n x: value['x'],\n y: value['y'],\n d: value['d'],\n n: value['n'],\n e: value['e'],\n p: value['p'],\n q: value['q'],\n dp: value['dp'],\n dq: value['dq'],\n qi: value['qi'],\n k: value['k'],\n x5c: value['x5c'],\n x5t: value['x5t'],\n x5u: value['x5u'],\n 'x5t#S256': value['x5tS256'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Information about a cryptographic key, providing metadata and configuration details necessary for cryptographic operations.\n * @export\n * @interface KeyInfo\n */\nexport interface KeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof KeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof KeyInfo\n */\n key?: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof KeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof KeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof KeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof KeyInfo\n */\n alias?: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof KeyInfo\n */\n providerId?: string\n /**\n *\n * @type {KeyType}\n * @memberof KeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof KeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof KeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the KeyInfo interface.\n */\nexport function instanceOfKeyInfo(value: object): value is KeyInfo {\n return true\n}\n\nexport function KeyInfoFromJSON(json: any): KeyInfo {\n return KeyInfoFromJSONTyped(json, false)\n}\n\nexport function KeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: json['key'] == null ? undefined : JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'] == null ? undefined : json['alias'],\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function KeyInfoToJSON(json: any): KeyInfo {\n return KeyInfoToJSONTyped(json, false)\n}\n\nexport function KeyInfoToJSONTyped(value?: KeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\n\n/**\n * Request body for creating a raw signature.\n * @export\n * @interface CreateRawSignature\n */\nexport interface CreateRawSignature {\n /**\n *\n * @type {KeyInfo}\n * @memberof CreateRawSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {string}\n * @memberof CreateRawSignature\n */\n input: string\n}\n\n/**\n * Check if a given object implements the CreateRawSignature interface.\n */\nexport function instanceOfCreateRawSignature(value: object): value is CreateRawSignature {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n if (!('input' in value) || value['input'] === undefined) return false\n return true\n}\n\nexport function CreateRawSignatureFromJSON(json: any): CreateRawSignature {\n return CreateRawSignatureFromJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateRawSignature {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n input: json['input'],\n }\n}\n\nexport function CreateRawSignatureToJSON(json: any): CreateRawSignature {\n return CreateRawSignatureToJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureToJSONTyped(value?: CreateRawSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n input: value['input'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Response body containing the created signature.\n * @export\n * @interface CreateRawSignatureResponse\n */\nexport interface CreateRawSignatureResponse {\n /**\n * The created signature encoded as a base64 string.\n * @type {string}\n * @memberof CreateRawSignatureResponse\n */\n signature: string\n}\n\n/**\n * Check if a given object implements the CreateRawSignatureResponse interface.\n */\nexport function instanceOfCreateRawSignatureResponse(value: object): value is CreateRawSignatureResponse {\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function CreateRawSignatureResponseFromJSON(json: any): CreateRawSignatureResponse {\n return CreateRawSignatureResponseFromJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateRawSignatureResponse {\n if (json == null) {\n return json\n }\n return {\n signature: json['signature'],\n }\n}\n\nexport function CreateRawSignatureResponseToJSON(json: any): CreateRawSignatureResponse {\n return CreateRawSignatureResponseToJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureResponseToJSONTyped(value?: CreateRawSignatureResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signature: value['signature'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\n\n/**\n * Parameters for key generation.\n * @export\n * @interface GenerateKey\n */\nexport interface GenerateKey {\n /**\n * Alias for the generated key.\n * @type {string}\n * @memberof GenerateKey\n */\n alias?: string\n /**\n *\n * @type {JwkUse}\n * @memberof GenerateKey\n */\n use?: JwkUse\n /**\n *\n * @type {Array<KeyOperations>}\n * @memberof GenerateKey\n */\n keyOperations?: Array<KeyOperations>\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof GenerateKey\n */\n alg?: SignatureAlgorithm\n}\n\n/**\n * Check if a given object implements the GenerateKey interface.\n */\nexport function instanceOfGenerateKey(value: object): value is GenerateKey {\n return true\n}\n\nexport function GenerateKeyFromJSON(json: any): GenerateKey {\n return GenerateKeyFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKey {\n if (json == null) {\n return json\n }\n return {\n alias: json['alias'] == null ? undefined : json['alias'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n alg: json['alg'] == null ? undefined : SignatureAlgorithmFromJSON(json['alg']),\n }\n}\n\nexport function GenerateKeyToJSON(json: any): GenerateKey {\n return GenerateKeyToJSONTyped(json, false)\n}\n\nexport function GenerateKeyToJSONTyped(value?: GenerateKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n alias: value['alias'],\n use: JwkUseToJSON(value['use']),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n alg: SignatureAlgorithmToJSON(value['alg']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\n\n/**\n * Parameters for global key generation with optional provider specification.\n * @export\n * @interface GenerateKeyGlobal\n */\nexport interface GenerateKeyGlobal {\n /**\n * Alias for the generated key.\n * @type {string}\n * @memberof GenerateKeyGlobal\n */\n alias?: string\n /**\n *\n * @type {JwkUse}\n * @memberof GenerateKeyGlobal\n */\n use?: JwkUse\n /**\n *\n * @type {Array<KeyOperations>}\n * @memberof GenerateKeyGlobal\n */\n keyOperations?: Array<KeyOperations>\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof GenerateKeyGlobal\n */\n alg?: SignatureAlgorithm\n /**\n * Optional provider ID. If not specified, the default provider will be used.\n * @type {string}\n * @memberof GenerateKeyGlobal\n */\n providerId?: string\n}\n\n/**\n * Check if a given object implements the GenerateKeyGlobal interface.\n */\nexport function instanceOfGenerateKeyGlobal(value: object): value is GenerateKeyGlobal {\n return true\n}\n\nexport function GenerateKeyGlobalFromJSON(json: any): GenerateKeyGlobal {\n return GenerateKeyGlobalFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyGlobalFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKeyGlobal {\n if (json == null) {\n return json\n }\n return {\n alias: json['alias'] == null ? undefined : json['alias'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n alg: json['alg'] == null ? undefined : SignatureAlgorithmFromJSON(json['alg']),\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n }\n}\n\nexport function GenerateKeyGlobalToJSON(json: any): GenerateKeyGlobal {\n return GenerateKeyGlobalToJSONTyped(json, false)\n}\n\nexport function GenerateKeyGlobalToJSONTyped(value?: GenerateKeyGlobal | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n alias: value['alias'],\n use: JwkUseToJSON(value['use']),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n alg: SignatureAlgorithmToJSON(value['alg']),\n providerId: value['providerId'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Data class representing a cryptographic key pair used with JOSE (JSON Object Signing and Encryption).\n * @export\n * @interface JoseKeyPair\n */\nexport interface JoseKeyPair {\n /**\n *\n * @type {Jwk}\n * @memberof JoseKeyPair\n */\n privateJwk?: Jwk\n /**\n *\n * @type {Jwk}\n * @memberof JoseKeyPair\n */\n publicJwk: Jwk\n}\n\n/**\n * Check if a given object implements the JoseKeyPair interface.\n */\nexport function instanceOfJoseKeyPair(value: object): value is JoseKeyPair {\n if (!('publicJwk' in value) || value['publicJwk'] === undefined) return false\n return true\n}\n\nexport function JoseKeyPairFromJSON(json: any): JoseKeyPair {\n return JoseKeyPairFromJSONTyped(json, false)\n}\n\nexport function JoseKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): JoseKeyPair {\n if (json == null) {\n return json\n }\n return {\n privateJwk: json['privateJwk'] == null ? undefined : JwkFromJSON(json['privateJwk']),\n publicJwk: JwkFromJSON(json['publicJwk']),\n }\n}\n\nexport function JoseKeyPairToJSON(json: any): JoseKeyPair {\n return JoseKeyPairToJSONTyped(json, false)\n}\n\nexport function JoseKeyPairToJSONTyped(value?: JoseKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n privateJwk: JwkToJSON(value['privateJwk']),\n publicJwk: JwkToJSON(value['publicJwk']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { JoseKeyPair } from './JoseKeyPair'\nimport { JoseKeyPairFromJSON, JoseKeyPairToJSON } from './JoseKeyPair'\nimport type { CoseKeyPair } from './CoseKeyPair'\nimport { CoseKeyPairFromJSON, CoseKeyPairToJSON } from './CoseKeyPair'\n\n/**\n * Represents a key pair used by a crypto provider, encapsulating both JOSE and COSE key pairs.\n * @export\n * @interface ManagedKeyPair\n */\nexport interface ManagedKeyPair {\n /**\n * Key identifier, may be null.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n kid?: string\n /**\n * Key Management System identifier.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n providerId: string\n /**\n * Reference to the key in the KMS.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n alias: string\n /**\n *\n * @type {CoseKeyPair}\n * @memberof ManagedKeyPair\n */\n cose: CoseKeyPair\n /**\n *\n * @type {JoseKeyPair}\n * @memberof ManagedKeyPair\n */\n jose: JoseKeyPair\n}\n\n/**\n * Check if a given object implements the ManagedKeyPair interface.\n */\nexport function instanceOfManagedKeyPair(value: object): value is ManagedKeyPair {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('alias' in value) || value['alias'] === undefined) return false\n if (!('cose' in value) || value['cose'] === undefined) return false\n if (!('jose' in value) || value['jose'] === undefined) return false\n return true\n}\n\nexport function ManagedKeyPairFromJSON(json: any): ManagedKeyPair {\n return ManagedKeyPairFromJSONTyped(json, false)\n}\n\nexport function ManagedKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): ManagedKeyPair {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n providerId: json['providerId'],\n alias: json['alias'],\n cose: CoseKeyPairFromJSON(json['cose']),\n jose: JoseKeyPairFromJSON(json['jose']),\n }\n}\n\nexport function ManagedKeyPairToJSON(json: any): ManagedKeyPair {\n return ManagedKeyPairToJSONTyped(json, false)\n}\n\nexport function ManagedKeyPairToJSONTyped(value?: ManagedKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n providerId: value['providerId'],\n alias: value['alias'],\n cose: CoseKeyPairToJSON(value['cose']),\n jose: JoseKeyPairToJSON(value['jose']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Represents a managed cryptographic key information that is guaranteed to be present and resolved, part of a KMS providing concrete access to the key.\n * @export\n * @interface ManagedKeyInfo\n */\nexport interface ManagedKeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof ManagedKeyInfo\n */\n key: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof ManagedKeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof ManagedKeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof ManagedKeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n alias: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n providerId: string\n /**\n *\n * @type {KeyType}\n * @memberof ManagedKeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof ManagedKeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof ManagedKeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the ManagedKeyInfo interface.\n */\nexport function instanceOfManagedKeyInfo(value: object): value is ManagedKeyInfo {\n if (!('key' in value) || value['key'] === undefined) return false\n if (!('alias' in value) || value['alias'] === undefined) return false\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n return true\n}\n\nexport function ManagedKeyInfoFromJSON(json: any): ManagedKeyInfo {\n return ManagedKeyInfoFromJSONTyped(json, false)\n}\n\nexport function ManagedKeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ManagedKeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'],\n providerId: json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function ManagedKeyInfoToJSON(json: any): ManagedKeyInfo {\n return ManagedKeyInfoToJSONTyped(json, false)\n}\n\nexport function ManagedKeyInfoToJSONTyped(value?: ManagedKeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Method used to identify cryptographic keys.\n * @export\n */\nexport const IdentifierMethod = {\n Jwk: 'JWK',\n Kid: 'KID',\n CoseKey: 'COSE_KEY',\n X5C: 'X5C',\n Did: 'DID',\n} as const\nexport type IdentifierMethod = (typeof IdentifierMethod)[keyof typeof IdentifierMethod]\n\nexport function instanceOfIdentifierMethod(value: any): boolean {\n for (const key in IdentifierMethod) {\n if (Object.prototype.hasOwnProperty.call(IdentifierMethod, key)) {\n if (IdentifierMethod[key as keyof typeof IdentifierMethod] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function IdentifierMethodFromJSON(json: any): IdentifierMethod {\n return IdentifierMethodFromJSONTyped(json, false)\n}\n\nexport function IdentifierMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): IdentifierMethod {\n return json as IdentifierMethod\n}\n\nexport function IdentifierMethodToJSON(value?: IdentifierMethod | null): any {\n return value as any\n}\n\nexport function IdentifierMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): IdentifierMethod {\n return value as IdentifierMethod\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface KeyProvider\n */\nexport interface KeyProvider {\n /**\n * The unique identifier assigned to the Key Provider instance upon creation.\n * @type {string}\n * @memberof KeyProvider\n */\n providerId: string\n /**\n *\n * @type {KeyProviderType}\n * @memberof KeyProvider\n */\n type: KeyProviderType\n}\n\n/**\n * Check if a given object implements the KeyProvider interface.\n */\nexport function instanceOfKeyProvider(value: object): value is KeyProvider {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function KeyProviderFromJSON(json: any): KeyProvider {\n return KeyProviderFromJSONTyped(json, false)\n}\n\nexport function KeyProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProvider {\n if (json == null) {\n return json\n }\n return {\n providerId: json['providerId'],\n type: KeyProviderTypeFromJSON(json['type']),\n }\n}\n\nexport function KeyProviderToJSON(json: any): KeyProvider {\n return KeyProviderToJSONTyped(json, false)\n}\n\nexport function KeyProviderToJSONTyped(value?: KeyProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providerId: value['providerId'],\n type: KeyProviderTypeToJSON(value['type']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface KeyProviderResponse\n */\nexport interface KeyProviderResponse {\n /**\n * The unique identifier assigned to the Key Provider instance upon creation.\n * @type {string}\n * @memberof KeyProviderResponse\n */\n providerId: string\n /**\n *\n * @type {KeyProviderType}\n * @memberof KeyProviderResponse\n */\n type: KeyProviderType\n}\n\n/**\n * Check if a given object implements the KeyProviderResponse interface.\n */\nexport function instanceOfKeyProviderResponse(value: object): value is KeyProviderResponse {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function KeyProviderResponseFromJSON(json: any): KeyProviderResponse {\n return KeyProviderResponseFromJSONTyped(json, false)\n}\n\nexport function KeyProviderResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProviderResponse {\n if (json == null) {\n return json\n }\n return {\n providerId: json['providerId'],\n type: KeyProviderTypeFromJSON(json['type']),\n }\n}\n\nexport function KeyProviderResponseToJSON(json: any): KeyProviderResponse {\n return KeyProviderResponseToJSONTyped(json, false)\n}\n\nexport function KeyProviderResponseToJSONTyped(value?: KeyProviderResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providerId: value['providerId'],\n type: KeyProviderTypeToJSON(value['type']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProvider } from './KeyProvider'\nimport { KeyProviderFromJSON, KeyProviderToJSON } from './KeyProvider'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface ListKeyProvidersResponse\n */\nexport interface ListKeyProvidersResponse {\n /**\n *\n * @type {Array<KeyProvider>}\n * @memberof ListKeyProvidersResponse\n */\n providers: Array<KeyProvider>\n}\n\n/**\n * Check if a given object implements the ListKeyProvidersResponse interface.\n */\nexport function instanceOfListKeyProvidersResponse(value: object): value is ListKeyProvidersResponse {\n if (!('providers' in value) || value['providers'] === undefined) return false\n return true\n}\n\nexport function ListKeyProvidersResponseFromJSON(json: any): ListKeyProvidersResponse {\n return ListKeyProvidersResponseFromJSONTyped(json, false)\n}\n\nexport function ListKeyProvidersResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListKeyProvidersResponse {\n if (json == null) {\n return json\n }\n return {\n providers: (json['providers'] as Array<any>).map(KeyProviderFromJSON),\n }\n}\n\nexport function ListKeyProvidersResponseToJSON(json: any): ListKeyProvidersResponse {\n return ListKeyProvidersResponseToJSONTyped(json, false)\n}\n\nexport function ListKeyProvidersResponseToJSONTyped(value?: ListKeyProvidersResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providers: (value['providers'] as Array<any>).map(KeyProviderToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyInfo } from './ManagedKeyInfo'\nimport { ManagedKeyInfoFromJSON, ManagedKeyInfoToJSON } from './ManagedKeyInfo'\n\n/**\n * Response body containing all the managed keys.\n * @export\n * @interface ListKeysResponse\n */\nexport interface ListKeysResponse {\n /**\n *\n * @type {Array<ManagedKeyInfo>}\n * @memberof ListKeysResponse\n */\n keyInfos: Array<ManagedKeyInfo>\n}\n\n/**\n * Check if a given object implements the ListKeysResponse interface.\n */\nexport function instanceOfListKeysResponse(value: object): value is ListKeysResponse {\n if (!('keyInfos' in value) || value['keyInfos'] === undefined) return false\n return true\n}\n\nexport function ListKeysResponseFromJSON(json: any): ListKeysResponse {\n return ListKeysResponseFromJSONTyped(json, false)\n}\n\nexport function ListKeysResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListKeysResponse {\n if (json == null) {\n return json\n }\n return {\n keyInfos: (json['keyInfos'] as Array<any>).map(ManagedKeyInfoFromJSON),\n }\n}\n\nexport function ListKeysResponseToJSON(json: any): ListKeysResponse {\n return ListKeysResponseToJSONTyped(json, false)\n}\n\nexport function ListKeysResponseToJSONTyped(value?: ListKeysResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfos: (value['keyInfos'] as Array<any>).map(ManagedKeyInfoToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Represents a key resolver configuration.\n * @export\n * @interface Resolver\n */\nexport interface Resolver {\n /**\n * Unique identifier for the resolver.\n * @type {string}\n * @memberof Resolver\n */\n resolverId: string\n /**\n * List of identifier methods supported by this resolver.\n * @type {Array<IdentifierMethod>}\n * @memberof Resolver\n */\n supportedIdentifierMethods?: Array<IdentifierMethod>\n /**\n * List of key types supported by this resolver.\n * @type {Array<KeyType>}\n * @memberof Resolver\n */\n supportedKeyTypes?: Array<KeyType>\n}\n\n/**\n * Check if a given object implements the Resolver interface.\n */\nexport function instanceOfResolver(value: object): value is Resolver {\n if (!('resolverId' in value) || value['resolverId'] === undefined) return false\n return true\n}\n\nexport function ResolverFromJSON(json: any): Resolver {\n return ResolverFromJSONTyped(json, false)\n}\n\nexport function ResolverFromJSONTyped(json: any, ignoreDiscriminator: boolean): Resolver {\n if (json == null) {\n return json\n }\n return {\n resolverId: json['resolverId'],\n supportedIdentifierMethods:\n json['supportedIdentifierMethods'] == null ? undefined : (json['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodFromJSON),\n supportedKeyTypes: json['supportedKeyTypes'] == null ? undefined : (json['supportedKeyTypes'] as Array<any>).map(KeyTypeFromJSON),\n }\n}\n\nexport function ResolverToJSON(json: any): Resolver {\n return ResolverToJSONTyped(json, false)\n}\n\nexport function ResolverToJSONTyped(value?: Resolver | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolverId: value['resolverId'],\n supportedIdentifierMethods:\n value['supportedIdentifierMethods'] == null ? undefined : (value['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodToJSON),\n supportedKeyTypes: value['supportedKeyTypes'] == null ? undefined : (value['supportedKeyTypes'] as Array<any>).map(KeyTypeToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Resolver } from './Resolver'\nimport { ResolverFromJSON, ResolverToJSON } from './Resolver'\n\n/**\n * Response body containing all the resolvers.\n * @export\n * @interface ListResolversResponse\n */\nexport interface ListResolversResponse {\n /**\n *\n * @type {Array<Resolver>}\n * @memberof ListResolversResponse\n */\n resolvers: Array<Resolver>\n}\n\n/**\n * Check if a given object implements the ListResolversResponse interface.\n */\nexport function instanceOfListResolversResponse(value: object): value is ListResolversResponse {\n if (!('resolvers' in value) || value['resolvers'] === undefined) return false\n return true\n}\n\nexport function ListResolversResponseFromJSON(json: any): ListResolversResponse {\n return ListResolversResponseFromJSONTyped(json, false)\n}\n\nexport function ListResolversResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListResolversResponse {\n if (json == null) {\n return json\n }\n return {\n resolvers: (json['resolvers'] as Array<any>).map(ResolverFromJSON),\n }\n}\n\nexport function ListResolversResponseToJSON(json: any): ListResolversResponse {\n return ListResolversResponseToJSONTyped(json, false)\n}\n\nexport function ListResolversResponseToJSONTyped(value?: ListResolversResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolvers: (value['resolvers'] as Array<any>).map(ResolverToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Request body for resolving a public key.\n * @export\n * @interface ResolvePublicKey\n */\nexport interface ResolvePublicKey {\n /**\n *\n * @type {KeyInfo}\n * @memberof ResolvePublicKey\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {IdentifierMethod}\n * @memberof ResolvePublicKey\n */\n identifierMethod?: IdentifierMethod\n /**\n * Optional array of trusted certificates (base64-encoded) that may be used in the resolution process.\n * @type {Array<string>}\n * @memberof ResolvePublicKey\n */\n trustedCerts?: Array<string>\n /**\n * Optional boolean indicating whether the X.509 certificate chain should be verified.\n * @type {boolean}\n * @memberof ResolvePublicKey\n */\n verifyX509CertificateChain?: boolean\n}\n\n/**\n * Check if a given object implements the ResolvePublicKey interface.\n */\nexport function instanceOfResolvePublicKey(value: object): value is ResolvePublicKey {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function ResolvePublicKeyFromJSON(json: any): ResolvePublicKey {\n return ResolvePublicKeyFromJSONTyped(json, false)\n}\n\nexport function ResolvePublicKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResolvePublicKey {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n identifierMethod: json['identifierMethod'] == null ? undefined : IdentifierMethodFromJSON(json['identifierMethod']),\n trustedCerts: json['trustedCerts'] == null ? undefined : json['trustedCerts'],\n verifyX509CertificateChain: json['verifyX509CertificateChain'] == null ? undefined : json['verifyX509CertificateChain'],\n }\n}\n\nexport function ResolvePublicKeyToJSON(json: any): ResolvePublicKey {\n return ResolvePublicKeyToJSONTyped(json, false)\n}\n\nexport function ResolvePublicKeyToJSONTyped(value?: ResolvePublicKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n identifierMethod: IdentifierMethodToJSON(value['identifierMethod']),\n trustedCerts: value['trustedCerts'],\n verifyX509CertificateChain: value['verifyX509CertificateChain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Represents a resolved cryptographic key information where the key is guaranteed to be present and resolved, providing concrete access to the key.\n * @export\n * @interface ResolvedKeyInfo\n */\nexport interface ResolvedKeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof ResolvedKeyInfo\n */\n key: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof ResolvedKeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof ResolvedKeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof ResolvedKeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n alias?: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n providerId?: string\n /**\n *\n * @type {KeyType}\n * @memberof ResolvedKeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof ResolvedKeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof ResolvedKeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the ResolvedKeyInfo interface.\n */\nexport function instanceOfResolvedKeyInfo(value: object): value is ResolvedKeyInfo {\n if (!('key' in value) || value['key'] === undefined) return false\n return true\n}\n\nexport function ResolvedKeyInfoFromJSON(json: any): ResolvedKeyInfo {\n return ResolvedKeyInfoFromJSONTyped(json, false)\n}\n\nexport function ResolvedKeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResolvedKeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'] == null ? undefined : json['alias'],\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function ResolvedKeyInfoToJSON(json: any): ResolvedKeyInfo {\n return ResolvedKeyInfoToJSONTyped(json, false)\n}\n\nexport function ResolvedKeyInfoToJSONTyped(value?: ResolvedKeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ResolvedKeyInfo } from './ResolvedKeyInfo'\nimport { ResolvedKeyInfoFromJSON, ResolvedKeyInfoToJSON } from './ResolvedKeyInfo'\n\n/**\n * Request body for storing a key.\n * @export\n * @interface StoreKey\n */\nexport interface StoreKey {\n /**\n *\n * @type {ResolvedKeyInfo}\n * @memberof StoreKey\n */\n keyInfo: ResolvedKeyInfo\n /**\n * X.509 certificate chain as base64-encoded DER certificates.\n * @type {Array<string>}\n * @memberof StoreKey\n */\n certChain?: Array<string>\n}\n\n/**\n * Check if a given object implements the StoreKey interface.\n */\nexport function instanceOfStoreKey(value: object): value is StoreKey {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function StoreKeyFromJSON(json: any): StoreKey {\n return StoreKeyFromJSONTyped(json, false)\n}\n\nexport function StoreKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoreKey {\n if (json == null) {\n return json\n }\n return {\n keyInfo: ResolvedKeyInfoFromJSON(json['keyInfo']),\n certChain: json['certChain'] == null ? undefined : json['certChain'],\n }\n}\n\nexport function StoreKeyToJSON(json: any): StoreKey {\n return StoreKeyToJSONTyped(json, false)\n}\n\nexport function StoreKeyToJSONTyped(value?: StoreKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: ResolvedKeyInfoToJSON(value['keyInfo']),\n certChain: value['certChain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\n\n/**\n * Request body for verifying a raw signature.\n * @export\n * @interface VerifyRawSignature\n */\nexport interface VerifyRawSignature {\n /**\n *\n * @type {KeyInfo}\n * @memberof VerifyRawSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {string}\n * @memberof VerifyRawSignature\n */\n input: string\n /**\n *\n * @type {string}\n * @memberof VerifyRawSignature\n */\n signature: string\n}\n\n/**\n * Check if a given object implements the VerifyRawSignature interface.\n */\nexport function instanceOfVerifyRawSignature(value: object): value is VerifyRawSignature {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n if (!('input' in value) || value['input'] === undefined) return false\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function VerifyRawSignatureFromJSON(json: any): VerifyRawSignature {\n return VerifyRawSignatureFromJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifyRawSignature {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n input: json['input'],\n signature: json['signature'],\n }\n}\n\nexport function VerifyRawSignatureToJSON(json: any): VerifyRawSignature {\n return VerifyRawSignatureToJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureToJSONTyped(value?: VerifyRawSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n input: value['input'],\n signature: value['signature'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Response body containing the details of the signature verification.\n * @export\n * @interface VerifyRawSignatureResponse\n */\nexport interface VerifyRawSignatureResponse {\n /**\n * Indicates whether the signature is valid or not.\n * @type {boolean}\n * @memberof VerifyRawSignatureResponse\n */\n isValid: boolean\n}\n\n/**\n * Check if a given object implements the VerifyRawSignatureResponse interface.\n */\nexport function instanceOfVerifyRawSignatureResponse(value: object): value is VerifyRawSignatureResponse {\n if (!('isValid' in value) || value['isValid'] === undefined) return false\n return true\n}\n\nexport function VerifyRawSignatureResponseFromJSON(json: any): VerifyRawSignatureResponse {\n return VerifyRawSignatureResponseFromJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifyRawSignatureResponse {\n if (json == null) {\n return json\n }\n return {\n isValid: json['isValid'],\n }\n}\n\nexport function VerifyRawSignatureResponseToJSON(json: any): VerifyRawSignatureResponse {\n return VerifyRawSignatureResponseToJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureResponseToJSONTyped(value?: VerifyRawSignatureResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n isValid: value['isValid'],\n }\n}\n"],"mappings":"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","names":["Loggers","fetch","CoseKeyTypeFromJSON","json","CoseKeyTypeFromJSONTyped","ignoreDiscriminator","CoseKeyFromJSON","json","CoseKeyFromJSONTyped","ignoreDiscriminator","kty","CoseKeyTypeFromJSON","kid","undefined","alg","keyOps","baseIV","crv","x","y","d","x5chain","CoseKeyPairFromJSON","json","CoseKeyPairFromJSONTyped","ignoreDiscriminator","privateCoseKey","undefined","CoseKeyFromJSON","publicCoseKey","KeyProviderTypeFromJSON","json","KeyProviderTypeFromJSONTyped","ignoreDiscriminator","KeyTypeFromJSON","json","KeyTypeFromJSONTyped","ignoreDiscriminator","KeyTypeToJSON","value","KeyVisibilityFromJSON","json","KeyVisibilityFromJSONTyped","ignoreDiscriminator","KeyVisibilityToJSON","value","SignatureAlgorithmFromJSON","json","SignatureAlgorithmFromJSONTyped","ignoreDiscriminator","SignatureAlgorithmToJSON","value","KeyEncodingFromJSON","json","KeyEncodingFromJSONTyped","ignoreDiscriminator","KeyEncodingToJSON","value","CurveFromJSON","json","CurveFromJSONTyped","ignoreDiscriminator","CurveToJSON","value","KeyOperationsFromJSON","json","KeyOperationsFromJSONTyped","ignoreDiscriminator","KeyOperationsToJSON","value","JwkUseFromJSON","json","JwkUseFromJSONTyped","ignoreDiscriminator","JwkUseToJSON","value","JwkKeyTypeFromJSON","json","JwkKeyTypeFromJSONTyped","ignoreDiscriminator","JwkKeyTypeToJSON","value","JwkFromJSON","json","JwkFromJSONTyped","ignoreDiscriminator","kty","JwkKeyTypeFromJSON","kid","undefined","alg","use","JwkUseFromJSON","keyOps","map","KeyOperationsFromJSON","crv","CurveFromJSON","x","y","d","n","e","p","q","dp","dq","qi","k","x5c","x5t","x5u","x5tS256","JwkToJSON","JwkToJSONTyped","value","JwkKeyTypeToJSON","JwkUseToJSON","key_ops","KeyOperationsToJSON","CurveToJSON","KeyInfoToJSON","json","KeyInfoToJSONTyped","value","ignoreDiscriminator","kid","key","JwkToJSON","signatureAlgorithm","SignatureAlgorithmToJSON","keyVisibility","KeyVisibilityToJSON","x5c","alias","providerId","keyType","KeyTypeToJSON","keyEncoding","KeyEncodingToJSON","opts","CreateRawSignatureToJSONTyped","value","ignoreDiscriminator","keyInfo","KeyInfoToJSON","input","CreateRawSignatureResponseFromJSONTyped","json","ignoreDiscriminator","signature","GenerateKeyToJSONTyped","value","ignoreDiscriminator","alias","use","JwkUseToJSON","keyOperations","undefined","map","KeyOperationsToJSON","alg","SignatureAlgorithmToJSON","GenerateKeyGlobalToJSONTyped","value","ignoreDiscriminator","alias","use","JwkUseToJSON","keyOperations","undefined","map","KeyOperationsToJSON","alg","SignatureAlgorithmToJSON","providerId","JoseKeyPairFromJSON","json","JoseKeyPairFromJSONTyped","ignoreDiscriminator","privateJwk","undefined","JwkFromJSON","publicJwk","ManagedKeyPairFromJSONTyped","json","ignoreDiscriminator","kid","undefined","providerId","alias","cose","CoseKeyPairFromJSON","jose","JoseKeyPairFromJSON","ManagedKeyInfoFromJSON","json","ManagedKeyInfoFromJSONTyped","ignoreDiscriminator","kid","undefined","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","IdentifierMethodFromJSON","json","IdentifierMethodFromJSONTyped","ignoreDiscriminator","IdentifierMethodToJSON","value","KeyProviderFromJSON","json","KeyProviderFromJSONTyped","ignoreDiscriminator","providerId","type","KeyProviderTypeFromJSON","KeyProviderResponseFromJSONTyped","json","ignoreDiscriminator","providerId","type","KeyProviderTypeFromJSON","ListKeyProvidersResponseFromJSONTyped","json","ignoreDiscriminator","providers","map","KeyProviderFromJSON","ListKeysResponseFromJSONTyped","json","ignoreDiscriminator","keyInfos","map","ManagedKeyInfoFromJSON","ResolverFromJSON","json","ResolverFromJSONTyped","ignoreDiscriminator","resolverId","supportedIdentifierMethods","undefined","map","IdentifierMethodFromJSON","supportedKeyTypes","KeyTypeFromJSON","ListResolversResponseFromJSONTyped","json","ignoreDiscriminator","resolvers","map","ResolverFromJSON","ResolvePublicKeyToJSONTyped","value","ignoreDiscriminator","keyInfo","KeyInfoToJSON","identifierMethod","IdentifierMethodToJSON","trustedCerts","verifyX509CertificateChain","ResolvedKeyInfoFromJSONTyped","json","ignoreDiscriminator","kid","undefined","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","ResolvedKeyInfoToJSON","ResolvedKeyInfoToJSONTyped","value","JwkToJSON","SignatureAlgorithmToJSON","KeyVisibilityToJSON","KeyTypeToJSON","KeyEncodingToJSON","StoreKeyToJSONTyped","value","ignoreDiscriminator","keyInfo","ResolvedKeyInfoToJSON","certChain","VerifyRawSignatureToJSONTyped","value","ignoreDiscriminator","keyInfo","KeyInfoToJSON","input","signature","VerifyRawSignatureResponseFromJSONTyped","json","ignoreDiscriminator","isValid","logger","Loggers","DEFAULT","get","KmsRestClient","methods","kmsGetKey","bind","kmsListKeys","kmsStoreKey","kmsGenerateKey","kmsDeleteKey","kmsGetKeyProvider","kmsListKeyProviders","kmsProviderListKeys","kmsProviderStoreKey","kmsProviderGenerateKey","kmsProviderGetKey","kmsProviderDeleteKey","kmsGetResolver","kmsListResolvers","kmsResolveKey","kmsCreateRawSignature","kmsIsValidRawSignature","agentBaseUrl","authOpts","args","baseUrl","authentication","urlWithBase","path","startsWith","assertedAgentBaseUrl","url","resolverId","response","fetch","method","debug","ResolverFromJSONTyped","json","error","Promise","reject","Error","ListResolversResponseFromJSONTyped","body","keyInfo","identifierMethod","trustedCerts","verifyX509CertificateChain","headers","createHeaders","JSON","stringify","ResolvePublicKeyToJSONTyped","ResolvedKeyInfoFromJSONTyped","input","CreateRawSignatureToJSONTyped","CreateRawSignatureResponseFromJSONTyped","signature","VerifyRawSignatureToJSONTyped","VerifyRawSignatureResponseFromJSONTyped","aliasOrKid","ManagedKeyInfoFromJSONTyped","addSearchParams","providerId","xx","ListKeysResponseFromJSONTyped","certChain","StoreKeyToJSONTyped","alg","keyOperations","use","GenerateKeyGlobalToJSONTyped","ManagedKeyPairFromJSONTyped","KeyProviderResponseFromJSONTyped","ListKeyProvidersResponseFromJSONTyped","GenerateKeyToJSONTyped","existing","Accept","enabled","bearerToken","Authorization","params","URL","key","value","Object","entries","searchParams","set","String"]}