Allow the client to authenticate the server based on its response. @param serverResponse the response that was received from the server @return true if server is authenticated @exception IOException for character conversion failures
(String serverResponse)
| 148 | * @exception IOException for character conversion failures |
| 149 | */ |
| 150 | public boolean authServer(String serverResponse) throws IOException { |
| 151 | Map<String, String> map = tokenize(serverResponse); |
| 152 | // DIGEST-MD5 computation, server response (order critical) |
| 153 | md5.update(ASCIIUtility.getBytes(":" + uri)); |
| 154 | md5.update(ASCIIUtility.getBytes(clientResponse + toHex(md5.digest()))); |
| 155 | String text = toHex(md5.digest()); |
| 156 | if (!text.equals(map.get("rspauth"))) { |
| 157 | if (logger.isLoggable(Level.FINE)) |
| 158 | logger.fine("Expected => rspauth=" + text); |
| 159 | return false; // server NOT authenticated by client !!! |
| 160 | } |
| 161 | return true; |
| 162 | } |
| 163 | |
| 164 | /** |
| 165 | * Tokenize a response from the server. |