Article - CS313135

Integration Runtime log is reporting issue "Caused by: java.security.UnrecoverableKeyException: Cannot recover key"

Modified: 28-Jul-2025   


Applies To

  • Windchill Navigate (formerly ThingWorx Navigate) 1.6.0 to 10.0

Description

  • Integration Runtime log is reporting issue "Caused by: java.security.UnrecoverableKeyException: Cannot recover key"
  • Integration Runtime is not connecting to ThingWorx
  • Errors in IntegrationRuntime.log
java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)
    at java.security.Provider$Service.newInstance(Unknown Source)
    at sun.security.jca.GetInstance.getInstance(Unknown Source)
    at sun.security.jca.GetInstance.getInstance(Unknown Source)
    at javax.net.ssl.SSLContext.getInstance(Unknown Source)
    ...
Caused by: java.security.UnrecoverableKeyException: Cannot recover key
    at sun.security.provider.KeyProtector.recover(Unknown Source)
    at sun.security.provider.JavaKeyStore.engineGetKey(Unknown Source)
    at sun.security.provider.JavaKeyStore$JKS.engineGetKey(Unknown Source)
    at sun.security.provider.KeyStoreDelegator.engineGetKey(Unknown Source)

or

[ClientProcessor-1] ERROR c.t.i.r.IntegrationEngine - Exchange process failed with exception thrown : Your route exchange has failed.  Resource Error [java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)]
java.lang.RuntimeException: Your route exchange has failed.  Resource Error [java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext)]
	at com.twx.integration.route.exceptions.ExceptionHelper.convertToRuntimeException(ExceptionHelper.java:112)
	at com.twx.integration.route.IntegrationEngine.dispatchRoute(IntegrationEngine.java:201)
	at com.twx.integration.client.things.IntegrationRuntimeServer.Invoke(IntegrationRuntimeServer.java:72)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at com.thingworx.common.processors.ReflectionProcessor.processService(ReflectionProcessor.java:230)
	at com.thingworx.communications.client.things.VirtualThing.invokeService(VirtualThing.java:1126)
	at com.thingworx.communications.client.things.VirtualThing.handleServiceRequest(VirtualThing.java:1034)
	at com.thingworx.communications.client.ConnectedThingClient.handleRequest(ConnectedThingClient.java:315)
	at com.thingworx.communications.client.processor.ClientProcessorTask.run(ClientProcessorTask.java:55)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
This is a printer-friendly version of Article 313135 and may be out of date. For the latest version click CS313135