I think you should open a jira[1] for the password null issue. I think
it is a bug.

2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  >  java.security.UnrecoverableKeyException: Password must not be null

to create a jetty https endpoint that uses a password to access its
keystore I needed to modify the JettyHttpComponent as follows:

Index: src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
===================================================================
--- src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
     (revision 641579)
+++ src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
     (working copy)
@@ -89,7 +89,10 @@
             if (connectorRef == null) {
                 Connector connector;
                 if ("https".equals(endpoint.getProtocol())) {
-                    connector = new SslSocketConnector();
+                    SslSocketConnector sslConnector = new SslSocketConnector();
+                    sslConnector.setPassword("");
+                    sslConnector.setKeyPassword("");
+                    connector = sslConnector;
                 } else {
                     connector = new SelectChannelConnector();
                 }


This allowed the SslSocketConnector to make use of the jetty system
properties for passwords: -Djetty.ssl.password=... and
-Djetty.ssl.keypassword=...
In the absence of the system properties, there is a prompt to StdIn.


I was able to use a browser to access the following route:

                 Processor proc = new Processor() {
                    public void process(Exchange exchange) throws Exception {
                        exchange.getOut(true).setBody("<b>Hello World</b>");
                    }
                };
                from("jetty:https://localhost:8080/hello";).process(proc);


[1] http://issues.apache.org/activemq/browse/CAMEL

On 26/03/2008, Micky Santomax <[EMAIL PROTECTED]> wrote:
>
>  Thanks for reply
>
>  I've follow all step of jetty ssl configuration but the problem isn't
>  changed
>  After various test I've see that the problem is in routing because if in
>  RouteBuilder class I set this :
>
>  JettyHttpEndpoint jettyEndpoint =
>  context.getEndpoint("jetty:https://localhost:8196/SSLTest/";,
>  JettyHttpEndpoint.class);
>
>  this.from(jettyEndpoint);
>
>  The endpoint was created and when I access to it with browser I receive a
>  request of accept the certificate. If I accept it I receive the following
>  error :
>
>  2008-03-26 18:56:14.933::WARN:  handle failed
>  java.lang.NullPointerException
>         at
>  
> org.mortbay.thread.BoundedThreadPool.isLowOnThreads(BoundedThreadPool.java:216)
>         at
>  
> org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:218)
>         at
>  
> org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:620)
>         at
>  
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>
>  Else if I set this :
>
>  JettyHttpEndpoint jettyEndpoint =
>  context.getEndpoint("jetty:https://localhost:8196/SSLTest/";,
>  JettyHttpEndpoint.class);
>
>  this.from(jettyEndpoint).process(new
>  MyProcessor()).to("jetty:http://localhost:8195/SSLTest2/";);
>
>  or
>
>  this.from(jettyEndpoint).to("jetty:http://localhost:8195/SSLTest2/";);
>
>  I receive the previous error :
>
>
>  2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  >  java.security.UnrecoverableKeyException: Password must not be null
>
> --
>  View this message in context: 
> http://www.nabble.com/Password-error-for-https-endpoint-connection-tp16128569s22882p16309438.html
>
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>

Reply via email to