Jetty unable to find its SSL keystore in Fabric registry: FileNotFoundException: /opt/fuse/jboss-fuse-6.3/profile:fuse.jks (No such file or directory)

Solution Verified - Updated -

Issue

When securing the Jetty based HTTP server in Fabric by following Enabling SSL/TLS for Jetty in a Fabric and placing the SSL keystore into the Fabric registry (not on file system!) then the container may raise the following error at start-up. As a result the web console may not be accessible (it loads an empty page in the browser).

    2018-03-06 15:23:10,006 | WARN  | ender-2-thread-3 | AbstractLifeCycle                | 94 - org.eclipse.jetty.util - 9.2.21.v20170120 | FAILED SslContextFactory@64a11f87(profile:fuse.jks,profile:fuse.jks): java.io.FileNotFoundException: /opt/rh/jboss-fuse-6.3/profile:fuse.jks (No such file or directory)
    java.io.FileNotFoundException: /opt/rh/jboss-fuse-6.3/profile:fuse.jks (No such file or directory)
        at java.io.FileInputStream.open0(Native Method)[:1.8.0_121]
        at java.io.FileInputStream.open(FileInputStream.java:195)[:1.8.0_121]
        at java.io.FileInputStream.<init>(FileInputStream.java:138)[:1.8.0_121]
        at org.eclipse.jetty.util.resource.FileResource.getInputStream(FileResource.java:304)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.util.security.CertificateUtils.getKeyStore(CertificateUtils.java:43)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.util.ssl.SslContextFactory.loadKeyStore(SslContextFactory.java:871)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:273)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.server.SslConnectionFactory.doStart(SslConnectionFactory.java:64)[91:org.eclipse.jetty.server:9.2.21.v20170120]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:106)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:256)[91:org.eclipse.jetty.server:9.2.21.v20170120]
        at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:81)[91:org.eclipse.jetty.server:9.2.21.v20170120]
        at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:236)[91:org.eclipse.jetty.server:9.2.21.v20170120]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.eclipse.jetty.server.Server.doStart(Server.java:366)[91:org.eclipse.jetty.server:9.2.21.v20170120]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)[94:org.eclipse.jetty.util:9.2.21.v20170120]
        at org.ops4j.pax.web.service.jetty.internal.JettyServerImpl$1.start(JettyServerImpl.java:312)[115:org.ops4j.pax.web.pax-web-jetty:4.3.4]
        at org.ops4j.pax.web.service.internal.HttpServiceStarted.end(HttpServiceStarted.java:1096)[114:org.ops4j.pax.web.pax-web-runtime:4.3.4]
        at org.ops4j.pax.web.service.internal.HttpServiceProxy.end(HttpServiceProxy.java:417)[114:org.ops4j.pax.web.pax-web-runtime:4.3.4]
        at org.ops4j.pax.web.extender.war.internal.RegisterWebAppVisitorWC.end(RegisterWebAppVisitorWC.java:380)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at org.ops4j.pax.web.extender.war.internal.model.WebApp.accept(WebApp.java:692)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.register(WebAppPublisher.java:237)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at org.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.addingService(WebAppPublisher.java:182)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at or.ops4j.pax.web.extender.war.internal.WebAppPublisher$WebAppDependencyListener.addingService(WebAppPublisher.java:135)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)[karaf.jar:2.4.0.redhat-630329]
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:1)[karaf.jar:2.4.0.redhat-630329]
        at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)[karaf.jar:2.4.0.redhat-630329]
        at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)[karaf.jar:2.4.0.redhat-630329]
        at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)[karaf.jar:2.4.0.redhat-630329]
        at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)[karaf.jar:2.4.0.redhat-630329]
        at org.ops4j.pax.web.extender.war.internal.WebAppPublisher.publish(WebAppPublisher.java:101)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at org.ops4j.pax.web.extender.war.internal.WebObserver.deploy(WebObserver.java:219)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at org.ops4j.pax.web.extender.war.internal.WebObserver$1.doStart(WebObserver.java:179)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at org.ops4j.pax.web.extender.war.internal.extender.SimpleExtension.start(SimpleExtension.java:59)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at org.ops4j.pax.web.extender.war.internal.extender.AbstractExtender$1.run(AbstractExtender.java:281)[275:org.ops4j.pax.web.pax-web-extender-war:4.3.4]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_121]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_121]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)[:1.8.0_121]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)[:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

Environment

  • JBoss Fuse 6.3
    • before roll-up 8 (6.3 R8)
  • Fabric managed environment
  • SSL secured web console (Pax-Web)
  • SSL keystore stored in Fabric registry, not on file system

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content