Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 7.0.0pre0
-
Component/s: None
-
Labels:None
-
Environment:Using the latest version from subversion.
-
Patch Submitted:Yes
-
Number of attachments :
Description
Method SslSelectChannelConnector.customize(EndPoint endpoint, Request request) is never called from org.mortbay.jetty.HttpConnection, thus, the various attributes such as "javax.servlet.request.X509Certificate" are never set.
Here is a patch:
— a/modules/server/jetty-ssl/src/main/java/org/mortbay/jetty/security/SslSocketConnector.java
+++ b/modules/server/jetty-ssl/src/main/java/org/mortbay/jetty/security/SslSocketConnector.java
@@ -242,7 +242,7 @@ public class SslSocketConnector extends SocketConnector
- This should be a
{@link SocketEndPoint}
wrapping a
{@link SSLSocket}.
- @param request HttpRequest to be customised.
*/
- public void customize(EndPoint endpoint, Request request)
+ public void customize(org.mortbay.io.EndPoint endpoint, Request request)
throws IOException
{
super.customize(endpoint, request);
customize is called from HttpConnection.handleRequest.
I just checked wit h6.1.9 and both SslSocketConnector and SslSelectChannelConnector call customize
and the javax.servlet.request.cipher_suite and javax.servlet.request.key_size attributes are set.
However, the javax.servlet.request.X509Certificate is not set because a javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated exception is thrown..... unless of course your client does provide a certificate.
So I'm closing this for now. Please re-open if I'm missing something?