Malfunctioning integration with error "unable to invoke cipher due to bad padding"
Malfunctioning integration with an error "unable to invoke cipher due to bad padding"
Symptoms
- A build job in a CI system cannot be started from Allure TestOps UI.
- There are error messages in the logs of report service
Cause
A bad padding error appearing in the logs of testops serviсe is caused by the misconfiguration: not all the settings are transferred from old configuration to the new one.
Please refer to this article where the ciphering of the secrets in the database was introduced: https://docs.qameta.io/allure-testops/migrations/to-3-184-2/
The reason you are getting bad padding is that you either forgot to transfer the encryption key from ALLURE_CRYPTO_PASSWORD configuration parameter of your old config or it was transferred with additional symbols (like an unnecessary space character at the end).
How to fix
- Take your old configuration files and check the content of configuration files by searching for `ALLURE_CRYPTO_PASSWORD`.
- You must have two of these in the config – report service and uaa service
- Ideally, both strings will be the same
- You need to take the old string and apply it to the new configuration.
References to the deployments
docker compose deployment
the content of old ALLURE_CRYPTO_PASSWORD needs to be added to '.env' file to the env variable ALLURE_CRYPTO_PASSWORD
Kubernetes deployment
the content of old ALLURE_CRYPTO_PASSWORD needs to be added to 'values.yaml' file to the env variable cryptoPass
packages deployement
the content of old ALLURE_CRYPTO_PASSWORD needs to be added to the configuration fules of uaa and report services to the same variable.