Class MD5Token

  • All Implemented Interfaces:
    java.io.Serializable, Streamable

    public class MD5Token
    extends AuthToken

    This is an example of using a preshared token that is encrypted using an MD5/SHA hash for authentication purposes. All members of the group have to have the same string value in the JGroups config.

    Configuration parameters for this example are shown below:

    • token_hash (required) = MD5(default)/SHA
    • auth_value (required) = the string to encrypt
    Author:
    Chris Mills
    See Also:
    AuthToken, Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String TOKEN_ATTR  
      static java.lang.String TOKEN_TYPE  
    • Constructor Summary

      Constructors 
      Constructor Description
      MD5Token()  
      MD5Token​(java.lang.String token)  
      MD5Token​(java.lang.String token, java.lang.String hash_type)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean authenticate​(AuthToken token, Message msg)
      This method should be implemented to perform the actual authentication of joining members.
      java.lang.String getName()
      Used to return the full package and class name of the implementation.
      void readFrom​(java.io.DataInputStream in)
      Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
      void setValue​(java.util.Properties properties)
      Called during the setup of the AUTH protocol to pass property values from the JGroups config XML document to the implementing class.
      void writeTo​(java.io.DataOutputStream out)
      Write the entire state of the current object (including superclasses) to outstream.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MD5Token

        public MD5Token()
      • MD5Token

        public MD5Token​(java.lang.String token)
      • MD5Token

        public MD5Token​(java.lang.String token,
                        java.lang.String hash_type)
    • Method Detail

      • setValue

        public void setValue​(java.util.Properties properties)
        Description copied from class: AuthToken
        Called during the setup of the AUTH protocol to pass property values from the JGroups config XML document to the implementing class.
        Specified by:
        setValue in class AuthToken
        Parameters:
        properties - a java.util.Properties object of config parameters
      • getName

        public java.lang.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​(java.io.DataOutputStream out)
                     throws java.io.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:
        java.io.IOException
      • readFrom

        public void readFrom​(java.io.DataInputStream in)
                      throws java.io.IOException,
                             java.lang.IllegalAccessException,
                             java.lang.InstantiationException
        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:
        java.io.IOException
        java.lang.IllegalAccessException
        java.lang.InstantiationException