Class DigestMD5


  • public class DigestMD5
    extends java.lang.Object
    DIGEST-MD5 authentication support.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String clientResponse  
      private static char[] digits  
      private MailLogger logger  
      private java.security.MessageDigest md5  
      private java.lang.String uri  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      byte[] authClient​(java.lang.String host, java.lang.String user, java.lang.String passwd, java.lang.String realm, java.lang.String serverChallenge)
      Return client's authentication response to server's challenge.
      boolean authServer​(java.lang.String serverResponse)
      Allow the client to authenticate the server based on its response.
      private static java.lang.String toHex​(byte[] bytes)
      Convert a byte array to a string of hex digits representing the bytes.
      private java.util.Map<java.lang.String,​java.lang.String> tokenize​(java.lang.String serverResponse)
      Tokenize a response from the server.
      • Methods inherited from class java.lang.Object

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

      • md5

        private java.security.MessageDigest md5
      • uri

        private java.lang.String uri
      • clientResponse

        private java.lang.String clientResponse
      • digits

        private static char[] digits
    • Constructor Detail

      • DigestMD5

        public DigestMD5​(MailLogger logger)
    • Method Detail

      • authClient

        public byte[] authClient​(java.lang.String host,
                                 java.lang.String user,
                                 java.lang.String passwd,
                                 java.lang.String realm,
                                 java.lang.String serverChallenge)
                          throws java.io.IOException
        Return client's authentication response to server's challenge.
        Parameters:
        host - the host name
        user - the user name
        passwd - the user's password
        realm - the security realm
        serverChallenge - the challenge from the server
        Returns:
        byte array with client's response
        Throws:
        java.io.IOException - for I/O errors
      • authServer

        public boolean authServer​(java.lang.String serverResponse)
                           throws java.io.IOException
        Allow the client to authenticate the server based on its response.
        Parameters:
        serverResponse - the response that was received from the server
        Returns:
        true if server is authenticated
        Throws:
        java.io.IOException - for character conversion failures
      • tokenize

        private java.util.Map<java.lang.String,​java.lang.String> tokenize​(java.lang.String serverResponse)
                                                                         throws java.io.IOException
        Tokenize a response from the server.
        Returns:
        Map containing key/value pairs from server
        Throws:
        java.io.IOException
      • toHex

        private static java.lang.String toHex​(byte[] bytes)
        Convert a byte array to a string of hex digits representing the bytes.