Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Anyway for servlet filter to get socket that connects to client to get certs?

 
Dan Bizman
Ranch Hand
Posts: 387
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am writing a Servlet filter that handles authentication. One type i'm looking to implement is client-cert. To do so, the filter first checks in the request object for:

request.getAttribute( "javax.servlet.request.X509Certificate" );

however, from some comments and notes I've seen, the certificate isn't always there. So the code (for example some code I saw in one web server's implementation) gets the Socket (an SSLSocket) and asks:

socket.getNeedClientAuth() ...
socket.startHandshake()

whereupon, it can again check the request and it's there. Of course, the server's code uses internal classes to get the socket. So my question is: is there any way for me to get the socket from the request, response or anything else available to a servlet filter?

I'm assuming using getRemoteAddr() and getRemotehost() won't work because they could lock all ports but the one that's used to communicate with the web server, right? Is there any option?
 
Dan Bizman
Ranch Hand
Posts: 387
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Any answers?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic