Hi Evgeny,

Evgeny Shepelyuk wrote:
> Hello,
> 
> I'm using Jetty as restlet HTTP engine with SSL enabled and client's  
> certificate auth.
> Probabaly it's more related to Jetty but is this possible to make server  
> only ask
> for certificates only for certain URL.
> 
> I'm NOT USING needClientAuthentication, so certificate is not mandatory,  
> but
> what i want is following
> 
> - for certain resources still use HTTPS, but never let browser to ask for  
> client's certificate.
> 
> Only way i сan see now - is creating 2 HTTPS connectors and run 2 server  
> sockets within restlet app.
> 


In principle, this can be achieved by re-negotiating the handshake.

This is something that Tomcat supports if the listening socket isn't 
configured to want or need authentication but CLIENT-CERT is used within 
the webapp.
As far as I know, Jetty (as a container) doesn't support it. I don't 
think its API supports it either. The Grizzly library has some support 
for this mechanism.
The Restlet API doesn't support it at the moment. Currently, the client 
certificate is populated when the handler is set up (when the socket is 
connected), after that, the upper layers (Application/Resource/...) 
can't talk back to the socket to tell it to re-negotiate.

This is not impossible, but it would require some changes in the API, in 
particular HttpServerCall and the way the client certificate is then 
passed to the request attributes.

I also reported a bug about this using Glassfish/Grizzly (nothing 
Restlet-specific) a few months ago; I haven't tried more recently.
https://grizzly.dev.java.net/issues/show_bug.cgi?id=416
This would definitely be a problem to implement this feature in Restlet 
if the libraries used by the connectors don't support it.


A possible workaround might be to use Restlet within Tomcat and to use 
CLIENT-CERT for the URI patterns (defined in web.xml) that you know will 
want client-certificate authentication.


Best wishes,

Bruno.

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2385222

Reply via email to