All Packages Class Hierarchy This Package Previous Next Index
java.lang.Object | +----mit.login.AuthObj
A Class for passing Authentication among servers.
This class facilitates authentication between different servers. If two servers share a key, which should be a 16 byte key, then. One server creates an AuthObj object by giving it a login name that we are asserting along with the shared key and a flag indicating that we are building a new AuthObj. This "asserting" server can then call "getString()" which will return an ASCII string which contains encrypted within it the login name and a timestamp.
This receiving machine creates an AuthObj by calling the constructor with the received encrypted string as well as with the key and setting the "building" flag to false. The receiving machine then calls timely() to determine if the AuthObj is "timely" i.e., not a replay. What is really happening is that the timestamp within the AuthObj is checked to see if it is within 5 minutes of the current time. A call to getLogin will then extract the original login name.
An AuthObjException is thrown if there are problems at any point.
public AuthObj(String input,
byte key[],
boolean building) throws AuthObjException
public boolean timely()
public String getLogin()
public String getString() throws AuthObjException
All Packages Class Hierarchy This Package Previous Next Index