java.lang.RuntimeException: Could not configure TLS for engine on null:9090
vrlgohel Oct 19, 2014 6:22 AMHi all,
I have been successful in the past configuring a bundle with CXF SSL using Spring. However, when i use blueprint and configuration as below, in my bundle,
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:camel="http://camel.apache.org/schema/blueprint" xmlns:jaxws="http://cxf.apache.org/blueprint/jaxws" xmlns:cxf="http://cxf.apache.org/blueprint/core" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd http://camel.apache.org/schema/blueprint http://camel.apache.org/schema/blueprint/camel-blueprint.xsd http://cxf.apache.org/blueprint/jaxws http://cxf.apache.org/schemas/blueprint/jaxws.xsd http://cxf.apache.org/blueprint/core http://cxf.apache.org/schemas/blueprint/core.xsd http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://cxf.apache.org/transports/http-jetty/configuration http://cxf.apache.org/schemas/configuration/http-jetty.xsd"> <jaxws:server id="serviceEndpoint" address="/SslService" serviceClass="com.redhat.service.SslService" serviceBean="com.redhat.service.SslServiceImpl"> <jaxws:features> <cxf:logging/> </jaxws:features> </jaxws:server> <http:destination name="{http://service.redhat.com}SslServicePort.http-destination"> </http:destination> <httpj:engine-factory> <httpj:engine port="9090"> <httpj:tlsServerParameters> <sec:keyManagers keyPassword="service"> <sec:keyStore file="service.keystore"/> </sec:keyManagers> <sec:trustManagers> <sec:keyStore file="service.keystore"/> </sec:trustManagers> <sec:cipherSuitesFilter> <sec:include>.*_EXPORT_.*</sec:include> <sec:include>.*_EXPORT1024_.*</sec:include> <sec:include>.*_WITH_DES_.*</sec:include> <sec:include>.*_WITH_AES_.*</sec:include> <sec:include>.*_WITH_NULL_.*</sec:include> <sec:exclude>.*_DH_anon_.*</sec:exclude> </sec:cipherSuitesFilter> <sec:clientAuthentication want="true" required="true"/> </httpj:tlsServerParameters> </httpj:engine> </httpj:engine-factory> </blueprint>
I get the following exception from the logs when deploying in JBoss Fuse 6.1.0,
Caused by: java.lang.RuntimeException: Could not process configuration. at org.apache.cxf.transport.http_jetty.blueprint.JettyHTTPServerEngineFactoryHolder.init(JettyHTTPServerEngineFactoryHolder.java:165) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.7.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[:1.7.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_65] at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_65] at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:297)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379] at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:958)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379] at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:712)[9:org.apache.aries.blueprint.core:1.0.1.redhat-610379] ... 27 more Caused by: java.lang.RuntimeException: Could not configure TLS for engine on null:9090 at org.apache.cxf.transport.http_jetty.blueprint.JettyHTTPServerEngineFactoryHolder.init(JettyHTTPServerEngineFactoryHolder.java:152) ... 34 more Caused by: java.io.FileNotFoundException: service.keystore (No such file or directory) at java.io.FileInputStream.open(Native Method)[:1.7.0_65] at java.io.FileInputStream.<init>(FileInputStream.java:146)[:1.7.0_65] at java.io.FileInputStream.<init>(FileInputStream.java:101)[:1.7.0_65] at org.apache.cxf.configuration.jsse.TLSParameterJaxBUtils.getKeyStore(TLSParameterJaxBUtils.java:127) at org.apache.cxf.configuration.jsse.TLSParameterJaxBUtils.getKeyManagers(TLSParameterJaxBUtils.java:264) at org.apache.cxf.configuration.jsse.TLSServerParametersConfig.<init>(TLSServerParametersConfig.java:69) at org.apache.cxf.transport.http_jetty.blueprint.JettyHTTPServerEngineFactoryHolder.init(JettyHTTPServerEngineFactoryHolder.java:149) ... 34 more
All the associated 'jetty' features are already installed in my bundle,
JBossFuse:admin@root> features:list|grep jetty [installed ] [2.7.0.redhat-610379 ] cxf-http-jetty cxf-2.7.0.redhat-610379 [installed ] [2.12.0.redhat-610379 ] camel-jetty camel-2.12.0.redhat-610379 [installed ] [8.1.14.v20131031 ] jetty karaf-2.3.0.redhat-610379 Provide Jetty engine support [installed ] [8.1.14.v20131031 ] pax-jetty org.ops4j.pax.web-3.0.6 Provide Jetty engine support
Am i missing anything ? What am i doing wrong ? Or is there any further feature or setup required ?
I am attaching the bundle CxfSSL.zip for reference.
-
CxfSSL.zip 22.6 KB