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 Details

    • JASS_SECURITY_CONFIG

      private static final String JASS_SECURITY_CONFIG
      See Also:
    • CLIENT_PRINCIPAL_NAME

      public static final String CLIENT_PRINCIPAL_NAME
      See Also:
    • CLIENT_PASSWORD

      public static final String CLIENT_PASSWORD
      See Also:
    • SERVICE_PRINCIPAL_NAME

      public static final String SERVICE_PRINCIPAL_NAME
      See Also:
    • client_principal_name

      protected String client_principal_name
    • client_password

      protected String client_password
    • service_principal_name

      protected String service_principal_name
    • subject

      private Subject subject
    • krbServiceTicket

      private byte[] krbServiceTicket
    • remoteKrbServiceTicket

      private byte[] remoteKrbServiceTicket
  • Constructor Details

    • Krb5Token

      public Krb5Token()
  • Method Details

    • setValue

      public void setValue(Properties properties)
    • getName

      public String getName()
      Description copied from class: AuthToken
      Used 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.
      Specified by:
      getName in class AuthToken
      Returns:
      a java.lang.String object of the package and class name
    • authenticate

      public boolean authenticate(AuthToken token, Message msg)
      Description copied from class: AuthToken
      This method should be implemented to perform the actual authentication of joining members.
      Specified by:
      authenticate in class AuthToken
      Parameters:
      token - the token sent by the joiner
      msg - the Message object containing the actual JOIN_REQ
      Returns:
      true if authenticaion passed or false if it failed.
    • writeTo

      public void writeTo(DataOutput out) throws IOException
      Description copied from interface: Streamable
      Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed
      Throws:
      IOException
    • readFrom

      public void readFrom(DataInput in) throws IOException
      Description copied from interface: Streamable
      Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
      Throws:
      IOException
    • size

      public int size()
      Description copied from class: AuthToken
      The size of the marshalled AuthToken
      Specified by:
      size in class AuthToken
    • isAuthenticated

      private boolean isAuthenticated()
      Private Methods
    • authenticateClientPrincipal

      private void authenticateClientPrincipal() throws LoginException
      Throws:
      LoginException
    • generateServiceTicket

      private void generateServiceTicket() throws IOException
      Throws:
      IOException
    • validateRemoteServiceTicket

      private void validateRemoteServiceTicket(Krb5Token remoteToken) throws Exception
      Throws:
      Exception
    • writeServiceTicketToSream

      private void writeServiceTicketToSream(DataOutput out) throws IOException
      Throws:
      IOException
    • readRemoteServiceTicketFromStream

      private void readRemoteServiceTicketFromStream(DataInput in) throws IOException
      Throws:
      IOException