ajanta.util
Class InterAgentTicketing
java.lang.Object
|
+--ajanta.util.InterAgentTicketing
- public class InterAgentTicketing
- 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 |
InterAgentTicketing(ajanta.naming.URN name,
java.security.PrivateKey k,
ajanta.server.NRAccess nrAccess,
ajanta.agent.Credentials cred,
byte[] creatorSignature,
java.security.cert.X509Certificate userCert,
ajanta.naming.CascadedCertificate cc)
Constructor |
Method Summary |
ajanta.util.AgentTicket |
authenticateAgent(ajanta.util.AgentTicket agentTicket)
|
ajanta.util.AgentTicket |
authenticateAgentServer(ajanta.util.AgentServerTicket ast)
|
ajanta.util.AgentTicket |
generateAgentTicket(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 |
verifyAgentServerTicket(ajanta.util.AgentServerTicket ast)
|
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 |
cred
public ajanta.agent.Credentials cred
creatorSignature
public byte[] creatorSignature
userCert
public java.security.cert.X509Certificate userCert
locationCert
public java.security.cert.X509Certificate locationCert
cc
public ajanta.naming.CascadedCertificate cc
InterAgentTicketing
public InterAgentTicketing(ajanta.naming.URN name,
java.security.PrivateKey k,
ajanta.server.NRAccess nrAccess,
ajanta.agent.Credentials cred,
byte[] creatorSignature,
java.security.cert.X509Certificate userCert,
ajanta.naming.CascadedCertificate cc)
- Constructor
- Parameters:
name
- - the ticket granterk
- - private key of the ticket granter who will sign the ticket
authenticateAgent
public ajanta.util.AgentTicket authenticateAgent(ajanta.util.AgentTicket agentTicket)
throws java.rmi.RemoteException
java.rmi.RemoteException
authenticateAgentServer
public ajanta.util.AgentTicket authenticateAgentServer(ajanta.util.AgentServerTicket ast)
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()
generateAgentTicket
public ajanta.util.AgentTicket generateAgentTicket(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
verifyAgentServerTicket
public boolean verifyAgentServerTicket(ajanta.util.AgentServerTicket ast)
throws java.security.GeneralSecurityException
java.security.GeneralSecurityException
sanitizeX500Name
protected java.lang.String sanitizeX500Name(java.lang.String x500Name)