|
||||||||||
PREV CLASS (src) NEXT CLASS (src) | 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
An implementation of the RMI SRPRemoteServerInterface interface.
Field Summary |
Fields inherited from class java.rmi.server.RemoteObject |
ref |
Constructor Summary | |
SRPRemoteServer(SRPVerifierStore (src) verifierStore)
|
|
SRPRemoteServer(SRPVerifierStore (src) verifierStore,
int port)
|
|
SRPRemoteServer(SRPVerifierStore (src) verifierStore,
int port,
java.rmi.server.RMIClientSocketFactory csf,
java.rmi.server.RMIServerSocketFactory ssf)
|
Method Summary | |
void |
addSRPServerListener(SRPServerListener (src) listener)
|
void |
close(java.lang.String username)
Close the SRP session for the given username. |
void |
close(java.lang.String username,
int sessionID)
|
boolean |
getRequireAuxChallenge()
|
SRPParameters (src) |
getSRPParameters(java.lang.String username)
The start of a new client session. |
java.lang.Object[] |
getSRPParameters(java.lang.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(java.lang.String username,
byte[] A)
Initiate the SRP algorithm. |
byte[] |
init(java.lang.String username,
byte[] A,
int sessionID)
Initiate the SRP algorithm. |
void |
removeSRPServerListener(SRPServerListener (src) listener)
|
void |
setRequireAuxChallenge(boolean flag)
|
void |
setVerifierStore(SRPVerifierStore (src) verifierStore)
|
byte[] |
verify(java.lang.String username,
byte[] M1)
Verify the session key hash. |
byte[] |
verify(java.lang.String username,
byte[] M1,
int sessionID)
|
byte[] |
verify(java.lang.String username,
byte[] M1,
java.lang.Object auxChallenge)
Verify the session key hash. |
byte[] |
verify(java.lang.String username,
byte[] M1,
java.lang.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 (src) verifierStore) throws java.rmi.RemoteException
public SRPRemoteServer(SRPVerifierStore (src) verifierStore, int port) throws java.rmi.RemoteException
public SRPRemoteServer(SRPVerifierStore (src) verifierStore, int port, java.rmi.server.RMIClientSocketFactory csf, java.rmi.server.RMIServerSocketFactory ssf) throws java.rmi.RemoteException
Method Detail |
public void setVerifierStore(SRPVerifierStore (src) verifierStore)
public void addSRPServerListener(SRPServerListener (src) listener)
public void removeSRPServerListener(SRPServerListener (src) listener)
public boolean getRequireAuxChallenge()
public void setRequireAuxChallenge(boolean flag)
public SRPParameters (src) getSRPParameters(java.lang.String username) throws java.security.KeyException, java.rmi.RemoteException
getSRPParameters
in interface SRPServerInterface (src)
java.security.KeyException
java.rmi.RemoteException
public java.lang.Object[] getSRPParameters(java.lang.String username, boolean multipleSessions) throws java.security.KeyException, java.rmi.RemoteException
SRPServerInterface (src)
getSRPParameters
in interface SRPServerInterface (src)
java.security.KeyException
java.rmi.RemoteException
public byte[] init(java.lang.String username, byte[] A) throws java.lang.SecurityException, java.security.NoSuchAlgorithmException, java.rmi.RemoteException
SRPServerInterface (src)
init
in interface SRPServerInterface (src)
java.lang.SecurityException
java.security.NoSuchAlgorithmException
java.rmi.RemoteException
public byte[] init(java.lang.String username, byte[] A, int sessionID) throws java.lang.SecurityException, java.security.NoSuchAlgorithmException, java.rmi.RemoteException
SRPServerInterface (src)
init
in interface SRPServerInterface (src)
java.lang.SecurityException
java.security.NoSuchAlgorithmException
java.rmi.RemoteException
public byte[] verify(java.lang.String username, byte[] M1) throws java.lang.SecurityException, java.rmi.RemoteException
SRPServerInterface (src)
verify
in interface SRPServerInterface (src)
java.lang.SecurityException
java.rmi.RemoteException
public byte[] verify(java.lang.String username, byte[] M1, int sessionID) throws java.lang.SecurityException, java.rmi.RemoteException
verify
in interface SRPServerInterface (src)
java.lang.SecurityException
java.rmi.RemoteException
public byte[] verify(java.lang.String username, byte[] M1, java.lang.Object auxChallenge) throws java.lang.SecurityException, java.rmi.RemoteException
verify
in interface SRPServerInterface (src)
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.
java.lang.SecurityException
- thrown if M1 cannot be verified by the server
java.rmi.RemoteException
- thrown by remote implementationspublic byte[] verify(java.lang.String username, byte[] M1, java.lang.Object auxChallenge, int sessionID) throws java.lang.SecurityException, java.rmi.RemoteException
verify
in interface SRPServerInterface (src)
java.lang.SecurityException
java.rmi.RemoteException
public void close(java.lang.String username) throws java.lang.SecurityException, java.rmi.RemoteException
close
in interface SRPServerInterface (src)
java.lang.SecurityException
java.rmi.RemoteException
public void close(java.lang.String username, int sessionID) throws java.lang.SecurityException, java.rmi.RemoteException
close
in interface SRPServerInterface (src)
java.lang.SecurityException
java.rmi.RemoteException
|
||||||||||
PREV CLASS (src) NEXT CLASS (src) | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |