Services come with their own configuration files.
For the configuration of service -> implementation mappings, ServiceMatrix is used.
The default mapping file is "service-matrix.properties", and looks like this:
Copy id.walt.services.essif.didebsi.DidEbsiService= id.walt.services.essif.didebsi.WaltIdDidEbsiService
id.walt.services.vc.JsonLdCredentialService= id.walt.services.vc.WaltIdJsonLdCredentialService
id.walt.services.vc.JwtCredentialService= id.walt.services.vc.WaltIdJwtCredentialService
id.walt.services.crypto.CryptoService= id.walt.services.crypto.SunCryptoService
id.walt.services.keystore.KeyStoreService= confidentialstorage.ssikitext.EncryptedKeyStore:crypto.conf
id.walt.services.key.KeyService= id.walt.services.key.WaltIdKeyService
id.walt.services.jwt.JwtService= id.walt.services.jwt.WaltIdJwtService
id.walt.services.vcstore.VcStoreService= id.walt.services.vcstore.FileSystemVcStoreService
id.walt.services.hkvstore.HKVStoreService= id.walt.services.hkvstore.FileSystemHKVStore:fsStore.conf
id.walt.services.context.ContextManager= id.walt.services.context.WaltIdContextManager
id.walt.signatory.Signatory= id.walt.signatory.WaltIdSignatory:signatory.conf
id.walt.custodian.Custodian= id.walt.custodian.WaltIdCustodian
id.walt.auditor.Auditor= id.walt.auditor.WaltIdAuditor
id.walt.services.essif.jsonrpc.JsonRpcService= id.walt.services.essif.jsonrpc.WaltIdJsonRpcService
e.g., to change the keystore service, simply replace the line
id.walt.services.keystore.KeyStoreService=id.walt.services.keystore.SqlKeyStoreService
with your own implementation mapping, e.g. for the Azure HSM keystore:
id.walt.services.keystore.KeyStoreService=id.walt.services.keystore.azurehsm.AzureHSMKeystoreService
To add a service configuration:
id.walt.services.keystore.KeyStoreService=id.walt.services.keystore.SqlKeyStoreService:sql.conf
Service configuration is by default in HOCON format. Refer to the specific service on how their configuration is laid out.