org.edg.security.delegation
Class SnoopServlet

java.lang.Object
  |
  +--javax.servlet.GenericServlet
        |
        +--javax.servlet.http.HttpServlet
              |
              +--org.edg.security.delegation.SnoopServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class SnoopServlet
extends javax.servlet.http.HttpServlet

Snoop/test servlet Tests the delegation by fetching the delegationID from HTTP-GET from the test client (/test/delegation/test.sh). A matching delegated cert chain is fetched from the DelegationStorage with the ID. Then SnoopServlet forward the HTTP-GET to itself after setting the proxy cert as a HTTPS attribute("javax.servlet.request.X509Certificate"). If the last HTTP-GET to the servlet itself gets passed ok, then the test was a success. The first HTTP-GET from the test client is identified with 'delegation=test' as the query string. The second HTTP-GET has 'delegation=test2' as the query string.

See Also:
Serialized Form

Constructor Summary
SnoopServlet()
           
 
Method Summary
protected  HTTPClient.HTTPConnection createConnection(HTTPClient.URI destUri, java.security.cert.X509Certificate[] chain, java.security.PrivateKey privateKey, java.util.Properties prop)
          Creates the connection to the uri
 void destroy()
          Destroys the servlet.
protected  void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Handles the HTTP GET method.
protected  void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Handles the HTTP POST method.
 java.lang.String getServletInfo()
          Returns a short description of the servlet.
 void init(javax.servlet.ServletConfig config)
          Initializes the servlet.
protected  void processRequest(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse response)
          Processes requests for both HTTP GET and POST methods.
 void processTest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
           
 HTTPClient.HTTPResponse testDelegation(java.lang.String url, DelegationItem item)
           
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SnoopServlet

public SnoopServlet()
Method Detail

init

public void init(javax.servlet.ServletConfig config)
          throws javax.servlet.ServletException
Initializes the servlet. Loads the config file (properties file).

Specified by:
init in interface javax.servlet.Servlet
Overrides:
init in class javax.servlet.GenericServlet
javax.servlet.ServletException

destroy

public void destroy()
Destroys the servlet.

Specified by:
destroy in interface javax.servlet.Servlet
Overrides:
destroy in class javax.servlet.GenericServlet

processRequest

protected void processRequest(javax.servlet.http.HttpServletRequest req,
                              javax.servlet.http.HttpServletResponse response)
                       throws javax.servlet.ServletException,
                              java.io.IOException
Processes requests for both HTTP GET and POST methods.

Parameters:
response - servlet response
javax.servlet.ServletException
java.io.IOException

processTest

public void processTest(javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response)
                 throws javax.servlet.ServletException,
                        java.io.IOException
javax.servlet.ServletException
java.io.IOException

doGet

protected void doGet(javax.servlet.http.HttpServletRequest request,
                     javax.servlet.http.HttpServletResponse response)
              throws javax.servlet.ServletException,
                     java.io.IOException
Handles the HTTP GET method.

Overrides:
doGet in class javax.servlet.http.HttpServlet
Parameters:
request - servlet request
response - servlet response
javax.servlet.ServletException
java.io.IOException

doPost

protected void doPost(javax.servlet.http.HttpServletRequest request,
                      javax.servlet.http.HttpServletResponse response)
               throws javax.servlet.ServletException,
                      java.io.IOException
Handles the HTTP POST method.

Overrides:
doPost in class javax.servlet.http.HttpServlet
Parameters:
request - servlet request
response - servlet response
javax.servlet.ServletException
java.io.IOException

getServletInfo

public java.lang.String getServletInfo()
Returns a short description of the servlet.

Specified by:
getServletInfo in interface javax.servlet.Servlet
Overrides:
getServletInfo in class javax.servlet.GenericServlet

testDelegation

public HTTPClient.HTTPResponse testDelegation(java.lang.String url,
                                              DelegationItem item)
                                       throws DelegationException
DelegationException

createConnection

protected HTTPClient.HTTPConnection createConnection(HTTPClient.URI destUri,
                                                     java.security.cert.X509Certificate[] chain,
                                                     java.security.PrivateKey privateKey,
                                                     java.util.Properties prop)
                                              throws DelegationException
Creates the connection to the uri

DelegationException