[DFC_SECURITY_IDENTITY_INIT] Error While Creating Session using DFC

We are creating Documentum Session using below DFC code. While creating session we are getting below error.
Can you please suggest me what is wrong.

******Code******

IDfLoginInfo loginInfo = new DfLoginInfo();
loginInfo.setUser(techUserName);
String decryptedPasswd = RegistryPasswordUtils.decrypt(techUserPasscode);
loginInfo.setPassword(decryptedPasswd);
IDfSessionManager sessionManager = DfClient.getLocalClient().newSessionManager();
IDfSession dfSession = null;
if (loginInfo != null) {
sessionManager.setIdentity(repoName, loginInfo);
dfSession = sessionManager.getSession(repoName);
}

******Error******

0 [http-nio-8080-exec-7] ERROR com.documentum.fc.common.impl.logging.LoggingConfigurator - Problem locating log4j configuration
1 [http-nio-8080-exec-7] WARN com.documentum.fc.common.impl.logging.LoggingConfigurator - Using default log4j configuration
81 [http-nio-8080-exec-7] ERROR com.documentum.fc.client.security.impl.IdentityManager - [DFC_SECURITY_IDENTITY_INIT] no identity initialization or incomplete identity initialization
java.lang.SecurityException: Algorithm not allowable in FIPS140 mode: FIPS186Random
at com.rsa.cryptoj.o.cc.j(Unknown Source)
at com.rsa.cryptoj.o.ci.j(Unknown Source)
at com.rsa.cryptoj.o.cj.newSecureRandom(Unknown Source)
at com.rsa.jsafe.JSAFE_SecureRandom.a(Unknown Source)
at com.rsa.jsafe.JSAFE_SecureRandom.getInstance(Unknown Source)
at com.documentum.fc.client.security.internal.CreateIdentityCredential$MultiFormatPKIKeyPair.(CreateIdentityCredential.java:600)
at com.documentum.fc.client.security.internal.CreateIdentityCredential.(CreateIdentityCredential.java:98)
at com.documentum.fc.client.security.impl.InitializeKeystoreForDfc.execute(InitializeKeystoreForDfc.java:46)
at com.documentum.fc.client.security.internal.KeystoreMgr.initForDfcWithDefaultPolicy(KeystoreMgr.java:71)
at com.documentum.fc.client.security.impl.IdentityManager.initFromKeystore(IdentityManager.java:139)
at com.documentum.fc.client.security.impl.IdentityManager.(IdentityManager.java:41)
at com.documentum.fc.impl.RuntimeContext.(RuntimeContext.java:52)
at com.documentum.fc.impl.RuntimeContext.(RuntimeContext.java:185)
at com.documentum.fc.client.DfClient.(DfClient.java:772)
at com.afklm.dctm.rest.utils.DFCUtils.createSession(DFCUtils.java:32)
at com.afklm.dctm.rest.utils.DFCUtils.getSessionWithAssume(DFCUtils.java:51)
at com.afklm.dctm.rest.services.SearchService.getDocuments(SearchService.java:56)
at com.afklm.dctm.rest.resource.SearchDocumentsResource.doSearch(SearchDocumentsResource.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:164)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:181)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:203)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:101)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:305)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:288)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1110)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:401)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:386)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:335)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:222)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
339 [http-nio-8080-exec-7] ERROR com.documentum.fc.client.security.impl.IdentityManager - [DFC_SECURITY_IDENTITY_CREATION] failure on creation of identity: 'bad bundle'
com.documentum.fc.common.DfException: could not create identity bundle because identity initialization failed

@DFC @dfc
@Documentumguru
@documentumsavvy

Comments

  • Hi
    Have you managed to figure out the problem

    Thank you
  • This must be related to your java settings, specifically the jre/lib/java.security file,  did you change anything in there ?  Try to restore to the original values and retry or else try to use another JRE which doesn't have any change to that particular file.  And share your findings here, whether it worked or not.

  • There were many attempts, so I'm not sure which one solved the problem:
    • The system that had the problem is a Spring web application that connects to documentum. At the end we installed the STS on the customer server(Spring Tool Suite that we used to develop the system) and deployed to Tomcat using the STS and not by adding the WAR to the server manually, the log was much more informative when we executed the web application from inside the STS
    • We noticed that there was also a keystore error, so we checked the folder Documentum\Config that contains the dfc.properties and the folder was somewhat empty and didn't contain the dfc.keystore, so we copied this folder from the server and pasted it
    • We have the dfc.properties included in our project, but we added the the config folder to our project as "External Class Folder" from the STS 
    • It worked after we restarted the Tomcat many times and cleared the server cache