Package org.jgroups.auth
Class Krb5Token
- java.lang.Object
-
- org.jgroups.auth.AuthToken
-
- org.jgroups.auth.Krb5Token
-
- All Implemented Interfaces:
Streamable
public class Krb5Token extends AuthToken
JGroups AuthToken Class to for Kerberos v5 authentication.- Since:
- 3.4
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Stringclient_passwordstatic java.lang.StringCLIENT_PASSWORDprotected java.lang.Stringclient_principal_namestatic java.lang.StringCLIENT_PRINCIPAL_NAMEprivate static java.lang.StringJASS_SECURITY_CONFIGprivate byte[]krbServiceTicketprivate byte[]remoteKrbServiceTicketprotected java.lang.Stringservice_principal_namestatic java.lang.StringSERVICE_PRINCIPAL_NAMEprivate javax.security.auth.Subjectsubject
-
Constructor Summary
Constructors Constructor Description Krb5Token()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanauthenticate(AuthToken token, Message msg)This method should be implemented to perform the actual authentication of joining members.private voidauthenticateClientPrincipal()private voidgenerateServiceTicket()java.lang.StringgetName()Used to return the full package and class name of the implementation.private booleanisAuthenticated()Private MethodsvoidreadFrom(java.io.DataInput in)Read the state of the current object (including superclasses) from instream Note that the input stream must not be closedprivate voidreadRemoteServiceTicketFromStream(java.io.DataInput in)voidsetValue(java.util.Properties properties)intsize()The size of the marshalled AuthTokenprivate voidvalidateRemoteServiceTicket(Krb5Token remoteToken)private voidwriteServiceTicketToSream(java.io.DataOutput out)voidwriteTo(java.io.DataOutput out)Write the entire state of the current object (including superclasses) to outstream.
-
-
-
Field Detail
-
JASS_SECURITY_CONFIG
private static final java.lang.String JASS_SECURITY_CONFIG
- See Also:
- Constant Field Values
-
CLIENT_PRINCIPAL_NAME
public static final java.lang.String CLIENT_PRINCIPAL_NAME
- See Also:
- Constant Field Values
-
CLIENT_PASSWORD
public static final java.lang.String CLIENT_PASSWORD
- See Also:
- Constant Field Values
-
SERVICE_PRINCIPAL_NAME
public static final java.lang.String SERVICE_PRINCIPAL_NAME
- See Also:
- Constant Field Values
-
client_principal_name
protected java.lang.String client_principal_name
-
client_password
protected java.lang.String client_password
-
service_principal_name
protected java.lang.String service_principal_name
-
subject
private javax.security.auth.Subject subject
-
krbServiceTicket
private byte[] krbServiceTicket
-
remoteKrbServiceTicket
private byte[] remoteKrbServiceTicket
-
-
Method Detail
-
setValue
public void setValue(java.util.Properties properties)
-
getName
public java.lang.String getName()
Description copied from class:AuthTokenUsed to return the full package and class name of the implementation. This is used by the AUTH protocol to create an instance of the implementation.
-
authenticate
public boolean authenticate(AuthToken token, Message msg)
Description copied from class:AuthTokenThis method should be implemented to perform the actual authentication of joining members.- Specified by:
authenticatein classAuthToken- Parameters:
token- the token sent by the joinermsg- the Message object containing the actual JOIN_REQ- Returns:
- true if authenticaion passed or false if it failed.
-
writeTo
public void writeTo(java.io.DataOutput out) throws java.io.IOExceptionDescription copied from interface:StreamableWrite the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed- Throws:
java.io.IOException
-
readFrom
public void readFrom(java.io.DataInput in) throws java.io.IOExceptionDescription copied from interface:StreamableRead the state of the current object (including superclasses) from instream Note that the input stream must not be closed- Throws:
java.io.IOException
-
size
public int size()
Description copied from class:AuthTokenThe size of the marshalled AuthToken
-
isAuthenticated
private boolean isAuthenticated()
Private Methods
-
authenticateClientPrincipal
private void authenticateClientPrincipal() throws javax.security.auth.login.LoginException- Throws:
javax.security.auth.login.LoginException
-
generateServiceTicket
private void generateServiceTicket() throws java.io.IOException- Throws:
java.io.IOException
-
validateRemoteServiceTicket
private void validateRemoteServiceTicket(Krb5Token remoteToken) throws java.lang.Exception
- Throws:
java.lang.Exception
-
writeServiceTicketToSream
private void writeServiceTicketToSream(java.io.DataOutput out) throws java.io.IOException- Throws:
java.io.IOException
-
readRemoteServiceTicketFromStream
private void readRemoteServiceTicketFromStream(java.io.DataInput in) throws java.io.IOException- Throws:
java.io.IOException
-
-