|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
org.jboss.security.srp.SRPRemoteServer
public class SRPRemoteServer
An implementation of the RMI SRPRemoteServerInterface interface.
Field Summary |
---|
Fields inherited from class java.rmi.server.RemoteObject |
---|
ref |
Constructor Summary | |
---|---|
SRPRemoteServer(SRPVerifierStore verifierStore)
|
|
SRPRemoteServer(SRPVerifierStore verifierStore,
int port)
|
|
SRPRemoteServer(SRPVerifierStore verifierStore,
int port,
RMIClientSocketFactory csf,
RMIServerSocketFactory ssf)
|
Method Summary | |
---|---|
void |
addSRPServerListener(SRPServerListener listener)
|
void |
close(String username)
Close the SRP session for the given username. |
void |
close(String username,
int sessionID)
|
boolean |
getRequireAuxChallenge()
|
SRPParameters |
getSRPParameters(String username)
The start of a new client session. |
Object[] |
getSRPParameters(String username,
boolean multipleSessions)
Get the SRP parameters to use for this session and create an arbitrary session id to allow for multiple SRP sessions for this user. |
byte[] |
init(String username,
byte[] A)
Initiate the SRP algorithm. |
byte[] |
init(String username,
byte[] A,
int sessionID)
Initiate the SRP algorithm. |
void |
removeSRPServerListener(SRPServerListener listener)
|
void |
setRequireAuxChallenge(boolean flag)
|
void |
setVerifierStore(SRPVerifierStore verifierStore)
|
byte[] |
verify(String username,
byte[] M1)
Verify the session key hash. |
byte[] |
verify(String username,
byte[] M1,
int sessionID)
|
byte[] |
verify(String username,
byte[] M1,
Object auxChallenge)
Verify the session key hash. |
byte[] |
verify(String username,
byte[] M1,
Object auxChallenge,
int sessionID)
|
Methods inherited from class java.rmi.server.UnicastRemoteObject |
---|
clone, exportObject, exportObject, exportObject, unexportObject |
Methods inherited from class java.rmi.server.RemoteServer |
---|
getClientHost, getLog, setLog |
Methods inherited from class java.rmi.server.RemoteObject |
---|
equals, getRef, hashCode, toString, toStub |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public SRPRemoteServer(SRPVerifierStore verifierStore) throws RemoteException
RemoteException
public SRPRemoteServer(SRPVerifierStore verifierStore, int port) throws RemoteException
RemoteException
public SRPRemoteServer(SRPVerifierStore verifierStore, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
RemoteException
Method Detail |
---|
public void setVerifierStore(SRPVerifierStore verifierStore)
public void addSRPServerListener(SRPServerListener listener)
public void removeSRPServerListener(SRPServerListener listener)
public boolean getRequireAuxChallenge()
public void setRequireAuxChallenge(boolean flag)
public SRPParameters getSRPParameters(String username) throws KeyException, RemoteException
getSRPParameters
in interface SRPServerInterface
KeyException
RemoteException
public Object[] getSRPParameters(String username, boolean multipleSessions) throws KeyException, RemoteException
SRPServerInterface
getSRPParameters
in interface SRPServerInterface
KeyException
RemoteException
public byte[] init(String username, byte[] A) throws SecurityException, NoSuchAlgorithmException, RemoteException
SRPServerInterface
init
in interface SRPServerInterface
SecurityException
NoSuchAlgorithmException
RemoteException
public byte[] init(String username, byte[] A, int sessionID) throws SecurityException, NoSuchAlgorithmException, RemoteException
SRPServerInterface
init
in interface SRPServerInterface
SecurityException
NoSuchAlgorithmException
RemoteException
public byte[] verify(String username, byte[] M1) throws SecurityException, RemoteException
SRPServerInterface
verify
in interface SRPServerInterface
SecurityException
RemoteException
public byte[] verify(String username, byte[] M1, int sessionID) throws SecurityException, RemoteException
verify
in interface SRPServerInterface
SecurityException
RemoteException
public byte[] verify(String username, byte[] M1, Object auxChallenge) throws SecurityException, RemoteException
verify
in interface SRPServerInterface
username
- - the user ID by which the client is known. This is repeated to simplify
the server session management.M1
- - the client hash of the session key; M1 = H(H(N) xor H(g) | H(U) | A | B | K)auxChallenge
- - an arbitrary addition data item that my be used as an additional
challenge. One example usage would be to send a hardware generated token that was encrypted
with the session private key for validation by the server.
SecurityException
- thrown if M1 cannot be verified by the server
RemoteException
- thrown by remote implementationspublic byte[] verify(String username, byte[] M1, Object auxChallenge, int sessionID) throws SecurityException, RemoteException
verify
in interface SRPServerInterface
SecurityException
RemoteException
public void close(String username) throws SecurityException, RemoteException
close
in interface SRPServerInterface
SecurityException
RemoteException
public void close(String username, int sessionID) throws SecurityException, RemoteException
close
in interface SRPServerInterface
SecurityException
RemoteException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |