Info |
---|
This article includes is valid new for Smart ID Identity Manager 24.R1 or later. |
...
5.0.1. |
This article provides guidance and troubleshooting tips for addressing common error scenarios related to the sign and encrypt engine and how to solve them.
Note |
---|
Before doing any repair procedures, creating a backup of the Identity Manager applications, configuration files, and database is recommended. |
Error
...
messages on startup
Upon startup of Identity Manager you might see one or more error messages like the one below:
...
This means that one or more blacklisted keys (such as publicly known demo keys (considered compromised and unfit for productive use) are still in use. Each message indicates the offending descriptor and version from the config configuration XML.
For replacing these keys information about how to replace the keys, see Bootstrapping the sign and encrypt engine.
Note |
---|
See
|
Startup
...
fails with exception message
Startup of Identity Manager might fail with an exception message like this in the log:.
Example
Code Block |
---|
Aborting deployment! Unable to verify the last Object History entry of the chain [PRIME1]. There appears to be an error in the engineSignEncrypt configuration of the descriptor [ObjectHistorySigner (version: 2)]. The referenced key is probably wrong. Another possible explanation for this error is that the ObjectHistory entry was manipulated. Offending entry id: [4711]. Please check the engineSignEncrypt config xml and the referenced keys! If the configured key is correct, the entry might be corrupted. This can be worked around by starting a new chain. |
Some potential Potential causes:
The key configured for the ObjectHistorySigner descriptor in the current version (version 2 in the example error message above) is wrong, maybe you configured the wrong P12 file might been configured.
The object history got corrupted ( by accident or deliberate manipulation - , forensic analysis may be advisable).
A quick workaround to get restart the application is to start again would be switching switch to a new chain name for idm-operator (history :
History verification will still fail
...
after the chain name change.
Tomcat deployment: set Set chain name in system.properties
Code Block |
---|
... etc. ... commonHistoryService.chainName=NEW_CHAIN_NAME_GOES_HERE ... etc. ... |
Docker-deployment: set Set chain name in docker-compose.yml
Code Block | ||
---|---|---|
| ||
... etc. ... environment: ... etc. ... - 'SYSTEM_PROPERTIES={ "commonHistoryService.chainName": "NEW_CHAIN_NAME_GOES_HERE", ... etc. ... |
You can solve this properly by re-signing the history entries via the batch_re-sign_history tool.
...
Error accessing the sign and encrypt engine
...
Startup of Identity Manager might fail with an exception message like this in the log:
Error accessing the sign and encrypt engine (There's no keystore at classpath:hybridEncKeypair.p12)
This means that the config configuration XML for the sign and encrypt engine references a file that does not exist at the given location. All files referenced via the location classpath:
usually need to be inside the WEB-INF\classes\ folder of the web application.
In Identity Manager versions before 24.R1 that folder did contain all demo keys, which were since removed. Furthermore, the engineSignEncryptConfig.xml shipped in WAR files of 24.R1 and above references additional P12 files not used or not bootstrapped previously (by default we use a dedicated P12 file per descriptor, instead of sharing them).
Refer to For docker deployment the files have to be placed into the docker/compose/certs folder, which is mounted into /certs inside the container. These files need to be referenced as shown below (replace example.p12 with the proper filename):
Code Block |
---|
file:/certs/example.p12 |
For more information, see Bootstrapping the sign and encrypt engine to bootstrap any missing keys/certificates.
...