ajanta.util
Class AgentServerTicketing

java.lang.Object
  |
  +--ajanta.util.AgentServerTicketing

public class AgentServerTicketing
extends java.lang.Object

This class takes a reference of the name registry which enables it to lookup the public key for a mobile agent from name-registry instead of local machine


Constructor Summary
AgentServerTicketing(ajanta.naming.URN name, java.security.PrivateKey k, ajanta.server.NRAccess nrAccess, java.security.cert.X509Certificate myCertificate)
           
 
Method Summary
 ajanta.util.AgentServerTicket authenticateAgent(ajanta.util.AgentTicket agentTicket)
           
 ajanta.util.AgentServerTicket generateAgentServerTicket(ajanta.naming.URN agentURN)
           
 ajanta.util.AgentTicket getAgentTicket(ajanta.naming.URN callerURN)
           
 ajanta.util.CompleteTicket getTicket(ajanta.naming.URN callerURN)
           
 void print()
           
 boolean reauthenticate(ajanta.naming.URN agentURN)
           
protected  java.lang.String sanitizeX500Name(java.lang.String x500Name)
           
 boolean verifyAgentTicket(ajanta.util.AgentTicket at, boolean first)
           
 boolean verifyTicket(ajanta.util.CompleteTicket t)
          verifies a completeticket, it does not require the public key of the ticket granter as the key would be fetched from the name registry/will be in the certificates In the code written as earlier part of the Ajanta System, they are using the Ticket, in which Lowe's attack was taking palce...I didn't want to touch that code.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AgentServerTicketing

public AgentServerTicketing(ajanta.naming.URN name,
                            java.security.PrivateKey k,
                            ajanta.server.NRAccess nrAccess,
                            java.security.cert.X509Certificate myCertificate)
Method Detail

authenticateAgent

public ajanta.util.AgentServerTicket authenticateAgent(ajanta.util.AgentTicket agentTicket)
                                                throws java.rmi.RemoteException
java.rmi.RemoteException

verifyTicket

public boolean verifyTicket(ajanta.util.CompleteTicket t)
                     throws java.rmi.RemoteException,
                            java.security.InvalidKeyException,
                            java.security.SignatureException
verifies a completeticket, it does not require the public key of the ticket granter as the key would be fetched from the name registry/will be in the certificates In the code written as earlier part of the Ajanta System, they are using the Ticket, in which Lowe's attack was taking palce...I didn't want to touch that code. Hence, I am using a complete ticket.

Parameters:
t - - the ticket which would be verified.
java.rmi.RemoteException
java.security.InvalidKeyException
java.security.SignatureException

getTicket

public ajanta.util.CompleteTicket getTicket(ajanta.naming.URN callerURN)

print

public void print()

generateAgentServerTicket

public ajanta.util.AgentServerTicket generateAgentServerTicket(ajanta.naming.URN agentURN)

verifyAgentTicket

public boolean verifyAgentTicket(ajanta.util.AgentTicket at,
                                 boolean first)
                          throws java.security.GeneralSecurityException
java.security.GeneralSecurityException

getAgentTicket

public ajanta.util.AgentTicket getAgentTicket(ajanta.naming.URN callerURN)

reauthenticate

public boolean reauthenticate(ajanta.naming.URN agentURN)
                       throws java.rmi.RemoteException,
                              java.rmi.NotBoundException,
                              java.security.GeneralSecurityException
java.rmi.RemoteException
java.rmi.NotBoundException
java.security.GeneralSecurityException

sanitizeX500Name

protected java.lang.String sanitizeX500Name(java.lang.String x500Name)