-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 14.5.0
-
Fix Version/s: 14.5.0
-
Component/s: configurator
-
Environment:OpenAM-5.0.0-SNAPSHOT
Websphere 8.5.5.10
Windows 2016
-
Target Version/s:
-
Needs backport:No
-
Needs QA verification:No
-
Functional tests:No
-
Are the reproduction steps defined?:Yes and I used the same an in the description
Bug description
Configurator fails on Websphere
How to reproduce the issue
- Install Websphere 8.5.5.10 or later
- Configure Websphere to run Java SDK 8
- Copy the openam.war to the Windows server and modify bootstrap.properties to point at config.dir=C:/openam
- Install the war using websphere console
- Set the classpath loading as described here: https://backstage.forgerock.com/docs/openam/13.5/install-guide/#prepare-ibm-websphere
- Start the openam Application using the websphere console
- In a browser navigate to the openam instance and attempt to configure it
Expected behaviour
OpenAM configured succesfully
Current behaviour
Following error shown in browser
Failed to create test keys, refer to install.log under C:/openam for more information.
Code analysis
It seems the keystore fails to initialise,
Error shown in CoreSystem Log
amSecurity:10/12/2017 08:33:56:610 AM PDT: Thread[WebContainer : 1,5,main]: TransactionId[49842bee-a7b3-438b-a0c4-5359ce44ab59-22]
ERROR: mapPk2Cert.JKSKeyProvider:
java.io.IOException: com.sun.crypto.provider.SealedObjectForKeyProtector
at com.ibm.crypto.provider.JceKeyStore.engineLoad(Unknown Source)
at java.security.KeyStore.load(KeyStore.java:1456)
at org.forgerock.openam.utils.AMKeyProvider.mapPk2Cert(AMKeyProvider.java:215)
at org.forgerock.openam.utils.AMKeyProvider.<init>(AMKeyProvider.java:141)
Full error from install log is:
AMSetupServlet.processRequest: errorjava.io.IOException: Failed to create test keys at com.sun.identity.setup.TestKeys.createTestKeys(TestKeys.java:33) at com.sun.identity.setup.AMSetupServlet.createPasswordFiles(AMSetupServlet.java:1471) at com.sun.identity.setup.AMSetupServlet.configure(AMSetupServlet.java:894) at com.sun.identity.setup.AMSetupServlet.processRequest(AMSetupServlet.java:473) at com.sun.identity.config.wizard.Wizard.createConfig(Wizard.java:279) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at org.apache.click.util.ClickUtils.invokeMethod(ClickUtils.java:3317) at org.apache.click.util.ClickUtils.invokeListener(ClickUtils.java:2088) at org.apache.click.control.AbstractControl$1.onAction(AbstractControl.java:228) at org.apache.click.ActionEventDispatcher.fireActionEvent(ActionEventDispatcher.java:259) at org.apache.click.ActionEventDispatcher.fireActionEvents(ActionEventDispatcher.java:236) at org.apache.click.ActionEventDispatcher.fireActionEvents(ActionEventDispatcher.java:180) at org.apache.click.ClickServlet.performOnProcess(ClickServlet.java:746) at org.apache.click.ClickServlet.processAjaxPageEvents(ClickServlet.java:1860) at org.apache.click.ClickServlet.processPage(ClickServlet.java:559) at org.apache.click.ClickServlet.handleRequest(ClickServlet.java:383) at org.apache.click.ClickServlet.doGet(ClickServlet.java:276) at javax.servlet.http.HttpServlet.service(HttpServlet.java:575) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1232) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:781) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97) at org.forgerock.openam.validation.ResponseValidationFilter.doFilter(ResponseValidationFilter.java:36) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at org.forgerock.openam.headers.SetHeadersFilter.doFilter(SetHeadersFilter.java:80) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at com.sun.identity.setup.AMSetupFilter.doFilter(AMSetupFilter.java:123) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at org.forgerock.openam.audit.context.AuditContextFilter.doFilter(AuditContextFilter.java:46) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:948) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:88) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892) Caused by: java.security.KeyStoreException: Uninitialized keystore at java.security.KeyStore.containsAlias(KeyStore.java:1263) at org.forgerock.openam.utils.AMKeyProvider.setSecretKeyEntry(AMKeyProvider.java:556) at com.sun.identity.setup.TestKeys.createTestKeys(TestKeys.java:31) ... 57 more
- relates to
-
OPENAM-9269 Default Keystore Type JCEKS is not possible to use with IBM's JDK on Websphere
-
- Resolved
-